Добрый день. Есть стандартный код загрузки файла из ФТП-сервера на HDD с помощью
Ftp.Get('access_log','d:\access_log',True);
Все работает, но вообщето нужно загрузить файл не на жесткий диск а в TStringList или Memo (для наглядности).
Содержимое файла потом будем парсить. Конечно можно записать файл на ЖД, потом загрузить в список и далее с ним работать.
Вопрос: нет ли способа сразу загрузить файл в переменную? что то в интернете ничего не нашел, только Ftp.Get
Также можно покритиковать выбор AfterClientLogin для загрузки файла (в интернетуме почемуто по другому)
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | procedure TForm1 . Button1Click(Sender: TObject);
begin
if Ftp . Connected then
begin
Ftp . Disconnect;
Label1 . Caption:= 'Disconnected' ;
end
else
begin
Ftp . Host:=Edit1 . Text;
Ftp . Username:=Edit2 . Text;
Ftp . Password:=Edit3 . Text;
Ftp . Port:= 21 ;
Ftp . Passive:= True ;
Ftp . ConnectTimeout:= 2000 ;
Ftp . TransferType:=ftBinary;
Ftp . Connect;
AssErt(Ftp . Connected);
if Ftp . Connected then Label1 . Caption:= 'Connected to SERVER' ;
end ;
end ;
procedure TForm1 . FtpAfterClientLogin(Sender: TObject);
begin
Ftp . ChangeDir(Edit4 . Text);
DisplayFtp;
Ftp . Get( 'access_log' , 'd:\access_log' , True );
end ;
procedure TForm1 . DisplayFTP;
begin
ListBox1 . Items . Clear;
Ftp . List(ListBox1 . Items, '' , false );
end ;
|