Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.10.16;
Скачать: CL | DM;

Вниз

Консоль   Найти похожие ветки 

 
Lithium   (2011-06-25 19:55) [0]

Здравствуйте!

Подскажите пожалуйста, как в консольном приложении вывести ( выводить ) статус процесса в одной строке?

Например: WriteLn(" Status : "+IntToStr(100 * Y div 1000)+"%");

В гугле ничего не удалось найти...
Заранее благодарен за ваши ответы!


 
Inovet ©   (2011-06-25 20:42) [1]

Write?


 
MBo ©   (2011-06-25 21:08) [2]

Не рыба, но удочка - найти раздел Console Functions в хелпе Windows SDK или в онлайновом MSDN, и выбрать оттуда пару нужных функций.

Если задач с консолью будет много, можно найти модуль, эмулирующий функции турбопаскального модуля CRT.


 
RWolf ©   (2011-06-27 10:00) [3]


> Подскажите пожалуйста, как в консольном приложении вывести
> ( выводить ) статус процесса в одной строке?

элементарно: write(#13"blablabla");


 
Lithium   (2011-06-29 01:46) [4]


> элементарно: write(#13"blablabla");


Спасибо! :)


 
Германн ©   (2011-06-29 02:15) [5]


> RWolf ©   (27.06.11 10:00) [3]
>
>
> > Подскажите пожалуйста, как в консольном приложении вывести
> > ( выводить ) статус процесса в одной строке?
>
> элементарно: write(#13"blablabla");
>

Я бы не смог сообразить и придумать такое простое решение. Как-то уже отвык, что CarriageReturn без LineFeed всё ещё живёт и даже как-то работает!


 
Anatoly Podgoretsky ©   (2011-06-29 07:25) [6]

А ты попробуй еще и LF отдельно и удивись.


 
rouf   (2011-06-29 10:53) [7]

А как выводить в конкретной строке?


 
Юрий Зотов ©   (2011-06-29 10:59) [8]

Чего-то я не понимаю, наверное, но зачем здесь вообще #13? Ровно то же самое выдает и просто write("blablabla"), без всяких извращений.

Да и вообще непонятно, в чем проблема? Чем плохо изначальное авторское
Write("Status : " + IntToStr(74) + "%");
или
WriteLn(Format("Status : %d%%", [74]));
или самое простое и самое правильное:
Write("Status : ", 74, "%");


 
Юрий Зотов ©   (2011-06-29 11:00) [9]

> А как выводить в конкретной строке?
См. [2].


 
QAZ   (2011-06-29 11:09) [10]


> Чего-то я не понимаю, наверное, но зачем здесь вообще #13?
>  Ровно то же самое выдает и просто write("blablabla"), без
> всяких извращений.

а если несколько раз подряд вызвать write("blablabla") что будет?


 
Юрий Зотов ©   (2011-06-29 11:13) [11]

> rouf   (29.06.11 10:53) [7]

Упрощаю задачу. Детали см. в справке.

uses
 Windows, SysUtils;

var
 H: THandle;
 Coord: TCoord;
 S: string;
 N: Cardinal;
begin
 S := Format("Status : %d%%", [74]);
 H := GetStdHandle(STD_OUTPUT_HANDLE);
 Coord.X := 30;
 Coord.Y := 12;
 SetConsoleCursorPosition(H, Coord);
 WriteConsole(H, PChar(S), Length(S), N, nil);
 readLn;
end.


 
Юрий Зотов ©   (2011-06-29 11:17) [12]


> QAZ   (29.06.11 11:09) [10]
> а если несколько раз подряд вызвать write("blablabla") что будет?

То, что и хотелось автору - все напечатается в одной строке.

А если нужно в разных, то опять же - зачем извращаться? Автор сам в своем вопросе указал WriteLn.

Какие проблемы-то? Нет их.


 
QAZ   (2011-06-29 11:29) [13]

write("blablabla");
write("blablabla");
write("blablabla");
=blablablablablablablablabla

write(#13"blablabla");
write(#13"blablabla");
write(#13"blablabla");
=blablabla


 
Inovet ©   (2011-06-29 11:39) [14]

> [6] Anatoly Podgoretsky ©   (29.06.11 07:25)
> А ты попробуй еще и LF отдельно и удивись.

И FF (12). Ну и BL (7).


 
Юрий Зотов ©   (2011-06-29 11:41) [15]


> QAZ   (29.06.11 11:29) [13]

А, вот оно что.
:o)


 
Anatoly Podgoretsky ©   (2011-06-29 15:21) [16]

Да автор не точно поставил вопрос. Эго видимо интересовал многократный вывод в одной строке с начала, на это намекает слово Статус



Страницы: 1 вся ветка

Текущий архив: 2011.10.16;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.008 c
2-1309352976
Scott Storch
2011-06-29 17:09
2011.10.16
Assert


2-1309021069
Weei
2011-06-25 20:57
2011.10.16
Передача первой подрограммы во 2ю в качестве параметра


15-1308584554
alexdn
2011-06-20 19:42
2011.10.16
Хост + ms sql


2-1309475190
Den
2011-07-01 03:06
2011.10.16
not VarIsEmpty не срабатывает с функцией find v excel?


15-1308246366
oxffff
2011-06-16 21:46
2011.10.16
Еду на разведку в Москву.