Visual Studio - UTF8

Résolu
cs_perles Messages postés 74 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 29 mars 2015 - Modifié par Whismeril le 18/02/2015 à 19:06
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 19 févr. 2015 à 18:32
Bonjour,

Je lis un fichier texte qui contient le prénom Chloé



Code :

Sélectionner tout - Visualiser dans une fenêtre à part

123456789101112 FileOpen(1, "C:\etilab\import\GDTACHI.GDT", OpenMode.Input)
        Compteur = -1
        While Not EOF(1)
            Compteur = Compteur + 1
            Input(1, s)
            TableauPatient(Compteur) = s
            If ChaineTravailDebut = "0173102" Then
                prenom = ChaineTravailFin
                MsgBox(prenom)
            End If
        End While
        FileClose(1) Dans la message box le prénom s'affiche Chloé


Je pense que je dois utiliser une conversion en UTF8 mais je ne sais pas comment faire !

Pouvez-vous m'aider ?

Merci à tous et a bientôt

Soleil

4 réponses

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
17 févr. 2015 à 11:51
Bonjour

1 Ce n'est pas du vb.net
2 Ton fichier text a été sauvegardé en code utf -8
si tu ouvres ton fichier avec notpad vois tu
Chloé ou Chloé ?
0
cs_perles Messages postés 74 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 29 mars 2015
18 févr. 2015 à 17:49
Bonjour,

Merci de ta réponse
Dans le fichier avec Bloc-notes je vois Chloé
Avec notpat++, je vois Chloé

Merci de ton aide
0
cs_perles Messages postés 74 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 29 mars 2015
Modifié par Whismeril le 18/02/2015 à 19:06
Bonjour,

J'ai fait un enregistrer-sous du fichier avec le bloc-notes avec encodage UTF-8. Dans la message box le prénom s'affiche Chloé.

        ' Lecture fichier GDTEtilab.GDT et remplissage du tableau

Dim SR As StreamReader = File.OpenText("C:\etilab\import\GDTEtilab.GDT")
        Dim Ligne As String
        Do Until SR.Peek = -1
            Ligne = SR.ReadLine()
            'MsgBox(Ligne)
            ChaineTravailDebut = Mid(Ligne, 4, 4)
            ChaineTravailFin = Mid(Ligne, 8, 100)
            If ChaineTravailDebut = "3102" Then
                prenom = ChaineTravailFin
                MsgBox(prenom)
            End If
        Loop
        SR.Close()


Comment en visual studio, je peux lire mon fichier GDTEtilab.GDT et le transformer en UTF-8

Merci de votre aide

A bientôt
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
17 févr. 2015 à 12:17
La ligne
FileOpen(1, "C:\etilab\import\GDTACHI.GDT", OpenMode.Input)
Me fait quand même penser à du .NET, mais avec l'import Microsoft.VisualBasic.
Donc :
En VB.NET pensez à activer "Option Explicit" et "Option Strict" (propriétés du projet)
et retirer l'import automatique de l'espace de nom "Microsoft.VisualBasic" (onglet références du projet).
0
cs_perles Messages postés 74 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 29 mars 2015
18 févr. 2015 à 21:55
Bonjour,

J'ai activé "Option Explicit" à ON et "Option Strict" à ON (propriétés du projet).
Mais je ne trouve pas dans l'onglet références du projet l'import automatique.

Merci

A bientôt
0
et si tu ajoute cet argument a l'ouverture de ton fichier
System.Text.Encoding.Default
0
cs_perles Messages postés 74 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 29 mars 2015
Modifié par Whismeril le 18/02/2015 à 19:05
Bonjour,

Merci mais comment !!!

' Lecture fichier GDTEtilab.GDT et remplissage du tableau

Dim SR As StreamReader = File.OpenText("C:\etilab\import\GDTEtilab.GDT")
        Dim Ligne As String



Merci

Bonne soirée

EDIT: Ajout de la coloration syntaxique.
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159 > cs_perles Messages postés 74 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 29 mars 2015
18 févr. 2015 à 19:33
Merci aussi de lire mes conseils, ils te permettront de faire un code nettement plus propre et maintenable.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
18 févr. 2015 à 20:16
tu peux lire tout le fichier d'un bloc

'on déclare une liste de string
 Private lines As New List(Of String)

private sub ReadFile
dim ChaineTravailDebut , ChaineTravailFin,prenom as string
'on lit le fichier
lines = IO.File.ReadAllLines("C:\etilab\import\GDTEtilab.GDT", System.Text.Encoding.UTF8).ToList
'on traite lines
for each item in lines
ChaineTravailDebut = item.substring( 3, 4)
ChaineTravailFin = item.substring( 7, 100)
If ChaineTravailDebut = "3102" Then
prenom = ChaineTravailFin
MsgBox.show(prenom)
End If
next

end sub
0
cs_perles Messages postés 74 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 29 mars 2015
18 févr. 2015 à 22:25
Bonjour,

Merci pour la réponse. J'ai modifié mon programme et introduit le code que tu m'as donné et tout fonctionne correctement. Le prénom s'affiche Chloé apparaît.

Merci beaucoup
0
cs_perles Messages postés 74 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 29 mars 2015
18 févr. 2015 à 22:33
Bonjour,

Merci pour la réponse. J'ai modifié mon programme et introduit le code que tu m'as donné et tout fonctionne correctement. Le prénom s'affiche Chloé apparaît.

Merci beaucoup

Je dois mettre ce programme sur un Macintosh. A-t-on une possibilité avec visual studio de générer et compiler pour ce type de PC ?

Merci

A bientôt
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
18 févr. 2015 à 22:58
Je pense qu'avec Mono sur le poste de destination, ton programme pourrait marcher, si tu évites l'usage de Microsoft.VisualBasic et que tu actives Option Strict et Option Explicit, le résultat serait plus certain.
0
cs_perles Messages postés 74 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 29 mars 2015 > NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024
19 févr. 2015 à 11:41
Bonjour,

J'active Option Strict et Option Explicit, c'est ok.
Comment je fais avec Mono ?

Merci

A bientôt
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
19 févr. 2015 à 18:32
Mono est un programme à installer, à toi de te senseigner, sour Linux c'est "sudo apt-get install mono-complete"
0
Rejoignez-nous