ich bin erst kürzlich über PureBasic gestolpert, aber habe bislang ne Menge Spaß damit. Vieles ist mir noch nicht klar, unter anderem das Importieren von Funktionen.
Der folgende Code funktioniert in dieser Form prima. Wenn ich aber versuche, ihn in eine Include-Datei (.pbi) zu stecken, liefert
Code: Alles auswählen
CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier
Hat jemand von Euch eine Idee?
Code: Alles auswählen
;
; Mac OS X - Map a locale identifier to a Windows LCID.
;
ImportC "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation"
CFStringCreateWithCString(l1,s1.s,l2)
CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier(l1)
EndImport
Procedure.s getCurrentLocale()
Protected CurrentLocale, LanguageCode, Language.s
CurrentLocale = CocoaMessage(0, 0, "NSLocale currentLocale")
LanguageCode = CocoaMessage(0, CurrentLocale, "localeIdentifier")
Language = PeekS(CocoaMessage(0, LanguageCode, "UTF8String"), -1, #PB_UTF8)
ProcedureReturn Language
EndProcedure
Procedure.s convertLocaleToLCID(locale.s)
Protected lcid.i
;----------------- hier ist das Problem -----------------
lcid = CFLocaleGetWindowsLocaleCodeFromLocaleIdentifier(CFStringCreateWithCString(0, locale, 0))
:-----------------------------------------------------
If lcid
ProcedureReturn Str(lcid)
Else
ProcedureReturn "2057" ; en_GB, Hex: 0809, Dec: 2057
EndIf
EndProcedure
LCID.s = convertLocaleToLCID(getCurrentLocale())
Debug getCurrentLocale()
Debug LCID
nueh