Autor Beitrag
Jagg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Do 12.12.02 20:11 
Hallo,Leute !

Ich habe ein EditFeld und darin wird beim Start das Datum angezeigt !
Wenn ich jetzt im EditFeld das Datum aber verändere,soll sich dieses veränderte Datum mit dem Systemdatum gleich setzen,aber dafür muss das Programm erkennen,das ich die Bestandteile eines Datum (Tag,Monat,Jahr) übergeben will,wie mache ich das ?

Jagg !
Stauch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 140

Win 2000, Win XP
D4
BeitragVerfasst: Fr 13.12.02 08:35 
Hallo

das müßte doch irgendwie mit

function StrToDate(const S: string): TDateTime;

funktionieren

MfG

C.

_________________
Geht das? Und wenn ja, warum nicht?
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Fr 13.12.02 09:55 
Hi!

Wie immer ist es nicht gerade leicht, zu erraten, was du eigentlich genau willst.
Du willst, das das Datum mit dem Systemdatum gleichgesetzt wird, wenn jemand im Editfeld was ändert? Dann musst du doch nur Edit1.Text:=DateToStr(now) setzen. Wieso musst du überprüfen, ob "Bestandteile eines Datums" übergeben werden?

Na, wie dem auch sei, Bestandteile eines Datums kannst du mit DecodeDate herausfiltern.

Cu, :)
Udontknow
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 13.12.02 10:25 
Umgekehrt, er will die Systemzeit ändern. Die neue Systemzeit wird in das Edit eingetragen und per Button-Klick dann die Systemzeit geändert.

SetSystemTime. Die zugehörige Struktur heißt in Delphi TSystemTime.

Desweitern wurde hier gerade gestern ein Link gepostet zu einer Funktion, die sowas macht.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Fr 13.12.02 10:34 
Woher entnimmst du das denn, Luckie? *Grübel*

Na ja, wie ich ja schon sagte, aussagekräftig war dieses Posting nicht wirklich...

Zitat:
soll sich dieses veränderte Datum mit dem Systemdatum gleich setzen

Ist nicht das gleiche wie
Zitat:
soll das Systemdatum auf das eingegebe Datum gesetzt werden


Cu,
Udontknow
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 13.12.02 10:54 
Udontknow hat folgendes geschrieben:

Zitat:
soll sich dieses veränderte Datum mit dem Systemdatum gleich setzen

Ist nicht das gleiche wie
Zitat:
soll das Systemdatum auf das eingegebe Datum gesetzt werden


Na ja ich denke schon, dass der obere Satz identisch mit dem unterem ist. Anderst würde es auch keinen Sinn machen. Warum erst das Datum im Edit ändern, wenn man es dann wieder durch die Systemzeit ersetzt?
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Fr 13.12.02 11:07 
Na der Satz ist ja eben nicht identisch, deshalb habe ich ja auch so doof gefragt, weil es eben keinen Sinn macht!! :D

Cu,
Udontknow
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 13.12.02 11:12 
Sagen wir mal so "sinn-identisch". :wink:
Jagg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Fr 13.12.02 13:54 
in edit1 hab ich das datum stehen : z.b 12.12.2002
dann habe ich ein button wenn ich darauf gehe passiert das hier :
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
Time.wYear   := StrToInt(Copy(Edit1.Text,7,Length(Edit1.Text)-6));
    Time.wMonth  := StrToInt(Copy(Edit1.Text,4,Length(Edit1.Text)-8));
    Time.wDay    := StrToInt(Copy(Edit1.Text,1,Length(Edit1.Text)-8));
    Time.wHour   := StrToInt(Edit2.Text);
    Time.wMinute := StrToInt(Edit3.Text);
    Time.wSecond := StrToInt(Edit4.Text);
    if SetSystemTime(Time) then
    begin
      MessageDlg('Einstellungen an Kassen-PC übertragen !',mtInformation,[mbOk],0);
      Close;
    end;


..... das klappt soweit so gut....aber wie bekomme ich jetzt hin das ich auch einen "Punkt" eingeben kann !
Bei mir kann er nur Zahlen eingeben !

Das habe ich bei edit1keypress gemacht :
ausblenden Quelltext
1:
2:
if not (key in ['0'..'9',#8]) then
    key:=#0;


Wie mache ich jetzt das ich auch Punkte eingeben kann ???
die punkte zwischen den zahlen !

Jagg !
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 13.12.02 14:04 
Füg doch noch das '.' hinzu oder nimm den ASCII-Code des Punktes.
Jagg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Fr 13.12.02 20:33 
und wie soll das gehen ?
Jagg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Fr 13.12.02 20:34 
soll ich ind er klammer noch einen ounkt hinzufügen oder wie ?
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Fr 13.12.02 22:32 
der ANSI code für
. = #46
für
, = #44

_________________
Patrick
im zweifelsfall immer das richtige tun!!!