Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.47 MB
Время: 0.033 c
1-1093573791
Ozone
2004-08-27 06:29
2004.09.12
MDI приложение


1-1093417806
Рамиль
2004-08-25 11:10
2004.09.12
Перехват максимизации окна


1-1093508174
DimonNew
2004-08-26 12:16
2004.09.12
Путь, откуда был вызван exe


14-1092641032
VictorT
2004-08-16 11:23
2004.09.12
Вот, хочу поделится радостью


4-1087747824
parovoZZ
2004-06-20 20:10
2004.09.12
Перетащитиь форму не за заголовок





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский