Español
Foro

Russischer Zeichensatz

 

Stephan
Sonneborn
¡Hola zusammen,

en el Ayuda es en Función SET("CHARSET", X), dass para x nun auch Werte >2 zulässig son. Welchen Valor debería uno porque para una russischen Zeichensatz einstellen? Yo habs con $0419 probiert. Sombrero pero no así hingehauen...

Eigentlich möchte Yo folgendes Problema lösen:
Textos, el en russisch vorliegen, con Profano z.B. como Buttontexte oder Statictexte ausgeben.
Also z.B. "Отмена" para "Abbrechen" en una Schaltfläche legen...
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
22.05.2012  
 



Yo bin no sicher pero yo glaube dass el sólo Unicode o. WideChar-
Controls va.

Tal vez helfen Usted esta Temas:

Erzeugen: [...] 
Polnisch: [...] 
widechartomultibyte: [...] 
multibytetowidechar: [...] 
Erklär: [...] 
Funktions-Conjunto: [...] 

Wenn lo Usted rein en el Darstellen va entonces lo wohl el Einfachste si
Usted una HTML-Control nutzt.
 
22.05.2012  
 




Stephan
Sonneborn
Hola si,

como hast Usted ya bastante, el va sólo Unicode. Aber como genau???

Yo me Su Ejemplo angesehen.
El russischen Signo beginnen en u+0400 y ir a u+04ff = 256 Signo.

Pensé, con SET ("CHARSET",~lang_russian) sería uno una offset conjunto y luego podría uno el Signo simplemente con zB. CHR$($0400) tomar. Geht pero no, como CHR$() sólo Werte zwischen 0...255 sabe.

Lo debería el Función CHRW$() o. ORDW() her.

Weiß alguien, cómo el erstellt?

In VB es scheinbar el CHRW()-Función de Haus de esta.

Man podría se sí vorstellen, el STATICS y EDITS después de Deiner Vorgabe a redactar (encima CreateW() o. CreateWindowExW()), entonces todos reciente Standardtexte umwandeln en WideChars y luego con un SetTextW el Textos en el Controls eintragen...

Aber como???
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
29.05.2012  
 



¡Hola Stephan,

Nico y yo haben soeben folgendes erarbeitet,

Por favor, probiere veces en como weit el así klappt:
KompilierenMarcaSeparación
 {$cleq}
 {$compiler c:\xprofan12}
 {$runtime c:\xprofan12}
CLS
Struct CREATESTRUCT = lpCreateParams&, hInstance&, hMenu&, hwndParent&, cy%, cx%, y%, x%, style&, lpszName&, lpszClass&, dwExStyle&
var id% = 1
Var static&=CreateW("STATIC","Das ist ein Static. \nHier sollen Unicode-Zeichen rein.",$50000000,10,10,width(%hwnd)-20,35,%hwnd,0,%hinstance)
Waitinput
SetWindowTextW(static&,utf("Test ")+chrw(400)+utf(" Test"))
Waitinput
End

