| |
|
|
 Dietmar Horn | Ciao,
kennt jemand eine Möglichkeit, auf einem PC mit deutschem Windows ein Programm zu schreiben, welches sowohl deutschen Text als auch polnischen Text anzeigt? Im Polnischen gibt es wohl 8 Buchstaben, die nicht auf der deutschen Tastatur zu finden sind.
Beispiel: Ein Listview, in dem in der ersten Spalte ein deutscher Begriff steht und in der zweiten Spalte jeweils der übersetzte deutsche Begriff dazu.
Wenn ich z.B. von google.pl einen polnischen Text in ein Word-Dokument kopiere, dann werden die polnischen Buchstaben korrekt angezeigt. Wo nimmt da das deutsche Windows den polnischen Zeichensatz her (im Word-Dokument wird dabei als Font Times New Roman angezeiht)? In einer normalen Textdatei mit ASCII-Zeichensatz klappt das jedoch nicht.
Saluto Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...]  Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...]  | 19.05.2009 ▲ |
|
|
|
|
 Thomas Freier | Dachte, potuto dir auf die Schnelle helfen. Geht aber nicht mehr. Auf der Seite [...] gab es früher viele Wörterbücher, die ich per dBIII umgewandelt habe und das wäre dann per ein Listview ja kein Problem. Cerca doch mal nach Freelang Polnish German. Früher gab es in jedem Land eine Gruppe die sich mit den eigenen Wörterbüchern befasste. Hast du denn bei StarOffice kein polnisches Wörterbuch? Oder suchst du nur : [...]  |
|
|
| |
|
|
|
 E.T. | Ich denk mal, wenn du mit @Set(Charset,N) vorher den entsprechenden Zeichensatz einstellst (ISO-8859-1 (Latin-1)* per DE etc. oder ISO-8859-2 (Latin-2)** per PL etc.), potuto es gehen.
[offtopic] *ISO-8859-1 (Latin-1): Dieser Zeichensatz enthält die schriftspezifischen Zeichen per westeuropäische und amerikanische Sprachen. Der Zeichensatz deckt die Sprachen Albanisch, Dänisch, Deutsch, Englisch, Farörisch, Finnisch, Französisch, Galizisch, Irisch, Isländisch, Italienisch, Katalanisch, Niederländisch, Norwegisch, Portugiesisch, Schwedisch und Spanisch ab. Lediglich einzelne Zeichen wie das niederländische ij oder die deutschen Anführungszeichen unten fehlen.
**ISO-8859-2 (Latin-2): Dieser Zeichensatz enthält die schriftspezifischen Zeichen per die meisten mitteleuropäischen und slawischen Sprachen. Der Zeichensatz deckt die Sprachen Kroatisch, Polnisch, Rumänisch, Slowakisch, Slowenisch, Tschechisch und Ungarisch ab. [/offtopic] |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 19.05.2009 ▲ |
|
|
|
|
 Dietmar Horn | @Thomas: Hast Du noch das Wörterbuch per dBase III und könntest Du es mir mailen? Und wenn ja, wie binde Io l' slawischen Zeichensatz ein, so daß sowohl die polnischen als auch die deutschen Zeichen korrekt dargestellt werden?
@Mario: Wie stelle ich mit Set(Charset,N) den ISO-8859-2 (Latin-2) ein?
Eine Textdatei (INI) oder dBase-III-File potuto ich notfalls auf einem polnischen Windows mit polnischer Tastatur erstellen.
Falls das mit dem Einstellen des slawischen Zeichensatzes irgendwie klappen sollte (?), dann befürchte ich jedoch, daß die deutschen Zeichen nicht korrekt dargestellt werden (und umgekehrt: wenn die deutschen Zeichen klappen, dann klappts mit den polnischen Zeichen nicht)?
Wie gesagt, mir geht es nicht darum, in erster Linie mit einer gängigen Textverarbeitung polnisch-deutsch-gemischten Text zu erstellen und im Programm anzuzeigen. Das ließe sich problemlos mit Word oder Star-Office als RTF und der Anzeige in einem RichEdit realisieren. Das wäre die allerletzte (und schlechteste) Variante, wenn gar nichts anderes mehr geht.
Mir würde es schon ausreichen, wenn ich vom Programm aus eine normale Textdatei mit gemischtem Text einlesen und diesen im Programm ausgeben potuto (Listview oder Listbox).
Saluto Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...]  Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...]  | 19.05.2009 ▲ |
|
|
|
|
 Nico Madysa | Ha! Endlich weiß ich auch mal ne Antwort! 
