Autor |
Beitrag |
chris_davidi
      
Beiträge: 76
Windows 98 SE
Delphi 3
|
Verfasst: Do 11.09.03 14:19
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
      
Beiträge: 304
Vista
Delphi 2006 Prof., Lazarus
|
Verfasst: 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; |
_________________ Who doesn't know the Micrsoft developer "Mahatma Fatal Error"?
|
|
AndyB
      
Beiträge: 1173
Erhaltene Danke: 14
RAD Studio XE2
|
Verfasst: 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?
_________________ Ist Zeit wirklich Geld?
|
|
chris_davidi 
      
Beiträge: 76
Windows 98 SE
Delphi 3
|
Verfasst: 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
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: 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?
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
chris_davidi 
      
Beiträge: 76
Windows 98 SE
Delphi 3
|
Verfasst: 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
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: 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
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
Wolff68
      
Beiträge: 302
Erhaltene Danke: 1
WinXP home
D6 Prof
|
Verfasst: 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"]
_________________ "Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
|
|