Caractere spéciaux dans listbox [Résolu]

Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Dernière intervention
2 avril 2014
-
Bonjour,

Il y a des fois vbnet ...
VB6 etait tellement plus simple !

Bon cette fois j'ai un probleme d'affichage dans ma listbox.
Les accents se transforment en caracteres bizarroides.

Si je charge un fichier avec accent dans ma listbox -->pas de probleme
Par contre si j'ai le malheur de renommer ce même fichier et qu'il a un accent --> le caractere bizarroide apparait

Pour renommer j'utilise le code ci-dessous :
My.Computer.FileSystem.RenameFile(Chemin & "\" & Listbox1.SelectedItem & ".txt",  
nouveauNom & ".txt")



Une idée ?
Merci à vous
Afficher la suite 

Votre réponse

7 réponses

Messages postés
12371
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
0
Merci
Correction de la coloration syntaxique. Pour plus de lisiblité pense à spécifier le langage avec la liste déroulante (flèche vers le bas) à côté de <>. Détails ici.
Commenter la réponse de Whismeril
Messages postés
12371
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
0
Merci
Bonjour, ou apparaît le caractère bizarre, dans la liste box ou dans le nom du fichier?
Commenter la réponse de Whismeril
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Dernière intervention
2 avril 2014
0
Merci
bonjour,

dans la listbox et le fichier localisé dans le dossier
Commenter la réponse de collargol123
Messages postés
12371
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
0
Merci
OK, peux tu poster le code avec lequel tu charges la listbox, et celui de la mise à jour après renommage.

Penser aux balises de coloration syntaxique: bouton <>, préciser le langage :<code csharp>.
Quand la solution est trouvée, mettre la discussion Résolue.
Commenter la réponse de Whismeril
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Dernière intervention
2 avril 2014
0
Merci
Au lancement de l'exe, chargement des noms des fichiers text (nom.txt) dans la listbox grace à une procédure :


private sub MiseAjour
Listbox1.Items.Clear()
Dim sFiles() As String
Dim nbfiles As Integer
Dim i As Integer
sFiles = Directory.GetFiles(Chemin)
nbfiles = Directory.GetFiles(Chemin).Length()
For i = 0 To nbfiles - 1
Dim pathfile As String = sFiles(i)
Dim NomFichier As String = pathfile.Remove(0, InStrRev(pathfile, "\", -1))
Dim x As Integer = NomFichier.Length - 4
Dim fichier As String = NomFichier.Remove(x, 4)
Listbox1.Items.Add(fichier)
Next

Ensuite je renomme le fichier text : je l'ouvre, je recupere des lignes, qui je m'en serrs pour renomme rle fichier :

Dim Chaine As String
Dim Ar(15) As String
Dim ligne As String
Dim i As Integer
Dim selection As String
selection = Listbox1.SelectedItem

Dim sr As New StreamReader(Chemin & "\" & selection & ".txt")

'Do Until sr.Peek = -1
i = 1
Do Until i = 15
ligne = sr.ReadLine()
Ar(i) = ligne
i = i + 1
Loop
sr.Close()
bo = UCase(Ar(2))
bi = StrConv(Ar(3), vbProperCase)
bu = Ar(7)

Je renomme ensuite le fichier

My.Computer.FileSystem.RenameFile(Chemin & "\" & Listbox1.SelectedItem & ".txt",
bo & " " & bi & " " & bu & ".txt")

Puis je relance la procédure MiseAjour
Commenter la réponse de collargol123
Messages postés
12371
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
0
Merci
Bonjour,

quand tu utilise les balises de codes, merci de bien seclectionner le langage, comme je te l'ai déjà demandé plus haut.

Ceci fonctionne chez moi
        My.Computer.FileSystem.RenameFile("C:\test.txt", "éèàôï.txt")

Si tu mets un point d'arrêt que valent bo, bi et bu?

Commenter la réponse de Whismeril
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Dernière intervention
2 avril 2014
0
Merci
bonsoir,

j'ai trouvé la solution de cette manière.
Le problème vient de la lecture du fichier texte, qui reconnait pas certains caracteres. J'ai rajouté " System.Text.Encoding.Default" et le tour est joué !

Dim sr As New StreamReader(CheminHprim & "\" & selection & ".txt", System.Text.Encoding.Default)
Commenter la réponse de collargol123

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.