Bon, alors encore un truc qui ne fonctionne pas comme il le faudrait...
le but du jeu c'est de remplir la TStringList nommée StList avec ce que je trouve dans un fichier... le fichier étant des bytes. Avec le débugeur, j'ai verifié que St n'était pas nulle. C'est le cas, St vaut systématiquement une chaine <> ''.
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 AssignFile(FFile,Name); Reset(FFile); StList:=TStringList.Create; St:=''; while not(Eof(FFile)) do begin BlockRead(FFile,t,1); while char(t)<>' ' do begin St:=St+char(t) ; BlockRead(FFile,t,1); end; BlockRead(FFile,t,1); while char(t)<>' ' do BlockRead(FFile,t,1); BlockRead(FFile,t,1); while char(t)<>' ' do BlockRead(FFile,t,1); StList.Append(St) ; <---- end; ChargeBetons:=StList; CloseFile(FFile); StList.Free;
On pourrait croire que j'invente du code! et ben non! http://www.delphibasics.co.uk/RTL.asp?Name=TStringList J'ai juste remplacé Add par la méthode Append ce qui revient au même à l'index près (dont je me fout!) mais je vous rassure ça ne marche pas non plus avec Add !!
Voilà si quelqu'un a une idée de pourquoi le lieur estime qu'il n'est pas nécessaire de garder la methode Append... (c'est ce qu'il me dit quand je souhaite evaluer le .Append...)
Je n'ose espérer qu'il va falloir que je me colle ça dans un fichier pour ensuite envoyer ça dans une TStringList passée par une méthode tordue à une procédure sortie de je sais pas où. POURTANT PAS COMPLIQUE DE REMPLIR UNE TSTRINGLIST M***E !!
[edit]
sinon y a mieux...
avec ce code (extrait du cours de didier maillet! ) et bien on obtient royalement une chaine vide! sinon ca va! pas gonflant de passer une soirée sur un code qui fonctionne chez les autres !!!
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 AssignFile(FFile,Name); Reset(FFile); SList:=TStringList.Create; while not(Eof(FFile)) do begin St:=''; BlockRead(FFile,t,1); while char(t)<>' ' do begin St:=St+char(t) ; BlockRead(FFile,t,1); end; BlockRead(FFile,t,1); while char(t)<>' ' do BlockRead(FFile,t,1); BlockRead(FFile,t,1); while char(t)<>' ' do BlockRead(FFile,t,1); SList.Add(St); end;
[edit]
Partager