Witam,
jak pobrać zawartość pliku z serwera ftp, bez zapisywania go na dysku?
Chodzi mi o mniej więcej takiego :
zmienna := IdFTP1.Get('plik.txt');
if FTPEnable then begin
if DM.IdFTP1.Connected=false then begin
try
FTPUsername:=form1.HTTP1.Get('http://.../settings/FTPUsername.txt');
FTPPassword:='...,';
FTPHost:=form1.HTTP1.Get('http://.../settings/FTPHost.txt');
FTPPort:=StrToInt(form1.HTTP1.Get('http://.../settings/FTPPort.txt'));
finally
DM.IdFTP1.Username :=FTPUsername;
DM.IdFTP1.Password := FTPPassword;
DM.IdFTP1.Host := FTPHost;
DM.idftp1.Port:=FTPPort;
try
DM.IdFTP1.Connect;
DM.IdFTP1.ChangeDir('/settings/');
finally
end;
end;
end;
StringList := TStringList.Create;
DM.IdFTP1.Get('file.txt', StringList);
ShowMessage(StringList.Text);
StringList.Free;
Kod jest w wątku.
a tak?
var
MS: TMemoryStream;
StringList: TStringList;
begin
StringList := TStringList.Create;
MS := TMemoryStream.Create;
try
IdFTP1.Get('file.txt', MS);
MS.Position := 0;
StringList.LoadFromStream(MS);
ShowMessage(StringList.Text);
finally
MS.Free;
StringList.Free;
end;
end;
Dodatkowo poczytaj o wyjątkach - źle używasz bloku try..except..finally
//edycja dopisano MS.Position := 0;
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
MS.Position := 0
po linijceIdFTP1.Get('file.txt', MS);