Autor |
Beitrag |
lemi4ever
Beiträge: 19
|
Verfasst: Sa 16.12.06 21:36
Ich bin im Moment soweit das ich den Vormonat in einer Zahl auslesen kann. Wobei ich hier unterstützung bekommen habe. Es läuft auch. Jedoch erhalten ich im Moment den Vormonat als Zahl.
Jetzt muss ich da ich den Vormonat nicht als Zahl sondern als Wort ausweisen möchte mit einer If Anfrage aus z.B. 12 Dezember machen. Hat da jemand eine Lösung den Vormonat direkt als Text auslesen zu können ?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| var datum: TDateTime; vjahr, vmonat, vtag : word; jahr, monat, tag : word;
begin datum := now; DecodeDate(datum,jahr,monat,tag); vMonat := Monat -1; if vMonat < 1 then vMonat := 12; vtag := tag -1; if vTag < 1 then case vMonat of 1, 3, 5, 7, 8, 12: vTag := 31; 4, 6, 9, 11: vTag := 30; 2: begin if IsLeapYear(Jahr) then vTag := 29 else vTag := 28; end; end;
vjahr := jahr -1;
Edit1.Text :=(IntToStr(vMonat)); |
Moderiert von Christian S.: Delphi-Tags hinzugefügtModeriert von Christian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Sa 16.12.2006 um 21:44
|
|
hansa
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Sa 16.12.06 21:49
Delphi-Quelltext 1: 2: 3:
| const LongMonthStr : array[1..12] of string[9] = ( 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'); |
Aber Achtung ! Das ist noch keine verwendbare Variable !!
_________________ Gruß
Hansa
|
|
lemi4ever
Beiträge: 19
|
Verfasst: Sa 16.12.06 21:56
hansa hat folgendes geschrieben: | Delphi-Quelltext 1: 2: 3:
| const LongMonthStr : array[1..12] of string[9] = ( 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'); |
Aber Achtung ! Das ist noch keine verwendbare Variable !! |
Dann gebe ich aber schon wieder die Namen der Monate in den Code ein. Mein Tool wir auf PC laufen wo das Betriebssystem Deutsch, Französisch, Italienisch oder English sein kann. Es wäre dann schön wenn die Vormonatnamen auch in der richtigen Sprachen anzeigt werden.
Gruss
Michael
|
|
hansa
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Sa 16.12.06 22:08
Dann verwende $IFDEF und wenn die Wörter im Quelltext gar nicht auftauchen sollen, dann schreibe sie in eine DB/Datei.
_________________ Gruß
Hansa
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 16.12.06 22:36
Hallo!
Delphi stellt mit GetLocaleStr eine Kapselung der GETLOCALEINFO-Funktion von Windows zur Verfügung. Die kann man z.B. so benutzen:
Delphi-Quelltext 1: 2:
| januarStr := GetLocaleStr(LOCALE_SYSTEM_DEFAULT, LOCALE_SMONTHNAME1, 'nicht gefunden'); februarStr := GetLocaleStr(LOCALE_SYSTEM_DEFAULT, LOCALE_SMONTHNAME2, 'nicht gefunden'); |
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Lannes
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Sa 16.12.06 23:43
Hallo,
ist doch einfach:
Delphi-Quelltext 1:
| januarStr := LongMonthNames[1]; |
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 17.12.06 00:11
Ah, den kannte ich auch noch nicht, ist natürlich einfacher.
Wird aber auch über GetLocalStr gefüllt
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Lannes
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: So 17.12.06 01:05
Hallo,
und GetLocalStr kenn ich, ... äh, Delphi 3 nicht, aber man kann ja GETLOCALEINFO direkt einsetzen.
@ lemi4ever
was hälst Du denn davon:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| function Vormonat(aDatum: TDateTime): String; var J, M, T : word; begin DecodeDate(aDatum,J,M,T); aDatum := EncodeDate(J,M,1); Result := FormatDateTime('MMMM',aDatum-1); end; |
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
|