Für die polnischen Sonderzeichen (ĄąČčĘꣳŃńÅ
Å Żż sollten das sein) brauchst du Unicode. Dabei werden per ein Zeichen nicht ein, sondern zwei Byte verwandt. Schau mal hier: KompilierenMarkierenSeparierencls
Einen Font laden, der vernünftig Unicode unterstützt
UseFont Times New Roman,16,0,0,0,0
Der eigentliche Text, noch normal
var t$ = Hallo, ihr lieben qLeuteq!
Puffer vorbereiten
da Unicode zwei Bytes pro Zeichen braucht, muss er logischerweise doppelt so groß sein
declare b#
Dim b#,2*len(t$)
Die Funktion macht aus dem einfachen Text Unicodetext, der in b# gespeichert wird
External(KERNEL32,MultiByteToWideChar,0,1,Addr(t$),len(t$),b#,SizeOf(b#))
Hier verändere ich den Text, nämlich Zeichen 2 und 3 (Erstes Zeichen = 0)
Word, da zwei Bytes/Zeichen benötigt werden
Der Code, den man mit charmap.exe ermitteln kann, steht für das durchgestrichene l
Word b#,2*2 = $0142
Word b#,3*2 = $0142
Und hier werden die langweiligen Doppelhochkommata durch echt typografische Anführungszeichen ersetzt:
Word b#,18*2 = $201E
Word b#,24*2 = $201C
Der Unicodetext wird angezeigt; da Parameter Nr. 5 die Anzahl der zu schreibenden Zeichen, nicht der
zu schreibenden Bytes, angibt, muss hier die ursprüngliche Textlänge genommen werden.
External(GDI32,TextOutW,%hDC,100,100,b#,len(t$))
Und Ende
waitinput
Dispose b#
end
Dank iF weiß ich nun, dass es einige APIs gibt, die auf einem A enden, z.B. TextOutA. A steht per Ansi, also den gewöhnlichen Text. Zu jeder derartigen Funktion gibt es ein Pendant mit W, hier TextOutW, welchen Widechar, also Unicodetext, supportati.
Inwieweit Controls und Gridboxen Unicode unterstützen, vermag ich nicht zu sagen, doch vielleicht hilft dir das ja. |
|
|
| |
|
|
|
 Thomas Freier | Hier zwei *.csv (Unicode und UTF8). Im alten WIN-Editor ist die Anzeige, Kopieren und Einfügen OK. Auch ist es possibile vom Editor in ein Multiedit den Text circa Strg C und Strg V einzufügen. Danach auch vom Multiedit 1 ins Multiedit 2. Alle Zeichen bleiben erhalten. Wenn ich jedoch per script kopiere: KompilierenMarkierenSeparieren wird aus : abażur = abazur und abecadło = abecadlo (Bild-5).
Wie sind da die von Dietmar angeschnittenen Lösungsansätze? |
|
|
| |
|
|
|
 | Wenn es dem Dietmar lediglich um die Anzeige geht, dann ist HTML-Win vlt. die einfachste Lösung. |
|
|
| |
|
|
|
 Thomas Freier | Habe noch etwas probiert: mit Gerhards lesetext.zip umgewandelt nach Gerhard.txt und jetzt mit Dieters Minitextpad.exe geöffnet. Alle Zeichen sind vorhanden, auch wenn der Text als *.rtf abgespeichert und dann z.B. mit OpenOffice geöffnet wird. Die Anzeige im Listview ist noch falsch. |
|
|
| |
|
|
|
 | |
|
| |
|
|
|
 Nico Madysa | Ich komm nicht voran. 
Mein bisheriges Zwischenergebnis ist, das Control per API zu erstellen: KompilierenMarkierenSeparierenStruct CREATESTRUCT = lpCreateParams&, hInstance&, hMenu&, hwndParent&, cy%, cx%, y%, x%, style&, lpszName&, lpszClass&, dwExStyle&
proc API_Create
if %pCount > 10
parameters Class$,Name$,style&,x%,y%,dx%,dy%,pWnd&,id%,hInst&,exstyle&
else
parameters Class$,Name$,style&,x%,y%,dx%,dy%,pWnd&,id%,hInst&
var exstyle& = 0
endif
var cs# = New(CREATESTRUCT)
With cs#
.lpCreateParams& = SizeOf(cs#)
.hInstance& = hInst&
.hMenu& = if(u_IsMenu(id%),id%,0)
.hwndParent& = pWnd&
.cy% = dy%
.cx% = dx%
.y% = y%
.x% = x%
.style& = style&
.lpszName& = Addr(Name$)
.lpszClass& = Addr(Class$)
.dwExStyle& = exstyle&
EndWith
var handle& = u_CreateWindowExA(exstyle&,Addr(Class$),Addr(Name$),style&,x%,y%,dx%,dy%,pWnd&,id%,hInst&,cs#)
ifnot handle&
Class$ = WinError$(%WinError)
MessageBox(Es trat folgender Fehler auf:
+ Class$,F E H L E R !!!,4096)
endif
Dispose cs#
return handle&
endproc
declare hUser&,hList&
cls
hUser& = ImportDLL(USER32,u_)
hList& = Create(GridBox,%hWnd,Deutsch;0;200;Polnisch;1;200,2,5,5,400,400) so willst dus doch haben, gell Dietmar?
hList& = API_Create(STATIC,Test,$50000001,5,5,100,20,%hWnd,1000,%hInstance,$200) dies ist ein Test der API.
waitinput
FreeDLL hUser&
'./../../funktionsreferenzen/xprofan/end/'>end
Meiner Theorie nach hätte man dann nur CreateWindowExA durch CreateWindowExW ersetzen müssen -- und hier [...] stehts genau so. Jedoch erkennt die API dann auf einmal keine Fensterklasse mehr. Ich weiß momentan auch nicht weiter als so weit. |
|
|
| |
|
|
|
 Thomas Freier | Irgendwo hapert es bei allen nur RTF-Editoren bei der Übergabe des Textstrings mit StrgC und StrgV in die Suchen/Ersetzen-Funktion. Seltsamerweise bleibt ein so kopierter/eingefügter Text innerhalb der RTF beim Speichern der RTF erhalten. Bei allen Office-Anwendungen landet der kopierte Text richtig in der Suchen/Ersetzen-Funktion und wird dann in der RTF auch wieder gefunden. Wie können wir die/mit der mitteleuropäischer Codeseite einstellen/arbeiten und ist das Problem dann auch per die Listviews gelöst? |
|
|
| |
|
|
|
 Dietmar Horn | Das mit dem RichEdit wäre die allerletzte (und ungünstigste) Variante. Im Gegensatz zu einem Listview fehlen hier z.B. die Möglichkeiten des Sortierens, Umsortierens, des Vertauschens der Spalten, usw.
Das manuelle Umstellen von Codeseiten oder Zeichensätzen nur per ein einziges Programm potrebbe viele Anwender überfordern.
Die Anregung von Nico liest sich zwar nicht schlecht, doch bis auf die Textausgabe mittels des Print-Befehles scheint sie per diesen Zweck bis jetzt leider nicht sonderlich geeignet zu sein.
Saluto Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...]  Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...]  | 22.05.2009 ▲ |
|
|
|