Сохранение текстового экрана

Предыдущая тема Следующая тема Перейти вниз

Сохранение текстового экрана

Сообщение  justar в Вс Июл 13, 2008 8:20 pm

Пишу процедуры сохранения/восстановления текстового экрана. Вот что получилось:

SUB SaveVideo (start_x AS INTEGER, end_x AS INTEGER, start_y AS INTEGER, end_y AS INTEGER, buf_ptr AS INTEGER PTR)

DIM row AS INTEGER, colum AS INTEGER

FOR row = start_y TO end_y
FOR colum = start_x TO end_x
*buf_ptr = SCREEN (row, colum): buf_ptr += 1
*buf_ptr = SCREEN (row, colum, 1): buf_ptr += 1
LOCATE row, colum: PRINT " ";
NEXT
NEXT

END SUB

SUB RestoreVideo (start_x AS INTEGER, end_x AS INTEGER, start_y AS INTEGER, end_y AS INTEGER, buf_ptr AS INTEGER PTR)

DIM row AS INTEGER, colum AS INTEGER
DIM char AS INTEGER, attribute AS INTEGER
DIM background AS INTEGER
DIM cellcolor AS INTEGER

FOR row = start_y TO end_y
FOR colum = start_x TO end_x
char = *buf_ptr: buf_ptr += 1
attribute = *buf_ptr: buf_ptr += 1
background = attribute SHR 4
cellcolor = attribute AND &hF
LOCATE row, colum: COLOR cellcolor, background: PRINT CHR$ (CAST (BYTE, char));
NEXT
NEXT

END SUB

За основу взяты функции на Си из книги Г. Шилдта "Си для профессиональных программистов" и примеры из хелпа... но неработает - после вызова SaveVideo в буфере какой-то бред, а не коды символов, которые должны были сохраниться...

В чём ошибка?

justar

Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 43
Откуда : Кишинёв, Республика Молдоа

Посмотреть профиль

Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения