Entwickler-Ecke
Dateizugriff - Prüfen ob Einstellung im ini-file leer ist
rafi@work - Mi 30.07.03 10:21
Titel: Prüfen ob Einstellung im ini-file leer ist
Hi
wie kann ich prüfen ob eine betimmte Einstellung leer ist in einem ini-file? Wenn die Einstellung leer ist, möchte ich gerne eine Prozedur aufrufen. Kann mir jemand sagen wie ich das anstellen kann? Danke.
gruss
Cyrus - Mi 30.07.03 10:48
lade dein ini file in eine variable vom typ Tinifiles rein
und lese dort aus den sections die werte raus mit "readstring" oder "readinteger" wenn der gelesen String '' ist dann ist er leer wenn der gelesen int 0 ist der eintrag auch leer ausser 0 hat ne bedeutung z.b bei gespeicherten schrift farben
Greetz Cyrus
rafi@work - Mi 30.07.03 10:50
könntest du mir ein kleines Beispiel geben. Wäre sehr froh darüber.
Cyrus - Mi 30.07.03 11:19
Sections ist der teil welcher im ini file [NameDerSection] so geschrieben ist und die werte sind dann unter der Section bis ne neue Section kommt.
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: 27:
| uses inifiles ... procedure TForm1.ButtonOpenClick(Sender: TObject); var ini:Tinifile; begin if OpenDialog.Execute then begin ini:=Tinifile.Create(OpenDialog.FileName); if ini.ReadString('SectionName','StringName','') ='' then begin end else begin end;
if ini.ReadInteger('SectionName','IntName','') = 0 then begin end else begin end; ini.free; end; |
Greetz Cyrus
rafi@work - Mi 30.07.03 11:25
:D danke vielmal Cyrus! Die allerletzte Frage: Wie könnte ich jetzt zum beispiel eine Prozedur aufrufen?
Cyrus - Mi 30.07.03 11:27
Quelltext
1:
| namederprocedure(parameter); |
Parameter brauchst du nur wenn die procedure welche hat
Greetz Cyrus
rafi@work - Mi 30.07.03 11:37
ich möchte diese Prozedur aufrufen, klappt aber irgendwie nicht..
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 TPingThread.Execute; var CurrentTimeStamp : string; CtiConfigIni : TIniFile; begin if FPing.Address <> '' then begin
if fileexists(FLogPath) then LogList.LoadFromFile(FLogPath); LogList.Add('*******************************************'); LogList.Add(' Deskphone Gestartet'); LogList.Add('*******************************************'); while NOT Terminated do begin If FPing.Ping = 0 then begin CurrentTimeStamp := FormatDateTime('dd.mm.yyyy hh:mm:ss" Host %s wurde nicht erreicht',Now); Loglist.Add(Format(CurrentTimeStamp,[FPing.Address])); LogList.SaveToFile(FLogPath); end; Sleep(FInterval*1000) end; end; end; |
derDoc - Mi 30.07.03 12:19
Du musst den Thread ja auch erst erschaffen.
Delphi-Quelltext
1:
| TPingThread.Create(Parameter); |
rafi@work - Mi 30.07.03 12:27
wo erschaffe ich den genau?
derDoc - Mi 30.07.03 12:35
Angenommen, du hast einen Start-Knopf, dann rufst du bei dessen Ereignis onClick die Prozedur TPingThread.Create(Parameter); auf
rafi@work - Mi 30.07.03 12:42
ich habe den Thread in der Prozedur erstellt:
Delphi-Quelltext
1:
| TPingThread.Create(CfgIpAddressA,CfgLogNameA,PingInterval); |
Und dann rufe ich ihn so auf:
Delphi-Quelltext
1:
| TPingThread(CfgIpAddressA,CfgLogNameA,PingInterval); |
dies geht aber nicht :(
Fehler-Meldung:
[Fehler] NetworkPingMain.pas(197): ')' erwartet, aber ',' gefunden[/code]
derDoc - Mi 30.07.03 13:17
Dann nimmst du eine Variable vom Typ TPingThread und übergibst ihr die Sache mit dem Create:
Delphi-Quelltext
1:
| PingThread := TPingThread.Create(CfgIpAddressA,CfgLogNameA,PingInterval); |
rafi@work - Mi 30.07.03 13:23
was bin ich nur für ein nörgel, aber der aufruf klappt leider immer noch nicht, bitte hab einwenig geduld mit mir...
Aufruf:
Quelltext
1:
| TPingThread(CfgIpAddressA,CfgLogNameA,PingInterval); |
Fehler-Meldung:
[Fehler] NetworkPingMain.pas(197): ')' erwartet, aber ',' gefunden[/code]
derDoc - Mi 30.07.03 13:34
Tut mir leid, aber ich weiß nicht, was du mit diesem Aufruf bezwecken willst.
Wenn du den Thread jetzt starten willst, und im
constructor Suspended nicht auf false gesetzt hast, muss du mit
den Thread starten.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!