Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Графика Vga

Автор: Gendalf 30.12.2006 4:55

Помогите пожалуйста создать буфер для VGA графики с разрешением 640*480 1 страница.
Есть исходники EGA графики с разрешением 320*200.
Там тип буфера был описан:
type
screenbyffertype = array [0..63999] of byte;
screenbyfferptr = ^screenbyffertype;
var
byffer:screenbyfferptr;
Припрограмировании на разрешениие 640*480 нам нужен массив размером 307119 байт.

Автор: volvo 30.12.2006 7:00

У тебя проблема только с созданием большого массива? Тогда:

type
parr = ^arr;
arr = array[0 .. 30712] of byte;

huge_arr = array[0 .. 9] of parr;

procedure create_huge;
begin
for i := 0 to 9 do
getmem(huge_arr[i], 30713);
end;

(обращаться - по индексам, зная индекс в "цельном" массиве ты элементарно переведешь его в необходимые тебе 2 индекса в "разрезанном")

Только учти : ЭТО сожрет у тебя половину кучи сразу и без разговоров (только под сам массив)...