Hallo liebe Delphianer,
Ich bräuchte mal Eure Hilfe.
Mit diesem Code den ich eventuell sogar hier gefunden habe, lade ich eine normale Textdatei aus dem Internet
Delphi-Quellcode:
function DownloadFile(
const url:
string;
const destinationFileName:
string): boolean;
var
hInet: HINTERNET;
hFile: HINTERNET;
localFile:
File;
buffer:
array[1..1024]
of byte;
bytesRead: DWORD;
begin
result := False;
hInet := InternetOpen(PChar(application.title),INTERNET_OPEN_TYPE_PRECONFIG,
nil,
nil,0);
hFile := InternetOpenURL(hInet,PChar(
url),
nil,0,0,0);
if Assigned(hFile)
then
begin
AssignFile(localFile,destinationFileName);
Rewrite(localFile,1);
repeat
InternetReadFile(hFile,@buffer,SizeOf(buffer),bytesRead);
BlockWrite(localFile,buffer,bytesRead);
FlashWindow(Application.Handle,True)
until bytesRead = 0;
CloseFile(localFile);
result := true;
InternetCloseHandle(hFile);
end;
InternetCloseHandle(hInet);
end;
Mit einem anderen Stück Code Uploade ich genau die gleiche Textdatei. In der Datei steht nur eine Zahl von 1-3
Nun zu dem Problem, der Upload geht ohne Probleme kann ich mit dem IE kontrollieren.
Mein Programm mit obiger Download Routine läuft immer im Hintergrund und lädt alle 60 Sekunden die Datei, liest den Inhalt der Datei und sollte eigentlich eine Message auf den Bildschirm bringen wenn sich der Inhalt geändert hat.
Der Download geht ohne Probleme, jedoch ist in der geladenen Datei immer der gleiche Wert, obwohl sich der Wert zwischenzeitlich geändert hat. (Datei mit neuem Wert hochgeladen) Irgendwie wird der erste Download gecached, starte ich das Programm welches den Download mach neu, enthält die geladene Datei den neuen Wert. Was mache ich falsch das es nicht via Timer geht?
Liebe Grüsse
Martin