hallo community
ich hab hier eine funktion gefunden die es einem erleichtert einen upload einer datei zu realisieren. da ich im grunde nur eine datei habe die auf einen server muss, sehe ich es nicht ein zu den indys oder anderem zu greifen. da die datei von 100kb bis rund 5 mb groß sein kann, waere eine status anzeige ganz nett.
leider funktioniert das ganze nicht wie ich moechte.
(das beep() im callback dient nur zu testzwecken)
Delphi-Quellcode:
procedure StatusCallback(hInet: HINTERNET; Context, Status: DWORD; pInformation: Pointer; InfoLength: DWORD); stdcall;
begin
beep(100, 100);
end;
function PutFile(server, username, password, localfile, remotefile: string; port: word = 21): boolean;
var
hopen, hconnect: HINTERNET;
begin
hopen := InternetOpen('test', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
InternetSetStatusCallback(hopen, @StatusCallback);
hconnect := InternetConnect(hopen, pchar(server), port, pchar(username), pchar(password), INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
Result := FtpPutFile(hconnect, pchar(localfile), pchar(remotefile), FTP_TRANSFER_TYPE_UNKNOWN, 0);
InternetCloseHandle(hconnect);
end;
ich freue mich ueber jede hilfe die mich ein steuck weit weiter bringt