Bonjour à toutes et à tous,
je traite des fichiers d'origine DOS, dans lesquels, bien sur, les minuscules accentuées ne sont pas codées comme dans les application Windows !!!
J'ai bien la solution suivante, faire une boucle de replace sur tous les caractères differents entre DOs et Windows. Etant moyennement fier de moi, je cherche une autre solution. Merci pour les idées que vous avez sur la question.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load FileOpen(1, "c:\ficdos.txt", OpenMode.Input) Dim zw = LineInput(1) trscode(zw) MsgBox(zw) FileClose(1) End Sub Private Sub trscode(ByRef z As String) Dim zdos(8) As Char zdos(0) = Chr(&H82) ' Caractère é en dos zdos(1) = Chr(&H8A) ' caractère è en dos zdos(2) = Chr(&H87) ' caractère ç en dos zdos(3) = Chr(&H85) ' caractère à en dos zdos(4) = Chr(&H88) ' caractère ê en dos zdos(5) = Chr(&H93) ' caractère ô en dos zdos(6) = Chr(&H97) ' caractère ù en dos zdos(7) = Chr(&H89) ' caractère ë en dos zdos(8) = Chr(&H8B) ' caractère ï en dos Dim zwind() As String = {"é", "è", "ç", "à", "ê", "ô", "ù", "ë", "ï"} Dim i = 0 For i = 0 To zdos.Length - 1 Dim zi As String = zdos(i) z = z.Replace(zi, zwind(i)) Next End Sub End Class
Partager