Entwickler-Ecke
Sonstiges (Delphi) - Bool mit Komponente
dude - Fr 14.03.03 14:06
Titel: Bool mit Komponente
Hi,
ich habe hier eine Bool Funktion
Quelltext
1: 2: 3: 4:
| function IsOnline: boolean; begin result:=InternetGetConnectedState(nil, 0); end; |
In diese Funktion will ich folgendes Einbauen
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| If IsOnline := True then begin edit1.text := 'online' end; If IsOnline := False then begin edit1.text := 'offline' end; |
ich will den Code NICHT in einen Timer einbauen. Er soll ohne Timer funktionieren. Das einzigste Problem ist, dass ich in dieser Bool Funktion keine Komponenten ansprechen kann.
Wie könnte ich das Problem lösen ?
Mfg, dude
Keldorn - Fr 14.03.03 14:11
kurz überflogen und
Quelltext
1:
| If IsOnline = True then |
nicht := in Abfragen
außerdem geht es auch so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| If IsOnline = true then //selbst das =true kannst du noch weglassen begin edit1.text := 'online' end else begin edit1.text := 'offline' end; |
wenn du nur die eine Zuweisung edit1.text:= hast, kannst du dir auch noch die begin und ends sparen.
ganz kurz:
Quelltext
1: 2:
| If IsOnline then edit1.text := 'online' else edit1.text := 'offline' ; |
schau mal in die FAQ weiter unten, da ist bestimmt auch was für if dabei
Mfg Frank
Christian S. - Fr 14.03.03 16:30
Zitat: |
Das einzigste Problem ist, dass ich in dieser Bool Funktion keine Komponenten ansprechen kann. |
Ich denke, was Du brauchst (zusätzlich zu den Hinweisen von Keldorn), ist folgendes:
Quelltext
1:
| Form1.Edit1.text :='online'; |
MfG,
Peter
Delete - Fr 14.03.03 16:39
Das dürfte dann der dritte Beitrag innerhalb von 48 Stunden zum gleichen Problem sein oder? :wink:
Wenn du auf mehr Elemente aus Form1 zugreifen mußt, dann mach deine Prozedur zu einer Methode vom Objekt TForm1.
dude - Fr 14.03.03 17:32
@ Luckie : Ja, ich hab nun eine Prozedur gebaut mit Keldorn's Beispiel:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| private procedure OnOff;
...
procedure TForm1.OnOff; var ergebnis : Boolean; begin ergebnis := InternetGetConnectedState(nil, 0); if ergebnis then begin form1.edStatus.Text := 'on'; form1.edStatus.Font.Color := clGreen; end else form1.edStatus.Text := 'off'; form1.edStatus.Font.Color := clMaroon; end; |
@ Peter Lustig: Danke, du hast eigentlich das beantwortet was ich wissen wollte. Habe zuerst gedacht, dass die Funktion schon wie ein eigener Timer ist, der sich automatisch auf True setzt.
Danke auch, habt mir sehr geholfen !
Christian S. - Fr 14.03.03 17:34
In der Prozedur, die Du jetzt benutzt, brauchst Du das Form1. ... nicht mehr, denn die Prozedur gehört ja jetzt schon zu Form1. Da wird er nicht mehr meckern, wenn Du nur "edStatus.Text:='on'" schreibst.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!