Je me permets de faire une fois de plus appel à vous après avoir cherché en vain sur les forums la solution à mon problème.
Je suis entrain de développer un lanceur d'applications qui va lire un fichier texte qui se présente sous la forme suivante :
60 C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE
30 C:\Program Files\POST-NET\Post-Net.exe
...
Le premiers nombre représente le nombre de secondes avant de lancer l'appli et le second bloc représente le chemin de l'appli.
Hors afin de savoir l'ordre chronologique, il me faut trier le tableau en 2D.
Voici mon script :
Code : Tout sélectionner
#include <Array.au3>
#include <file.au3>
$fichier_txt="test.txt"
$file = FileOpen($fichier_txt, 0)
; Check if file opened for reading OK
If $file = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf
$ligne_en_cours=0
; Nb ligne fichier
$nb_ligne=Number(_FileCountLines($fichier_txt)+1)
[color=#FF0000]Dim $tab_prg[$nb_ligne][2][/color]
; Read in lines of text until the EOF is reached
While 1
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
$separatif = StringInStr($line, " ")
$tab_prg[$ligne_en_cours][0]=StringLeft($line, $separatif-1)
$tab_prg[$ligne_en_cours][1]=StringRight($line, StringLen($line)-$separatif)
;MsgBox(0, $ligne_en_cours, $tab_prg[$ligne_en_cours])
$ligne_en_cours=$ligne_en_cours+1
Wend
[color=#FF0000];_ArraySort($tab_prg,1,1)[/color]
_ArrayDisplay($tab_prg, "_ArrayDisplay() Test")
FileClose($file)
1. Comment ne pas lui dimensionner le tableau au départ et le faire de manière dynamique (car je ne sais pas le nombre de lignes) autrement qu'en lisant le fichier.
2. Quand j'essaye de trier le tableau avec la fonction _ArraySort, je n'arrive pas à lui dire sur quelle colonne je veux trier et j'obtiens l'erreur suivante :
Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$t = $array[$i]
$t = ^ ERROR
Comment puis je lui dire que je veux trier numériquement la colonne 0.
Merci d'avance pour votre aide.
Cordialement.
BM


