Autor Beitrag
lexmy3
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140

WIN 2000 Prof. + Office 2000
Delphi 5 Enterprise
BeitragVerfasst: 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 user profile iconraziel: Überflüsse Fragezeichen aus dem Titel entfernt.


Zuletzt bearbeitet von lexmy3 am Di 10.01.06 10:54, insgesamt 1-mal bearbeitet
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: 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



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140

WIN 2000 Prof. + Office 2000
Delphi 5 Enterprise
BeitragVerfasst: Do 22.12.05 10:04 
Titel: DateTimer icker im english!!!
user profile iconLuckie 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Do 22.12.05 10:12 
Hallo :wink2:

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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52


D3, D5, D7
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140

WIN 2000 Prof. + Office 2000
Delphi 5 Enterprise
BeitragVerfasst: Do 22.12.05 12:12 
user profile iconPatriol 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140

WIN 2000 Prof. + Office 2000
Delphi 5 Enterprise
BeitragVerfasst: Do 22.12.05 12:21 
user profile iconMartin1966 hat folgendes geschrieben:
Hallo :wink2:

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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 90



BeitragVerfasst: 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:
ausblenden 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 :lol:) 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Fr 30.12.05 02:14 
Hallo,

Du könntest es auch mit FormatDateTime realisieren:
ausblenden 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..12of String = ('January','February','March','April','May',
                                          'June','July','August','September','October',
                                          'November','December');
        Tage  : Array [1..7of String = ('Sunday','Monday','Tuesday','Wednesday',
                                          'Thursday','Friday','Saturday');
var oldLongMonthNames : array[1..12of string;
    oldLongDayNames : array[1..7of string;
    z : Integer;
begin
  //Systemvariablen sichern
  for z := 1 to 12 do
    oldLongMonthNames[z] := LongMonthNames[z];
  for z := 1 to 7 do
    oldLongDayNames[z] := LongDayNames[z];
  //Systemvariablen verändern
  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));
  //Systemvariablen wiederherstellen
  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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140

WIN 2000 Prof. + Office 2000
Delphi 5 Enterprise
BeitragVerfasst: Di 10.01.06 10:50 
Hey Supper hat alles geklappt!!!

Vielen Dank Lannes

mfg

aus Frankfurt
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1654
Erhaltene Danke: 244

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Di 10.01.06 11:28 
Hallo,

Man kann die Formatssettings auch direkt abfragen und innerhalb von Format nutzen.
ausblenden volle Höhe 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:
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;
{Naja, sind eigentlich zwei Spalten
Locale Description  Short String  Hex Value  Decimal Value  Locale Description  Short String  Hex Value  Decimal Value
Afrikaans  af  0x0436   1078  Icelandic  is  0x040F   1039
Albanian  sq  0x041C   1052  Indonesian  id  0x0421   1057
Arabic - United Arab Emirates  ar-ae  0x3801   14337  Italian - Italy  it-it  0x0410   1040
Arabic - Bahrain  ar-bh  0x3C01   15361  Italian - Switzerland  it-ch  0x0810   2064
Arabic - Algeria  ar-dz  0x1401   5121  Japanese  ja  0x0411   1041
Arabic - Egypt  ar-eg  0x0C01   3073  Korean  ko  0x0412   1042
Arabic - Iraq  ar-iq  0x0801   2049  Latvian  lv  0x0426   1062
Arabic - Jordan  ar-jo  0x2C01   11265  Lithuanian  lt  0x0427   1063
Arabic - Kuwait  ar-kw  0x3401   13313  FYRO Macedonian  mk  0x042F   1071
Arabic - Lebanon  ar-lb  0x3001   12289  Malay - Malaysia  ms-my  0x043E   1086
Arabic - Libya  ar-ly  0x1001   4097  Malay – Brunei  ms-bn  0x083E  2110
Arabic - Morocco  ar-ma  0x1801   6145  Maltese  mt  0x043A   1082
Arabic - Oman  ar-om  0x2001   8193  Marathi  mr  0x044E  1102
Arabic - Qatar  ar-qa  0x4001   16385  Norwegian - Bokmål  no-no  0x0414   1044
Arabic - Saudi Arabia  ar-sa  0x0401   1025  Norwegian - Nynorsk  no-no  0x0814  2068
Arabic - Syria  ar-sy  0x2801   10241  Polish  pl  0x0415   1045
Arabic - Tunisia  ar-tn  0x1C01   7169  Portuguese - Portugal  pt-pt  0x0816   2070
Arabic - Yemen  ar-ye  0x2401   9217  Portuguese - Brazil  pt-br  0x0416   1046
Armenian  hy  0x042B  1067  Raeto-Romance  rm  0x0417   1047
Azeri - Latin  az-az  0x042C  1068  Romanian - Romania  ro  0x0418   1048
Azeri - Cyrillic  az-az  0x082C  2092  Romanian - Moldova  ro-mo  0x0818   2072
Basque  eu  0x042D   1069  Russian  ru  0x0419   1049
Belarusian  be  0x0423   1059  Russian - Moldova  ru-mo  0x0819   2073
Bulgarian  bg  0x0402   1026  Sanskrit  sa  0x044F  1103
Catalan  ca  0x0403   1027  Serbian - Cyrillic  sr-sp  0x0C1A   3098
Chinese - China  zh-cn  0x0804   2052  Serbian - Latin  sr-sp  0x081A  2074
Chinese - Hong Kong SAR  zh-hk  0x0C04   3076  Setsuana  tn  0x0432   1074
Chinese - Macau SAR  zh-mo  0x1404  5124  Slovenian  sl  0x0424   1060
Chinese - Singapore  zh-sg  0x1004   4100  Slovak  sk  0x041B   1051
Chinese - Taiwan  zh-tw  0x0404   1028  Sorbian  sb  0x042E   1070
Croatian  hr  0x041A   1050  Spanish - Spain  es-es  0x0C0A   1034
Czech  cs  0x0405   1029  Spanish - Argentina  es-ar  0x2C0A   11274
Danish  da  0x0406   1030  Spanish - Bolivia  es-bo  0x400A   16394
Dutch - The Netherlands  nl-nl  0x0413   1043  Spanish - Chile  es-cl  0x340A   13322
Dutch - Belgium  nl-be  0x0813   2067  Spanish - Colombia  es-co  0x240A   9226
English - Australia  en-au  0x0C09   3081  Spanish - Costa Rica  es-cr  0x140A   5130
English - Belize  en-bz  0x2809   10249  Spanish - Dominican Republic  es-do  0x1C0A   7178
English - Canada  en-ca  0x1009   4105  Spanish - Ecuador  es-ec  0x300A   12298
English - Caribbean  en-cb  0x2409  9225  Spanish - Guatemala  es-gt  0x100A   4106
English - Ireland  en-ie  0x1809   6153  Spanish - Honduras  es-hn  0x480A   18442
English - Jamaica  en-jm  0x2009   8201  Spanish - Mexico  es-mx  0x080A   2058
English - New Zealand  en-nz  0x1409   5129  Spanish - Nicaragua  es-ni  0x4C0A   19466
English - Phillippines  en-ph  0x3409  13321  Spanish - Panama  es-pa  0x180A   6154
English - South Africa  en-za  0x1C09   7177  Spanish - Peru  es-pe  0x280A   10250
English - Trinidad  en-tt  0x2C09   11273  Spanish - Puerto Rico  es-pr  0x500A   20490
English - United Kingdom  en-gb  0x0809   2057  Spanish - Paraguay  es-py  0x3C0A   15370
English - United States  en-us  0x0409   1033  Spanish - El Salvador  es-sv  0x440A   17418
Estonian  et  0x0425   1061  Spanish - Uruguay  es-uy  0x380A   14346
Farsi  fa  0x0429   1065  Spanish - Venezuela  es-ve  0x200A   8202
Finnish  fi  0x040B   1035  Sutu  sx  0x0430   1072
Faroese  fo  0x0438   1080  Swahili  sw  0x0441  1089
French - France  fr-fr  0x040C   1036  Swedish - Sweden  sv-se  0x041D   1053
French - Belgium  fr-be  0x080C   2060  Swedish - Finland  sv-fi  0x081D   2077
French - Canada  fr-ca  0x0C0C   3084  Tamil  ta  0x0449  1097
French - Luxembourg  fr-lu  0x140C   5132  Tatar  tt  0X0444  1092
French - Switzerland  fr-ch  0x100C   4108  Thai  th  0x041E   1054
Gaelic - Ireland  gd-ie  0x083C  2108  Turkish  tr  0x041F   1055
Gaelic - Scotland  gd  0x043C   1084  Tsonga  ts  0x0431   1073
German - Germany  de-de  0x0407   1031  Ukrainian  uk  0x0422   1058
German - Austria  de-at  0x0C07   3079  Urdu  ur  0x0420   1056
German - Liechtenstein  de-li  0x1407   5127  Uzbek - Cyrillic  uz-uz  0x0843  2115
German - Luxembourg  de-lu  0x1007   4103  Uzbek – Latin  uz-uz  0x0443  1091
German - Switzerland  de-ch  0x0807   2055  Vietnamese  vi  0x042A   1066
Greek  el  0x0408   1032  Xhosa  xh  0x0434   1076
Hebrew  he  0x040D   1037  Yiddish  yi  0x043D   1085
Hindi  hi  0x0439   1081  Zulu  zu  0x0435   1077
Hungarian  hu  0x040E   1038
}


j := 1033;//1033 US-Englisch//1031 fuer Deutschland
GetLocaleFormatSettings(j,formatSettings);
with formatsettings do
  for i := 1 to 12 do
    memo1.lines.add(INtToStr(j)+'  '+ShortMonthNames[i]);


Gruss Horst