Italia
Foro

Erledigt: Polnische Schriftzeichen - Unicode ListView

 
- Page 1 -



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  
 



 
- Page 2 -



Thomas
Freier
Man potuto ja zwei PDFs (P-D.rtf und D-P.rtf) haben zum Umschalten.
Hast du dir einmal Freelang Dictionary - Polish angesehen. Die verwenden presumibilmente eine html-Tabelle und das Suchen geht mit Unicodezeichen. Zum Einsetzen der Sonderzeichen wird eine Tabelle angeboten. In meinem Wörterbuch circa ein TrackMenü. Dietmar, ich glaube du mußt dich vom Listview verabschieden und ein Wörter- und Übungsbuch wie Freelang Dictionary - Polish mit Xprofan erstellen. Ist doch auch schon etwas.
 
Gruß Thomas
Windows XP SP2, XProfan X2
22.05.2009  
 



Schaut doch mal: [...] 
 
22.05.2009  
 




Thomas
Freier
Hallo Dietmar, wenn du mit dem Unicode-Problem weiter gekommen bist, läßt du es uns wissen?
Ein kurzer Versuch mit html scheitert an der langsamen Datenbereitstellung circa JS. Die Daten müßten anders eingelesen werden (SQL/csv?).

 
Gruß Thomas
Windows XP SP2, XProfan X2
25.05.2009  
 



Und wenn Du den js erzeugst? (JS selbst ist in Sachen Geschwindigkeit schnell unterschätzt...)
 
25.05.2009  
 




Thomas
Freier
Ach, das sind nur zwei Beispiele etwas angepasst aus der JS-Grabbelkiste. Macht naturalmente so keinen Sinn, einmal die Daten in der html und einmal als txt/csv zu haben. Die Liste soll sicher auch erweitert werden können. Wenn Dietmar in seinem Übungsprojekt html einsetzen will wird er seine Manschaft weiter buddeln lassen z.B.: bei Pascals ocx oder Datenbanken mittels JavaScript nutzen bei [...]  .
Aber vielleicht löst er ja noch das Unicode-Problem oder die Umschaltung vom Westeuropäischen zum Mitteleuropäischen Zeichensatz. Mein letzter Versuch endete mit nicht mehr vorhanden Umlauten und dem Einspielen eines älteren C-Abbilds, weil es mir nicht gelang alles zurück zustellen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
26.05.2009  
 




Nico
Madysa
Also ich bin neuermals gescheitert.
Habe das Controls mittels CreateWindowExW() erzeugt (Texte, wie der Klassenname z.B., müssen ebenfalls im Unicodeformat sein, wie ich feststellen durfte!) und ihm einen Unicodetext per SendMessageW zugesandt. Kein Erfolg, das Ding ist definitiv ansihörig.
 
Nico Madysa
26.05.2009  
 




Frank
Abbing
Vielleicht Edit subclassen und ankommende Text-Messages direkt umwandeln.
 
26.05.2009  
 




Nico
Madysa
Ja... Nein... Das Problem ist, dass das gewöhnliche Editfeld nur 256 verschiedene Zeichen Mostra kann, die 32 Steuerungszeichen inklusive. Wäre es Des Unicodes mächtig, potuto es 32768 verschiedene Zeichen Mostra. Ich potuto zwar per Subclass ankommende Texte umwandeln -- ich potuto jedoch nicht die 32512 Zeichen, die das Control nicht kennt, selbst zeichnen, das ist das entscheidende Problem. Andersherum ginge es natürlich; ankommende Widechartexte ließen sich problemlos vor der Anzeige in Ansi umwandeln. Das Umwandeln von Ansi zu Widechar (also Unicode) nützt jedoch nichts, wenn das Editfeld dann damit nichts anzufangen vermag.
 
Nico Madysa
27.05.2009  
 




