Сообщение от oposum_2000
Privet,
U menea vopros po libe Array2D ... vozmojnoli Dim(x,y) ne s type integer a custom type... ( ex : masiv:=Dim(10,20) of Hlimits; or masiv:=Dim(10,20,Hlimits); )
type Hlimits = record
x,y,dx,dy:integer;
end;
bolishoe spasibo,
oposum.
|
И да и нет. В либе можно хранить ТОЛЬКО int, но в твоём случае можно сделать маленькое исключение. При создании таблицы размер нужно брать в 4 раза больший, чем твоё количество Hlimits'ов, примерно так: Dim(1, 400); - для массива на 100 элементов. Для записи одного Hlimits в массив используем процедуру примерно такую:
Procedure Put_hl(x: integer; y: integer; dx: integer; dy: integer; addr: integer);
begin
PutInt(1, addr * 4, x); PutInt(1, addr * 4 + 1, y);
PutInt(1, addr * 4 + 2, dx); PutInt(1, addr * 4 + 3, dy);
end;
Для чтения процедура аналогичная (нужно будет только выше объявить временные переменные xx, yy, ddx, ddy типа integer):
Procedure Get_hl(addr: integer);
begin
xx:=GetInt(1, addr * 4); yy:=GetInt(1, addr * 4 + 1);
ddx:=GetInt(1, addr * 4 + 2); ddy:=GetInt(1, addr * 4 + 3);
end;