| |
|
|
- 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 à. |
|
|
| |
|
|
|
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. |
|
|
| |
|
|
|
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... |
|
|
| |
|
|
|
| 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.2009qui 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. |
|
|
| |
|
|
|
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éparationDef 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
|
|
|
| |
|
|
|
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. |
|
|
| |
|
|
|
| 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. |
|
|
| |
|
|
|
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. |
|
|
| |
|
|
|
Nico Madysa | Tada! KompilierenMarqueSéparationStruct 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. |
|
|
| |
|
|
| |
|
- page 4 - |
|
|
| |
|
| |
|
|
|
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. |
|
|
| |
|
|
|
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] |
|
|
| |
|
|