Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Вниз

Вопрос по Паскалю: как сделать курсор невидимым? 


Брат   (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кБ.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.018 c
1-90964           alya                  2002-03-13 13:53  2002.03.28  
text-html


1-90902           tovSuhov              2002-03-18 12:35  2002.03.28  
ParamStr...


14-91074          den_c                 2002-02-16 16:50  2002.03.28  
нужна документация по написанию сервисов


1-90933           Сержжж                2002-03-14 11:27  2002.03.28  
Патч к Delphi5 для работы в XP


1-90884           stop8                 2002-03-13 19:16  2002.03.28  
SOS... по QReport 3.0.....