Seite 1 von 1

ADS OEM/ANSI

Verfasst: Fr, 29. Jul 2016 11:48
von Wolfgang Ciriack
Hallo,
habe jetzt ein Problem festgestellt.
Mein Programm arbeitet noch aus historischen Gründen im OEM Format, Datenbanken sind alle im OEM FOXCDX Format.
Habe im Programm bei Benutzung des ADS folgende Einstellungen:

Code: Alles auswählen

         DbeSetDefault( "ADSDBE" )
         DbeInfo( COMPONENT_DATA, ADSDBE_LOCK_MODE, ADSDBE_COMPATIBLE_LOCKING )
         DbeInfo( COMPONENT_DATA , ADSDBE_TBL_MODE, ADSDBE_CDX )
         DbeInfo( COMPONENT_ORDER, ADSDBE_TBL_MODE, ADSDBE_CDX )
         DbeInfo( COMPONENT_DATA, DBFDBE_ANSI, .F.)
Stelle ich mein Programm von FOXCDX auf ADSDBE um, werden mir plötzlich in Browses alte Datensätze Umlaute etc. falsch (in ANSI) angezeigt. Gebe ich neue Datensätze ein, werden die Umlaute korrekt angezeigt. Das Euro-Zeichen (defiiert als chr(213)) wird immer in "_" umgewandelt. Ich dachte, durch DBFDBE_ANSI = .F. wird das OEM Format korrekt unterstützt ?
Oder gibt es irgendwelche Einstellungen, die ich vergessen habe ?

Re: ADS OEM/ANSI

Verfasst: Fr, 29. Jul 2016 14:26
von Jan
Was hast Du denn dem ADS beim Import der dbf gesagt, ws für ein Zeichenformat das ist? Da mußt Du das ja auch immer noch einmal angeben.

Jan

Re: ADS OEM/ANSI

Verfasst: Fr, 29. Jul 2016 14:59
von Wolfgang Ciriack
Ich habe nichts importiert.

Re: ADS OEM/ANSI

Verfasst: Fr, 29. Jul 2016 15:12
von Tom
Nach dem Aufbau der Connection zum ADS:

Code: Alles auswählen

oSession:SetProperty(ADSDBE_OEM_LANG)
Achtung. Deine neuen Datensätze sind in den Tabelle vermutlich in ANSI gespeichert.

Im ADS sollten beide Zeichensatzeinstellungen auf "OEM" stehen.

Re: ADS OEM/ANSI

Verfasst: Sa, 30. Jul 2016 7:55
von Wolfgang Ciriack
oSession:SetProperty(ADSDBE_OEM_LANG)
Das werde ich Montag gleich mal probieren. Danke.

Re: ADS OEM/ANSI

Verfasst: Mo, 01. Aug 2016 16:50
von Wolfgang Ciriack
Hm, das hat erst mal nichts (keine Änderung) gebracht.