Français
Forum

Erledigt: Polnische Schriftzeichen - Unicode ListView

 
- page 1 -



Dietmar
Horn
Salut,

kennt quelqu'un une Possibilité, sur einem PC avec deutschem Windows un Programme trop écrivons, welches sowohl deutschen Text comme aussi polnischen Text anzeigt? Im Polnischen gibt es wohl 8 Buchstaben, qui pas sur qui deutschen clavier pour trouver sommes.

Beispiel: un Listview, dans dem dans qui ersten Spalte un Allemand Begriff steht et dans qui zweiten Spalte jeweils qui übersetzte allemand Begriff en supplément.

si je z.B. de google.pl une polnischen Text dans un Word-Dokument kopiere, ensuite volonté qui polnischen Buchstaben korrekt angezeigt. wohin nimmt là cela allemand Windows den polnischen Zeichensatz her (im Word-Dokument wird dabei comme Font Times New Roman angezeiht)? dans einer normalen Textdatei avec ASCII-Zeichensatz klappt cela cependant pas.

Salut
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 3 -



Frank
Abbing

Correction: trop ansikompatiblen Controls mener qui APIs CreateWindowA et CreateWindowExA.


Gegenkorrektur: z.B. CreateWindowA et CreateWindow sommes toujours identique. qui normale variante ist plan toujours qui Ansi-variante, beweise cela Gegenteil...


Doch ansonsten la hâte du droite. si qui Messagenummern sich entre Ansi- et Unicode-Controls unterscheiden, habe je encore pas überprüft, mag es mais pas so droite croyons.


Glaube es calme. Besser encore, exposition dir simple un paire Headerfiles à.
 
01.06.2009  
 




Nico
Madysa
Asche sur mon tête, nous voyons uns dans nem halben l'an wieder, suis unterwegs pour Canossa.

j'ai la fois per API et Messages probiert, un halbwegs funktionierendes Unicode-Listview trop erzeugen, doch peux je bisher encore seulement dans la première Spalte données eintragen et c'est droite compliqué. une ListViewW.dll wäre alors überaus pratique.
 
Nico Madysa
02.06.2009  
 




Frank
Abbing

...doch peux je bisher encore seulement dans la première Spalte données eintragen et c'est droite compliqué. une ListViewW.dll wäre alors überaus pratique.


oui c'est ca cet Kompliziertheit hatte mich oui en supplément bewogen, den ganzen Mist la fois dans simpleren Funktionen trop bündeln.

je crois, une Unicode-variante qui Listview.dll lohnt mais pas. qui Anwendungsfälle sommes trop selten. si je cela richtig vois, peut polnische Computerbenutzer oui durchaus ihren Zeichensatz per Ansi benutzen, si qui ordinateur dans polnisch konfiguriert wurde. peut-être sollte Dietmar cela aussi simple faire...
Ne, seulement Spass...
 
02.06.2009  
 



iF, Beitrag=52553, Zeitpunkt=29.05.2009
aussi si vlt. ici encore pas relevant, so ist cela UTF-Problem wohl de dannen si wir enfin aufhören, normale Windows-Controls trop verwenden mais (comme sich est) unsere Dialoge per HTML erzeugen.

là je mich malheureusement pas zerreissen peux, volonté wir puis wohl mais et avec ca attendre doit - ou bien quelqu'un d'autre nimmt sich qui l'affaire à.
Frabbing, Beitrag=52554, Zeitpunkt=29.05.2009
qui Solution ist très simpel et nécessaire entier bestimmt aucun HTML-Controls (tz).



Zumindest gibt es aucun simplere Solution, bedenke cela mon plan alle Controls umfasst et pas etwa seulement ListViews.

je lasse mich mais volontiers vom Gegenteil überzeugen et peut-être peux Du derzeit une simple Solution dans qui ListView.Dll anwenden.
 
02.06.2009  
 




Frank
Abbing

je lasse mich mais volontiers vom Gegenteil überzeugen et peut-être peux Du derzeit une simple Solution dans qui ListView.Dll anwenden.


je sagte bereits:


je crois, une Unicode-variante qui Listview.dll lohnt mais pas. qui Anwendungsfälle sommes trop selten.


