begin
ProgDir:=GetCurrentDir();
WPfad:= ProgDir;
IdHTTP1:=TIdHTTP.Create;
// Hier wird ein Element vom Typ IdHTTP erzeugt
configuration:=TIniFile.Create(ProgDir+'
\config.ini');
LoN:=configuration.readstring('
Serverdaten','
Usern ame','
');
//Einlesen von Username und Passwort
LoP:=configuration.readstring('
Serverdaten','
Passw ord','
');
Repeat
ipaddr:='
';
// Hiermit wird sichergestellt, dass ipaddr nicht vorher
// beschrieben wurden
try
ipseitestr:=IdHTTP1.Get('
http://www.wieistmeineip.de/');
// der Quelltext von "www.wieistmeineip.de" wird in ein string geschrieben
// Dieser String wird im folgenden nach Anfangs- und Endzeichen durchsucht.
anfang:=ansipos('
"ip">',ipseitestr)-5;
//IdHTTP1.Get('http://www.wieistmeineip.de/'))+5;
ende:=ansipos('
</h1>',ipsietestr)-1;
//IdHTTP1.Get('http://www.wieistmeineip.de/'))-1;
Uhrzeit:=timetostr(gettime);
//Ausgabe der Uhrzeit
Datum:=datetostr(date());
// Ausgabe des Datums
for i:=0
to (ende-anfang)
do // Schreiben der IP-Adresse
ipaddr:=ipaddr+ipseitestr[anfang+i];
// Hier wird eine INI Datei erstellt.
ini:=TIniFile.Create(ProgDir+'
\AktuelleIP.txt');
try
ini.writestring('
MessrechnerIP','
Datum',Datum);
ini.writestring('
MessrechnerIP','
Uhrzeit',Uhrzeit) ;
ini.writestring('
MessrechnerIP','
Adresse',ipaddr);
finally
ini.free;
// ---------- hier würde ich ein "end;" setzen
FillChar(SEInfo, SizeOf(SEInfo), 0);
//Auffüllen von SEInfo und dessen Größe mit 0
SEInfo.cbSize:=SizeOf(TShellExecuteInfo);
with SEInfo
do
begin
fMask:=SEE_MASK_NOCLOSEPROCESS;
wnd:=Application.Handle;
lpVerb:=PChar('
open');
lpFile:=PChar(ProgDir+'
\psftp.exe');
lpParameters:=PChar('
-l '+LoN+'
-pw '+LoP+'
server -batch -b PutDatei.txt');
lpDirectory:=PChar(WPfad);
nShow:=SW_HIDE;
end;
ShellExecuteEx(@SEInfo);
// end;
sleep(60000);
except
on E: EIdException
do begin
sleep(60000);
end;
// zu welchem try gehört das?
// on E: Exception do begin
// sleep(60000);
// end;
//end;
Until False;
end.