![]() |
TDateTime Format
Hallo Zusammen!
Ich habe folgende Frage: Wie läßt sich das im TDateTimePicker eingestellte Datum in dem selben Format wie es im Picker erscheint in einer andere Komponente (z.B. einem Label) darstellen? Also z.B. als "Donnerstag, 12. Februar 2004". Ich habe es mit
Delphi-Quellcode:
versucht, wobei aber leider der Tag im Label immer der selbe bleibt (also z:B. "Donnerstag"), wenn der Monat oder das Jahr im Picker verändert wird... :(
procedure TForm1.comboDatumChange(Sender: TObject);
var datum : String; t,m,j : String; iJahr, iMonat, iTag : Word; begin DecodeDate(comboDatum.Date, iJahr, iMonat, iTag); {Wochentag} case DayOfWeek(iTag) of 1 : t := 'Sonntag'; 2 : t := 'Montag'; 3 : t := 'Dienstag'; 4 : t := 'Mittwoch'; 5 : t := 'Donnerstag'; 6 : t := 'Freitag'; 7 : t := 'Samstag'; end; {case DayOfWeek} {Monat} case iMonat of 1 : m := 'Januar'; 2 : m := 'Februar'; 3 : m := 'März'; 4 : m := 'April'; 5 : m := 'Mai'; 6 : m := 'Juni'; 7 : m := 'Juli'; 8 : m := 'August'; 9 : m := 'September'; 10 : m := 'Oktober'; 11 : m := 'November'; 12 : m := 'Dezember'; end; {ende case iMonat} j := IntToStr(iJahr); datum := t + ', ' + IntToStr(iTag) + '. ' + m + ' ' + j; edit1.Text := datum; end; [edit=r_kerber]Delphi-Tags eingefügt. Mfg, r_kerber[/edit] |
Re: TDateTime Format
reicht nicht:
Delphi-Quellcode:
case iTag of ...
Nachtrag: Herzlich willkommen in der DP! |
Re: TDateTime Format
Hi rockycat,
schau dir mal FormatDateTime an. mfG mirage228 |
Re: TDateTime Format
Dass der Fehler dort (DayOfWeek) liegt habe ich inzwischen mit dem Debugger herausgefunden. Aber wie kann ich den Picker direkt auslesen? Ein ...Text := ... - wie z.B. bei Edit gibt es beim DateTimePicker nicht. :wall:
|
Re: TDateTime Format
mirage228:
schon probiert; geht nicht! |
Re: TDateTime Format
Ich hab's jetzt mal getestet, also so, wie du's im 1. Post hast, geht's bei mir:
Delphi-Quellcode:
procedure TForm1.DateTimePicker1Change(Sender: TObject);
var datum : String; t,m,j : String; iJahr, iMonat, iTag : Word; begin DecodeDate(DateTimePicker1.Date, iJahr, iMonat, iTag); {Wochentag} case DayOfWeek(iTag) of 1: t := 'Sonntag'; 2: t := 'Montag'; 3: t := 'Dienstag'; 4: t := 'Mittwoch'; 5: t := 'Donnerstag'; 6: t := 'Freitag'; 7: t := 'Samstag'; end; {case DayOfWeek} {Monat} case iMonat of 1: m := 'Januar'; 2: m := 'Februar'; 3: m := 'März'; 4: m := 'April'; 5: m := 'Mai'; 6: m := 'Juni'; 7: m := 'Juli'; 8: m := 'August'; 9: m := 'September'; 10: m := 'Oktober'; 11: m := 'November'; 12: m := 'Dezember'; end; {ende case iMonat} j := IntToStr(iJahr); datum := t + ', ' + IntToStr(iTag) + '. ' + m + ' ' + j; Edit1.Text := datum; end; |
DP-Maintenance
Dieses Thema wurde von "Luckie" von "Fragen / Anregungen zur DP" nach "Object-Pascal / Delphi-Language" verschoben.
|
Re: TDateTime Format
Hi!
Danke, dass Du Dir die Mühe gemacht hast; doch leider geht's so nicht! Das ist (mehr od. weniger) genau mein Versuch -- Wechsle mal den Monat oder das Jahr im DateTimePicker... Der Wochentag (Mo., Di., Mi.,...) bleibt im Editor immer derselbe, was aber eigentlich nicht richtig ist. Der 5. Feb. 2004 z.B. war ein Do., der 5. März 2005 ist ein Samstag. Laut dem Programm jedoch ist beides ein Do. -- nur im Edit1; im DateTimePicker stimmt's natürlich, da steht Samstag (Eigenschaft "DateFormat" auf "dfLong" und "Format" auf "dddd, dd. MMMM yyyy") |
Re: TDateTime Format
Ich habe nur das von dir übernommen, aber bei mir ändert sich der Wochentag und das Jahr auch mit.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz