[gelöst] FORMAT - BEFEHL

11. September 2006 18:05

Hallo,

hat jemand einen Tip für mich, wie ich eine Textvariable mit dem Inhalt 01.Jan.05 in eine Variable vom Typ Date umwandeln kann?
Kann das mit dem FORMAT-Befehl gelöst werden? Und wenn ja wie?

Vielen Dank für eure Hilfe.
Zuletzt geändert von fragglet am 13. September 2006 09:03, insgesamt 1-mal geändert.

11. September 2006 18:36

Spontan fällt mir jetzt keine fertige Funktion ein, jedoch kannst du dir recht einfach selbst eine solche Funktion schreiben:
(Die Funktion habe ich mir eben schnell ausgedacht und nicht getestet)
Code:
Text2Date(Text : Text[30]) : Date
Text := DELCHR(Text,' ','=');                        // Sicherstellen, dass keine Leerzeichen enthalten sind.
EVALUATE(Day,COPYSTR(Text,1,STRPOS(Text,'.') - 1));  // "Tag"-Anteil extrahieren
Text := COPYSTR(Text,STRPOS(Text,'.') + 1);          // Text-Variable aufräumen
EVALUATE(Year,COPYSTR(Text,STRPOS(Text,'.') + 1);    // "Jahr"-Anteil extrahieren
Text := COPYSTR(Text,1,STRPOS(Text,'.') - 1);        // Text-Variable aufräumen
CASE UPPERCASE(Text) OF                              // Der Rest ist der Monat als Text
  'JAN' : Month := 1;
  'FEB' : Month := 2;
  [...]
  'NOV' : Month := 11;
  'DEZ' : Month := 12;
END;
EXIT(DMY2DATE(Day,Month,Year));                      // Datum zusammensetzen und zurückgeben

13. September 2006 09:02

Vielen Dank für die schnelle Antwort. So werde ich es machen.