PDA

View Full Version : Lecture fichier texte


CerfVolant
11-13-2006, 10:57 AM
je veux enregistrer un fichier texte dans un tableau :

Global(DataLangue$);
Dim(DataLangue$,100);

FichierLangue$=Fopen(AppPath$+"\\Data\\Francais.ln g","r");
LectureLigne$=" "; // variable vide pour sauter le While
Flag$=1;
While(LectureLigne$<>"") // Je ne sais pas gerer les EOF
LectureLigne$=ReadString(FichierLangue$);
DataLangue$[Flag$]=LectureLigne$;
ShowMessage(DataLangue$[Flag$]);
Flag$=Flag$+1;
End; // fin du While (LectureLigne$<>"")
Fclose(FichierLangue$);

Ma variable DataLangue$[Flag$] ne prend pas l'alphamumérique mais me sort un chiffre qui corresond a rien ?
Je pense que c'est un pb de typage de variable, les variables dans ppl n'étant pas typé.
Il doit y avoir une solution facile, mais je trouve pas ...

kornalius
11-13-2006, 04:38 PM
DataLangue$ est un array. Un array ne contient que les pointeurs des strings.

Il faut utiliser @ pour sortir la string.

ShowMessage(@DataLangue$[Flag$]);

Vous pouvez utiliser:

Dim(DataLangue$, 100);
s$ = LoadStr(AppPath$+"\\Data\\Francais.lng");
StrToList(s$, #13#10, l$);
ListToArray(l$, DataLangue$);

Vous pouvez garder la liste au lieu du array. Une list est beaucoup plus flexible.

CerfVolant
11-13-2006, 11:15 PM
Super merci,

Au passage j'ai appris comment utiliser un LoadStr

je progresse, je progresse .

J'utilise un tableau (array) car dans une liste on traite les données les une après les autres sans pouvoir trouver une ligne spécifique par son numéro

For Each (List$)

end;

avec un tableau on peut aller chercher la ligne x

resultat$=Tableau[4];

kornalius
11-14-2006, 02:07 AM
Avec les listes aussi:

resultat$ = Liste$[4];

Obtien l'item a la position 5 dans la liste.