Mam mały problemik.Stworzyłm plik w którym zapisuje liczbę i tekst.
Procedurea zapisująca
[code]
procedure TForm1.Button1Click(Sender: TObject);
var
stream : TFileStream;
wiek : integer;
imie : array[0..255] of char;
rozmiarTekstu : byte;
begin
wiek := StrToInt(editWiek.Text);
stream := TFileStream.Create('plik.for',fmCreate);
stream.Write(wiek,4);
rozmiarTekstu := Length(editImie.Text);
CopyMemory(@imie,PChar(editImie.Text),rozmiarTekstu);
stream.Write(rozmiarTekstu,1);
stream.Write(imie,rozmiarTekstu);
stream.Free;
end;
[/code]
Procedura odczytująca
[code]
procedure TForm1.Button2Click(Sender: TObject);
var
str : TFileStream;
opis : string;
tekst : array[0..255] of char;
wiek : integer;
rozmiarTekstu : byte;
begin
str := TFileStream.Create('plik.for',fmOpenRead);
str.Read(wiek,4);
str.Read(rozmiarTekstu,1);
str.Read(tekst,rozmiarTekstu);
opis := tekst;
lblTekst.Caption := opis;
lblLiczba.Caption := inttostr(wiek);
str.Free;
end;
[/code]
Zapis pliku jest poprawny (sprawdzałem w HexEdytorze).Problem pojawia się podczas odczytu.Liczba zostaje prawidłowo odczytana,ale do tekstu dodawane są krzaczki.Czy ktoś wie,w czym problem??