Форум: "WinAPI";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];
Вниз"Вытащить" данные из 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c