Entwickler-Ecke
Sonstiges (Delphi) - Datum auslesen und zerlegen
chris_davidi - Do 11.09.03 14:19
Titel: Datum auslesen und zerlegen
Hallo...
Mich würde interessieren, wie das funktioniert. Ich würde gerne das Datum auslesen lassen und in ein RichEdit- Feld schreiben lassen. ist ja relativ einfach... Brauche aber nur das ja und die beiden Endstellen (also statts 2003 nur 03). Wie funktioniert das? Habe gehört man muss das Datum als String festlegen und dann zerlegen, so wie man es haben will.
Habe davon leider keine Ahnung und würde mich freuen, wenn dies jemand machen und auch erklären könnte an diesem Beispiel, damit ich das lerne...
Vielen Dank im Vorraus
Gruss
Chris
Hansi@OMG - Do 11.09.03 14:36
Ich hab dir jetzt mal ein einfaches Beispiel mit einer Funktion geschrieben, damit du jedesmal, wenn du das auslesen willst, nicht soviel tippen musst:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function jahreszahl(Datum:String):String; var i : integer; begin i := pos('200',Datum); \\Sucht nach dem Jahr 200... result:=copy(Datum,i+2,11); \\Kopiert von dem String nur die letzten zwei jahreszahlen end;
procedure TForm1.Button1Click(Sender: TObject); begin label1.caption:=DateToStr(now); \\ Gibt dir das aktuelle Datum als String label2.Caption:=jahreszahl(label1.Caption); \\ Gibt dir das was du willst end; |
AndyB - Do 11.09.03 14:36
Es geht auch so ohne String-Umwandlung:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var d: TDateTime; Day, Month, Year: Word; begin d := Date; DecodeDate(d, Year, Month, Day);
Year := Year mod 100; if Year < 10 then Result := '0' + IntToStr(Year) else Result := IntToStr(Year); end; |
Zitat: |
i := pos('200',Datum); \\Sucht nach dem Jahr 200...
result:=copy(Datum,i+2,11); \\Kopiert von dem String nur die letzten zwei jahreszahlen |
Und was ist, wenn jemand das Datumsformat yyyy-mm-dd eingestellt hat? Oder das Programm auch noch 2010 funktionieren soll?
chris_davidi - Di 16.09.03 11:55
Leider funktionieren beiden Codes bei mir nicht. Probiert es mal bei euch...
Ja, stimmt. Wenn der Benutzer ein anderes Datumsformat eingestellt hat, soll trotzdem nur vom Jahr die letzen beiden Ziffern angezeigt werden.
Habe jedoch keine Ahnung wie das in Delphi geht, ich bekomme immer nur Fehler, wenn ich an den Codes von euch rumprobiere. Hoffe mir kann jemand helfen.
Keldorn - Di 16.09.03 12:41
Zitat: |
Habe jedoch keine Ahnung wie das in Delphi geht, ich bekomme immer nur Fehler, wenn ich an den Codes von euch rumprobiere. Hoffe mir kann jemand helfen.
|
wie soll man dir denn helfen, wenn du nich sagst, welche Fehlermeldungen du bekommst?
chris_davidi - Di 16.09.03 12:53
Baue am Besten mal den Code bei dir ein, dass ist besser als den Fehler zu nennen.
Ein Fehler bei dem Code von Hansi zum Beispiel war, das result nicht definiert ist. Dann habe ich es definiert und dann kam wieder ein Fehler... Wäre wirklich besser, wenn ihr es selber anschaut, ist besser, als den Fehler erklärt zu bekommen, finde ich.
Keldorn - Di 16.09.03 13:56
chris_davidi hat folgendes geschrieben: |
Baue am Besten mal den Code bei dir ein, dass ist besser als den Fehler zu nennen.
Ein Fehler bei dem Code von Hansi zum Beispiel war, das result nicht definiert ist. Dann habe ich es definiert und dann kam wieder ein Fehler... Wäre wirklich besser, wenn ihr es selber anschaut, ist besser, als den Fehler erklärt zu bekommen, finde ich. |
Du weißt den Aufbau von Funktionen und Proceduren?
Hansi´bsp läßt sich kompilieren (hat nur \\ mit // verwechselt)
bei Andy fehlt nur der funktionskopf
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| Funktion Jahreszahl:string; var d: TDateTime; Day, Month, Year: Word; begin ... |
Aufruf:
Delphi-Quelltext
1: 2:
| ... label1.caption:=Jahreszahl; |
geht sehr wohl, aber du mußt halt auch noch n bissel selber nachdenken
Mfg Frank
Wolff68 - Mi 17.09.03 20:49
Oder probiers einfach damit:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := FormatDateTime('YY',Now); end; |
[Hilfe : "Datum und Uhrzeit"]
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!