proc chrw

    parameters wc&
    declare m#
    dim m#,2
    word m#,0=wc&
    var s$=char$(m#,0,2)
    dispose m#
    return s$

endproc

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

    parameters Class$,Name$,style&,x%,y%,dx%,dy%,pWnd&,pid%,hInst&,exstyle&
    case %pCount <11 : exstyle& = 0
    Class$ = UTF(Class$)
    Name$ = UTF(Name$)
    Var cs# = New(CREATESTRUCT)

    With cs#

        .lpCreateParams& = SizeOf(cs#)
        .hInstance& = hInst&
        .hMenu& = (IsMenu(id%)<>0) * id%
        .hwndParent& = pWnd&
        .cy% = dy%
        .cx% = dx%
        .y% = y%
        .x% = x%
        .style& = style&
        .lpszName& = Addr(Name$)
        .lpszClass& = Addr(Class$)
        .dwExStyle& = exstyle&

    EndWith

    Var handle& = CreateWindowExW(exstyle&,Addr(Class$),Addr(Name$),style&,x%,y%,dx%,dy%,pWnd&,id%,hInst&,cs#)
    Class$ = WinError$(%WinError)
    inc id%

    IfNot handle&

        MessageBox("Es trat folgender Fehler auf:\n\n" + Class$,"F E H L E R !!!",4096)

    EndIf

    Dispose cs#
    Return handle&

=s4 href='./../../funktionsreferenzen/XProfan/ENDPROC/'>ENDPROC

 
29.05.2012  
 




Stephan
Sonneborn
Hola si, hallo Nico,

danke para Eure Unterstützung. Leider zeigt me el Code garnichts a...
KompilierenMarcaSeparación
'URL: https://xprofan.com/intl/de/forum/russischer-zeichensatz/
'{$cleq}
'{$compiler c:\xprofan12}
'{$runtime c:\xprofan12}
DEF IsMEnu(1)           !"USER32", "IsMenu"
DEF CreateWindowExW(12) !"USER32", "CreateWindowExW"
DEF SetWindowTextW(2)   !"USER32", "SetWindowTextW"
CLS
Struct CREATESTRUCT = lpCreateParams&, hInstance&, hMenu&, hwndParent&, cy%, cx%, y%, x%, style&, lpszName&, lpszClass&, dwExStyle&
var id% = 1
Var static&=CreateW("STATIC","Das ist ein Static. \nHier sollen Unicode-Zeichen rein.",$50000000,10,10,width(%hwnd)-20,35,%hwnd,0,%hinstance)
Waitinput
SetWindowTextW(static&,utf("Test ") + chrw($401) + utf(" Test"))
Waitinput
End

proc chrw

    parameters wc&
    declare m#
    dim m#,2
    word m#,0=wc&
    var s$=char$(m#,0,2)
    dispose m#
    return s$

endproc

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

    parameters Class$,Name$,style&,x%,y%,dx%,dy%,pWnd&,pid%,hInst&,exstyle&
    case %pCount <11 : exstyle& = 0
    Class$ = UTF(Class$)
    Name$ = UTF(Name$)
    Var cs# = New(CREATESTRUCT)

    With cs#

        .lpCreateParams& = SizeOf(cs#)
        .hInstance& = hInst&
        .hMenu& = (IsMenu(id%)<>0) * id%
        .hwndParent& = pWnd&
        .cy% = dy%
        .cx% = dx%
        .y% = y%
        .x% = x%
        .style& = style&
        .lpszName& = Addr(Name$)
        .lpszClass& = Addr(Class$)
        .dwExStyle& = exstyle&

    EndWith

    Var handle& = CreateWindowExW(exstyle&,Addr(Class$),Addr(Name$),style&,x%,y%,dx%,dy%,pWnd&,id%,hInst&,cs#)
    Class$ = WinError$(%WinError)
    inc id%

    IfNot handle&

        MessageBox("Es trat folgender Fehler auf:\n\n" + Class$,"F E H L E R !!!",4096)

    EndIf

    Dispose cs#
    Return handle&
lass=s4 href='./../../funktionsreferenzen/XProfan/ENDPROC/'>ENDPROC

No una vez el "Test" davor y detrás de él...
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
29.05.2012  
 




Nico
Madysa
Oh, natürlich zeigt él dir nichts a. SetWindowTextW es una API-Función y kann con XProfan-Cuerdas nichts anfangen; uno muss ihm el Adresse en el Cuerdas überweisen:
Var static&=CreateW("STATIC","Das es una Static. \nHier debería Unicode-Signo rein.",$50000000,10,10,width(%hwnd)-20,35,%hwnd,0,%hInstance)
Waitinput
var a$ = utf("Test ") + chrw($401) + utf(" Test")
SetWindowTextW(static&,Addr(a$))

So geht's.
 
29.05.2012  
 



Hoch, Yo hahm a el Stephan el Präkompi en el Einsatz ha ^ ^
 
30.05.2012  
 




Stephan
Sonneborn
Nico Madysa (29.05.12)
So geht's.


Sí, así geht's. *sichandenkopfschlägt*
Gracias Nico, para Su Ayuda!

Aber nun el Ausbaustufe:
Yo habe Textos (z.B. de Excel), el mentira así antes: "Отмена"
Como bekomme Yo el nun como texto en un Unicode-Control adecuado?
Man debería doch zuerst una vez herausbekommen, welches Signo es el porque nun, qué como adecuado se. Ein ORD() liefert natürlich auch otra vez sólo Pagar zwischen 0...255. Gibts a una entsprechendes OrdW()?
Dann podría uno tal vez cada String zeichenweise umsetzen en el UniCode-Formato y luego como Genazes otra vez Mostrar.
(Falls en el Posting sólo ?????? adecuado voluntad: In mi ersten Contribución es el russische Begriff)
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
30.05.2012  
 



Ordw como Nuevo:  [...] 
nproc ordw(cadena s){

    long m=dim(2)
    char m&,0=left$(s$+"\z\z",2)
    long wc=word(m,0)
    disponer(m)
    volver wc

}


o.:
proc ordw

    parámetros s$
    declarar m#
    dim m#,2
    char m#,0=left$(s$+"\z\z",2)
    var wc&=word(m#,0)
    disponer m#
    volver wc&

ENDPROC


[OFFTOPIC]
Stephan Sonneborn (30.05.12)
(Falls en el Posting sólo ?????? adecuado voluntad: In mi ersten Contribución es el russische Begriff)


Scheinbar una Bug meiner Post Previsualización -

schaue Yo en Gelegenheit a. [/OFFTOPIC]
 
30.05.2012  
 




Nico
Madysa
Auf dieser Página  [...]  findest du así bastante todos Kodierungsumwandlungen, el dein Herz begehren kann, como NProcs; auch Widechar-Varianten de Chr$() y Ord() son esta.

Yo hoffe, lo bereitet dir no Schwierigkeiten, ellos en un XPSE-freie Syntax a traducir.

Aber Yo sehe gerade no, por qué du OrdW brauchen solltest.
Dem Widechar-Control, el con CreateW erstellt worden es, müsstest du sólo el Texto por SetWindowTextW zuweisen.
Wenn el Texto, el du zuweisen willst, ya widecharkodiert es (also 2 Bytes pro Signo), entonces hay esta gar no Hindernisse.

Oder con otro Worten: Yo sehe gerade no, wo dein Problema liegt.
 
30.05.2012  
 




Stephan
Sonneborn
Nico Madysa (30.05.12)
Oder con otro Worten: Yo sehe gerade no, wo dein Problema liegt.


Mein Problema liegt hierin:
Füg veces esta beiden Zeilen en Su Quellcode una:
var b$ = "укепщьаь вввапа"
SetWindowTextW(static&,addr(b$))

En me voluntad entonces chinesische (oder qué De todos modos) Signo adecuado...

41 kB
Hochgeladen:31.05.2012
Ladeanzahl247
Descargar
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
31.05.2012  
 



Yo habe Usted hier algo "hingeschmiert" qué el Inhalt uno con Widechar-Chars-
gefüllten Zwischenablage como CHR$(...-Sequenz en el Zwischenablage ablegt.

So kannst Usted z.B.: укепщьаь

en el Zwischenablage nehmen y luego el Programa starten y luego kommt como:
chr$(67)+chr$(4)+chr$(58)+chr$(4)+chr$(53)+chr$(4)+chr$(63)+chr$(4)+chr$(73)+chr$(4)+chr$(76)+chr$(4)+chr$(48)+chr$(4)+chr$(76)+chr$(4)
en fuera.

Das wiederum como Valor para b$ zeigt el Gewünschte.

Descargar
externer Descargar

 {$cleq}
 {$compiler c:\XProfan12}
 {$runtime c:\XProfan12}
decimals 0
cls
casenot OpenClipboard(null) : end
long mem=GetClipboardData(cf_unicodeText)
casenot mem : end
long c,b
cadena s

do{

    b=byte(mem,c)
    casenot b : casenot byte(mem,c+1) : romper
    s=s+"chr$("+str$(b)+")+"
    c++

}

closeClipboard()
caso s=="" : end
clearclip
putclip mid$(s,1,len(s)-1)
end


1.247 kB
Hochgeladen:31.05.2012
Ladeanzahl222
Descargar
7 kB
Hochgeladen:31.05.2012
Ladeanzahl235
Descargar
 
31.05.2012  
 




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

22.221 Views

Untitledvor 0 min.
Georg Teles29.08.2024
Sven Bader22.03.2022
Stephan Sonneborn21.03.2022
Michael W.21.09.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