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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| uses Wininet;
function GetInetFile(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName),
INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
try
hURL := InternetOpenURL(hSession,
PChar(fileURL),
nil,0,INTERNET_FLAG_NO_CACHE_WRITE or INTERNET_FLAG_RELOAD,0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer,
SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;
procedure TForm1.ButtonRefreshClick(Sender: TObject);
var
FileOnNet, LocalFileName: string;
SomeTxtFile : TextFile;
buffer : string;
begin
LocalFileName:='C:\Flight_ASH7166.txt';
FileOnNet:=
'http://flightaware.com/live/flight/ASH7166/'+
'history/20070113/0330Z/KAVP/KORD/tracklog';
if GetInetFile(FileOnNet, LocalFileName)=True then
ShowMessage('Download successful')
else
ShowMessage('Error in file download');
AssignFile(SomeTxtFile, LocalFileName);
Reset(SomeTxtFile) ;
while not EOF(SomeTxtFile) do
begin
ReadLn(SomeTxtFile, buffer) ;
// Memo1.Lines.add(buffer) ;
end;
CloseFile(SomeTxtFile) ;
end; |
Partager