jak pobrać standardowe wejście/wyjście aplikacji konsolow

0

Długo mnie zastanawiało jak zrobić w Delphi program działający na zasadzie arbitra do ITPW.

Sprawa wygląda mniej więcej tak:
Są dwie aplikacje konsolowe, które mają razem zagrać (np. w warcaby). Pierwszy program na standardowe wyjście podaje, jaki wykonał ruch. Arbiter (program, który staram się napisać) przekieruje ten strumień danych na wejście drugiego programu, a ten po otrzymaniu sygnału wyświetla swój ruch... i tak pentelka się powtarza...

Szperałem już trochę w internecie, jednak jedyne co mi się udało znaleźć, to badziewia ala funkcja system(a : string) : string, która zamyka program po każdym jej wywołaniu :-/
Bawiłem się rówinież komponentem DosCommand, jednak mam problemy z komunikacją- programy się uruchamiają, ale nie otrzymują danych na wejście.

Help...

0

A nie lepiej jakby programy komunikowały się między sobą np jakimiś message'ami, a tylko jeden z nich sterował konsolą ?

0

W zasadzie to rozważałem uruchomienie programu grającego w sw_hide z komponentem ClientSocket, a mój arbiter miałby ServerSocketa... Jednakże uważam, że jest to chodzenie jakby pod górę.
A jakie ty message miałeś na myśli?

0

A jakie ty message miałeś na myśli?
to jest nieistotne, chodzi o samą idee, że konsolą steruje jeden program, a drugi jakośtam się komunikuje z tym pierwszym. A te message'e to mogą być np. windows messages w pętli komunikatów. Chodzi ci o dwa programy na jednym kompie tak ?

0

A moze po prostu zmienne systemowe. Programy moglyby monitorowac ich zmiany (nie ma takich samych ruchow w warcabach).
Pod linuxem jest pipe(), tez fajna rzecz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1