Hallo Stefan,

Am 12. Jan 2006 um 20:49 Uhr schrieb Stefan Sicurella:


wo kommt cdbl(7,6) denn her? hast Du das hart codiert im Code?

ne, aus einem Eingabefeld das der Benutzer eingibt, in dem Fall die MwSt der Schweiz

Aha. Und in der Schweiz ist das Format wirklich XXX.XX und der . ist der Dezimaltrenner, oder hat der User das so eingestellt oder ein US- System aktiviert?


wenn ich es auf Schweiz umstelle ergibt
cdbl(7,6)  ergibt 7

der Grund ist einfach, in der Schweiz is er . was bei uns , ist und umgekehrt

Nur wird mein Programm in beiden Ländern benutzt und ihr könnt euch vorstellen welche Probleme das mit sich bringt. Weiß jemand wie ich das umgehen kann außer den Eingabestring zu zerlegen und nach dem . zu schauen oder wie ich feststellen kann welches Format gewählt ist???

Wenn ich etwas in ein Textfeld schreibe, dann liegt es in RB in RB Format vor, also 7.6. In die Applikationsoberfläche wandert es dann mit format(XXX,"###,###,###.##") dadurch wird schon das eingestellte Landesformat genommen. Lese ich es dann aus der Oberfläche wieder aus, dann nehme ich cdbl(XXX) und bekomme intern wieder eine RB-Standardzahl.

der Benutzer gibt aber 7,6 ein...

Also ich sehe es so. Dein Programm arbeitet hervorragend und richtig. Der User hat sein MacOS X so eingestellt dass der . der Dezimaltrenner ist. Dann muss er auch 7.6 und nicht 7,6 eingeben. Solltest Du dieses Fehlverhalten abfangen wollen, besteht die Gefahr, dass Du Dir wo anders Probleme einhandelst.

Ich würde erst einmal fragen welches Setup der User auf seiner Maschine hat, wenn es sich um Zahlen handelt, denn auf dieses Setup greift RB zurück. Dann den User bitten genau dieses Zahlenformat auch in Deinem Programm zu nutzen.

Möglicherweise stehe ich jetzt auf dem Schlauch, aber das war so mal meine Idee....

Ciao

Claudius

--
G4/733 QS / MacOS X 10.4de / RB 2006r1/ Valentina 1.10.0 & 2.1
Homepage    http://www.ClaSai.de
iChat        ryhoruk
RealBasic ListBoxes: [ I feel the need...the need for speed!!! ]


Antwort per Email an