Вверх ↑
Этот топик читают: Гость
Ответов: 168
Рейтинг: 0
#1: 2019-06-01 10:45:34 ЛС | профиль | цитата
Хочу разобраться в работе с консольным приложением. Можно ли в EXE программе сделать таймер который будет создавать рондомные числа от 0 до 1000. и передоверять их в консоль. да так чтобы она не закрывалась. Я имею в виду. что то вроде этого. Или это полный бред ?

Add(Console,2953706,364,203)
{
}
Add(MailSlot_Server,1040734,301,203)
{
link(onRead,2953706:doWrite,[])
}

карма: 0
Даже великие ошибаются
0
vip
#1.1контекстная реклама от партнеров
Главный модератор
Ответов: 2696
Рейтинг: 354
#2: 2019-06-02 08:07:40 ЛС | профиль | цитата
Приведённый пример схемы больше похож на «вброс», чем на попытку сделать что-то самому. Поэтому советую ознакомиться со следующей ссылкой:
Почему-то не отвечают

Редактировалось 1 раз(а), последний 2019-06-02 08:08:07
карма: 8
Дорогу осилит идущий. HiAsm.NET is based on HiAsm 5
0
Ответов: 1717
Рейтинг: 149
#3: 2019-06-03 08:04:29 ЛС | профиль | цитата
Netspirit писал(а):
MailSlot_Server использует стандартный класс потока и его метод Synchronize. Этот метод не работает в консольном приложении.

http://forum.hiasm.com/topic/64294/0#p270112
Galkov писал(а):
какая такая есть Великая Причина, заставляющая делать именно консольное приложение, а не оконное (например - невидимое).


Редактировалось 1 раз(а), последний 2019-06-03 08:06:50
карма: 5
0
Ответов: 3927
Рейтинг: 620
#4: 2019-06-03 10:41:39 ЛС | профиль | цитата
egorhay писал(а):
и передоверять их в консоль
Если твою консоль запустить компонентом WinExec (метод doConsoleExec), то передавать ей данные можно с помощью его метода doConsoleInput. Прочитать пришедшие данные можно с точки Read консольного приложения. Точка читается в цикле компонентом Repeat. Чтобы не дать консоли закрыться возможны 2 приёма:
- если цикл чтения запустить по событию onStart, то приложение не закроется, пока не выйдешь из цикла
- по событию onStart запустить параллельный поток (компонент Thread) с циклом чтения, затем остановиться на ожидание завершения с помощью компонентов Events+WaitObject.

Или самый простой вариант - использовать мою модификацию консольного приложения. Для того чтобы не закрывалось без команды - поставить свойство WaitClose=True. Принимать приходящие данные можно с события onDataIn.

Есть ещё такие компоненты для передачи данных между любыми приложениями: /topic/66399

Редактировалось 2 раз(а), последний 2019-06-03 10:43:26
карма: 19

0
Ответов: 1717
Рейтинг: 149
#5: 2019-06-03 16:46:28 ЛС | профиль | цитата
Netspirit писал(а):
Чтобы не дать консоли закрыться возможны 2 приёма:
- если цикл чтения запустить по событию onStart, то приложение не закроется, пока не выйдешь из цикла
- по событию onStart запустить параллельный поток (компонент Thread) с циклом чтения, затем остановиться на ожидание завершения с помощью компонентов Events+WaitObject.


Эти примеры, кстати, есть в справке:
http://forum.hiasm.com/wiki/5846
http://forum.hiasm.com/wiki/5408
карма: 5
0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)