Deutsch
Quelltexte/ Codesnippets

Ansi Ansi2wide Chrw Ordw Utf16 Utf8 Utf82wide Wide2ansi Wide2utf8 Widechar

 
Ansi Utf16 Utf8 Widechar ansi2wide utf82wide wide2utf8 wide2ansi chrw ordw
KompilierenMarkierenSeparieren
// Ersatzfunktion für das native, derzeit fehlerhafte char$

nProc _char(long hMem,from,length){

    case length<1 : return ""
    string s=space(length)
    rtlMoveMemory(s,hMem+from,length)
    return s

}

ansiTowide(string text){//von Nico Madysa, nichtnativ

    declare b#
    Dim b#,2*len(text)+2
    StringW b#,0 = text
    text = Char$(b#,0,SizeOf(b#)-2)
    return text

}

nProc ansi2Wide(string s){

    s=s+"\z\z"
    long cc=len(s)*2
    long buff=dim(cc)
    long c=multiByteToWideChar(CP_ACP,,addr(s),-1,buff,cc)
    s=""
    case c>null : s=_char(buff,,c*2-2)
    dispose(buff)
    return s

}

nProc utf82wide(string s){

    s=s+"\z\z"
    long cc=len(s)*2
    long buff=dim(cc)
    long c=multiByteToWideChar(CP_UTF8,0,addr(s),-1,buff,cc)
    s=""
    case c>0 : s=_char(buff,0,c*2-2)
    dispose(buff)
    return s

}

nProc wide2utf8(string s){

    s=s+"\z\z"
    long buff=dim(len(s))
    long c=wideCharToMultiByte(CP_UTF8,0,addr(s),-1,buff,len(s),0,0)
    s=""
    case c>1 : s=_char(buff,0,c-1)
    dispose(buff)
    return s

}

nProc wide2ansi(string s){

    s=s+"\z\z"
    long buff=dim(len(s))
    long c=wideCharToMultiByte(CP_ACP,0,addr(s),-1,buff,len(s),0,0)
    s=""
    case c>1 : s=_char(buff,0,c-1)
    dispose(buff)
    return s

}

nproc chrw(long wc){

    long m=dim(2)
    word m&,0=wc
    string s=_char(m,0,2)
    dispose(m)
    return s

}

nproc ordw(string s){

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

}

 
22.04.2011  
 



erweitert um chrw
 
29.05.2012  
 



erweitert um ordw (Dank an Nico)
 
29.05.2012  
 




Nico
Madysa
Native Variante von AnsiToWide hinzugefügt.
Außerdem statt char$() (derzeit in nProcs fehlerhaft implementiert) Ersatzfunktion _char() verwendet.
 
29.05.2012  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

10.500 Betrachtungen

Unbenanntvor 0 min.
Gast.0815Gestern (12:48)
Georg Teles14.10.2023
p.specht21.11.2021
R.Schneider20.11.2021
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

iF (3x)
Nico Madysa (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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