Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Datumsfunktionen ?


Mike19 - Fr 27.03.09 12:47
Titel: Datumsfunktionen ?
Hallo,

mal eine Frage:

Gibt es ein Format in FormatDateTime ähnlich wie LongMonthNames die das Gegteil bewirkt, also z.B aus einem String 'Januar' eine Ausgabe "1" bringt ? Habe leider dazu nichts gefunden.


Danke


JayEff - Fr 27.03.09 14:57

Nun ja, schreib dir halt kurz eine:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
function MonthToNumber(month: String): Integer;
const 
  Months: array[1 .. 12of String = ('Januar''Februar'{...});
var 
  i: Integer;
begin
  result := 0;
  for i := 1 to 12 do
    if Months[i] = month then
      result := i;
end;
Wenn der Parameter kein Monat ist, gibt dir die Funktion 0 zurück :)

Oder wie meinst du das, ein Format bei FormatDateTime? Die Funktion bekommt doch ein TDateTime Objekt übergeben, das heißt wenn du schon einen String "Januar" hast, kannst du ja nicht mit FormatDateTime arbeiten :nixweiss: Meine Funktion sollte das tun, was du willst, es sei denn, dein Programm muss auch auf Rechnern lauffähig sein, auf denen FormatDateTime "February" zurückgibt ;) Aber du kannst die Schleife 1:1 kopieren und ein zweites Array mit englischen Namen deklarieren; Falls dir das reicht.


Mike19 - Fr 27.03.09 15:14

Danke, hab diese Funktion in der Hilfe nicht gefunden.


JayEff - Fr 27.03.09 15:23

user profile iconMike19 hat folgendes geschrieben Zum zitierten Posting springen:
Danke, hab diese Funktion in der Hilfe nicht gefunden.
Da würde ich mich auch total geehrt fühlen, wenn die leute von Code Gear nachträglich eine von mir geschriebene Funktion in die DOH aufnehmen würden ;)