Delphi-Help

Главная Статьи Массивы Работа с большими массивами

Работа с большими массивами

Оцените материал
(0 голосов)


Работа с большими массивами

Распределите память кучи с помощью GetMem. Если вы имеете:

var a, b: array[0..30000]: Integer;

то попробуйте:

type  TBigArray = array[0..30000] of Integer;
var  a, b: ^TBigArray;

и во внешнем блоке сделайте:

GetMem(a, SizeOf(TBigArray));
GetMem(b, SizeOf(TBigArray));

Также необходимо применять указатели на память вместо ссылок, например взамен:

a[0] := xxx;

необходимо использовать

a^[0] := xxx;

 

 

Заставить Delphi работать с достаточно большим массивом данных

procedure TForm1.Button1Click(Sender: TObject);
  type
    TMyRec = record
    i1, i2, i3: Integer;
  end;
  TMyArr = array[1..20000000] of TMyRec;
  PMyArr=^TMyArr;
var
  A: PMyArr;
begin
  GetMem(A, SizeOf(TMyArr));
  A^[1].i1 := 100;
  ShowMessage('Ok' + IntToStr(A^[1].i1));
  FreeMem(A);
end;
Прочитано 6147 раз

Авторизация



Счетчики