Текущий архив: 2002.03.28;
Скачать: CL | DM;
ВнизВопрос по Паскалю: как сделать курсор невидимым? Найти похожие ветки
← →
Брат (2002-03-13 09:47) [0]Как сделать курсор невидимым? Пишу на ТурбоПаскале курсак под ДОС, нарисовал менюшку. Все бы хорошо, но курсор не могу спрятать.
← →
Nebula (2002-03-13 10:00) [1]Procedure CursorOn; Assembler;
Asm
mov ah,1
mov ch,6
mov cl,7
int $10
End;
Procedure CursorOff; Assembler;
Asm
mov ah,1
mov ch,$20
int $10
End;
Советую скачать Tech help, старая базенка для DOS программистов, там много интересного, в свое время цены ей не было. Плюс еще список перывания Ральфа Брауна. Было время.
← →
Андрей Сенченко (2002-03-13 12:10) [2]Дык ить препода в курсаче наткнутся на ассемблерный код и еще чего доброго вопрос зададут ...
Советую сделать так:
var
r:registers;
Procedure CursorOn;
begin
with r do
begin
AH := 1;
CH := 6;
CL := 7;
end;
Intr($10,r);
end;
Procedure CursorOff;
begin
with r do
begin
AH := 1;
CH := $20;
end;
Intr($10,r);
end;
И на глупые вопросы препода из серии "где взял ?" отвечать уже не "В ГУМе купил", а вполне конкретно: в книжке Фаронова по TP 5.0
← →
Брат (2002-03-13 14:00) [3]Спасибо!
Дело в том, что я соседу курсак пишу. С ним я договорился: без комментариев. Так что это уже как бы и не мое дело.
← →
Anatoly Podgoretsky (2002-03-13 22:51) [4]Андрей Сенченко © (13.03.02 12:10)
А если чего доброго вопрос зададут?
← →
EsKor (2002-03-14 03:07) [5]Обычно с Turbo Pascal-ем используют библиотеку Turbo Professional. Тогда для скрытия и отображения курсора используют
вызов процедур HiddenCursor и NormalCursor соответственно. На всякий случай проверьте нет ли их в стандартном TP. Может я ошибаюсь и дополнительная библиотека не нужна.
Кстати в этой библиотеке есть хорошие модули для работы с окнами (TPWindow) и меню (TPMenu).
← →
~Sergius (2002-03-14 03:13) [6]А чтоб вопрос задали такой, на котороый было бы легко ответить, просто можно увести курсор за пределы отображаемого экрана в данном видеорежиме, напр. на 26 строку в 80x25.
Т.е, вместо использования BIOS set cursor type (AH=01)использовать BIOS set cursor position (AH=02h). Оно куда легче объяснимо. В DH задаешь строку, в DL -- колонку:
asm
mov ah,02h
mov dh,0h
mov dl,30
int 10h
end;
Но вывод на экран, разумеется при этом нужно делать напрямую в видеопамять, без всяких Write
НО! так как использование ассемблера в любом случае вызовет вопросы -- то... пусть он выбирает, что он сможет объяснить. По-другому все-равно не сделаешь
← →
~Sergius (2002-03-14 03:15) [7]2 EsKor
Никаких процедур для сокрытия курсора в "стандартной поставке" не имеется :-(
← →
EsKor (2002-03-14 07:43) [8]Да, никаких процедур для сокрытия курсора в "стандартной поставке" не имеется. Если не связываться с ассемблером, то достаточно заиметь в каталоге TPU один модуль из библиотеки Turbo Professional - это TPCrt.tpu или его исходник TPCrt.pas.
Возможности его не ограничиваются только сокрытием курсора.
Если кому надо могу прислать. Исходника в настоящий момент у меня нет, а TPCrt.tpu есть и весит он 34кБ.
Страницы: 1 вся ветка
Текущий архив: 2002.03.28;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.006 c