Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows User Sprache ändern (https://www.delphipraxis.net/159438-windows-user-sprache-aendern.html)

yörsch 28. Mär 2011 16:46

AW: Windows User Sprache ändern
 
SetLocaleInfoW(1031, LOCALE_IDEFAULTLANGUAGE , '') führt bei mir zu fehlern:roll:
Fehler Code 1004

Hat jemand noch ne' Idee oder ein Beispiel mit dem die Windows User Sprache unter
"Region und Sprache" in Delphi verändert werden kann?

uligerhardt 28. Mär 2011 16:52

AW: Windows User Sprache ändern
 
Zitat:

Zitat von yörsch (Beitrag 1091558)
Die Kunden hatten für das ausgeschriebene Datum 28.Februar 2011 eben February 28/2011 stehn das führte zum zeilen umbruch und alles wurde verschoben...

Ich fürchte, nur die eingestellte Sprache abzufragen, wird nicht reichen. Der Benutzer kann ja Deutsch als Sprache einstellen, aber trotzdem noch MM.TT.JJJJ (oder so) als Datum wählen.

s.h.a.r.k 28. Mär 2011 16:56

AW: Windows User Sprache ändern
 
Hab mal schnell im MSDN nachgeschaut und folgendes zum ersten Parameter gefunden:
Zitat:

Zitat von http://msdn.microsoft.com/en-us/library/dd374049%28v=vs.85%29.aspx
For the ANSI version of the function, the locale identifier of the locale with the code page used when interpreting the lpLCData information. For the Unicode version, this parameter is ignored.

Das hier liefert der Fehlercode zu Tage:
Zitat:

Zitat von MSDN
ERROR_INVALID_FLAGS 1004 (0x3EC): Invalid flags.

Ein Beispiel für den Aufruf der Methode habe ich nicht gefunden, aber du solltest dich wohl um die Parameter kümmern, da damit irgendwas nicht passt.

-- EDIT: Was passiert denn wenn du SetLocaleInfoA ausprobierst?

shmia 28. Mär 2011 17:03

AW: Windows User Sprache ändern
 
Wenn dein Problem doch das Datumsformat ist, dann hat das doch nur indirekt mit der Sprache zu tun, oder?
Ich würde das Datumsformat mit GetLocaleInfo() abfragen und wenn es dir spanisch (also "nicht deutsch") vorkommt, den Benutzer darauf hinweisen.
Ich würde die Anwendung nicht eigenmächtig über SetLocaleInfo() etwas ändern lassen.
Dann vielleicht noch eine PDF oder Hilfedatei beilegen, die dem DAU zeigt, was er tun muss.

Man kann GetLocaleStr() verwenden; das ist einfacher:
Delphi-Quellcode:
var
  kurzdatumformat : string;
begin
  kurzdatumformat := GetLocaleStr(DefaultLCID, LOCALE_SSHORTDATE, '');
  if kurzdatumformat <> DEUTSCHES_FORMAT then
     MeckerMecker;

s.h.a.r.k 28. Mär 2011 17:04

AW: Windows User Sprache ändern
 
Zitat:

Zitat von shmia (Beitrag 1091589)
[...] die dem DAU zeigt[...]

[OT] Gibts für den Begriff DAU keinen Hint? [/OT]

yörsch 29. Mär 2011 08:27

AW: Windows User Sprache ändern
 
Zitat:

Sorry, changing this is not supported, actually, by anything except the CPL applet. Quelle
Ist zwar ein VB-Beispiel solte aber auch für Delphi gelten
Und warum :
Nach meinen Suchen gibt es z.Z. keinen Parameter in SystemParametersInfo Quelle

Danke für Eure Unterstützung:thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:47 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz