Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.01 c
1-90991
kronos
2002-03-14 13:29
2002.03.28
Смена активного поля.


1-90941
UserL
2002-03-14 12:22
2002.03.28
Как связать объекты?


1-90834
kaif
2002-03-15 23:25
2002.03.28
Выпадающий список подсказок в произв.месте?


3-90765
Sam
2002-02-20 19:53
2002.03.28
Конвертирование БД


3-90735
DeNN
2002-02-28 18:11
2002.03.28
Таблица