Команды языка 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
Материал получен с сайта поддержки
|