Zapis dynamicznej tablicy do pliku.

0

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

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;

1 użytkowników online, w tym zalogowanych: 0, gości: 1