![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Gendalf |
![]()
Сообщение
#1
|
Гость ![]() |
Помогите пожалуйста создать буфер для VGA графики с разрешением 640*480 1 страница.
Есть исходники EGA графики с разрешением 320*200. Там тип буфера был описан: type screenbyffertype = array [0..63999] of byte; screenbyfferptr = ^screenbyffertype; var byffer:screenbyfferptr; Припрограмировании на разрешениие 640*480 нам нужен массив размером 307119 байт. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
У тебя проблема только с созданием большого массива? Тогда:
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 индекса в "разрезанном") Только учти : ЭТО сожрет у тебя половину кучи сразу и без разговоров (только под сам массив)... |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 18:52 |