Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Datumskonstante


Nersgatt - Mo 09.02.09 15:13
Titel: Datumskonstante
Hallo,

ich habe ein eigentlich simples Problem, aber ich finde einfach nichts.
Wie gebe ich in Delphi-Quellcode ein konstantes Datum ein?
Const cDatum = #1900-12-12# funktioniert leider nicht.

Danke,
Jens


Narses - Mo 09.02.09 15:38
Titel: Re: Datumskonstante
Moin!

user profile iconNersgatt hat folgendes geschrieben Zum zitierten Posting springen:
Wie gebe ich in Delphi-Quellcode ein konstantes Datum ein?
In Delphi werden Daten bzw. Datum/Zeit-Angaben als Double gespeichert, nicht als String. :idea:

Du musst also das Datum mit einer kleinen Hilfsanwendung "umbauen":

Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := 'const Heute: TDate = '+FloatToStr(Date)+';';
end;
Ausgabe:

Quelltext
1:
const Heute: TDate = 39853;                    
Das kannst du dann in deinen Quelltext einbauen. ;)

cu
Narses


Nersgatt - Mo 09.02.09 15:52

Danke, ich dachte, es gäbe eine Möglichkeit, das Datum human readable im Quelltext zu schreiben. Werde ich halt mit Kommentaren arbeite.

Gruß,
Jens


martin300 - Mo 09.02.09 16:02

Hallo,
hier ein Codeausschnitt:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
  var

  MeinDatum : TDateTime;
  const einDatum = '12.12.1900';
begin
  MeinDatum := strtodate(einDatum);
  memo1.Lines.Add( datetostr(MeinDatum));


Erklärungen gibt es http://www.bergt.de/workshop/delphi/html/funktion41.htm dort.


Narses - Mo 09.02.09 16:09

Moin!

Warum sollte ich einen String speichern, den ich nicht brauche und dann auch noch Funktionen aufrufen, die überflüssig sind? :nixweiss:

cu
Narses


Nersgatt - Mo 09.02.09 16:10

user profile iconmartin300 hat folgendes geschrieben Zum zitierten Posting springen:
Hallo,
hier ein Codeausschnitt:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
  var

  MeinDatum : TDateTime;
  const einDatum = '12.12.1900';
begin
  MeinDatum := strtodate(einDatum);
  memo1.Lines.Add( datetostr(MeinDatum));

Funktioniert das auch auf Englischsprachigen PCs? Sorry, aber warum sollte ich eine Strinkonstante nehmen, wenn ich eine Datumskonstante will? Das ist wie links blinken und rechts abbiegen.

Zitat:
Erklärungen gibt es http://www.bergt.de/workshop/delphi/html/funktion41.htm dort.

War sicherlich gut gemeint, aber wenn schon der erste Satz nicht stimmt....
Zitat:
("Delphi verwaltet das Datum als Anzahl der Tage seit dem 1. Januar 001.")


Gruß,
Jens