Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  regional settings, locale

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY präsentiert die PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
Autor Thema:  regional settings, locale (948 mal gelesen)
Christian Blei
Mitglied



Sehen Sie sich das Profil von Christian Blei an!   Senden Sie eine Private Message an Christian Blei  Schreiben Sie einen Gästebucheintrag für Christian Blei

Beiträge: 124
Registriert: 23.06.2008

Thinkpad T60p, 4GB
XP,Autocad 2010, ProStructures V8i 2, VBA, VB.NET,

erstellt am: 22. Mrz. 2010 18:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi all,

ich habe ein Tool gebaut, das auch in England laufen soll. Ich übernehme aus einer .txt Zahlen, die ich dann in doubles umwandle. Im textstring habe ich zB. 121.5, das wandle ich erstmal um in 121,5 und lasse mir dann den double geben (cdbl). In England läuft der Code dann nicht mehr, da die regional settings für Zahlen anders sind. Das Komma wir ignoriert, da englische Notation zB.    123,4567,3456,1234.65........ist.
Was kann ich da machen? Am Besten wäre ja, ich könnte die locale Einstellung abfragen und dem endsprechend meine Strings editieren. Kennt ihr da was?

Gruss,
Christian Blei

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 22. Mrz. 2010 20:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

probier in Deinem Code einfach:

Code:
Dim tDecPntChar as String
dim tNonDecPntChar as String
if val("123.12") = 123.12 then
  tDecPntChar = "."
  tNonDecPntChar = ","
elseif val("123,12") = 123.12 then
  tDecPntChar = ","
  tNonDecPntChar = "."
else
  'hier muss gehandelt werden, Fehlermeldung oder ähnliches
End If

Und im folgenden Code kannst Du dann (wenn Du Zahlenwerte als String <tStr> bekommst):

Code:
dim tDouble as Double
tDoube = val(replace(tStr,tNonDecPntChar,tDecPntChar))

- alfred -

------------------
www.hollaus.at

Christian Blei
Mitglied



Sehen Sie sich das Profil von Christian Blei an!   Senden Sie eine Private Message an Christian Blei  Schreiben Sie einen Gästebucheintrag für Christian Blei

Beiträge: 124
Registriert: 23.06.2008

Thinkpad T60p, 4GB
XP,Autocad 2010, ProStructures V8i 2, VBA, VB.NET,

erstellt am: 22. Mrz. 2010 23:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Alfred,

ich hatte schon

if cdbl("double")=cdbl(replace("double",",","",bytext)) then
<double>= cdbl(replace("double",","."",bytext))
end if

gemacht. Funzt auch

Gruss
Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 22. Mrz. 2010 23:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

schau Dir sicherheitshalber mal den Unterschied zwischen CDbl und Val an. Ich merk mir's nicht und muss selbst immer wieder von neuem probieren. Eines der beiden hängt an der landesspez. (währungsspez.) Windowseinstellung, das andere nicht. Aber welches jetzt welches ist ??? 

- alfred -

------------------
www.hollaus.at



Anzeige:Infos zum Werbeplatz >>

pitCAD Ultimate Heizung - Kälte - Sanitär - Laborbau - Einzelplatz CAD APP für TGA, Elektro, Facility Management

Vereint die langjährige Erfahrung von pit-cup im Bereich der Gebäudetechnikplanung und des Facility Management zu einem durchgängigen 2D/3D CAD/BIM Planungswerkzeug, über den gesamten Lebenszyklus einer Immobilie.

Christian Blei
Mitglied



Sehen Sie sich das Profil von Christian Blei an!   Senden Sie eine Private Message an Christian Blei  Schreiben Sie einen Gästebucheintrag für Christian Blei

Beiträge: 124
Registriert: 23.06.2008

Thinkpad T60p, 4GB
XP,Autocad 2010, ProStructures V8i 2, VBA, VB.NET,

erstellt am: 23. Mrz. 2010 09:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Alfred,

gute Erinnerung. (da war doch was.....)


aus der vba Hilfe:


>
Note:  The Val function recognizes only the period (.) as a valid decimal separator. When different decimal separators are used, as in international applications, use CDbl instead to convert a string to a number.
<

Prüfung also mit CDbl.

Gruss Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz