Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возврат каретки на предыдущую строку 
:(
    Опции темы
mod74
  Дата 5.11.2009, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.11.2009

Репутация: нет
Всего: нет



Здравствуйте! Помогите пожалуйста! Как в консольном приложении Visual C++ вернуть положение курсора на одну или несколько строк вверх?! Заранее спасибо!
PM MAIL   Вверх
bsa
Дата 5.11.2009, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Кажется как-то так:
Код
#include <conio.h>
gotoxy(1, gety()-2);

PM   Вверх
andrew_121
Дата 5.11.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



bsa, Помоему, gotoxy() чисто борландовская кака(возможно ошибаюсь)


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
bsa
Дата 5.11.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



PM   Вверх
Anikmar
Дата 5.11.2009, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(andrew_121 @  5.11.2009,  18:25 Найти цитируемый пост)
bsa, Помоему, gotoxy() чисто борландовская кака(возможно ошибаюсь) 


Почему же кака? Это не кака, а очень полезная и хорошая функция. И если бордланд ее изобрел - только похвально. На самом деле отсутствие такой полезной "каки" в микрософтовском компиляторе под ДОС (потом, кстати, они такую каку встроили кажется, точно не помню) жутко выводило из себя весь наш отдел в свое время - приходилось напрямую работать с прерываниями и видеопамятью.


PM MAIL ICQ   Вверх
andrew_121
Дата 5.11.2009, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Anikmar, Почему из всего моего поста Вы заметили только:
Цитата(andrew_121 @  5.11.2009,  18:25 Найти цитируемый пост)
кака

?

Я ведь хотел сказать что это не стандартная функция, и она не поддерживается почти никаким компилятором.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Dov
Дата 5.11.2009, 22:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



Цитата(mod74 @  5.11.2009,  17:12 Найти цитируемый пост)
Как в консольном приложении Visual C++ вернуть положение курсора на одну или несколько строк вверх?!

Вот, небольшой примерчик...
Код
#define LEN     13
#define TIMEOUT 200

void gotoxy(short x, short y)
{
    HANDLE    StdOut    = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD    coord    = {x, y};

    SetConsoleCursorPosition(StdOut, coord);
}

int wherex()
{
    HANDLE                        StdOut    = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO    csbi;

    GetConsoleScreenBufferInfo(StdOut, &csbi); 

    return int(csbi.dwCursorPosition.X);
}

int wherey()
{
    HANDLE                        StdOut    = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO    csbi;

    GetConsoleScreenBufferInfo(StdOut, &csbi); 

    return int(csbi.dwCursorPosition.Y);
}

int main() 
{
    char * str        = "qwerty";
    int    len        = strlen(str);
    int    coord_Y    = -1;    
    int    i;

    for(i = 0; i < LEN; i++)
    {
        gotoxy(wherex(), ++coord_Y);
        printf(str);
        Sleep(TIMEOUT);
    }

    for(i = 0; i < LEN - 1; i++)
    {
        gotoxy(wherex() - len * 2, ++coord_Y);
        printf(str);
        Sleep(TIMEOUT);
    }

    for(i = 0; i < LEN / 2; i++)
    {
        gotoxy(wherex() - len, coord_Y -= 2);
        printf(str);
        Sleep (TIMEOUT);
    }

    for(i = 0; i < LEN / 2 - 2; i ++)
    {
        gotoxy(wherex() + 1, wherey());
        printf(str);
        Sleep (TIMEOUT);
    }

    gotoxy(wherex(), wherey() + LEN + 1);

    return 0;
}


з.ы. windows.h нужно подключить.



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
andrew_121
Дата 5.11.2009, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Dov, BGI написанный под винду: http://codecutter.org/tools/winbgim/


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Dov
Дата 5.11.2009, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



andrew_121,  у чела Visual C++. 


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Anikmar
Дата 5.11.2009, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(andrew_121 @  5.11.2009,  21:50 Найти цитируемый пост)
Anikmar, Почему из всего моего поста Вы заметили только:

Не обижайтесь, но вся ваша фраза была такая:
Цитата(andrew_121 @  5.11.2009,  18:25 Найти цитируемый пост)
bsa, Помоему, gotoxy() чисто борландовская кака(возможно ошибаюсь) 

Больше в посте ничего не было - и я заметил, что вы назвали данную функцию "кАкой"
Вот я и отписался.  smile Я прекрасно знаю вашу "любовь" к борланду и отписался чисто справедливости ради. Не все у борланда криво, и не все у микрософта круто  smile (религиозные войны не начинать!). Функция gotoxy на мой взгляд достойна помещения в стандарт. (Может само слово goto действует на разработчиков стандарта плохо?  smile )

 smile 
Тут кстати недавно прооскочила тема от Лены по поводу нового Борланда и в качестве одного из плохого в нем было названо плохая  работа с БД - типа в VS намного лучше. Смешно, но я в свое время соскочил на борланд с микрософта именно из-за того, что в нем было комфортно писать приложения именно для работы м БД... Это был 1997 год и на то время микрософтовский компилятор для работы с БД использовали только мозахисты ИМХО...
PM MAIL ICQ   Вверх
andrew_121
Дата 6.11.2009, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(Anikmar @  5.11.2009,  23:40 Найти цитируемый пост)
Я прекрасно знаю вашу "любовь" к борланду

 smile 


Цитата(Anikmar @  5.11.2009,  23:40 Найти цитируемый пост)
Тут кстати недавно прооскочила тема от Лены по поводу нового Борланда

Где статья? Что за борланд?


Цитата(Anikmar @  5.11.2009,  23:40 Найти цитируемый пост)
в качестве одного из плохого в нем было названо плохая  работа с БД - типа в VS намного лучше. Смешно, но я в свое время соскочил на борланд с микрософта именно из-за того, что в нем было комфортно писать приложения именно для работы м БД... Это был 1997 год и на то время микрософтовский компилятор для работы с БД использовали только мозахисты ИМХО... 

Даже не предвтавляю о чем вы говорите, икакое отношение среда разработки имеет к ЯП? smile  Да ладно..


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Anikmar
Дата 6.11.2009, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(andrew_121 @  6.11.2009,  01:10 Найти цитируемый пост)
Где статья? Что за борланд?

В ветке билдера топик такой есть

Цитата(andrew_121 @  6.11.2009,  01:10 Найти цитируемый пост)
Даже не предвтавляю о чем вы говорите, икакое отношение среда разработки имеет к ЯП?   Да ладно.. 


Так я офтопил - о чем сразу и признался  smile  Так просто к слову пришлось.
Dov своим примером напомнил мне как раз 95-97 год прошлого века. Примерно так и приходилось извращаться из-за отсутствия нужной "каки" у микрософта.  smile  Кстати, по поводу отношения среды к ЯП - тут достаточно много конкретики по VS рассматривается, хотя вроде не та ветка.
PM MAIL ICQ   Вверх
teatorb
Дата 13.9.2022, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 12.9.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1714 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.