Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.12;
Скачать: CL | DM;

Вниз

"Вытащить" данные из DOS окна   Найти похожие ветки 

 
Itap ©   (2004-07-25 15:34) [0]

Здраствуйте, столкнулся с проблемой, если кто-знает напишите, заранее благодарю.
Через команду:
WinExec(PChar("rsh " +Edit1.Text+" -l "+Edit2.Text+" "+Edit3.Text), SW_SHOWNORMAL );
посылаю запрос на Cisco устройство, в зависимости от команды в DOS окне выводятся определённые данные и окно DOS-a закрывается.
Если кто сталкивался с такой задачей, подскажите как информацию из DOS окна "перекинуть" на форму к примеру в Memo или например сохранить информацию с выходными данными из окна DOS-a на компьютер, чтоб потом их вытащить из полученного файла на форму.
С уважением, Николай.


 
AndrewVolkov ©   (2004-07-25 17:12) [1]

Насколько я помню, если команда чего-то выдает на экран - хелп, параметры настройки и т.д, то в НТ можно было сделать редирект для вывода, например в файл

dir /w/p >>a.txt

вот оно и все. А из файла уже читай как хочешь.

Вот пример записи строки

far.exe /? >> a.txt

а это содержимое файла а.тхт. Соответственно на экране Дос окно ты не увидишь.
The following switches may be used in the command line:

/?   This help
/a   Disable display of characters with codes 0 - 31 and 255.
/ag  Disable display of pseudographics characters.
/e[<line>[:<pos>]] <filename>
     Edit the specified file.
/i   Set small (16x16) icon for FAR console window.
/p[<path>]
     Search for "common" plugins in the directory, specified by <path>.
/u <username>
     Allows to have separate settings for different users.
/v <filename>
     View the specified file. If <filename> is -, data is read from the stdin.
/co  Forces FAR to load plugins from the cache only.
/x   Disable exception handling.


 
Itap ©   (2004-07-25 17:42) [2]

Очень интересный вариант, главное рабочий, отлично, я сейчас ещё другие варианты пробую, если получатся, напишу как ещё можно эту проблему рашить.


 
P.N.P. ©   (2004-07-25 17:59) [3]

Посмотри http://www.renderman.ru/forum/download.php/1,336,24/FoxUtils.txt
Использовать так:
uses FoxUtils;
var
MyChild: TChildProc;
MyChild := TChildProc.Create(EXEFileName, ParamStr);
и потом
ReadStrFromChild
WriteToChild


 
Piter ©   (2004-07-25 18:18) [4]

http://www.sources.ru/delphi/system/capturing_output_from_console.shtml

Примечания от меня:

1) путь к файлу надо указывать полностью
2) строки возвращаются в DOS кодировке, надо перекодировать

Пример использования:

procedure TForm1.Button1Click(Sender: TObject);
var
 s: string;
begin
 s := GetDosOutput("c:\winnt\system32\rsh.exe");
 OemToChar(PChar(s), pChar(s));
 showmessage(s);
end;


 
Itap ©   (2004-07-25 19:00) [5]

>Piter ©   (25.07.04 18:18) [4]
>http://www.sources.ru/delphi/system/capturing_output_from_conso>le.shtml

>Примечания от меня:

>1) путь к файлу надо указывать полностью
>2) строки возвращаются в DOS кодировке, надо перекодировать

>Пример использования:

>procedure TForm1.Button1Click(Sender: TObject);
>var
> s: string;
>begin
> s := GetDosOutput("c:\winnt\system32\rsh.exe");
> OemToChar(PChar(s), pChar(s));
> showmessage(s);
>end;

Да это то чего я хотел добится. Спасибо всем за исчерпывающие ответы, особенно AndrewVolkov, Вы доли очень полезную информацию. Всем большое спасибо.


 
Piter ©   (2004-07-25 19:51) [6]

можно, конечно, в файл, но судя по ответу будет работать только для NT систем.

Во-вторых, зачем выводить файл, чтобы опять его потом считывать... лучше сразу считывать программно...



Страницы: 1 вся ветка

Текущий архив: 2004.09.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
1-1093695471
Don
2004-08-28 16:17
2004.09.12
Реестер


1-1093509981
sashuly
2004-08-26 12:46
2004.09.12
работа со строками


1-1093595367
Lera
2004-08-27 12:29
2004.09.12
Формы.


1-1093533163
alberto
2004-08-26 19:12
2004.09.12
Работа с компонентом в цикле


1-1093739034
Сергей Петров
2004-08-29 04:23
2004.09.12
Как правильно двигать содержимое панели?