Witam.
Mam następujący problem z Delphi. Nie mogę zapisać tablicy dynamicznej do pliku. Jest jakiś sposób żeby to zrobić BlockWrite' em czy trzeba podejść do tego jakoś inaczej?
0
0
A w czym problem? Nie wiem. Nie napisałeś jakiego typu jest ta tablica. Ale ten kod działa bez problemów.
var
Form1: TForm1;
Tab : array of string[3];
Plik : File of Byte;
// Zapis
procedure TForm1.Button1Click(Sender: TObject);
var
I : integer;
begin
SetLength(Tab, 3);
Tab[0] := 'aaa';
Tab[1] := 'bbb';
Tab[2] := 'ccc';
AssignFile(Plik, 'D:\test.bin');
Rewrite(Plik);
for I := Low(Tab) to High(Tab) do
begin
BlockWrite(Plik, Tab[I], SizeOf(Tab));
end;
CloseFile(Plik);
end;
// Odczyt
procedure TForm1.Button2Click(Sender: TObject);
var
I, Cnt : integer;
begin
AssignFile(Plik, 'D:\test.bin');
Reset(Plik);
Cnt := FileSize(Plik) div SizeOf(Tab);
SetLength(Tab, Cnt);
Memo1.Clear;
for I := Low(Tab) to High(Tab) do
begin
BlockRead(Plik, Tab[I], SizeOf(Tab));
Memo1.Lines.Add(Tab[I]);
end;
CloseFile(Plik);
end;