Tri sur fichier texte

davth Messages postés 5 Date d'inscription dimanche 8 octobre 2006 Statut Membre Dernière intervention 24 novembre 2006 - 12 oct. 2006 à 10:45
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 - 13 oct. 2006 à 21:44
Bonjour à tous,
Débutant en vb, je souhaite effectuer du tri dans un fichier *.txt. Quelqun pourrait il m'indiquer quelle est la méthode (la plus simple)  à utiliser pour faire un tri par ordre alphabétique ou supprimer des doublons par exemple. Merci pour votre aide...

4 réponses

cs_GeorgesDeLajungle Messages postés 29 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 22 juin 2007 1
12 oct. 2006 à 11:02
Bonjour,
En t'aidant des différents sources et tutos tu devrais pouvoir récupérer les données de ton fichier texte dans un tableau. Tu souhaites faire un tri alphabétique, ton tableau sera donc un tableau de string. Utilise les fonctions de comparaisons pour trier ton tableau et retrouver les doublons.
(Regarde le msdn de .net sur les fonctions Icompare)
Tu as aussi la possibilité de créer une table datatable dans laquelle stocker tes valeurs de chaines de caractères et d'utiliser la fonction sort sur ta table. Tout dépend de ce que tu veux faire de ton fichier trié après le réécrire, utiliser les valeurs dans un datagrid ...
A toi de voir.

Eric
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 oct. 2006 à 12:56
Salut,

une autre technique consisterai à placer tes valeurs du fichier texte dans un nouveau classeur excel, tu fais un tri alpha-numériques, puis une extraction (sur place) sans doublons.
Ces 2 méthodes (tri + extraction sans doublons) sont gérées par Excel.

Il te suffit ensuite de relire ces données afin de les replacer dans le fichier texte.

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
THE VIPER Messages postés 46 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 19 octobre 2006
12 oct. 2006 à 15:45
salut ,plus simple ,charge le fichier texte dans une ListBox le tri est inclu comme option et pour les doubles ,un code de genre
on error resume next ' si la longeur du listbox est change ...
for i=0 to list1.listcount-2
if  list1.list(i)=list1.list(i+1) then list1.removeitem(i)' si il y a un double on le supprime .
next

PS:pour charger un fichier texte:
Sub Load_File(filename As String, Listb As ListBox)
Dim String_Buffer As String
Open filename For Input As #1
    Do Until EOF(1)
        Line Input #1, String_Buffer
        Listb.AddItem String_Buffer
    Loop
Close #1
End Sub

A++
THE VIPER
0
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
13 oct. 2006 à 21:44
Salut
Pour les doublons :http://www.troxsa.info/index.php?option=com_content&task=view&id=58&Itemid=2

Puis pour avoir un triage par ordre alpha num suffit d'utiliser la proprieter Sorted du ArrayList !

Cordialement,

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
0
Rejoignez-nous