Zahlenformate ermitteln
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Zahlenformate ermitteln
Kann mir jemand verraten über welchen call man die Zahlenformate unter WIN10 ( unter win7 wirds wohl auch nicht anders laufen )
ermitteln kann.
Speziell geht es mir dabei um das "Symbol für Zifferngruppierung"
Herzlichen Dank schon mal im Voraus ...
ermitteln kann.
Speziell geht es mir dabei um das "Symbol für Zifferngruppierung"
Herzlichen Dank schon mal im Voraus ...
Ahoile aus dem Süden
- HaPe
- 1000 working lines a day
- Beiträge: 997
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: Zahlenformate ermitteln
Hallo Flanelli !
Die Konstanten NLS_SDECIMAL und NLS_STHOUSAND verwenden.
SetLocale ist in Xbase++ dafür vorgesehen.Kann mir jemand verraten über welchen call man die Zahlenformate unter WIN10 ( unter win7 wirds wohl auch nicht anders laufen )
ermitteln kann.
Die Konstanten NLS_SDECIMAL und NLS_STHOUSAND verwenden.
--
Hans-Peter
Hans-Peter
- Jan
- Marvin
- Beiträge: 14689
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 89 Mal
- Kontaktdaten:
Re: Zahlenformate ermitteln
...jetzt war HaPe schneller... Wobei das SetLocale() ist.
das sind in diesem Fall die Parameter
NLS_SLIST (Listen-Separator)
NLS_SDECIMAL (Dezimal-Separator)
NLS_STHOUSAND (Tausender-Separator)
Jan
das sind in diesem Fall die Parameter
NLS_SLIST (Listen-Separator)
NLS_SDECIMAL (Dezimal-Separator)
NLS_STHOUSAND (Tausender-Separator)
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: Zahlenformate ermitteln
Danke JAN, aber wie gerade gepostet, um das geht es ja nicht ( sowas sollte ja wohl jedem oldie in der XbaseSzene bekannt sein )
Hast Du eine Ahnung wis man das über die API auslesen kann?4
Hast Du eine Ahnung wis man das über die API auslesen kann?4
Ahoile aus dem Süden
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: Zahlenformate ermitteln
Nachstehend das Fehlerprotokoll
wie gesagt, triit NUR auf wenn im OS das Symbol für die Zifferngruppierung LEER ist
oError:args :
-> VALTYPE: C VALUE: NumberFormat
-> VALTYPE: C VALUE: #.##0,00
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Die NumberFormat-Eigenschaft des Range-Objektes kann nicht festgelegt werden.
oError:filename : NIL
oError:genCode : NIL
oError:operation : NumberFormat
oError:osCode : -2146827284
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 3
oError:tries : NIL
wie gesagt, triit NUR auf wenn im OS das Symbol für die Zifferngruppierung LEER ist
oError:args :
-> VALTYPE: C VALUE: NumberFormat
-> VALTYPE: C VALUE: #.##0,00
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Die NumberFormat-Eigenschaft des Range-Objektes kann nicht festgelegt werden.
oError:filename : NIL
oError:genCode : NIL
oError:operation : NumberFormat
oError:osCode : -2146827284
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 3
oError:tries : NIL
Ahoile aus dem Süden
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: Zahlenformate ermitteln
nur zur Klarstellung...
über die setlocale ... NLS_STHOUSAND erhalte ich unter WIN10 keinerlei Info über das Symbol
der Wert ist hier generel immer LEER obwohl ein PUNKT definiert ist.
über die setlocale ... NLS_STHOUSAND erhalte ich unter WIN10 keinerlei Info über das Symbol
der Wert ist hier generel immer LEER obwohl ein PUNKT definiert ist.
Ahoile aus dem Süden
- HaPe
- 1000 working lines a day
- Beiträge: 997
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: Zahlenformate ermitteln
Hallo Flanelli !
Wenn nein, schau dir mal diesen Thread:
viewtopic.php?f=20&t=8921
an und setze es um.
Es geht um die Windows-Kompatibilitäts-Einträge im Abschnitt <application> des XML-Manifestes aus Jimmys OSVER.ZIP.
Hast du ein angepasstes Manifest in deiner EXE?nur zur Klarstellung...
über die setlocale ... NLS_STHOUSAND erhalte ich unter WIN10 keinerlei Info über das Symbol
der Wert ist hier generel immer LEER obwohl ein PUNKT definiert ist.
Wenn nein, schau dir mal diesen Thread:
viewtopic.php?f=20&t=8921
an und setze es um.
Es geht um die Windows-Kompatibilitäts-Einträge im Abschnitt <application> des XML-Manifestes aus Jimmys OSVER.ZIP.
--
Hans-Peter
Hans-Peter
- HaPe
- 1000 working lines a day
- Beiträge: 997
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: Zahlenformate ermitteln
Hallo Flanelli !
Mit dem passenden Manifest sollten auch mit Xbase++ v1.9 erstellte Programme die Systeminfos mit SetLocale die korrekten Werte auslesen können.
Jimmy hatte das für 1.9er Programme anhand der OS-Funktion festgestellt.
Und für 2.0er Programme kann dies nicht schaden.
Mit dem passenden Manifest sollten auch mit Xbase++ v1.9 erstellte Programme die Systeminfos mit SetLocale die korrekten Werte auslesen können.
Jimmy hatte das für 1.9er Programme anhand der OS-Funktion festgestellt.
Und für 2.0er Programme kann dies nicht schaden.
--
Hans-Peter
Hans-Peter
- AUGE_OHR
- Marvin
- Beiträge: 12931
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 20 Mal
- Danksagung erhalten: 48 Mal
Re: Zahlenformate ermitteln
das ist eine ActiveX Fehlermeldung von Excelflanelli hat geschrieben: ↑Di, 18. Jun 2019 15:35 oError:args :
-> VALTYPE: C VALUE: NumberFormat
-> VALTYPE: C VALUE: #.##0,00
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Die NumberFormat-Eigenschaft des Range-Objektes kann nicht festgelegt werden.
oError:filename : NIL
oError:genCode : NIL
oError:operation : NumberFormat
oError:osCode : -2146827284
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 3
oError:tries : NIL
was machst du da genau
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: Zahlenformate ermitteln
hallo jimmy,
ja klar ist das eine ActiveX-Fehlermeldung
ich mach da überhaupt nochts besonders ...
erstelle ein excelsheet und lege dann fest, welches
Format die einzelnen Spalten haben sollen.
Beispiel:
oSheet_&lim_nr:Columns( 1 ):NumberFormat := "@"
oSheet_&lim_nr:Columns( 2 ):NumberFormat := "#.##0,00"
oSheet_&lim_nr:Columns( 3 ):NumberFormat := "#.##0,0000"
und beim Numberformat "#.##0,00" knallt es bereits und zwar
lediglich aus nur EINEM EINZIGEN Grund.
Dieser Grund nochmal wie folgt:
Auch wenn man in den Excel-Grundeinstellungen die Option
"Trennzeichen vom Betriebssystem übernehmen" NICHT anhakt
und sodann die Dezimal- bzw. Tausendertrennzeichen direkt in Excel als
Vorgabe mit , und . definiert, wird dies via ActiveX deifintiv ignoriert
und wenn dann im OS WIN10 z.B. der Wert für die Zifferngruppierung LEER
ist dann kommt es unwiderbringlich zu diesem Fehler.
Die Crux daran ist, dass bei völig identischen Rechnern mit völlig identischer
WIN10-Installation es dennoch vorkommt, das immer wieder mal ein Rechner dabei ist,
bei dem die Standardwerte Dezimaltrennzeichen ist ein beistrisch zwar stimmt aber
der Wert für die Zifferngruppierung, also den Tausendertrennteichens anstatt eines
Punktes LEER bleibt.
Um bereits im Vorfeld so einen Fehler zu vermeiden und daher erst gar keine
Erstelung eines Excelsheets mit erforderlichen numerischen Spalten zu erlauben
wenn das Trennzeichen LEER ist, möchte ich eben den Wert des OS ermitteln
und dann gegebenfalls auch den Anwender bzw. den direkten Support des Kunden
mit einem Mail darüber informieren um die Einstellung im OS manuell zu korrigieren.
Allerdings erhalte ich über SetLocale(NLS_STHOUSAND) nicht immer den wirklich
im OS eingetragenen Wert, er bleibt nämlich immer LEER obwohl ein Punkt eingetragen
istm und damit würde ein automatisches Blockieren der Sheeterstellung trotz
letzendlich ja in so einem Fall fehlerfreien Erstellung sinnlos.
Daher meine Intention, den ECHTEN Wert für die Zifferngruppierung über einen
anderen Weg, zb. via API zu ermitteln.
ja klar ist das eine ActiveX-Fehlermeldung
ich mach da überhaupt nochts besonders ...
erstelle ein excelsheet und lege dann fest, welches
Format die einzelnen Spalten haben sollen.
Beispiel:
oSheet_&lim_nr:Columns( 1 ):NumberFormat := "@"
oSheet_&lim_nr:Columns( 2 ):NumberFormat := "#.##0,00"
oSheet_&lim_nr:Columns( 3 ):NumberFormat := "#.##0,0000"
und beim Numberformat "#.##0,00" knallt es bereits und zwar
lediglich aus nur EINEM EINZIGEN Grund.
Diesen habe ja auch bereits im Posting
Re: EXCEL 2010 - Problem bei Formatierung Nummernformat
Beitrag von flanelli » Mi, 30. Mai 2018 13:21
mit Unterstützung von Bjelinek fixieren können.
BJelinek hat geschrieben: ↑
Fr, 04. Mai 2018 18:27
Kann es an den Ländereinstellungen und Zahlenformaten im Windows liegen?
Auf Schweizer Rechnern gibt es Teilweise Anzeigeprobleme nach Office
Neuinstallationen/Reparaturinstallationen.
Dieser Grund nochmal wie folgt:
Auch wenn man in den Excel-Grundeinstellungen die Option
"Trennzeichen vom Betriebssystem übernehmen" NICHT anhakt
und sodann die Dezimal- bzw. Tausendertrennzeichen direkt in Excel als
Vorgabe mit , und . definiert, wird dies via ActiveX deifintiv ignoriert
und wenn dann im OS WIN10 z.B. der Wert für die Zifferngruppierung LEER
ist dann kommt es unwiderbringlich zu diesem Fehler.
Die Crux daran ist, dass bei völig identischen Rechnern mit völlig identischer
WIN10-Installation es dennoch vorkommt, das immer wieder mal ein Rechner dabei ist,
bei dem die Standardwerte Dezimaltrennzeichen ist ein beistrisch zwar stimmt aber
der Wert für die Zifferngruppierung, also den Tausendertrennteichens anstatt eines
Punktes LEER bleibt.
Um bereits im Vorfeld so einen Fehler zu vermeiden und daher erst gar keine
Erstelung eines Excelsheets mit erforderlichen numerischen Spalten zu erlauben
wenn das Trennzeichen LEER ist, möchte ich eben den Wert des OS ermitteln
und dann gegebenfalls auch den Anwender bzw. den direkten Support des Kunden
mit einem Mail darüber informieren um die Einstellung im OS manuell zu korrigieren.
Allerdings erhalte ich über SetLocale(NLS_STHOUSAND) nicht immer den wirklich
im OS eingetragenen Wert, er bleibt nämlich immer LEER obwohl ein Punkt eingetragen
istm und damit würde ein automatisches Blockieren der Sheeterstellung trotz
letzendlich ja in so einem Fall fehlerfreien Erstellung sinnlos.
Daher meine Intention, den ECHTEN Wert für die Zifferngruppierung über einen
anderen Weg, zb. via API zu ermitteln.
Ahoile aus dem Süden
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: Zahlenformate ermitteln
Hallo HAns-Peter,HaPe hat geschrieben: ↑Di, 18. Jun 2019 16:34 Hallo Flanelli !
Mit dem passenden Manifest sollten auch mit Xbase++ v1.9 erstellte Programme die Systeminfos mit SetLocale die korrekten Werte auslesen können.
Jimmy hatte das für 1.9er Programme anhand der OS-Funktion festgestellt.
Und für 2.0er Programme kann dies nicht schaden.
leider kann ich so auch keine Lösung finden aber ich denke es muß doch irgendeinen Weg
über einen DllCall geben ....
Ahoile aus dem Süden
- AUGE_OHR
- Marvin
- Beiträge: 12931
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 20 Mal
- Danksagung erhalten: 48 Mal
Re: Zahlenformate ermitteln
hi,
versuch mal
versuch mal
Code: Alles auswählen
oSheet:Columns( 3 ):NumberFormatLocal
oSheet:Columns( 3 ):NumberFormat := "###.###.##0,00"
gruss by OHR
Jimmy
Jimmy
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2475
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 107 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Zahlenformate ermitteln
Ich bzw. meine Kunden haben hiermit
oSheet:Range("AW2:AW"+cMaxLength):NumberFormat := "#.##0,00 _€"
keine Probleme.
oSheet:Range("AW2:AW"+cMaxLength):NumberFormat := "#.##0,00 _€"
keine Probleme.
Gruß
Klaus
Klaus
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: Zahlenformate ermitteln
Leider hat das auch keine Auswirkung wenn die Einstellung für das Symbol der Zifferngruppierung im OS LEER ist ( also keinen Punkt hat )AUGE_OHR hat geschrieben: ↑Di, 18. Jun 2019 22:43 hi,
versuch malCode: Alles auswählen
oSheet:Columns( 3 ):NumberFormatLocal oSheet:Columns( 3 ):NumberFormat := "###.###.##0,00"
Ahoile aus dem Süden
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: Zahlenformate ermitteln
Hallo Klaus,
Das Problem ensteht sozusagen ja nicht durch die, an sich ja völlig korrekte Formatangabe "#.##0,00"
zum Laufzeitfehler kommt es aber mit 100%-tiger Sicherheit immer dann, wenn in dieser Formatangabe
z.b. der PUNKT für das Symbol der Zifferngruppierung ( Tausenderpunkt ) nicht identisch ist mit der
Einstellung im OS für eben dieses Symbol der Zifferngruppierung ( zb. wie schion beschrieben LEER ist )
bzw. wenn in den globalen Exceleinstellungen das so der Fall ist.
In Excel kann man ja festlegen ob generell die Trennzeichen vom OS verwendet werden sollen oder
ob die Zeichen in der Excel-Einstellung herangezogen werden sollen.
Wie ich ja schon geschrieben habe ist in EXCEL die interne Einstellung standardmäßig immer für den
Tausendertrennzeichen ein PUNKT.
Aber in WIN10 ist das nicht immer der Fall, also idente Rechner, idente Installation, keine manuellen
Eingriffe und dennoch mal ein PUNKT und mal LEER.
Und in Kombination WIN10 und z.B. OFFICE2016 werden trotz Deaktivierung des Heranzioehens der Trenzeichenvorgaben
vom OS eben doch diese verwendet und nicht die internen von EXCEL.
Der prinzipielle Fehler tritt aber natürlich auch in allen anderen beliebigen Kombinationen von OS und EXCEL auf,
wenn man die Einstellung bewußt manuell statt eines Punktes auf ein Leerzeichen setzt.
Genau nur deshalb suche ich eine Lösung wie ich den Anwender VOR einem solchen, dann zwangsläufig
auftretenden Fehler warnen kann bzw. gleich beim Einstieg in das Programm eine diesbezügliche Warnung
anzeigen kann. Dazu muß ich aber zumindest den Wert im OS für das Trennzeichensymbol ermitteln können
und genau das klappt leider nicht immer korrekt über ein SetLocale(NLS_STHOUSAND).
Manchmal wird es richtig angezeigt aber unter WIN10 sehr oft auch falsch.
Stelle einfach mal die Einstellungen für die Zifferngruppierung im OS und am besten auch gleich
in den globalen EXCEL-Einstellungen für das Tausendertrennzeichen auf LEER ( also ein BLANK eingeben ).
Dann Starte Deine APP nochmal neu und erstelle via ActiveX ein EXCEL-Sheet und du wirst garantiert
den gleichen Laufzeitfehler bekommen den ich beschrieben habe.
Ahoile aus dem Süden
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: Zahlenformate ermitteln
Ich versuche es also noch einmal mit einer ganz kurzen und klaren Anfrage...
Kennt jemand einen anderen Weg, wie man das eingestelle Symbol für die Zifferngruppierung im OS ermitteln kann
als jenen über SetLocale(NLS_STHOUSAND).
Z.B. über ein DLLCALL( .......
Danke
Kennt jemand einen anderen Weg, wie man das eingestelle Symbol für die Zifferngruppierung im OS ermitteln kann
als jenen über SetLocale(NLS_STHOUSAND).
Z.B. über ein DLLCALL( .......
Danke
Ahoile aus dem Süden
- Jan
- Marvin
- Beiträge: 14689
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 89 Mal
- Kontaktdaten:
Re: Zahlenformate ermitteln
Ich glaube die Diskussion wäre etwas zielgerichteter gelaufen wenn das Problem von Anfang an klar gewesen wäre. Hans-Peter und ich hatten eindeutig und korrekt auf die Eingangsfrage geantwortet. Das war aber irgendwie doch falsch, es sollte ein API-Aufruf sein. Dann kamen plötzlich noch irgend welche Excel-ActiveX-Abfragen dazu in den verschiedensten Variationen. Nur um dann in der Ausage zu enden das Windows 10 manchmal überhaupt keine Trennzeichen eingetragen hat (was ich nicht verstehe), oder andere als Excel, und das Excel und Windows sich nicht einig werden welches davon denn nun gelten solle.
Einfach geht anders.
Jan
Einfach geht anders.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- AUGE_OHR
- Marvin
- Beiträge: 12931
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 20 Mal
- Danksagung erhalten: 48 Mal
Re: Zahlenformate ermitteln
Das Tausender Trennzeichen hat sich seit Windows 8.x geändert und ist ein "schmales Leerzeichen" (0xA0)
https://social.msdn.microsoft.com/Forum ... ppcompatde
---
ich habe was gefunden was helfen könnte
viewtopic.php?f=27&t=3494&p=36317
hab eine Kurzform daraus gemacht die Komma und Tausender-Punkt prüft.
https://social.msdn.microsoft.com/Forum ... ppcompatde
---
ich habe was gefunden was helfen könnte
viewtopic.php?f=27&t=3494&p=36317
hab eine Kurzform daraus gemacht die Komma und Tausender-Punkt prüft.
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: Zahlenformate ermitteln
Ja sorry guter werter Herr Jan...Jan hat geschrieben: ↑Mi, 19. Jun 2019 10:13 Ich glaube die Diskussion wäre etwas zielgerichteter gelaufen wenn das Problem von Anfang an klar gewesen wäre. Hans-Peter und ich hatten eindeutig und korrekt auf die Eingangsfrage geantwortet. Das war aber irgendwie doch falsch, es sollte ein API-Aufruf sein. Dann kamen plötzlich noch irgend welche Excel-ActiveX-Abfragen dazu in den verschiedensten Variationen. Nur um dann in der Ausage zu enden das Windows 10 manchmal überhaupt keine Trennzeichen eingetragen hat (was ich nicht verstehe), oder andere als Excel, und das Excel und Windows sich nicht einig werden welches davon denn nun gelten solle.
Einfach geht anders.
Jan
Ich hatte auch das Problem gleich h´ganz konkret und detailiert nach der Nachricht von HAPE gepostet und genau in diesem
Moment kam dann deine Nachricht rein und da wurde offenbar mein Text bein absenden irgendwie "verschluckt".
Ich habe das aber erst später bemerkt und daher das Problem eben nochmal im Detail beschrieben.
Ja, Einfach geht anders aber ich bin ja sehr froh, dass alle DEINE Postings so unübertrefflich einfach und ohne Schnörkel sind
PS.: Die TATSACHE, dass Windows 10 manchmal überhaupt keine Trennzeichen eingetragen hat (was du nicht verstehst), oder andere als Excel, und das Excel und Windows sich nicht einig werden welches davon denn nun gelten solle, verstehen wohl nicht mal die Mircoschrottentwickler was aber
nichts daran ändert, dass es eben so ist ( wie so vieles andere auch das niemand bei Windows versteht )
Ahoile aus dem Süden
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: Zahlenformate ermitteln
PERFEKT Jimmy, genau das habe ich gesucht ...AUGE_OHR hat geschrieben: ↑Mi, 19. Jun 2019 11:51 Das Tausender Trennzeichen hat sich seit Windows 8.x geändert und ist ein "schmales Leerzeichen" (0xA0)
https://social.msdn.microsoft.com/Forum ... ppcompatde
---
ich habe was gefunden was helfen könnte
viewtopic.php?f=27&t=3494&p=36317
hab eine Kurzform daraus gemacht die Komma und Tausender-Punkt prüft.
NLS_API.ZIP
Deine DLLFUNCTION GetLocaleInfoA( nLanguage, nInfoType, @cData, nLenData ) using stdcall from kernel32.dll
bringt exakt den Wert der tatsächlich im OS definiert ist und auch wenn es manche eventuell nicht glauben können
ist es tatsächlich so, dass über SetLocale(NLS_STHOUSAND) das nicht immer der Fall ist ( zumindest unter WIN10 )
DANKE, das erleichtert mir jetzt doch sehr vieles und der Fehler kann bereits im Vorfeld erkannt werden.
Ahoile aus dem Süden