Caractère DOS vers ANSI

Résolu
grosbidou21 Messages postés 74 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 5 février 2010 - 5 juil. 2005 à 12:30
CTAC Messages postés 133 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 8 juin 2012 - 6 juil. 2005 à 15:53
Salut à tous,

Comment puis-je faire pour "transformer" un caractère DOS en ANSI?

Je m'explique mieux : lorsqu'on tente d'ouvrir un fichier écrit avec un
programme DOS dans le bloc note ou meme dans sa propre application, les
accents et autre caractères semi-graphiques sont transformé en
caractère bizarre (ex : l'accent tapé sous DOS (é) est transformé en
virgule lorsqu'on l'importe en ANSI (,))

Il doit certainement existé une API ou autre pour remédier à ca sans
être obligé d'examiner tous les caractères et de faire un remplacement
de caractère...

Merci d'avance pour votre aide

La programation c'est au moins autant prise de tête que ... je ne vois pas rien ne l'égale...

1 réponse

CTAC Messages postés 133 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 8 juin 2012 5
6 juil. 2005 à 15:53
Bonjour.

Le fichier C:\Test.txt comportant décembre mais qui s'affiche dans le bloc-note d,cembre :

Private Declare Function OemToChar& _
Lib "user32" Alias "OemToCharA" _
(ByVal lpszSrc$, ByVal lpszDst$)


Sub Convert()
Dim n%, Str$
n = FreeFile
Open "C:\Test.txt" For Input As #n
Str = Input(LOF(n), #n)
Close #n
MsgBox Str, vbCritical, "Avant"
OemToChar Str, Str
MsgBox Str, vbInformation, "Aprés"
End Sub

ctac
3
Rejoignez-nous