ANSI Zeichensatz in DBF-Datei
Moderator: Moderatoren
-
- UDF-Programmierer
- Beiträge: 97
- Registriert: Mi, 01. Feb 2006 23:49
- Wohnort: Glauchau
- Kontaktdaten:
ANSI Zeichensatz in DBF-Datei
Hallo xBase++ Programmierer,
Melde mich mal mit einem kleinem Problem zurück.
In der Beschreibung habe ich gelesen das der normale DBEDBF Treiber nur OEM Zeichensatz unterstützt. Wenn ich mir diese Dateien Binär ansehe ist das auch so.
Nun habe ich eine DBF aus einer Fremdanwendung. Diese ist aber in ANSI gespeichert.
Da ich diese Datei in einem Browser via XbpQuickBrowse() anzeige habe wird dort natürlich ein Umlaut falsch dargestellt.
Ich compiliere meine Programme alle mit der Option /ga (ANSI-OEM). Eine andere Einstellung brachte keine Verbesserung. AUCH SET CHAR TO ANSI/OEM brachte nichts .
Ich wollte auch nicht komplett auf ANSI umstellen. Werte aus der Datenbank mit ConvToOEMCP wandeln ist nicht das Problem.
Kann mir hier einer helfen ?
Schöne Grüsse aus Sachsen
Steffen
Melde mich mal mit einem kleinem Problem zurück.
In der Beschreibung habe ich gelesen das der normale DBEDBF Treiber nur OEM Zeichensatz unterstützt. Wenn ich mir diese Dateien Binär ansehe ist das auch so.
Nun habe ich eine DBF aus einer Fremdanwendung. Diese ist aber in ANSI gespeichert.
Da ich diese Datei in einem Browser via XbpQuickBrowse() anzeige habe wird dort natürlich ein Umlaut falsch dargestellt.
Ich compiliere meine Programme alle mit der Option /ga (ANSI-OEM). Eine andere Einstellung brachte keine Verbesserung. AUCH SET CHAR TO ANSI/OEM brachte nichts .
Ich wollte auch nicht komplett auf ANSI umstellen. Werte aus der Datenbank mit ConvToOEMCP wandeln ist nicht das Problem.
Kann mir hier einer helfen ?
Schöne Grüsse aus Sachsen
Steffen
- Martin Altmann
- Foren-Administrator
- Beiträge: 16511
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: ANSI Zeichensatz in DBF-Datei
Hallo Steffen,
Viele Grüße,
Martin
was genau ist denn dann Dein Problem?rassekst hat geschrieben:Werte aus der Datenbank mit ConvToOEMCP wandeln ist nicht das Problem.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16511
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Steffen,
zeige doch mal bitte ein Stück Code...
Ein Beispiel: ziehe die Datenbank in ein Array (dabei kannst Du konvertieren, wo nötig) und browse das Array...
Viele Grüße,
Martin
zeige doch mal bitte ein Stück Code...
Ein Beispiel: ziehe die Datenbank in ein Array (dabei kannst Du konvertieren, wo nötig) und browse das Array...
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
-
- Rekursionen-Architekt
- Beiträge: 205
- Registriert: Mo, 07. Aug 2006 10:18
- Wohnort: Leipzig
- Danksagung erhalten: 11 Mal
Hallo Steffen,
mit der Xbase++ 1.9 können, soviel ich mitbekommen habe, auch Ansi-Daten in DBF's (DBFDBE) gespeichert bzw. (auch ohne Konvertierung) ausgelesen werden.
Ich selbst hab es noch nicht probiert, aber mit folg. Einstellung sollte es klappen:
DbeInfo( DBFDBE_ANSI, .T. )
Ich hoffe, es hilft Dir weiter!
Tschüs,
Sören
mit der Xbase++ 1.9 können, soviel ich mitbekommen habe, auch Ansi-Daten in DBF's (DBFDBE) gespeichert bzw. (auch ohne Konvertierung) ausgelesen werden.
Ich selbst hab es noch nicht probiert, aber mit folg. Einstellung sollte es klappen:
DbeInfo( DBFDBE_ANSI, .T. )
Ich hoffe, es hilft Dir weiter!
Tschüs,
Sören
-
- UDF-Programmierer
- Beiträge: 97
- Registriert: Mi, 01. Feb 2006 23:49
- Wohnort: Glauchau
- Kontaktdaten:
Hallo Martin und Sören,
Zwecks Code... da passiert eigentlich nichts besonderes:
Ich versuche mein Problem nochmals anders zu formulieren:
Ich möchte in einem XbpQuickBrowse Objekt eine DBF im ANSI Format direkt anzeigen.
Die Idee find ich gut, weil ich dann die Daten Konvertieren kann. Aber dieser Notbehelf geht sicherlich nur beschrenkt, da ja ein Update der Datenquelle sehr aufwendig wäre.
Die Sache mit DBFDBE probiere ich.
Tschüß Steffen
Zwecks Code... da passiert eigentlich nichts besonderes:
Code: Alles auswählen
oXbp := XbpQuickBrowse():new(oSuchDlg:drawingarea,,{0,30+IIF(nBeschr=NIL,0,60)},{oSuchDlg:drawingarea:currentSize()[1],oSuchDlg:drawingarea:currentSize()[2]-30-IIF(nBeschr=NIL,0,60)},{{ XBP_PP_COMPOUNDNAME, '8.Tahoma' }})
oXbp:style := XBP_STYLE_SYSTEMDEFAULT
oXbp:hScroll := lHScroll
// Zuweisung des Datenquellenobjektes
oXbp:dataLink := DacPagedDataStore():new(SELECT(),aFelder)
oXbp:itemMarked := {| aRowCol, uNIL, obj | DBGOTO(obj:getData()),IIF(nBeschr<>NIL,oBeschr:setData(STRTRAN(&(FIELDNAME(nBeschr)),';',CHR(13)+CHR(10))),NIL) }
oXbp:itemSelected := {| aRowCol, uNIL, obj | DBGOTO(obj:getData()),ret := IIF(cReturn=NIL,NIL,&cReturn),PostAppEvent(xbeP_Close,,,oSuchDlg)}
oXbp:create()
Ich möchte in einem XbpQuickBrowse Objekt eine DBF im ANSI Format direkt anzeigen.
Die Idee find ich gut, weil ich dann die Daten Konvertieren kann. Aber dieser Notbehelf geht sicherlich nur beschrenkt, da ja ein Update der Datenquelle sehr aufwendig wäre.
Die Sache mit DBFDBE probiere ich.
Tschüß Steffen
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
hi,
da ich immer einen "vollen" XbpBrowse benutzte bin ich mir nicht sicher,
aber kann man in "aFelder" nicht auch eine Funktionen einsetzten ?
GUI (/PM:PM) Anwendung zeigt immer ANSI an. SET CHARSET bestimmt
nur wie die Daten im "Hauptspeicher" vorliegen und dementsprechend
für die "Anzeige" automatisch konvertiert werden müssen oder nicht.
gruss by OHR
Jimmy
1.) Frage : GUI (/PM:PM) oder Hybrid (Textmode) ?rassekst hat geschrieben: In der Beschreibung habe ich gelesen das der normale DBEDBF Treiber nur OEM Zeichensatz unterstützt. Wenn ich mir diese Dateien Binär ansehe ist das auch so.
Nun habe ich eine DBF aus einer Fremdanwendung. Diese ist aber in
ANSI gespeichert. Da ich diese Datei in einem Browser via xbpQuickBrowse() anzeige habe wird dort natürlich ein Umlaut
falsch dargestellt.
Code: Alles auswählen
oXbp:dataLink := DacPagedDataStore():new(SELECT(),aFelder)
aber kann man in "aFelder" nicht auch eine Funktionen einsetzten ?
wie schon gesagt weiss ich nicht wie es bei Quickbrowse ist, aber einerassekst hat geschrieben: Ich versuche mein Problem nochmals anders zu formulieren:
Ich möchte in einem XbpQuickBrowse Objekt eine DBF im ANSI Format direkt anzeigen.
GUI (/PM:PM) Anwendung zeigt immer ANSI an. SET CHARSET bestimmt
nur wie die Daten im "Hauptspeicher" vorliegen und dementsprechend
für die "Anzeige" automatisch konvertiert werden müssen oder nicht.
gruss by OHR
Jimmy