Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перенаправление стандартного потока ввода\вывода в Delphi [D7, WinXP]


urdolphin ©   (2005-07-14 09:30:00) 

Подскажите пожалуйста, как переопределить стандартный поток ввода\вывода для дочернего консольного процесса из процесса родительского


urdolphin   (2005-07-14 12:12:00) [1]

Ну что, нет идей?


urdolphin   (2005-07-14 10:23:00) [2]

Нет. Не обязательно. Есть в Pascal'e такая функция: assign(input, 'input.txt'); После нее readln(a) будет читать в а из input.txt. Нужно что-то подобное, только чтобы assign(input... была в родительском приложении. Пример: acm.timus.ru


Fay   (2005-07-14 10:09:00) [3]

2 urdolphin   (14.07.05 9:59) [4]
Видимо, ещё и открытого в родительском приложении.


TUser   (2005-07-14 10:04:00) [4]

Сам никогда не баловался, но вроде вот это
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/setstdhandle.asp


urdolphin   (2005-07-14 09:59:00) [5]

Хорошая штука, но не помогает. Мне нужно, чтобы, например, функция readln(a) считывала не с клавиатуры (из консоли), а из заданного файла, определенного в родительском приложении.


Fay   (2005-07-14 09:43:00) [6]

2 ANB ©   (14.07.05 09:39) [2]
А если включить? 8)


ANB   (2005-07-14 09:39:00) [7]


> Fay ©   (14.07.05 09:32) [1]
- если флаги не включить - не поможет.


Fay   (2005-07-14 09:32:00) [8]

Это ?
typedef struct _STARTUPINFO {
   DWORD   cb;
   LPTSTR  lpReserved;
   LPTSTR  lpDesktop;
   LPTSTR  lpTitle;
   DWORD   dwX;
   DWORD   dwY;
   DWORD   dwXSize;
   DWORD   dwYSize;
   DWORD   dwXCountChars;
   DWORD   dwYCountChars;
   DWORD   dwFillAttribute;
   DWORD   dwFlags;
   WORD    wShowWindow;
   WORD    cbReserved2;
   LPBYTE  lpReserved2;
   HANDLE  hStdInput;
   HANDLE  hStdOutput;
   HANDLE  hStdError;

} STARTUPINFO, *LPSTARTUPINFO;


Наверх

Титульная страница Поиск, карта сайта Написать письмо