Показать сообщение отдельно
Старый 19.01.2009, 19:34   #13
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Re: Расширение MP

Сообщение от 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(xintegeryintegerdxintegerdyintegeraddrinteger);
begin
    PutInt
(1addr 4x); PutInt(1addr 1y);
    
PutInt(1addr 2dx); PutInt(1addr 3dy);
end
Для чтения процедура аналогичная (нужно будет только выше объявить временные переменные xx, yy, ddx, ddy типа integer):
Procedure Get_hl(addrinteger);
begin
    xx
:=GetInt(1addr 4); yy:=GetInt(1addr 1);
    
ddx:=GetInt(1addr 2); ddy:=GetInt(1addr 3);
end
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
oposum_2000 (20.01.2009)