TFileStream avec ReadBuffer sur longueur strings déterminé
Bonjour à toutes et à tous,
J'essaie de lire un fichier txt par TfileStream, je souhaiterais envoyé la taille de la chaine à retourner, mais cela ne fonctionne pas.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| function ReadFilesTxt(Fichier: TStringList; NbCar:Integer): String;
Var
Stream : TFileStream;
i: Integer;
begin
// Result := '';
for i := 0 to Fichier.Count - 1 do
begin
with TFileStream.Create(Fichier[i],
fmOpenRead or fmShareDenyWrite) do begin
try
ReadBuffer(Result[NbCar],Sizeof(Result[NbCar]));
Finally
Free;
end;
end;
end;
end; |
Par contre si je fais cela sa fonctionne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| function ReadFilesTxt(Fichier: TStringList; NbCar:Integer): String;
Var
Stream : TFileStream;
i: Integer;
Value: String[20];
begin
Result := '';
for i := 0 to Fichier.Count - 1 do
begin
with TFileStream.Create(Fichier[i],
fmOpenRead or fmShareDenyWrite) do begin
try
ReadBuffer(Value,Sizeof(Value));
Result := Value;
Finally
Free;
end;
end;
end;
end; |