Вверх ↑
Этот топик читают: Гость
Ответов: 99
Рейтинг: 4
#1: 2023-10-17 08:45:17 ЛС | профиль | цитата
Компонент, добавляющий консоль к оконному приложению.
Лучше использовать этот компонент один раз в программе, так как у приложения может быть лишь одна консоль.
В архиве сам компонент (с иконкой) и простейший пример использования.
карма: 0

0
файлы: 1ExtConsole1.1.zip [1.7KB] [425]
Ответов: 197
Рейтинг: 2
#2: 2023-10-18 01:06:08 ЛС | профиль | цитата
У меня зависает при попытке что нибудь ввести в консоль после нажатия doRead
карма: 0

0
Ответов: 249
Рейтинг: 4
#3: 2023-10-18 08:27:11 ЛС | профиль | цитата
так же зависает и ввод не работает.
карма: 1

0
Ответов: 99
Рейтинг: 4
#4: 2023-10-18 12:03:32 ЛС | профиль | цитата
Ну не знаю, у себя такой проблемы не наблюдаю. У меня Windows 7 64-bit

--- Добавлено в 2023-10-18 12:06:49

Убедитесь что вы всё-же пытаетесь вести текст не в саму программу, а в консоль, после нажатия doRead. Про это прям в описании метода сказано.

Редактировалось 1 раз(а), последний 2023-10-18 12:06:49
карма: 0

0
Ответов: 197
Рейтинг: 2
#5: 2023-10-18 20:09:23 ЛС | профиль | цитата
TheRenat писал(а):
Убедитесь что вы всё-же пытаетесь вести текст не в саму программу, а в консоль, после нажатия doRead. Про это прям в описании метода сказано.

Я разобрался, подтупливает но это нюансы. Я сейчас этот компонет испытал в связке с TCP_server для отладки незаменимая вещь, дай бог вам здоровья милые люди кто это придумал!

Добавить бы этот компонент в SVN в обновление чтобы его потом не искать.

Редактировалось 1 раз(а), последний 2023-10-18 20:10:41
карма: 0

0
Ответов: 36
Рейтинг: 0
#6: 2023-10-22 17:40:59 ЛС | профиль | цитата
zhorik5 писал(а):

Добавить бы этот компонент в SVN в обновление чтобы его потом не искать

SVN сегодня жив, завтра кладбище закрыли, довольствуйтесь фото в рамке на столе, такой принцип..
карма: 0

0
Ответов: 2265
Рейтинг: 676
#7: 2023-10-24 09:41:24 ЛС | профиль | цитата
zhorik5 писал(а):
Добавить бы этот компонент в SVN в обновление чтобы его потом не искать.
Вот прям взять и добавить? Не приходилось пользоваться консолью и не сильно в теме, но поверхностно посмотрев что можно реализовать и что реализовано сейчас, можно уверенно сказать что это только заготовка элемента.

1.
TheRenat писал(а):
Лучше использовать этот компонент один раз в программе, так как у приложения может быть лишь одна консоль.
Вот это как по мне совсем не правильно. Правильнее было бы сделать создание (AllocConsole) и закрытие (FreeConsole) консоли сделать по событию и проверять (GetConsoleProcessList) на наличие уже запущенной консоли.
2. Почему бы не добавить свойство для текста заголовка окна? Функция SetConsoleTitle.
3. Если получить Handle окна консоли, то с элементом смогут (скорее всего) многие элементы для работы с окнами,а это и размер и позиция,сворачивание окна и прочее. Функции GetStdHandle и GetConsoleWindow.
4. Шрифт, тут думаю и объеснять не надо раз есть такая возможность в консоли и если получится её реализовать, то точно будет нужной. Функция SetCurrentConsoleFontEx.

И это только минимум как по мне. И если многое можно "нарастить" постепенно, то первый пункт нужно продумать сразу, чтоб потом не было разговоров про совместимость.

Функции консоли
карма: 11

0
Ответов: 315
Рейтинг: 26
#8: 2023-10-24 15:04:53 ЛС | профиль | цитата
zhorik5 писал(а):
У меня зависает при попытке что нибудь ввести в консоль после нажатия doRead

Так же зависает.
Я думаю нужно доработать.
Пример не показывает работоспособность компонента.
Не считать критикой, думаю компоненту быть и развиваться.
карма: 2
0
Ответов: 99
Рейтинг: 4
#9: 2024-04-14 13:00:03 ЛС | профиль | цитата
Ну и забыл я про это совсем...
sla8a писал(а):
Правильнее было бы сделать создание (AllocConsole) и закрытие (FreeConsole) консоли сделать по событию и проверять (GetConsoleProcessList) на наличие уже запущенной консоли.

Ну не знаю. Консоль-то для отладки, зачем её закрывать?
sla8a писал(а):
Почему бы не добавить свойство для текста заголовка окна? Функция SetConsoleTitle.

У меня почему-то это не работало как надо, поэтому и нету.
sla8a писал(а):
Если получить Handle окна консоли, то с элементом смогут (скорее всего) многие элементы для работы с окнами,а это и размер и позиция,сворачивание окна и прочее. Функции GetStdHandle и GetConsoleWindow.

Добавлю если руки дойдут. А пока можно просто найти окно другими методами.
sla8a писал(а):
Шрифт, тут думаю и объеснять не надо раз есть такая возможность в консоли и если получится её реализовать, то точно будет нужной.

Также добавлю если руки дойдут.
envoy_sky писал(а):
Так же зависает.

Читайте описание doRead внимательнее.
карма: 0

0
Ответов: 4630
Рейтинг: 749
#10: 2024-04-14 13:38:58 ЛС | профиль | цитата
TheRenat писал(а):
Читайте описание doRead внимательнее

В компоненте WinExec реализовано чтение StdIn без всяких зависаний (если здесь оттуда же читается). По аналогии можно сделать с любым блокирующим чтением.
карма: 26

0
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)