|
|
|
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
|
|||
|---|---|---|---|
|
#18+
Была раньше такая функция - gotoxy(), которая изменяла текущую позицию курсора. Уже давно работаю на Visual C++. Постоянно пишу консольные приложения. Но вот недавно ВПЕРВЫЕ столкнулся с задачей, когда необходимо управлять положением каретки. Облазил все, что смог, просмотрел MSDN, друзей и коллег спросил - никто не знает... Прямо как-то удивительно! Быть может подобной функции вообще нет, но никто мне об этом тоже ничего не сказал... Посему посмел обратиться на форум. Подскажите, пожалуйста, каким образом можно узнавать и задавать позицию курсора в консольном приложении. (имеется в виду не курсор мышки, а тот курсор, что "печатает"). Варианты типа многократного использования "\b" и т.п. не стоит рассматривать. С уваженим, Евгений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 03:12 |
|
||
|
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
|
|||
|---|---|---|---|
|
#18+
I_WorkБыла раньше такая функция - gotoxy(), которая изменяла текущую позицию курсора. Уже давно работаю на Visual C++. Постоянно пишу консольные приложения. Но вот недавно ВПЕРВЫЕ столкнулся с задачей, когда необходимо управлять положением каретки. Облазил все, что смог, просмотрел MSDN, друзей и коллег спросил - никто не знает... Прямо как-то удивительно! Быть может подобной функции вообще нет, но никто мне об этом тоже ничего не сказал... Посему посмел обратиться на форум. Подскажите, пожалуйста, каким образом можно узнавать и задавать позицию курсора в консольном приложении. (имеется в виду не курсор мышки, а тот курсор, что "печатает"). Варианты типа многократного использования "\b" и т.п. не стоит рассматривать. С уваженим, Евгений вариант первый, держать все поле в своей власти, т.е. иметь массив char 80*25 и при помощи sprinf выводить на него что угодно, т.о. легко выйти на нужный xy вариант второй, зная текущую позицию написать Kпробелов вариант третий, взять DOS страницу конслоля в памяти, и писать туда напрямую при помощи asm кстати, последний вариант еще дает возможность изменять цвет символа, фона, и тд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 12:04 |
|
||
|
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
|
|||
|---|---|---|---|
|
#18+
Вопрос интересный. Я тоже интересовался как писать оконно-текстовые приложения под Windows. Да... как-то руки не доходили. Может пошарить по исходникам FAR-a? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 12:16 |
|
||
|
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
|
|||
|---|---|---|---|
|
#18+
такая функция есть. Когда-то я задавал аналогичный вопрос и мне назвали точное название функции. К сожалению сейчас не могу вспомнить ее название, а поиском свой вопрос не нашел. Ее описалово точно есть в MSDN. Если найду, то отпишу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 12:26 |
|
||
|
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
|
|||
|---|---|---|---|
|
#18+
Нашел... см. SetConsoleCursorPosition все наши на www.corba.kubsu.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 12:32 |
|
||
|
Есть ли аналог старой доброй функции gotoxy() в Visual C++?
|
|||
|---|---|---|---|
|
#18+
> вариант первый, держать все поле в своей власти, т.е. иметь массив char 80*25 и при помощи sprinf выводить на него что угодно, т.о. легко выйти на нужный xy - думаю, крайне медленный вариант. > вариант второй, зная текущую позицию написать Kпробелов - пробелы - это не совсем правильно. Ведь они могут затереть важные места. > вариант третий, взять DOS страницу конслоля в памяти, и писать туда напрямую при помощи asm - отличный вариант, но в данном случае не очень целесообразно. Хотя, можно АСМом только позицию устанавливать, а выводить уже при помощи гораздо более удобных функций C. В конце-то концов этот вывод - далеко не самый критичный момент в плане скорости выполнения. Несмотря на то, что уже нашел ответ (собственно, именно поэтому зашел сюда его написать), хочу поблагодарить Ggg_old. SetConsoleCursorPosition - то, что надо! Помимо этого, MSDN также может поведать еще и о функциях, которые позволят изменить и цвет текста и еще много чего помогут... Где искать? В MSDN, по запросу "SetConsoleCursorPosition". Остальное - в ссылках в этой статье. С уважением, Евгений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 14:54 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2030009]: |
0ms |
get settings: |
8ms |
get forum list: |
22ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 503ms |

| 0 / 0 |
