Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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кБ.



Страницы: 1 вся ветка

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

Наверх





Память: 0.46 MB
Время: 0.006 c
1-90877
Man-In-Red
2002-03-17 14:42
2002.03.28
Help!!!


1-90946
Irina Lisova
2002-03-13 19:06
2002.03.28
TreeView как распечатать дерево ?


1-90867
В.К.
2002-03-16 11:33
2002.03.28
Пара вопросов о компонентах


6-91021
Sregey
2001-11-22 17:49
2002.03.28
Все та же ошибка 10055 при попытке подключения TClientSocket


1-90999
fag2000@ok.ru
2002-03-15 13:12
2002.03.28
Как узнать HANDLE окна OLE объекта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский