Pas d'accent dans une combobox [Résolu]

collargol123 86 Messages postés jeudi 24 octobre 2013Date d'inscription 2 avril 2014 Dernière intervention - 9 déc. 2013 à 16:53 - Dernière réponse : cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention
- 10 déc. 2013 à 11:26
Bonjour,

Je charge une fichier text dans une combobox grace au code ci-dessous :
Dim file As System.IO.File

Dim line As String
Dim reader As System.IO.StreamReader
If Not File.Exists(sPath) Then
Exit Sub
End If
reader = File.OpenText(sPath)
'now loop through each line
While reader.Peek <> -1
line = reader.ReadLine()
oLst.Items.Add(line)
End While

'close your reader
reader.Close()

Je m'aperçois qu'il n'y a jamais les accents : exemple : é
J'ai fait un import.system.text qui ne change rien

J'ai cessayé aussi
Dim reader As new System.IO.StreamReader(spath,encoding.default) sans efrficacité

Une idée ?
merci d'avance
Afficher la suite 

14 réponses

cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - 9 déc. 2013 à 17:02
0
Utile
Bonjour,

As-tu les accents dans ton fichier?

J'ai rectifié ton code et j'ai les accents

 Dim line As String
Dim reader As System.IO.StreamReader
If Not IO.File.Exists(sPath)Then
Exit Sub
End If
reader = IO.File.OpenText(sPath)
'now loop through each line
While reader.Peek <> -1
line = reader.ReadLine()
Combobox1.Items.Add(line)
End While

'close your reader
reader.Close()

cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 9 déc. 2013 à 17:07
0
Utile
Salut

essaie
 Dim reader As New System.IO.StreamReader(spath, System.Text.Encoding.UTF8)
collargol123 86 Messages postés jeudi 24 octobre 2013Date d'inscription 2 avril 2014 Dernière intervention - 9 déc. 2013 à 17:17
0
Utile
Bonjour,

Je n'ai pas remplacé oLst.Items.Add(line) par Combobox1.Items.Add(line) car je suis dans une procédure Public Sub LoadComboBox(ByRef oLst As System.Windows.Forms.ComboBox, ByVal sPath As String)

et Dim reader As New System.IO.StreamReader(spath, System.Text.Encoding.UTF8) ne fonctionne pas

...
cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - 9 déc. 2013 à 18:10
0
Utile
Essaie ceci

Imports System.IO
Imports System.Text

Public Sub LoadComboBox(ByRef oLst As System.Windows.Forms.ComboBox, ByVal sPath As String)
Dim line As String
Dim reader As StreamReader = New System.IO.StreamReader(sPath, Encoding.Default)
If Not File.Exists(sPath) Then
Exit Sub
End If
reader = File.OpenText(sPath)
'now loop through each line
While reader.Peek <> -1
line = reader.ReadLine()
oLst.Items.Add(line)
End While
'close your reader
reader.Close()
End Sub



collargol123 86 Messages postés jeudi 24 octobre 2013Date d'inscription 2 avril 2014 Dernière intervention - 9 déc. 2013 à 18:19
0
Utile
sPath, Encoding.Default

J'avais deja essayé
j'ai retenté et cela ne marche tjrs pas
cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - 9 déc. 2013 à 18:32
0
Utile
Le lances-tu comme ceci:

   LoadComboBox(ComboBox1,"C:\ chemin \Fichier.txt")
'mettre le nom de ton combo

chez moi cela fonctionne
collargol123 86 Messages postés jeudi 24 octobre 2013Date d'inscription 2 avril 2014 Dernière intervention - 9 déc. 2013 à 18:56
0
Utile
Public Class frmBou
Inherits System.Windows.Forms.Form

dim chemin as string = application.startuppath & "\Fichier.txt"

... et dans frm load

LoadComboBox(cmb1, chemin)
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - Modifié par cs_ShayW le 9/12/2013 à 21:06
0
Utile
peut etre ainsi

j'ai testé avec un fichier txt contenant des accents pas de problème
ComboBox1.Items.Clear()
ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(Application.StartupPath & "\Fichier.txt"))

aussi ton premier code fonctionne chez moi
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 9 déc. 2013 à 21:12
0
Utile
Je pense que la première question devrait être celle-ci :
Qu'affiche l'ouverture, par le bloc-notes, depuis la machine abritant cette application, du fichier texte considéré ?
collargol123 86 Messages postés jeudi 24 octobre 2013Date d'inscription 2 avril 2014 Dernière intervention - 9 déc. 2013 à 23:24
0
Utile
hELLO,

J'ai trouvé d'où vient l'erreur !

En VB6 j'enregistré les combobox sous la forme d'un fichier "fichier.lst"

En vbnet j'enregistre sous la forme "fichier.txt"

J'ai donc ouvert avec le bloc note mon fichier "fichier.lst" que j'ai enregistré sous la forme "fichier.txt" avant de pouvoir utiliser mon fichier précédent. Et effectivement je n'arrive pas à lire les accents.

Comment donc faire pour récupérer ce fichier.lst et arriver à le faire lire ?
collargol123 86 Messages postés jeudi 24 octobre 2013Date d'inscription 2 avril 2014 Dernière intervention - 9 déc. 2013 à 23:29
0
Utile
Résolu !
J'ai ouvert option d'enregistrement avancé, j'ai choisi unicode UTF8 sans signature pour l'enregistrement du fichier !
collargol123 86 Messages postés jeudi 24 octobre 2013Date d'inscription 2 avril 2014 Dernière intervention - 10 déc. 2013 à 01:56
0
Utile
Si j'ai 100 dossiers dans lesquels j'ai des fichiers .lst et que je desire pourvoir les charger dans les combobox et les visualiser avec les accents, comment feriez-vous ?

Car je ne souhaite pas ouvrir les 100 dossiers pour enregistrer chaque fichier .lst en UTF8 !
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 10 déc. 2013 à 10:56
0
Utile
Pose la question dans un nouveau post
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 10 déc. 2013 à 11:26
0
Utile
pas clair

Tu as dit que tu as ouvert ton fichier.lst avec le blocknote
Et effectivement je n'arrive pas à lire les accents.
ensuite tu as du corrigé le text en remettant les accents et
sauvegardé avec format utf8

maintenant tu as 100 fichiers à corriger
tu seras obligé de les corriger car aucun code ne pourra remettre
les accents
le format utf8 ne corrige pas ton texte mais permet de sauvegarder le texte en conservant les accents

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.