AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TDateTime Format

Ein Thema von rockycat · begonnen am 12. Feb 2004 · letzter Beitrag vom 13. Feb 2004
Antwort Antwort
rockycat

Registriert seit: 12. Feb 2004
Ort: Kiel
35 Beiträge
 
#1

TDateTime Format

  Alt 12. Feb 2004, 19:58
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:
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;
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...

[edit=r_kerber]Delphi-Tags eingefügt. Mfg, r_kerber[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: TDateTime Format

  Alt 12. Feb 2004, 20:01
reicht nicht:

case iTag of ...
Nachtrag: Herzlich willkommen in der DP!
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: TDateTime Format

  Alt 12. Feb 2004, 20:06
Hi rockycat,

schau dir mal FormatDateTime an.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
rockycat

Registriert seit: 12. Feb 2004
Ort: Kiel
35 Beiträge
 
#4

Re: TDateTime Format

  Alt 12. Feb 2004, 21:18
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.
  Mit Zitat antworten Zitat
rockycat

Registriert seit: 12. Feb 2004
Ort: Kiel
35 Beiträge
 
#5

Re: TDateTime Format

  Alt 12. Feb 2004, 21:21
mirage228:

schon probiert; geht nicht!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: TDateTime Format

  Alt 12. Feb 2004, 21:26
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;
  Mit Zitat antworten Zitat
12. Feb 2004, 23:10
Dieses Thema wurde von "Luckie" von "Fragen / Anregungen zur DP" nach "Object-Pascal / Delphi-Language" verschoben.
rockycat

Registriert seit: 12. Feb 2004
Ort: Kiel
35 Beiträge
 
#8

Re: TDateTime Format

  Alt 13. Feb 2004, 09:12
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")
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: TDateTime Format

  Alt 13. Feb 2004, 09:14
Ich habe nur das von dir übernommen, aber bei mir ändert sich der Wochentag und das Jahr auch mit.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz