Autor Beitrag
rüdiger
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 17.06.03 14:35 
Erstmal danke an alle die auf mein vorheriges post geschrieben haben! leider is mein problem immer noch nich gelöst!

Die Unit die mich zum verzweifeln bringt macht folgendes.
Mit einem Timer wird im Sekundentakt überprüft, ob eine Internet Verbindung besteht. Falls ja, werden die IPs(lokal. netzwerk, internet) in eine ini datei geschrieben. klappt auch alles wunderbar.
Mein Problem is das die ini datei jede sekunde geschrieben wird. is ja auch klar. aber genau das will ich nicht! die ini soll nur einmal geschrieben werden! Und das bekomme ich nich hin! Ich hab schon soviel ausprobiert, z.B. ein zusätzlicher String der in die ini geschrieben wird, der besagt das die ini fertig geschrieben is. oder noch eine variable die den false status registriert(sowie Matthias vorschlüg). ich hab andere schleifen probiert. sogar goto anweisungen. aber ich bekomm es einfach nich hin!
Bitte! Bitte helft mir!

ausblenden Delphi-Quelltext
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:
procedure TForm1.Timer1Timer(Sender: TObject);
var Status: TConnectionType;
    ini: TIniFile;
    i: integer;
    k: integer;
    textzahl: string;
    
  begin
  ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'datei.ini');
  Status := ConnectedToInternet;
  if Status = ctDialup then label1.caption := 'Im Internet!';

    for i:= 0 to getips.count-1 do begin //getips is eine stringliste mit den IPs
    k:=i+1;
    textzahl:= IntToStr (k);

    ini.writestring('Mein PC','IP'+textzahl,getips[i]);
    ini.writestring('Datum','ist',datetostr(date));
    ini.writestring('Uhrzeit','ist',timetostr(time));

  if Status = ctNone then label1.caption := 'Nicht im Internet!';
  if Status = ctProxy then label1.caption := 'Proxyserver';

  end;
  ini.free;
end;
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Di 17.06.03 16:10 
was ist mit einer Schleife nach folgendem Prinzip:

Zitat:
if INTERNET = TRUE and INI-GESCHRIEBEN = FALSE THEN

// SCHREIBE INI
// INI-GESCHRIEBEN = TRUE

Else DO NOTHING


Jetzt wird die Schleife nur noch einmal durchlaufen, sollte die Ini noch nicht geschrieben worden sein.
Dann baust du noch ne proc ein, das INI-Geschrieben auf FALSE gesetzt wird, falls die Internet-Verbindung getrennt wird, damit die Daten beim nächsten LogIn aktualisiert werden.

Hoffe das ist einigermassen verständlich
rüdiger Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 17.06.03 16:22 
Danke! Ja sowas hab ich schon probiert. Ich bekomme die fehlermeldung:"Operator ist auf diesen Operandentyp nicht anwendbar".
Außerdem weiß ich nich wo ich INI-GESCHRIEBEN auf true setzen soll! Weil, mache ich es nachdem letzten "ini.writestring" dann läuft die schleife "i" nur einmal durch! Darf sie aber nich, weil ich will ja alle strings(IPs) aus der Stringlist(getips) schreiben lassen will.

Falls du zum ausprobieren den quellcode der gesamten unit möchtest, oder auch falls es jemand anders zum ausprobieren möchte, einfach kurz an ruediger@funbytes mailen.