Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Systemzeit mit Zeit aus Editfeldern gleichsetzen.
Scrat - Do 12.12.02 16:52
Titel: Systemzeit mit Zeit aus Editfeldern gleichsetzen.
wie setze ich die Systemzeit meines Computers gleich mit dem Inhalt von Editfeldern???
Beispiel: Ersteinmal die Stunden,Minuten,Sekunden in die Editfelder schreiben.
Quelltext
1: 2: 3:
| Edit1.text:=FormatDateTime('hh',now); Edit2.text:=FormatDateTime('nn',now); Edit3.text:= FormatDateTime('ss',now); |
Nun werden die Daten vom Benutzer geändert......(*änder....änder..*)
So und jetzt will ich die Systemzeit des Rechners mit einem Tastendruck mit der geänderten Zeit (welche ja in den Editfeldern steht) gleichsetzen.
In etwa so:
Quelltext
1:
| Systemtime := Edit1.text + Edit2.text + Edit3.text; |
wie mach ich dass??? :?:
(13.12. 08:46 Tino) Code-Tags hinzugefügt.
Scrat - Fr 13.12.02 10:54
Ich arbeite aber mit Edit-Feldern,
in denen die (neuen) Stunden, die Minuten und Sekunden reingeschrieben werden.
Delete - Fr 13.12.02 11:11
Schön. Und wo ist das Problem? Mit den Funktionen von dem Link sollte es eigentlich kein Problem sein.
Scrat - Fr 13.12.02 12:20
Das Problem liegt an mir :twisted:
Ich muß mich in den Quelltext erst noch reinversetzen.
Geht das denn nicht einfacher ???irgendwie mit:
SETSYSTEMTIME
:?:
Delete - Fr 13.12.02 13:19
Wie soll es denn noch einfacher gehen? Du füllst die TSystemTime-Struktur und dann übergibst du sie der Funktion SetSystemTime - fertig. Und das ist genau so, wie du es dir vorstellst.
Scrat - Mo 23.12.02 11:19
Hier ist der Quelltext von dem LINK:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure setzen(jahr,monat,tag,stunde,minute,sekunde,msekunde:word); var neu:TSystemTime; begin neu.wyear:=jahr; neu.wmonth:=monat; neu.wday:=tag; neu.whour:=stunde; neu.wminute:=minute; neu.wsecond:=sekunde; neu.wmilliseconds:=msekunde; setlocaltime(neu); // Die Uhr in der Taskleiste wird erst // nach Minutenablauf aktualisiert end; |
Jahr,Monat,usw... sind WORD-Typen.
Deswegen kann ich nicht
neu.wmonth:=Edit1.text;
setzen.
PS: Deswegen hab ich ja auch das Problem.... kann mir jemand mal einen Teil des richtig lautenden Quellcodes schicken?
Tino - Mo 23.12.02 11:41
Scrat hat folgendes geschrieben: |
Deswegen kann ich nicht
neu.wmonth:=Edit1.text; |
Das sollst Du ja auch nicht. Die Funktion
Setzen packst Du einfach in Deinen Quellcode. Wenn Du nun die Zeit setzen willst dann sollst Du die Funktion
Setzen aufrufen.
Also zum Beispiel im OnClick-Event eines Buttons:
Quelltext
1: 2: 3: 4:
| procedure tForm1.ButtonClick (Sender: tObject); begin setzen (2002, 12, 23, 10, 41, 00, 00); end; |
Wenn Du nun möchtest das die Angaben nicht direkt im Quellcode gemacht werden sondern mit Hilfe mehrerer Edit-Felder dann sieht die sache so aus:
Quelltext
1: 2: 3: 4:
| procedure tForm1.ButtonClick (Sender: tObject); begin setzen (StrToInt (Edit1.Text), StrToInt (Edit2.Text), StrToInt (Edit3), 10, 41, 00, 00); end; |
Gruß
TINO
Scrat - Di 24.12.02 13:15
:idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea:
War wohl auf dem total falschen Weg...... :shock:
Danke & Frohe Weihnachten :beer:
Scrat
Tino - Di 24.12.02 16:17
Bitte! Dir auch!
Gruß
TINO
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!