Команды языка HTP (HOD Text Processor - язык обработки текстов).


Add   AddT   And   Beep   Cls   CodeToSym   Call   CWD   CreateD   Div   DecToText   DelF   DelD   ExecF   FindI   FindIR   FindIS   FindISR   FindE   FTPconnect   FTPdisconnect   FTPcwd   FTPlist   FTPloadF   FTPsaveF   FTPdelF   FTPrenameF   FTPcreateD   FTPdelD   FTPsendcmd   FTPsetmode   GetUserQ   GetEl   GetElInf   GetMaxEl   GetSubStr   GetStrLen   GetImgInf   GetFLDL   HexToText   Jmp   Jmp=N   Jmp<N   Jmp<=N   Jmp>N   Jmp>=N   JmpEq   JmpNe   LCase   LoadF   Mov   MovT   Mul   MoveF   Or   PrintT   PrintN   Push   Pop   PushT   PopT   PutEl   PutSubStr   Rnd   Ret   ReplaceS   ReplaceI   ReplaceM   Sub   SymToCode   SaveF   Sleep   TextToHex   TextToDec   TestF   TimeF   Time   TimeT   TCPIPconfig   UCase   Word   Xor  

FTPlist @приемник_списка_директорий , @приемник_списка_файлов , @приемник_списка_длин_файлов , @имя_интересущего_файла_или_каталога(если пуст, то список всех)

Смена рабочего каталога на сервере.


Модифицирует регистр $F:
$F=0 Успешно
$F=1 Управляющее соединение потеряно или не соединено с сервером
$F=2 Нет такого каталога или файла на сервере


Исключения при выполнении:
  • Если Ваш компьютер не содержит библиотеки WINSOCK32.DLL или эта библиотека не была успешно загружена и инициализирована, то команда игнорируется модификация $F не производится.
  • Необходимо указывать разные регистры в качестве приёмника списка файлов, каталогов и длин файлов, в противном случае команда игнорируется.


  • Примечание:
    Потеря управляющего соединения равноценна выполненной команде FTPdisconnect выполнение FTP команд после этого невозможно и требуется соединиться вновь (FTPconnect).

    Если в качестве @имя_интересущего_файла_или_каталога указана пустая строка, то получает список всех файлов и каталогов, находящихся в рабочем каталоге, например:
     FTPlist  @1, @2, @3, ""
    
    Для получения сведений о конкретном файле (что может потребоваться, когда рабочий каталог содержит много файлов и загрузка всего списка длительна), допустимо указывать имя файла или каталога, на который необходимо получить информацию, например:
     FTPlist  @1, @2, @3, "index.htm"
    
    Если в качестве объекта, на который требуется получить информацию, указан не файл, а каталог на сервере, то команда получает список содержимого каталога.
    Для проверки каталога на наличие, лучше применять команду FTPcwd, так как в этом случае не происходит передачи лишней информации, например:
    FTPcwd  "info"
    Jmp=N  $F, 0, YDIR
    Jmp=N  $F, 1, NOCONNECT
    Jmp  $F, 2, NDIR
    YDIR FTPcwd ".."
    NDIR
    
    Обратите внимание, длины файлов команда получает в текстовом виде, разделяя их между собой нулевым байтом ("\00").
    Если представить строки в приёмнике имён файлов и приёмнике длин файлов как последовательности элементов, то файлу под номером элемента 1 будет соответствовать значение длины под номером элемента 1, что демонстрирует следующий пример:
    
    ; FACE="","11"
    ; @u0=E, "FTP сервер:"
    ; @u1=E, "Пользователь:"
    ; @u2=E, "Пароль:"
    ; @u3=E, "Имя директории:"
    
    
     Cls
    ; соединяемся с сервером
     PrintT 0,0,"FTPconnect"
     FTPconnect @u0, 21, @u1, @u2
     PrintN 0,20,$F
     Jmp!=N $F,0,EXIT
    
    ; получаем список файлов и каталогов из каталога по умолчанию
     PrintT 0,0,"FTPlist"
     FTPlist @0, @1, @2, ""
     PrintN 0,20,$F
    
    ; получаем имя файла 0 в списке
     GetEl @9, @1, "\00", 0
    ; выводим имя файла в консоль
     PrintT 1,0,@9
    ; получаем длину файла 0 в списке
     GetEl @9, @2, "\00", 0
    ; выводим длину файла в консоль
     PrintT 1,20,@9
    
    ; получаем имя файла 1 в списке
     GetEl @9, @1, "\00", 1
    ; выводим имя файла в консоль
     PrintT 2,0,@9
    ; получаем длину файла 1 в списке
     GetEl @9, @2, "\00", 1
    ; выводим длину файла в консоль
     PrintT 2,20,@9
    
    ; закрываем соединение с сервером
     PrintT 0,0,"FTPdisconnect "
     FTPdisconnect
    



    Материал получен с сайта поддержки   HOD Text Processor - язык обработки текстов