![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| XperT |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 19.8.2006 Репутация: 2 Всего: 4 |
У меня есть програма консольная. Я решил для неё сделать графический интерфейс, но так как у меня исходников нету, то соответственно в идеале не получится
Вообщем суть проблемы такова: Програма (та что консольная) в процесе работы имитирует процес бар, ну и сбоку пишет процент выполнения. Как мне в ходе ее работы перехватывать тот процент и посылать его на свой графический процес бар? |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Захватывать вывод консоли: http://vingrad.ru/DELPHI-DLP-000823
|
|||
|
||||
| XperT |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 19.8.2006 Репутация: 2 Всего: 4 |
Насколько я понял, то я получу только конечный результат, тоесть текст после завершения роботы програмы, а мне нужно в процесе работы програмы перехватывать даные. Это сообщение отредактировал(а) XperT - 29.8.2006, 11:59 |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
ну и че приведеный код это не позволяет делать ? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
есть подозрение, что консольное приложение работает напрямую с консолью(WriteConsoleOutput), а не через стандартные дескрипторы. ловить такое наверное проще всего через перехват консольных функций.
|
|||
|
||||
| XperT |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 19.8.2006 Репутация: 2 Всего: 4 |
||||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Ну так переделай под свои нужны.
Чтение идёт в цикле. Вот в цикле и работай. Данный вариант выдаёт результат по завершении программы. Но ничего не мешает встроиться в цикл и обрабатывать данные, читаемые там. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| XperT |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 19.8.2006 Репутация: 2 Всего: 4 |
Не получается. Я думаю проблема в следущем:
Эта консольная полоса процеса с процентами после завершения пропадает, и её заменяет текст (ну там типа всё прошло удачно). Я пытался считать с этой строки ReadFile(StdOutPipeRead, Buffer, 255, BytesRead, nil); буфер, но получал только текст который идёт уже после того как полоса прогреса пропадает. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
тогда ищи окно этой консоли и забирай данные с этой консоли
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| XperT |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 19.8.2006 Репутация: 2 Всего: 4 |
||||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
а ты скрин дай твоего окна, дабы напрасно не писать пример
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| XperT |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 19.8.2006 Репутация: 2 Всего: 4 |
До (когда есть полоса прогреса):
![]() После: |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Мог бы так и сказать, что UPX.
Он же с открытым кодом. Нафига мучаться? |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
странно что не работает первый код
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |