kyrillisch in DBF-Dateien [erledigt]

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Beitrag von AUGE_OHR »

hi,
andreas hat geschrieben: ich habe es bei mir mit 1.9 Deutsch und International ausprobiert:
kein Erfolg, nur laute Fragezeichen. Was machst du anders als ich!?
hm ... verstehe ich nicht. Der Font / :Codepage sollte doch stimmen.

schon mal mit einem XbpBrowse() und meiner Columne Font Routine
versucht ?
gruss by OHR
Jimmy
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Nein, Jimmy,

das habe ich noch nicht versucht, da ich noch keine Daten eingeben kann.
Gruß,

Andreas
VIP der XUG Osnabrück
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Ewald »

Hallo Andreas,
mit Arial und Codepage 204 müssen bei z.B. bei ö ä ü schon kyrillische Zeichen erscheinen.
Gruß
Ewald
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Beitrag von AUGE_OHR »

hi,
andreas hat geschrieben: das habe ich noch nicht versucht, da ich noch keine Daten eingeben kann.
eingeben ?

sprechen wir nicht von Drucken etc. also Ausgabe ?
hast du den schon eine DBF mit russischen Zeichen ?
gruss by OHR
Jimmy
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

AUGE_OHR hat geschrieben:hi,
andreas hat geschrieben: das habe ich noch nicht versucht, da ich noch keine Daten eingeben kann.
eingeben ?

sprechen wir nicht von Drucken etc. also Ausgabe ?
hast du den schon eine DBF mit russischen Zeichen ?
Nein Jimmy, so eine DBF habe ich noch nicht. Ich muss erst mal die Daten eingeben können.
Gruß,

Andreas
VIP der XUG Osnabrück
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

i did it ...

Beitrag von Ewald »

Hallo, ich möchte in dieser Sache noch einen kurzen Abschlussbericht verfassen (ohne einen Roman zu schreiben ;-).
Es ist mir schließlich und endlich gelungen, meine Stücklisten in kyrillisch zu erzeugen. Ich weiß nicht, ob sonst noch jemand konkret vor diesem Problem steht. Sollte das so sein, will ich natürlich gerne meine Erkenntnisse weitergeben.
Mein eingesetztes Handwerkszeug:
xbase++ 1.9 internat.
express++ 1.9 internat.
Die Datenbank, in der ich die Begriffe speicher, ist eine ganz normale DBFNTX, die ich anno tucktuck mit Clipper DBU erzeugt habe und in der auch schon jede Menge Übersetzungen in anderen Sprachen verwaltet werden.
Bearbeitet wird sie mit einem DCBROWSE Object.
Die kyrillische Übersetzung habe ich als Word-Dokument aus Russland erhalten. Hier ist es mir nach einigen Versuchen sogar gelungen, die kyrillischen Begriffe (einzeln) über die Windows Zwischenablage in die Datenbank zu kopieren. Eigentlich unglaublich, aber es geht mit einem Zwischenschritt mit Word-eigenen Bordmitteln. Unicode wird zu ASCII.
Einen kleinen Schönheitsfehler konnte ich allerding trotz aller Bemühungen nicht abstellen. Beim (DC)Browsen durch die Datenbank werden die kyrillischen Schriftzeichen als Fragezeichen angezeigt. Erst wenn das Feld zum Editieren angeklickt wird, sind die richtigen kyrillischen Buchstaben zu sehen, bzw. man kann dann über die Zwischenablage den Begriff einfügen. Verläßt man das Feld, stehen leider wieder nur Fragezeichen da. Beim Ausdrucken verläuft dann alles normal, die Felder werden auch in kyrillisch zu Papier gebracht.
Also, sollte jemand dazu Detailfragen haben, stehe ich Gewehr bei Fuss.
Ich kann zwar nicht in jedem Punkt sagen warum es funktioniert, ich kann aber verbindlich sagen, das es funktioniert.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: i did it ...

Beitrag von AUGE_OHR »

hi,
Ewald hat geschrieben: Die kyrillische Übersetzung habe ich als Word-Dokument aus Russland erhalten. Hier ist es mir nach einigen Versuchen sogar gelungen, die kyrillischen Begriffe (einzeln) über die Windows Zwischenablage in die Datenbank zu kopieren. Eigentlich unglaublich, aber es geht mit einem Zwischenschritt mit Word-eigenen Bordmitteln. Unicode wird zu ASCII.
... das war sicherlich manuell eine heiden Arbeit.

Ich nehme für sowas lieber eine Excel Tabelle und steuere diese aus
Xbase++ mitteln activeX. Damit lese ich den Inhalt einer "Cell", kopiere
die in ins XbpClipBoard() und von dort dann in die DBF.
Ewald hat geschrieben: Einen kleinen Schönheitsfehler konnte ich allerding trotz aller Bemühungen nicht abstellen. Beim (DC)Browsen durch die Datenbank werden die kyrillischen Schriftzeichen als Fragezeichen angezeigt. Erst wenn das Feld zum Editieren angeklickt wird, sind die richtigen kyrillischen Buchstaben zu sehen, bzw. man kann dann über die Zwischenablage den Begriff einfügen. Verläßt man das Feld, stehen leider wieder nur Fragezeichen da. Beim Ausdrucken verläuft dann alles normal, die Felder werden auch in kyrillisch zu Papier gebracht.
hm ... den richtigen Font scheinst du ja nun zu haben um die Daten anzu-
zeigen und zu drucken. Beim DCBrowse scheint es aber noch nicht der
richtige Font zu sein. Deshalb würde ich dir raten versuchsweise den Code
aus der Wissensbasis einzubauen damit du "im Browse" mit den Fonts
"rumspielen" kannst.
gruss by OHR
Jimmy
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Hallo Ewald,

