Caractere spéciaux dans listbox

Résolu
collargol123
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Statut
Membre
Dernière intervention
2 avril 2014
- Modifié par Whismeril le 28/03/2014 à 07:26
collargol123
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Statut
Membre
Dernière intervention
2 avril 2014
- 2 avril 2014 à 23:14
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

7 réponses

Whismeril
Messages postés
17486
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
600
28 mars 2014 à 07:31
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.
0
Whismeril
Messages postés
17486
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
600
28 mars 2014 à 07:32
Bonjour, ou apparaît le caractère bizarre, dans la liste box ou dans le nom du fichier?
0
collargol123
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Statut
Membre
Dernière intervention
2 avril 2014

28 mars 2014 à 11:07
bonjour,

dans la listbox et le fichier localisé dans le dossier
0
Whismeril
Messages postés
17486
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
600
Modifié par Whismeril le 28/03/2014 à 11:18
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
collargol123
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Statut
Membre
Dernière intervention
2 avril 2014

28 mars 2014 à 15:44
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
0
Whismeril
Messages postés
17486
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
5 juillet 2022
600
30 mars 2014 à 16:12
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?

0
collargol123
Messages postés
86
Date d'inscription
jeudi 24 octobre 2013
Statut
Membre
Dernière intervention
2 avril 2014

2 avril 2014 à 23:14
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)

                
0