Les Snippets

Connexion

Convertion de chaine ANSI>ASCII et ASCII>ANSI

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 17/09/2006 15:38:53 et initié par EBArtSoft [Liste]
Date de mise à jour : 24/02/2007 14:10:50
Vue : 18139
Catégorie(s) : Trucs & Astuces, Algorithme, Chaîne de caractères
Langages dispo pour ce code :
- VB6, VBA
- Windev
- VB6, VBA
- VB 2005
- Voir tous les langages pour ce code snippet



Langage : VB6 , VBA
Date ajout : 17/09/2006
Posté par EBArtSoft [Liste]
Public Function OEMConvert(ByRef Text As String, ByVal FromAscii As Boolean) As String
    Static OInit   As Boolean
    Static Os(255) As Byte 'Ascii
    Static Oc(255) As Byte 'Ansi
    Dim t()        As Byte
    Dim i          As Long
    
    If Not OInit Then
        For i = 0 To 255
            Os(i) = i: Oc(i) = i
        Next
        Os(132) = 228: Os(148) = 246: Os(129) = 252: Os(225) = 223: Os(142) = 196: Os(153) = 214: Os(154) = 220: Os(128) = 199
        Os(130) = 233: Os(131) = 226: Os(133) = 224: Os(134) = 229: Os(135) = 231: Os(136) = 234: Os(137) = 235: Os(138) = 232
        Os(139) = 239: Os(140) = 238: Os(143) = 197: Os(144) = 201: Os(147) = 244: Os(150) = 251: Os(151) = 249: Os(20) = 182
        Os(145) = 230: Os(146) = 198: Os(155) = 162: Os(156) = 163: Os(166) = 170: Os(167) = 186: Os(171) = 189: Os(172) = 188
        Os(237) = 216: Os(241) = 177: Os(246) = 247: Os(253) = 178: Os(21) = 167:  Os(157) = 165
        Oc(228) = 132: Oc(246) = 148: Oc(252) = 129: Oc(223) = 225: Oc(196) = 142: Oc(214) = 153: Oc(220) = 154: Oc(199) = 128
        Oc(233) = 130: Oc(226) = 131: Oc(224) = 133: Oc(229) = 134: Oc(231) = 135: Oc(234) = 136: Oc(235) = 137: Oc(232) = 138
        Oc(239) = 139: Oc(238) = 140: Oc(197) = 143: Oc(201) = 144: Oc(244) = 147: Oc(251) = 150: Oc(249) = 151: Oc(182) = 20:
        Oc(230) = 145: Oc(198) = 146: Oc(162) = 155: Oc(163) = 156: Oc(170) = 166: Oc(186) = 167: Oc(189) = 171: Oc(188) = 172:
        Oc(216) = 237: Oc(177) = 241: Oc(247) = 246: Oc(178) = 253: Oc(167) = 21:  Oc(165) = 157
        OInit = True
    End If
    
    If (Len(Text) = 0) Then Exit Function
    
    t = StrConv(Text, vbFromUnicode)
    If FromAscii Then
        For i = 0 To UBound(t)
            t(i) = Os(t(i))
        Next
    Else
        For i = 0 To UBound(t)
            t(i) = Oc(t(i))
        Next
    End If
    OEMConvert = StrConv(t, vbUnicode)
    
End Function
Remarque :
Exemple : OEMConvert(OEMConvert("éàéè",False),True)

Utilisable dans les programmes en mode console ou pour lire un nom de fichier dans une archive zip

Snippets en rapport avec : Chaine, Ascii, Ansi, Convertion, Caractere



Codes sources en rapport avec : Chaine, Ascii, Ansi, Convertion, Caractere

{PHP} FONCTION DE CONVERSION D'UNE CHAINE DE CARACTÈRE VERS UN TYPAGE UNIX
Bonjour, Alors cette fonction permet de convertir n'importe quelle chaine de caractère en une équiv...

{C / C++ / C++.NET} GSTRING - GESTION DES CHAINES DE CARACTÈRES
Voici une petite classe permettant de gérer les chaines de caractères tout comme les std::string, av...

{Assembleur} LECTURE ET ECRITURE D'UN CARACTERE ET D'UNE CHAINE DE CARACTERE !
bon j'ai essayer d'utiliser des interruption pour la première fois je suis vraiment débutant en ass...

{Delphi} DHEX, OUTILS D'AIDE POUR LE DEVELOPPEMENT, TABLE ASCII / DEC / HEX / BIN ...
DHEX est un outils qui permet d'avoir une table ASCII complete avec la representation des caracteres...

{Visual Basic, VB6, VB.NET, VB 2005} MODULE COPIER UN DOSSIER AU MOYEN DE FSO OU DE DOS OU LES DEUX À LA FOIS
'Explication 'Sur les premières version NT le fso n'est pas reconnu 'Il faut donc passer pas un...

{Javascript / DHTML} LIBRAIRIE UTF8 (CODAGE ET DECODAGE À LA VOLÉE )
Ma librairie va vous permettre de coder et decoder en UTF8 vos chaines de caracteres Cela peut para...

{C / C++ / C++.NET} CLASSE DE GESTION DE CHAINE DE CARACTERES SECURISEE [VC++2K5]
Ca ne doit pas être la seule du genre mais regardez le source et vous comprendrez par vous meme...

{C / C++ / C++.NET} EDITEUR DE TEXTE EN LIGNE DE COMMANDE - C - DEVCPP - CHAINES DE CARACTÈRES
Un petit éditeur de texte qui fonctionne en ligne de commande c'est à dire en mode texte. Pour savo...

{C / C++ / C++.NET} SETIOSFLAGS ET RESETIOSFLAGS
Ce code présente différentes valeurs (paramètres) que peut adopter le manipulateur setiosflags. Cha...

{C / C++ / C++.NET} CLASSE CCHAINE
Une petite classe équivalente à la classe MFC CString mais en plus pratique...