ich habe jetzt dein Beispiel noch ein mal ausprobiert - kein Erfolg.
Um weiteren Test durchzuführen, habe ich einen Windows 2000 Pro PC (deutsch) unter VMWare eingerichtet und XBase++-International installiert. Die gleichen Ergebnisse - laute Fragezeichen.
Was hast du bei dir anders!?
Gruß,

Andreas
VIP der XUG Osnabrück
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Ewald »

Obwohl weiter oben schon Vollzug gemeldet, habe ich die Sache doch noch mal aufgegriffen. Jimmy hat am 24.1. schon mal zum Thema Unicode über die Zwischenablage in Xbase Variabeln zu übertragen, geschrieben, das er das erfolgreich mit der Xbase Midi Demo probiert hat. Habe ich damals überlesen...
Jetzt habe ich mal folgenden Versuch gemacht. Ich rufe den XBase Formular Designer (xppfd) auf, erzeuge eine Form, füge ein SLE ein und drücke auf das grüne Männchen. Vollkommen überraschend für mich kann ich in das Eingabfeld russische Texte in Unicode von Word aus über die Zwischenablage einfügen. Wenn ich allerdings aus dem Formulardesigner Programmcode für diese Form generieren lasse, den dann wieder kompiliere und linke, geht das mit der erzeugten EXE nicht mehr. Die russischen Texte verwandeln sich wieder in Fragezeichen,wenn ich sie über die Zwischenablage einfüge.
Was geht mir denn da wohl wo verloren - und vor allen Dingen, kann ich das Verlorene irgendwie wieder dem Quellcode zufügen ?
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Hallo Ewald,

1. die neue XBase-Version wird Unicode unterstüzten. Zumindest tut die es schon in SL1. Ohne was am Programm zu ändern, kann ich in russisch in SLEs schreiben. Mit Datenbanken habe ich es noch nicht probiert - keine Zeit.
2. Wenn du dein Windows unter Systemsteuerung->Regions- und Sprachoptionen->erweitert auf Russisch füpr die nicht Unicode-Programme umstellst, könnte es sein, dass es dann auch beim Kompilieren Russisch annimmt. Die Texte musst du aber neu einfügen. Das musst du zumindest ausprobieren. Diese Einstellung löst aber zumindest das Eingabeproblem.
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Beitrag von AUGE_OHR »

hi,
Ewald hat geschrieben: Programmcode für diese Form generieren lasse, den dann wieder kompiliere und linke, geht das mit der erzeugten EXE nicht mehr. Die russischen Texte verwandeln sich wieder in Fragezeichen,wenn ich sie über die Zwischenablage einfüge.
a.) OEM oder ANSI ?
b.) XP Manifest ?
gruss by OHR
Jimmy
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

AUGE_OHR hat geschrieben:hi,
a.) OEM oder ANSI ?
OEM oder ANSI spielen hier keine Rolle, da Ewald deutsche Windows-Version hat! Ich habe schon viel damit rumprobiert. Man kann z.B. in einer Text-Datei russisch schreiben, sobald diese aber gespeichert wird, sieht man nur laute Fragezeichen. Wenn die Datei explizit auf ANSI umgestellt wird, dann wird diese von dem Kompiler angemeckert. Deswegen muss Windows wie vorher beschrieben umgestellt werden. Dann werden die Texte richtig konvertiert und nicht mehr als Fragezeichen gespeichert. Wie es dann mit dem Kompilieren aussieht, müsst ihr noch ausprobieren. Zumindest sollte es dann auf dem russischen Windows richtig angezeigt werden.
Gruß,

Andreas
VIP der XUG Osnabrück
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Ewald »

Hallo Andreas, Halli Jimmi,
mir geht es zu Zeit eigentlich nur um die Frage, warum das im Formulardesigner funktionert und im Programm dann nicht mehr.
Vielleicht kann das ja mal jemand selbst probieren. Dauert 30 Sekunden.
Den Formulardesigern xppfd öffnen, ein SLE in die Form einfügen und das ganze mit dem grünen Männchen testweise starten.
Dann das wunderschöne Wort Специальная тележка (кошка) in die Zwischenablage kopieren und in das SLE einfügen. Ich denke, es handelt sich um Unicode. Dort wird es dann bei mir richtig angezeigt. Vom Speichern rede ich hier nicht.
Lasse ich dann aber den Formulardesigner den Programmcode erzeugen, kompiliere und linke ihn ganz normal mit xpp und alink, geht diese Möglichkeit verloren. Es werden nur noch wie gehabt Fragezeichen angezeigt.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Beitrag von AUGE_OHR »

hi Ewalf, Andreas

ich kann immer nur von chinesischen Zeichen sprechen und da hab ich.

1.) kann kein Manifest verwenden weil sich dann das SLE verändert.
siehe Alaska Forum: public.xbase++.gui, 09.05.08, "Chinese Unicode"

2.) ich MUSS in OEM die chinesichen Zeichen aufnehmen sodas ich unter
GUI, welches ja OEM -> ANSI konvertiert, es wieder nach OEM bringe.

deshalb meine beiden Fragen.
gruss by OHR
Jimmy
Antworten