Autor |
Beitrag |
lexmy3
      
Beiträge: 140
WIN 2000 Prof. + Office 2000
Delphi 5 Enterprise
|
Verfasst: Do 15.12.05 13:37
Hallo,
Ich habe ein Prog. das in englischer Sprache ausgegeben sein sollte, hier benutze ich einen Date Time Picker. Aber leider ist er in Deutsch.
Ich hätte aber gern die Ausgabe ungefähr so: 'On Monday 05th September 2005'
Er gibt mir aber so raus: ' On 5.09.05'
Habe diesen Befehl benutzt: ('On'+' '+ DateToStr(DateTimePicker1.Date)
mfg
Lexmy3
Moderiert von raziel: Überflüsse Fragezeichen aus dem Titel entfernt.
Zuletzt bearbeitet von lexmy3 am Di 10.01.06 10:54, insgesamt 1-mal bearbeitet
|
|
Tastaro
      
Beiträge: 414
Erhaltene Danke: 23
|
Verfasst: Do 15.12.05 18:44
DateToStr nimmt deine Windows-Systemeinstellungen, wenn du keine Formatangaben übergibst. Schau mal in der Delphi-Hilfe unter DateToStr nach.
Beste Grüße
Tastaro
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 15.12.05 21:47
Der DatetimePicker zeigt das Datum im Shortdateformat des Systems an. Du musst dich also um nichts kümmern.
|
|
lexmy3 
      
Beiträge: 140
WIN 2000 Prof. + Office 2000
Delphi 5 Enterprise
|
Verfasst: Do 22.12.05 10:04
Titel: DateTimer icker im english!!!
Luckie hat folgendes geschrieben: | Der DatetimePicker zeigt das Datum im Shortdateformat des Systems an. Du musst dich also um nichts kümmern. |
Hallo wie meinst du das "um nichts kümern"??
Jeder Anwender in D hat Windows auf deutsch und möchte nur das Datum auf english erscheinen lassen. Also möchte ich nicht das System umstellen.
mfg
Lexmy3
|
|
Martin1966
      
Beiträge: 1068
Win 2000, Win XP
Delphi 7, Delphi 2005
|
Verfasst: Do 22.12.05 10:12
Hallo
Es hat ja auch keiner davon geredet, dass du das "System" umstellen sollst. Luckie hat geschrieben, dass der DateTimePicker das Datum immer so anzeigt wie man es in Windows in den Systemeinstellungen festgelegt hat.
Du brauchst also nichts machen da die Komponente so schlau ist und das Anzeigeformat für das Datum aus den Systemeinstellungen verwendet.
lg Martin
_________________ Ein Nutzer der Ecke
|
|
Patriol
      
Beiträge: 52
D3, D5, D7
|
Verfasst: Do 22.12.05 10:22
Hallo,
verwende doch statt "DateToStr()" die Methode "FormatDateTime()". Hier könntest du zumindestens ein englischen Datumsformat in der Form "2005-12-22" oder dergleichen hinbekommen ohne die entsprechenden Systemeinstellungen vorzunehmen. Ich bezweifle nur das du dann damit "Monday" hinbekommst, wenn in deinen Systemeinstellungen Deutsch eingestellt ist...
MfG
Patriol
|
|
lexmy3 
      
Beiträge: 140
WIN 2000 Prof. + Office 2000
Delphi 5 Enterprise
|
Verfasst: Do 22.12.05 12:12
Patriol hat folgendes geschrieben: | Hallo,
verwende doch statt "DateToStr()" die Methode "FormatDateTime()". Hier könntest du zumindestens ein englischen Datumsformat in der Form "2005-12-22" oder dergleichen hinbekommen ohne die entsprechenden Systemeinstellungen vorzunehmen. Ich bezweifle nur das du dann damit "Monday" hinbekommst, wenn in deinen Systemeinstellungen Deutsch eingestellt ist...
MfG
Patriol |
Habe jetzt es mit FormatDateTime probiert aber nix funktionierendes hinbekommen.
Ob es wohl mit StrToDate,Day of Week möglich ist???
|
|
lexmy3 
      
Beiträge: 140
WIN 2000 Prof. + Office 2000
Delphi 5 Enterprise
|
Verfasst: Do 22.12.05 12:21
Martin1966 hat folgendes geschrieben: | Hallo
Es hat ja auch keiner davon geredet, dass du das "System" umstellen sollst. Luckie hat geschrieben, dass der DateTimePicker das Datum immer so anzeigt wie man es in Windows in den Systemeinstellungen festgelegt hat.
Du brauchst also nichts machen da die Komponente so schlau ist und das Anzeigeformat für das Datum aus den Systemeinstellungen verwendet.
lg Martin |
Das ist ja auch mein Problem, wenn du die Problemstellung genau durchliest dann siehst du es !!!
Ich möchte haben: Bei Auswahl im DateTimePicker und in späteren Übernahme dieser in meinem Bericht Ein Satz erscheint: On 'Wochentag' 'Datum'th 'Monat' 'Jahr' a visual survey took place.
Es ist ein Bericht in english!!!
mfg
Lexmy3
|
|
Manfred
      
Beiträge: 90
|
Verfasst: Fr 30.12.05 00:21
Hi!
FormatDateTime nutzt ebenfalls die System-Einstellungen und ermittelt daher natürlich deutschsprachige Werte.
Warum nutzt Du nicht eine Konstante, etwa in der Art:
Quelltext 1: 2:
| const month = ',January,February,March,April,May,June,July,August,September,October,November,December'; |
Um die Bezeichnung des Monats zu ermitteln, musst Du nur noch die begrenzenden Kommas finden.
Für den April musst Du also das 4. (April ist der 4. Monat  ) und das vorherige Komma finden, dann weißt Du, zwischen welchen Zeichen Dein Monat steht. Das ist übrigens der Grund, warum vor dem Januar ebenfalls ein Komma steht.
Oder Du nutzt ein Array, in dem die Namen bereits enthalten sind.
_________________ Computer können schneller rechnen als wir, deshalb machen sie auch mehr Fehler
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Fr 30.12.05 02:14
Hallo,
Du könntest es auch mit FormatDateTime realisieren:
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:
| procedure TForm1.DateTimePicker1Change(Sender: TObject); const Monate : Array [1..12] of String = ('January','February','March','April','May', 'June','July','August','September','October', 'November','December'); Tage : Array [1..7] of String = ('Sunday','Monday','Tuesday','Wednesday', 'Thursday','Friday','Saturday'); var oldLongMonthNames : array[1..12] of string; oldLongDayNames : array[1..7] of string; z : Integer; begin for z := 1 to 12 do oldLongMonthNames[z] := LongMonthNames[z]; for z := 1 to 7 do oldLongDayNames[z] := LongDayNames[z]; for z := 1 to 12 do LongMonthNames[z] := Monate[z]; for z := 1 to 7 do LongDayNames[z] := Tage[z]; showmessage('On '+FormatdateTime('dddd dd',DateTimePicker1.Date)+'th ' +FormatdateTime('mmmm yyyy',DateTimePicker1.Date)); for z := 1 to 12 do LongMonthNames[z] := oldLongMonthNames[z]; for z := 1 to 7 do LongDayNames[z] := oldLongDayNames[z]; end; |
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
lexmy3 
      
Beiträge: 140
WIN 2000 Prof. + Office 2000
Delphi 5 Enterprise
|
Verfasst: Di 10.01.06 10:50
Hey Supper hat alles geklappt!!!
Vielen Dank Lannes
mfg
aus Frankfurt
|
|
Horst_H
      
Beiträge: 1654
Erhaltene Danke: 244
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Di 10.01.06 11:28
Hallo,
Man kann die Formatssettings auch direkt abfragen und innerhalb von Format nutzen.
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: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77:
| formatSettings : TFormatSettings;
j := 1033;GetLocaleFormatSettings(j,formatSettings); with formatsettings do for i := 1 to 12 do memo1.lines.add(INtToStr(j)+' '+ShortMonthNames[i]); |
Gruss Horst
|
|