Autor Beitrag
Scrat
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: 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.
ausblenden 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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: 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



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: 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

:?:

_________________
Wenn ein Programm nutzlos ist, muß es dokumentiert werden.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: Mo 23.12.02 11:19 
Hier ist der Quelltext von dem LINK:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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:
ausblenden 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:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: 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

_________________
Wenn ein Programm nutzlos ist, muß es dokumentiert werden.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 24.12.02 16:17 
Bitte! Dir auch!

Gruß
TINO