Thomas
Freier
Das Problem muß in Xprofan begraben liegen. Problemlos kann eine *.rtf im Unicdode-Format im RichEdit bearbeitet werden. Alle Zeichen können im RichEdit selbst, in ein einfaches Edit und hin und her kopierte werden. Beim Speichern der *.rtf bleibt alles erhalten. Kopiere ich in ein Listview, werden die Buchstaben verändert, so wie das Item den Focus verliert. Gleiches wenn auf das Edit circa SetText und GetText zugegriffen wird. Das sagt ja schon die Aiuto: Text kann zwar mit SetText zugewiesen und mit GetText$() ausgelesen werden, jedoch gehen da die Formatinformationen verloren. 
Warum geht aber bei Strg C und Strg V der Unicode nicht verloren?
 
Gruß Thomas
Windows XP SP2, XProfan X2
27.05.2009  
 



Strg+V nutzt meist wm_copyData [...]  , probier es einmal damit auf solch Eingabefeld.
 
27.05.2009  
 




Nico
Madysa
Nebenbei erwähnen will ich, dass ich Arial verabscheue...

An alle, wie funktioniert dieser Code?
KompilierenMarkierenSeparieren
 $H Messages.ph
Struct CREATESTRUCT = lpCreateParams&, hInstance&, hMenu&, hwndParent&, cy%, cx%, y%, x%, style&, lpszName&, lpszClass&, dwExStyle&

proc TToUTF

    parameters text$
    declare b#
    Dim b#,2*len(text$)
    k_MultiByteToWideChar(0,1,Addr(text$),len(text$),b#,SizeOf(b#))
    text$ = Char$(b#,0,SizeOf(b#))
    return text$

endproc

proc CreateW

    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

    Class$ = TTOUTF(Class$)
    Name$ = TTOUTF(Name$)
    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_CreateWindowExW(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&,hGDI&,hKrnl&,hList&,clip$
cls
var font& = Create(Font,Times New Roman,16,0,0,0,0)
hUser& = ImportDLL(USER32,u_)
hGDI& =  ImportDLL(GDI32,g_)
hKrnl& = ImportDLL(KERNEL32,k_)
hList& = CreateW(EDIT,Test,$50000004,5,5,200,200,%hWnd,1000,%hInstance,$200)dies ist ein Test der API.
SetFont hList&,font&
Shell CHARMAP

whilenot IsKey(27)

    waitinput

    if IsKey(2)

        clip$ = TTOUTF(GetClip$())
        u_SendMessageW(hList&,~WM_SETTEXT,0,Addr(clip$))

    endif

wend

FreeDLL hUser&
FreeDLL hGDI&
FreeDLL hKrnl&
Object font& end

Kopiert einfach aus der Zeichentabelle (charmap.exe) einige exotische Zeichen in das Editfeld. Bei mir klappte sogar arabische Schrift.
 
Nico Madysa
29.05.2009  
 




Thomas
Freier
Nico, die Anzeige geht in Ordnung. Aber,jedenfalls bei mir, ein Rechtsklick in den Text und aus den Sonderzeichen werden sonderliche Zeichen.
Kannst du oder Frank (meintest du das?) mit dem folgenden etwas anfangen?


Der Unicode-Zeichensatz ist bisher nur in wenigen Standardschriftarten wie Times New Roman, Tahoma, Arial usw. ansatzweise umgesetzt. Hier besteht noch ein erheblicher Nachholbedarf bei der Implementierung der bisher definierten Zeichen.
In Excel selber kann man nur den ANSI-Zeichensatz mit Tabellenblattfunktionalitäten darstellen.
Im VBA-Code sind aber auch je nach gewählter Schriftart die Zeichen des 2-Byte-Unicode mit folgender Syntax darstellbar:
KompilierenMarkierenSeparieren


Die PL-D-File liegt ja auch im Unicode vor.
 
Gruß Thomas
Windows XP SP2, XProfan X2
29.05.2009  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

30.782 Views

Untitledvor 0 min.
E.T.14.01.2024
Member 052215418.03.2020
Manfred Barei23.02.2020
Walter16.02.2020
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie