Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Вопрос про консольные приложения  (Прочитано 1027 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MaksimM

  • Автор темы
  • Участник
  • *
  • Сообщений: 115
    • Просмотр профиля
Вопрос про консольные приложения
« : 15 Октября 2010, 13:31:58 »
Как сделать, чтобы в консольном приложении проценты о выполнении операции или вообще какие нибудь данные печатались не на новой строке, а на том же месте, как например это делается при  установке пакетов?
« Последнее редактирование: 15 Октября 2010, 13:33:58 от MaksimM »
Единственно стабильная версия - LTS, остальные - беты.

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: Вопрос про консольные приложения
« Ответ #1 : 15 Октября 2010, 13:37:00 »
Вам поможет ncurses

Оффлайн easy2002

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2786
  • Мурманск
    • Просмотр профиля
Re: Вопрос про консольные приложения
« Ответ #2 : 15 Октября 2010, 13:45:33 »
echo -ne ' 10%\r'
echo -ne ' 20%\r'
echo -ne ' 30%\r'
echo -ne ' 40%\r'
echo -ne ' 50%\r'
echo -ne ' 60%\r'
echo -ne ' 70%\r'
echo -ne ' 80%\r'
echo -ne ' 90%\r'
echo -ne '100%\r'
echo -ne '\n'
Tempora mutantur et nos mutantur in illis

Оффлайн MaksimM

  • Автор темы
  • Участник
  • *
  • Сообщений: 115
    • Просмотр профиля
Re: Вопрос про консольные приложения
« Ответ #3 : 15 Октября 2010, 13:46:27 »
На C. И за Bash спасибо. Но что мне придётся в сиsystem("echo -ne ' 10%\r'")использовать?
« Последнее редактирование: 15 Октября 2010, 13:55:56 от MaksimM »
Единственно стабильная версия - LTS, остальные - беты.

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: Вопрос про консольные приложения
« Ответ #4 : 15 Октября 2010, 14:25:54 »
long i;
for(i=0;i<1000000;i++)
printf("%ld\r", i);

Но с помощью ncurses можно сделать красивее.

Да, а можно с помощью эскейп-последовательностей — тоже хорошо, если не нужно супер-быстродействие.
« Последнее редактирование: 15 Октября 2010, 14:34:12 от inkblack »
Делюсь знаниями, но их у меня мало!

Оффлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5743
  • Все по палатам!
    • Просмотр профиля
Re: Вопрос про консольные приложения
« Ответ #5 : 15 Октября 2010, 14:42:42 »
придётся в си
Пример
(Нажмите, чтобы показать/скрыть)
Извините, я все еще учусь

Оффлайн MaksimM

  • Автор темы
  • Участник
  • *
  • Сообщений: 115
    • Просмотр профиля
Re: Вопрос про консольные приложения
« Ответ #6 : 15 Октября 2010, 14:51:00 »
inkblack, SergeyIT спасибо.
Про ncurses отмечу на будущее, если что нибудь большое консольное буду делать. Спасибо hippi90. За пример в Bash'е спасибо easy2002.
Единственно стабильная версия - LTS, остальные - беты.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Вопрос про консольные приложения
« Ответ #7 : 15 Октября 2010, 15:47:03 »
Поглядите на zenity.

Оффлайн sanb

  • Активист
  • *
  • Сообщений: 404
    • Просмотр профиля
Re: Вопрос про консольные приложения
« Ответ #8 : 15 Октября 2010, 15:57:22 »

 

Страница сгенерирована за 0.56 секунд. Запросов: 26.