powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Есть ли аналог старой доброй функции gotoxy() в Visual C++?
6 сообщений из 6, страница 1 из 1
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
    #34138972
I_Work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была раньше такая функция - gotoxy(), которая изменяла текущую позицию курсора. Уже давно работаю на Visual C++. Постоянно пишу консольные приложения. Но вот недавно ВПЕРВЫЕ столкнулся с задачей, когда необходимо управлять положением каретки. Облазил все, что смог, просмотрел MSDN, друзей и коллег спросил - никто не знает... Прямо как-то удивительно! Быть может подобной функции вообще нет, но никто мне об этом тоже ничего не сказал...

Посему посмел обратиться на форум. Подскажите, пожалуйста, каким образом можно узнавать и задавать позицию курсора в консольном приложении. (имеется в виду не курсор мышки, а тот курсор, что "печатает").

Варианты типа многократного использования "\b" и т.п. не стоит рассматривать.

С уваженим, Евгений
...
Рейтинг: 0 / 0
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
    #34139080
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
I_WorkБыла раньше такая функция - gotoxy(), которая изменяла текущую позицию курсора. Уже давно работаю на Visual C++. Постоянно пишу консольные приложения. Но вот недавно ВПЕРВЫЕ столкнулся с задачей, когда необходимо управлять положением каретки. Облазил все, что смог, просмотрел MSDN, друзей и коллег спросил - никто не знает... Прямо как-то удивительно! Быть может подобной функции вообще нет, но никто мне об этом тоже ничего не сказал...

Посему посмел обратиться на форум. Подскажите, пожалуйста, каким образом можно узнавать и задавать позицию курсора в консольном приложении. (имеется в виду не курсор мышки, а тот курсор, что "печатает").

Варианты типа многократного использования "\b" и т.п. не стоит рассматривать.

С уваженим, Евгений

вариант первый, держать все поле в своей власти, т.е. иметь массив char 80*25 и при помощи sprinf выводить на него что угодно, т.о. легко выйти на нужный xy
вариант второй, зная текущую позицию написать Kпробелов
вариант третий, взять DOS страницу конслоля в памяти, и писать туда напрямую при помощи asm

кстати, последний вариант еще дает возможность изменять цвет символа, фона, и тд.
...
Рейтинг: 0 / 0
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
    #34139084
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос интересный. Я тоже интересовался как писать оконно-текстовые приложения под Windows. Да... как-то руки не доходили.

Может пошарить по исходникам FAR-a?
...
Рейтинг: 0 / 0
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
    #34139088
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такая функция есть. Когда-то я задавал аналогичный вопрос и мне назвали точное название функции. К сожалению сейчас не могу вспомнить ее название, а поиском свой вопрос не нашел. Ее описалово точно есть в MSDN. Если найду, то отпишу...
...
Рейтинг: 0 / 0
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
    #34139093
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел... см. SetConsoleCursorPosition

все наши на www.corba.kubsu.ru
...
Рейтинг: 0 / 0
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
    #34139202
I_Work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> вариант первый, держать все поле в своей власти, т.е. иметь массив char 80*25 и при помощи sprinf выводить на него что угодно, т.о. легко выйти на нужный xy
- думаю, крайне медленный вариант.

> вариант второй, зная текущую позицию написать Kпробелов
- пробелы - это не совсем правильно. Ведь они могут затереть важные места.

> вариант третий, взять DOS страницу конслоля в памяти, и писать туда напрямую при помощи asm
- отличный вариант, но в данном случае не очень целесообразно. Хотя, можно АСМом только позицию устанавливать, а выводить уже при помощи гораздо более удобных функций C. В конце-то концов этот вывод - далеко не самый критичный момент в плане скорости выполнения.


Несмотря на то, что уже нашел ответ (собственно, именно поэтому зашел сюда его написать), хочу поблагодарить Ggg_old.

SetConsoleCursorPosition - то, что надо!

Помимо этого, MSDN также может поведать еще и о функциях, которые позволят изменить и цвет текста и еще много чего помогут... Где искать? В MSDN, по запросу "SetConsoleCursorPosition". Остальное - в ссылках в этой статье.

С уважением, Евгений
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Есть ли аналог старой доброй функции gotoxy() в Visual C++?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]