Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 32

Скрыть курсор в консоли

23.02.2016, 08:51. Показов 5437. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хотел сделать что-то в роде ASCII-анимации пролетающих звёзд, но в консоли сильно мешает мигрющий курсор (т.к. я использую gotoxy) И вот собственно возник вопрос: Как его убрать программно? Или может можно как-нибудь размещать символы в разных местах консоли не двигая курсор? Или может просто сымитировать консоль при помощи модуля graph?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.02.2016, 08:51
Ответы с готовыми решениями:

Как скрыть и ПОКАЗАТЬ курсор обратно
system.Windows.Forms.Cursor.Hide; - функция прекрасно работает, только вот когда из игры в менюшку выхожу нужно показать курсор обратно, и...

Скрыть курсор в консоли
Доброго времени суток. Есть вопрос. Как можно скрыть курсор в консоли, в win 7. Дело в том, что ShowCursor не работает. Есть ли...

Временно скрыть курсор в консоли
Подскажите, с помощью какой функции я могу скрыть курсор на время в Visual Studio в консоли? ShowCursor(FALSE); не работает

11
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4490 / 1669
Регистрация: 01.02.2015
Сообщений: 13,898
Записей в блоге: 12
23.02.2016, 09:42
Отправь за границы экрана GoToXY(25,81);

Добавлено через 7 минут
Если работа из TurboPascal в DOS, то можно отключать через BIOS

Добавлено через 8 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
{Процедура скрывает курсор}
PROCEDURE SetNoCursor;
assembler;
asm
  PUSH AX
  PUSH CX
  MOV  AH,$01      {функция формы курсора            }
  MOV  CH,$20      {стартовая (верхняя) линия курсора}
  MOV  CL,$00      {конечная  (нижняя ) линия курсора}
  INT  $10         {вызов прерывания 10H BIOS        }
  POP  CX
  POP  AX
END;
0
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 32
23.02.2016, 09:46  [ТС]
ФедосеевПавел, но если убрать его за границу окна, то как же выводить символы?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4490 / 1669
Регистрация: 01.02.2015
Сообщений: 13,898
Записей в блоге: 12
23.02.2016, 09:49
Сначала вывести, а опосля убрать.

Добавлено через 17 секунд
И вы не уточнили компилятор.
0
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 32
23.02.2016, 09:55  [ТС]
ФедосеевПавел,
FPC.
Я не могу его убирать после вывода т.к. символы выводятся непрерывно с большой скоростью.
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4490 / 1669
Регистрация: 01.02.2015
Сообщений: 13,898
Записей в блоге: 12
23.02.2016, 10:02
У FPC в документации rtl.pdf описание модулей, в том числе и CRT. Так в CRT версии FPC (нет в Turbo Pascal) присутствуют процедуры cursoron и cursoroff.
http://www.freepascal.org/docs... oroff.html
0
0 / 0 / 0
Регистрация: 05.12.2015
Сообщений: 32
23.02.2016, 10:04  [ТС]
ФедосеевПавел, Благодарю.
0
4 / 3 / 2
Регистрация: 20.01.2018
Сообщений: 71
24.04.2020, 00:14
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Если работа из TurboPascal в DOS, то можно отключать через BIOS
Вы конечно модератор, но в вашем коде есть существенный минус — при завершении работы программы MS-DOS не восстанавливает курсор.
Попробую написать аналог функций FPC - cursoron() и cursoroff() - на Turbo Pascal
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4490 / 1669
Регистрация: 01.02.2015
Сообщений: 13,898
Записей в блоге: 12
24.04.2020, 19:44
MegaBatcher2000, так понимаю, что в форме претензии к моему совету, якобы ошибочному, вы декларируете желание изучить функции DOS, BIOS, а также возможности инициализации модулей и цепочки процедур выхода.

Вперёд - только барабан на шею повесьте! Или колокольчик!
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
24.04.2020, 21:41
Цитата Сообщение от MegaBatcher2000 Посмотреть сообщение
при завершении работы программы MS-DOS не восстанавливает курсор
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function CursorShape: Word; assembler;
asm
  mov ah,$03
  int $10
  mov ax,cx
end;
 
procedure CursorSet(Shape: Word); assembler;
asm
  mov ah,$01
  mov cx,[Shape]
  int $10
end;
 
const
  NoCursor=$2000;
var
  OldExit: procedure;
  OldCursor: Word;
 
procedure OnExit; far;
begin
  ExitProc:=OldExit;
  CursorSet(OldCursor);
end;
 
begin
  OldExit:=ExitProc; ExitProc:=OnExit;
  OldCursor:=CursorShape; CursorSet(NoCursor);
  ...
Добавлено через 8 минут
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
претензии к моему совету
Не претензии ради, но истины для: в ассемблерной процедуре TP сохранять РОН не требуется, кроме BP, SP, SS, DS.
2
24.04.2020, 23:23

Не по теме:

процедура из древнего архивчика и набрана вскоре после прочтения
Нортон П., Соухэ Д. Язык ассемблера для IBM PC
А всю книгу пронизывает идеология - меняешь регистр внутри процедуры - изволь восстановить.
После набора работающей версии уже не возвращался к ней для устранения столь несущественных недочётов. Когда разобрался с переключениями размеров шрифтов, пересматривал NormalCursor и BlockCursor - глючили.

Отсюда и "перегибы в сохранении". Конечно же можно ограничится только рекомендованными регистрами.

0
4 / 3 / 2
Регистрация: 20.01.2018
Сообщений: 71
25.04.2020, 22:26
bormant, спасибо! Я что-то не догадался использовать тип word, и никак не получалось. Однако вы отправили готовый код.

Добавлено через 36 секунд
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
якобы ошибочному
Может и не ошибочный, но не совсем правильный
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.04.2020, 22:26
Помогаю со студенческими работами здесь

Подскажите как скрыть курсор(_) в консоли c++
Нужно скрыть при вводе

Скрыть курсор
В общем-то задача проста в некотором смысле. Нужно скрыть курсор на всей области Рабочего стола. Если использовать метод: ...

Как скрыть курсор?
Для Edit'а в событии OnEnter пишу HideCaret(Edit1.Handle); а она возвращает false (т.е. не получилось). Может, потому что в момент...

Скрыть мигающий курсор
Есть один-единственный edit на всю форму. Я добился того, чтобы фокус всегда был на нем, но нужно, чтобы мигающий курсор не было видно.

Как скрыть курсор?
Здравствуйте уважаемые пользователи форума. Появилась проблема. Нужно скрыть курсор с экрана чужой программы. Хэндл программы известен....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru