Сохранение и загрузка двумерного динамического масива

type
 T2DBooleanArray = array of array of Boolean;
procedure Save2DBooleanArray(const A: T2DBooleanArray; S: TStream);
var
 writer: TWriter;
 i: Integer;
begin
 Assert(Assigned(S));
 writer := TWriter.Create(S, 8096);
 try
  writer.WriteInteger(Length(A));
  for i := 0 to Length(A) - 1 do
  begin
  writer.WriteInteger(Length(A[i]));
  writer.Write(A[i, 0], Length(A[i]) * sizeof(A[i, 0]));
  end; { For }
 finally
  writer.Free;
 end; { Finally }
end;
procedure Load2DBooleanArray(var A: T2DBooleanArray; S: TStream);
var
 reader: TReader;
 i, numrows, numcols: Integer;
begin
 Assert(Assigned(S));
 reader := TReader.Create(S, 8096);
 try
  numrows := reader.ReadInteger;
  SetLength(A, numrows);
  for i := 0 to numrows - 1 do
  begin
  numcols := reader.ReadInteger;
  SetLength(A[i], numcols);
  reader.Read(A[i, 0], numcols * sizeof(A[i, 0]));
  end; { For }
 finally
  reader.Free;
 end; { Finally }
end;

Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...