Autor |
Beitrag |
Scrat
      
Beiträge: 73
|
Verfasst: Do 12.12.02 16:52
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.
_________________ Wenn ein Programm nutzlos ist, muß es dokumentiert werden.
|
|
Ex0rzist
      
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: Do 12.12.02 17:49
Hallo Scrat,
wie du die Systemzeit (und Datum) änderst, findest du bei DBR.
_________________ If accidentally read, induce vomitting.
|
|
Scrat 
      
Beiträge: 73
|
Verfasst: Fr 13.12.02 10:54
Ich arbeite aber mit Edit-Feldern,
in denen die (neuen) Stunden, die Minuten und Sekunden reingeschrieben werden.
_________________ Wenn ein Programm nutzlos ist, muß es dokumentiert werden.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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 
      
Beiträge: 73
|
Verfasst: Fr 13.12.02 12:20
Das Problem liegt an mir
Ich muß mich in den Quelltext erst noch reinversetzen.
Geht das denn nicht einfacher ???irgendwie mit:
SETSYSTEMTIME

_________________ Wenn ein Programm nutzlos ist, muß es dokumentiert werden.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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 
      
Beiträge: 73
|
Verfasst: 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?
_________________ Wenn ein Programm nutzlos ist, muß es dokumentiert werden.
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: 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 
      
Beiträge: 73
|
Verfasst: Di 24.12.02 13:15
_________________ Wenn ein Programm nutzlos ist, muß es dokumentiert werden.
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Di 24.12.02 16:17
Bitte! Dir auch!
Gruß
TINO
|
|