So un Listview ist mais vite erzeugt:
KompilierenMarqueSéparation
Def CreateWindowExW(12) !user32,CreateWindowExW
Declare lv&,class#
Dim class#,512
Cls
StringW class#,0=SysListView32
lv&=CreateWindowExW($200,class#,0,$50000041,100,100,200,200,%hwnd,1,%hinstance,0)
WaitInp
 
03.06.2009  
 




Nico
Madysa
Mag durchaus son, doch ensuite venez qui wahre Amusement: Spaltendefinition (erträglich) et Hinzufügen qui Zeilen (woran je, comment bereits erwähnt, scheitere), sowie eventuelle Suchfunktionen, etc.
 
Nico Madysa
03.06.2009  
 



Dein Beispiel ist aucun Solution Frank, un CLS ist aussi aucun Solution pour une Medienplayer.

Du legst oui lediglich un Contrôle à, Dietmar braucht mais 2 Spalten...

je vois Votre simple Solution (encore) pas.
 
03.06.2009  
 




Frank
Abbing

Dein Beispiel ist aucun Solution Frank, un CLS ist aussi aucun Solution pour une Medienplayer


Habe aussi pas avant, une Medienplayer trop écrivons. cela Beispiel ist cela quoi es son soll: un Beispiel.


...doch ensuite venez qui wahre Amusement: Spaltendefinition (erträglich) et Hinzufügen qui Zeilen


Comme je le disais, aus diesem Grund hab je qui Listview.dll autrefois geschrieben, à Sachen einfacher trop gestalten.
mon Quellcode ist bereits fertig dans Assembler, une zweiten dans XProfan werde je pas plus écrivons. Sonst hätte je dir ici quoi kopiert.
Nico, bequeme doch fois le cherche. il y a quelques Quellcodes pour Listviews. qui dois du doch seulement encore anpassen à qui Wide-Cordes. Pour cette bietet OLE32 quelques Funktionen.
 
03.06.2009  
 




Nico
Madysa
Tada!
KompilierenMarqueSéparation
Struct CREATESTRUCT = lpCreateParams&, hInstance&, hMenu&, hwndParent&, cy%, cx%, y%, x%, style&, lpszName&, lpszClass&, dwExStyle&
Struct LVCOLUMN = Mask&, FMT&, CX&, Text&, cchTextMaxLen&, Subitem&
Struct LVITEM = IMASK&, ITEM&, ISUBITEM&, State&, StateMask&, ITEXT&, ITEXTMAX&, IIMAGE&, ILPARAM&

proc UTF

    parameters text$
    declare b#
    Dim b#,2*len(text$)+2
    StringW b#,0 = text$
    text$ = Char$(b#,0,SizeOf(b#)-2)
    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$ = UTF(Class$)
    Name$ = UTF(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

 $10 = von A-Z
 $20 = von Z-A
 $04 = keine Mehrfachauswahl

subproc Create.GridBoxW

    parameters pWnd&,def$,stl%,x%,y%,dx%,dy%
    declare s$
    var hList& = CreateW(SysListView32,,$50000209 + stl%,x%,y%,dx%,dy%,pWnd&,1000,%hInstance,$200)
    u_SendMessageW(hList&,$1036,0,$00000023)
    var LVC# = New(LVCOLUMN)

    With LVC#

        .Subitem& = 0
        .MASK& = $7

        whileloop 0,(len(def$,;)  3) - 1

            s$ = SubStr$(def$,3*&loop + 1,;)
            .TEXT& = Addr(s$)
            .FMT&  = val(SubStr$(def$,3*&loop + 2,;))
            .CX&   = val(SubStr$(def$,3*&loop + 3,;))
            .cchTextMaxLen& = len(s$)
            u_SendMessageW(hList&,$1061,&loop,LVC#)

        EndWhile

    EndWith

    Dispose LVC#
    return hList&

endproc

proc InsertStringW

    parameters hList&,s$,index%
    declare ss$
    var LVI# = New(LVITEM)
    var d$ = UTF(Get(ListDel))

    With LVI#

        .IMASK&=$1
        .ITEM& = index%

        whileloop len(s$,d$)

            ss$ = SubStr$(s$,&loop,d$)
            .iText& = Addr(ss$)
            .ITEXTMAX& = len(ss$)
            .ISUBITEM& = &loop - 1

            ifnot &loop - 1

                u_SendMessageW(hList&,$104D,index%,LVI#)

            else

                u_SendMessageW(hList&,$102E,index%,LVI#)
                u_SendMessageW(hList&,$104C,index%,LVI#)

            endif

        EndWhile

    EndWith

endproc

declare hUser&,hGDI&,hKrnl&,hList&,clip$
cls
var font& = Create(Font,Times New Roman,16,0,0,0,0)
hUser& = ImportDLL(USER32,u_)
hList& = Create(GridBoxW,%hWnd,UTF(Welch)+;0;100;+UTF(eine)+;2;200;+UTF(Liste!)+;1;100,$00,100,5,410,200)
InsertStringW(hList&,UTF(Ich|bin|toll!),0)
InsertStringW(hList&,UTF(Ich|etwa|nicht?),1)
InsertStringW(hList&,UTF(Doch,|du|auch.),2)
SetFont hList&,font&

whilenot IsKey(27)

    waitinput

wend

FreeDLL hUser&
FreeDLL hGDI&
FreeDLL hKrnl&
4 href='./../../funktionsreferenzen/XProfan/deleteobject/'>DeleteObject font&
end

Créer(GridBoxW) et InsertStringW() devrait comment ses Ansi-Pendants marcher. Cordes volonté im Unicodeformat erwartet. qui Spaltendefinition dans Créer(GridBoxW) erwartet qui Spaltentitel dans Unicode, den reste dans Ansi. (so wars pour mich einfacher. )
Den kurzen bisherigen Tests hat qui Code grandios standgehalten.
 
Nico Madysa
05.06.2009  
 



 
- page 4 -


 
05.06.2009  
 




Frank
Abbing
allez doch anständig.
et chacun Wette, tu as quoi en supplément gelernt.

qui Contrôle-ID sollte sich encore chez chaque Listview changement.
 
05.06.2009  
 




Nico
Madysa
Bäh, cela devoir qui anderen faire, je veux maintenant ins Bett.

[offtopic]
demain veux je nämlich fit son, si alles klappt, steht mir ensuite qui Konfiguration eines eigenen Heim-DSL-Anschlusses bevor. [/offtopic]
 
Nico Madysa
05.06.2009  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

28.695 Views

Untitledvor 0 min.
E.T.14.01.2024
Member 052215418.03.2020
Manfred Barei23.02.2020
Walter16.02.2020
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie