Bonjour à tous,
Dans l'objectif d'effectuer des calculs à partir de données acquises par ailleurs et stockées dans un fichier texte séquentiel (séparateur de champs ";" et fin de ligne classique #13#10) j'ai écrit le code suivant :
Le test de fonctionnement de ce code en exécution pas à pas m'indique que la récupération du fichier séquentiel caractère après caractère puis ligne par ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 // Insertion des données du fichier Balance dans le tableau Balance i_Bal0 := 0 ; AssignFile(FichBalance , NomFichBal) ; Reset(FichBalance) ; While not Eof (FichBalance) Do Begin i_Bal0 := i_Bal0 + 1 ; j := 1 ; PgBarBalanc.Position := i_Bal0 ; // le curseur du repère progression balance readln(FichBalance, LignDatBal_i) ; // lecture ligne par ligne du fichier balance MotBal := '' ; LonglgnBal := length(LignDatBal_i) ; For i := 1 to LonglgnBal Do CaractBal := lignDatBal_i[i] ; // les caractères l'un après l'autre de la ligne lue If CaractBal <> ';' then // le séparateur de champs entre les varaibles lues Begin MotBal := MotBal + CaractBal ; Edit1.text := MotBal ; // instruction provisoire pour controler les lectures end Else Begin MotBalanc[j] :=MotBal ; j := j + 1 ; Motbal := '' ; end ; Edit1.text := MotBalanc[j] ; // instruction provisoire Balanc[j , i_Bal0] := MotBalanc[j] ; // construction ligne après ligne du tableau end; // ***** Fin d'insertion des données du fichier Balance dans le tableau Balance End;
se fait convenablement mais le logiciel n'accède jamais aux instructions gérées par les conditions et boucles
Comment procéder pour que cela fonctionne, l'objectif final étant d'obtenir un tableau à 4 colonnes et autant de lignes que nécessaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 If CaractBal <> ';' then // le séparateur de champs entre les vaiables lues Begin .................... .................... end Else Begin .................... .................... end ;
où la Première colonne correspond à la première donnée acquise, la seconde colonne à la seconde donnée du fichier texte (séparée dans ce fichier par ; pareil pour la troisième et la quatrième qui se termine par #13#10 dans le fichier texte.
Partager