Español
Foro

Hecho: Polnische Schriftzeichen - Unicode ListView

 
- Página 1 -



Dietmar
Horn
¡Hola,

sabe alguien una Möglichkeit, en una PC con deutschem Windows una Programa a escribir, welches sowohl Alemán Texto como auch polnischen Texto anzeigt? Im Polnischen hay wohl 8 Buchstaben, el no en el Alemán Tastatur para encontrar son.

Ejemplo: Ein Listview, en el en el ersten Spalte una deutscher Begriff es y el zweiten Spalte jeweils el übersetzte Alemán Begriff dazu.

Wenn Yo z.B. de google.pl una polnischen Texto en una Word-Dokument kopiere, entonces voluntad el polnischen Buchstaben korrekt adecuado. Wo nimmt como el Alemán Windows el polnischen Zeichensatz her (en el Word-Dokument se esta como Font Times New Roman angezeiht)? In uno normalen Textdatei con ASCII-Zeichensatz klappt el sin embargo no.

Saludo
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  
 



 
- Página 3 -



Frank
Abbing

Corrección: Zu ansikompatiblen Controls führen el APIs CreateWindowA y CreateWindowExA.


Gegenkorrektur: z.B. CreateWindowA y CreateWindow siempre identisch. El normale Variante es eben siempre el Ansi-Variante, beweise el Gegenteil...


Doch ansonsten hast du bastante. Ob el Messagenummern se zwischen Ansi- y Unicode-Controls unterscheiden, Todavía no überprüft, mag lo pero no así bastante glauben.


Glaube lo ruhig. Besser todavía, mostrar dir simplemente unos pocos Headerfiles a.
 
01.06.2009  
 




Nico
Madysa
Asche en mein Haupt, wir sehen uns en nem halben Jahr otra vez, bin unterwegs después de Canossa.

Yo habe veces por API y Messages probiert, una halbwegs funktionierendes Unicode-Listview a erzeugen, doch kann Yo bisher todavía sólo en el erste Spalte Daten eintragen y es bastante kompliziert. Un ListViewW.dll wäre also überaus praktisch.
 
Nico Madysa
02.06.2009  
 




Frank
Abbing

...doch kann Yo bisher todavía sólo en el erste Spalte Daten eintragen y es bastante kompliziert. Un ListViewW.dll wäre also überaus praktisch.


Exactamente esta Kompliziertheit hatte mich sí dazu bewogen, el ganzen Mist veces en simpleren Características a bündeln.

Yo glaube, una Unicode-Variante el Listview.dll lohnt pero no. El Anwendungsfälle son a selten. Wenn Yo el correcto sehe, puede polnische Computerbenutzer sí durchaus ihren Zeichensatz por Ansi benutzen, si la Computer en polnisch konfiguriert wurde. Tal vez debería Dietmar el auch simplemente hacer...
Ne, sólo Spass...
 
02.06.2009  
 



IF, Beitrag=52553, Zeitpunkt=29.05.2009
Auch si vlt. hier todavía no relevant, así es el UTF-Problema wohl de dannen si wir endlich aufhören, normale Windows-Controls utilizarse pero (como se gehört) unsere Dialoge por HTML erzeugen.

Desde que mich por desgracia, no zerreissen kann, voluntad wir darauf wohl aber todavía algo warten necesario - oder alguien más nimmt se el Sache a.
Frabbing, Beitrag=52554, Zeitpunkt=29.05.2009
El Solución es muy simpel y benötigt bastante determinado no HTML-Controls (tz).



Zumindest hay no simplere Solución, bedenke el mein Plan todos Controls umfasst y no etwa sólo ListViews.

Yo lasse mich aber gerne vom Gegenteil überzeugen y tal vez kannst Usted actualmente una simple Solución en el ListView.Dll anwenden.
 
02.06.2009  
 




Frank
Abbing

Yo lasse mich aber gerne vom Gegenteil überzeugen y tal vez kannst Usted actualmente una simple Solución en el ListView.Dll anwenden.


Yo sagte ya:


Yo glaube, una Unicode-Variante el Listview.dll lohnt pero no. El Anwendungsfälle son a selten.


So una Listview es aber rápidamente producido:
KompilierenMarcaSeparación
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 ser, doch entonces kommt el wahre Spaß: Spaltendefinition (erträglich) y Hinzufügen el Zeilen (woran Yo, como ya erwähnt, scheitere), sowie eventuelle Suchfunktionen, etc.
 
Nico Madysa
03.06.2009  
 



Su Ejemplo es no Solución Franco, una CLS es auch no Solución una Medienplayer.

Usted legst sí lediglich una Control a, Dietmar braucht aber 2 Spalten...

Yo sehe Su simple Solución (todavía) no.
 
03.06.2009  
 




Frank
Abbing

Su Ejemplo es no Solución Franco, una CLS es auch no Solución una Medienplayer


Posesiones auch no antes, una Medienplayer a escribir. Das Ejemplo es el qué lo ser se: Ein Ejemplo.


...doch entonces kommt el wahre Spaß: Spaltendefinition (erträglich) y Hinzufügen el Zeilen


Como ya he dicho, de diesem Grund tener Yo el Listview.dll damals geschrieben, a Sachen einfacher a gestalten.
Mein Quellcode es ya fertig en Ensamblador, una zweiten en XProfan voluntad Yo no mehr escribir. Sonst hätte Yo dir hier qué kopiert.
Nico, bequeme doch veces el Búsqueda. Lo son algunos Quellcodes para Listviews. El mußt du doch sólo todavía adaptar a el Wide-Cuerdas. Dafür bietet OLE32 algunos Características.
 
03.06.2009  
 




Nico
Madysa
Tada!
KompilierenMarcaSeparación
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

Crear(GridBoxW) y InsertStringW() debería como ihre Ansi-Pendants trabajo. Cuerdas voluntad en el Unicodeformat esperado. El Spaltendefinition en Crear(GridBoxW) esperado el Spaltentitel en Unicode, el Rest en Ansi. (así wars para mich einfacher. )
Den kurzen reciente Tests ha el Code grandios standgehalten.
 
Nico Madysa
05.06.2009  
 



 
- Página 4 -


 
05.06.2009  
 




Frank
Abbing
Geht doch anständig.
Und jede Wette, du hast qué dazu gelernt.

El Control-ID debería se todavía cada Listview ändern.
 
05.06.2009  
 




Nico
Madysa
Bäh, el debería el otro hacer, Yo voluntad ahora en el Bett.

[offtopic]
Morgen voluntad Yo nämlich fit ser, si alles klappt, es me entonces el Konfiguration uno eigenen Heim-DSL-Anschlusses bevor. [/offtopic]
 
Nico Madysa
05.06.2009  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

29.489 Views

Untitledvor 0 min.
E.T.14.01.2024
Member 052215418.03.2020
Manfred Barei23.02.2020
Walter16.02.2020
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie