Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Datum übersetzen (https://www.delphipraxis.net/15052-datum-uebersetzen.html)

Seven 21. Jan 2004 11:25


Datum übersetzen
 
Hallo zusammen,

zuallererst bin noch blutiger Anfänger in Sachen Delphi, als habt bitte Verständnis.

Folgendes Problem:

Ich suche in einer Informix-Datenbank nach einem Artikel(klappt auch). Dazu will ich mir das Änderungsdatum mit DBText anzeigen lassen, jedoch ist das Datum im "falschen" Format. 19981120

Folgendes setze ich ein:
Query(sql_artikel)
Datasource(ds_artikel)
diverse dbText

Frage:
Wie stelle ich es ein bzw. was muss ich programmieren, um das Datum auf 20.11.1998 umzustellen.

Ich hoffe, es kann mir jemand helfen.

Tonic1024 21. Jan 2004 11:34

Re: Datum übersetzen
 
Hi...

Das ist das ganz "normale" Datenbankformat. Das unterstützt so zielich jede Datenbank (die ich kenne).

Einstellen kann man da - meine ich - nicht viel. Du musst wohl oder über anfangen mit dem String zu spielen und dir dein Format selbst bauen.

schau dir zu diesem Zweck mal copy() an...

bis denne...

Seven 21. Jan 2004 11:38

Re: Datum übersetzen
 
danke für die schnelle Antwort. Mal sehen ob ich etwas mit Deinem Tipp anfangen kann.

r_kerber 21. Jan 2004 11:39

Re: Datum übersetzen
 
Hallo Sven,

ich vermute dann, dass das Datum in der Informix-Tabelle nicht im Format Date sondern Char oder Varchar abgespeichert ist. Ansonsten sollte ein TDBText das datum auch korrekt anzeigen.

Seven 21. Jan 2004 14:19

Re: Datum übersetzen
 
@r_kerber
Ja, da hast Du Recht. Es ist ein char-Feld.

Seven 21. Jan 2004 14:44

Re: Datum übersetzen
 
Hier ist meine Lösung:

procedure TForm1.sql_artikelCalcFields(DataSet: TDataSet);
var
sDatum: string;
begin
sDatum := sql_artikel['date'];
sDatum := copy(sDatum, 7, 2) + '.' + copy(sDatum, 5, 2) + '.' + copy(sDatum,
1, 4);
sql_artikel['cDatum'] := sDatum;
end;


Es klappt. Frage ist nur, ob man es so stehen lassen kann?

Tonic1024 21. Jan 2004 14:48

Re: Datum übersetzen
 
Hi, ich nochmal...

Dann hast du eigentlich nur die Möglichkeit den String umzuwandeln, wie beschrieben oder deine Datenbank anzupassen damit den DBText funzt. Damit währ ich aber arg vorsichtig, wenn die DB schon "scharf gemacht" - also im laufenden Betrieb ist. AUF JEDEN FALL VORHER SICHERN!

[edit]
und was den Code angeht... Schönheit liegt im Auge des Betrachters. Wenn er funzt und du meinst, dass er einleuchtend und klar Gegliedert ist und ihn auch jemandem erklähren kannst der nicht so viel Ahnung davon hat, dann ist er gut. Natürlich hat Performance auch was damit zu tun. Aber der schnellste Code ist nicht immer auch der Beste (ganz allgemein - nicht speziell der obenstehende).
[/edit]

bye...


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:14 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