Page 1 sur 1

[..] Fichier texte dans une Listbox

Posté : lun. 02 juin 2014 12:43
par Andranik
Bonjour,

J'ai vraiment du mal avec les tableaux et les fichiers ... Je n’arrive pas a comprendre leur fonctionnement.
J'ai un fichier texte "ID.txt" et une Listbox qui doit dépendre du fichier id.txt
Dans le fichier id il y a X Ligne et Y colonne.
Je souhaiterait afficher dans la listbox La 1er colonne de mon fichier id.txt
Si je choisis une ligne dans ma listbox et que je veux faire appel a une fonction qui doit afficher la valeur de la colonne 2 de la ligne sélectionner

Code : Tout sélectionner

    $Countfile= _FileCountLines("C:\temp\ids.txt")   ;Je compte le nombre de ligne dans le fichier

    $file = "C:\temp\ids.txt"

For $i = 1 To $CountFile                                     
      ;Local $var1[1]                                      ;$var1 est une colonne 
      $var1 = FileReadLine($file, $i)                       ;Lecture de la ligne 
      $res = StringSplit($var1,":")                     ; Je sépare par un ":" 

 _GUICtrlListBox_AddString($List1, $res)               ;Et je affiche tout cela ici
Next


 
Merci

Re: [..] Fichier texte dans une Listbox

Posté : lun. 02 juin 2014 13:12
par jguinch
StringSplit renvoie un tableau :

Code : Tout sélectionner

_GUICtrlListBox_AddString($List1, $res[1])

Re: [..] Fichier texte dans une Listbox

Posté : lun. 02 juin 2014 13:26
par mikell
Tiens un exemple sympa d'application de StringRegExp avec flag 4
Sur un txt comme ça

Code : Tout sélectionner

abc:123
def:456
ghi:789
Essaye ça
► Afficher le texte

Re: [..] Fichier texte dans une Listbox

Posté : lun. 02 juin 2014 14:03
par Andranik
jguinch a écrit :StringSplit renvoie un tableau :

Code : Tout sélectionner

_GUICtrlListBox_AddString($List1, $res[1])
Merci... cela a fonctionné

Re: [..] Fichier texte dans une Listbox

Posté : lun. 02 juin 2014 15:12
par mikell
1/ FileReadLine($file, $i) est à éviter :
"From a performance standpoint it is a bad idea to read line by line specifying "line" parameter whose value is incrementing by one. This forces AutoIt to reread the file from the beginning until it reach the specified line."
2/ Il faut te mettre aux tableaux, sinon tu auras du mal à progresser en AutoIt
3/ Il faut aller au plus simple. Le petit script ci-dessous (qui fait absolument TOUT ce que tu demandes) utilise la fonction _FileReadToArray (de la dernière version stable 3.3.12.0) qui retourne un tableau à 2 dimensions
► Afficher le texte