[..] Fichier texte dans une Listbox

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Andranik
Niveau 3
Niveau 3
Messages : 45
Enregistré le : mer. 30 oct. 2013 14:28
Status : Hors ligne

[..] Fichier texte dans une Listbox

#1

Message 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
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Fichier texte dans une Listbox

#2

Message par jguinch »

StringSplit renvoie un tableau :

Code : Tout sélectionner

_GUICtrlListBox_AddString($List1, $res[1])
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Fichier texte dans une Listbox

#3

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Andranik
Niveau 3
Niveau 3
Messages : 45
Enregistré le : mer. 30 oct. 2013 14:28
Status : Hors ligne

Re: [..] Fichier texte dans une Listbox

#4

Message par Andranik »

jguinch a écrit :StringSplit renvoie un tableau :

Code : Tout sélectionner

_GUICtrlListBox_AddString($List1, $res[1])
Merci... cela a fonctionné
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Fichier texte dans une Listbox

#5

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre