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

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

Командная строка..... [D7, WinXP]


pupapumD ©   (2006-01-11 11:46:00) 

Может не правильно выражаюсь, но вопрос у меня такой. Мне необходимо напиать такую часть программы которая могла бы обращаться к командной строке, но проблема не в том как послать коанду, а в получение ответа от командной строки.
Вообщем как мне получать в delphi ответы командной строки на какие-либо команды.
пример:

c:\dir c:
новая папка 2    /
новая папка 3    / вот как передать это в delphi?
и т.д.                /
Заранее спасибо.


DiamondShark   (2006-01-11 23:32:00) [1]


> project1   (11.01.06 23:23) [7]
> Но после использования
> c:\dir c: > project1.exe
>
> этот файл заполняется содержимым каталога C:
> ?

Ошибочка, конечно.

dir c: | project1.exe


project1   (2006-01-11 23:23:00) [2]

Но после использования
c:\dir c: > project1.exe

этот файл заполняется содержимым каталога C:
?


pupapumD   (2006-01-11 22:37:00) [3]

Выше написанного кода, так сказать, как это реализовать.


Gero   (2006-01-11 22:24:00) [4]

> Очень прошу выложить исходник.

Исходник чего??


pupapumD   (2006-01-11 20:59:00) [5]

Спасибо за помощь. Но что то я не могу понять как это все работает. Очень прошу выложить исходник. Спасибо


Slym   (2006-01-11 14:14:00) [6]

пользовать так:
c:\dir c: > project1.exe


Slym   (2006-01-11 14:12:00) [7]

procedure GetStd(Strings:TStrings);
var
 StringStream:TStringStream;
 hIn:THandle;
 buf:array[0..255] of char;
 readed:dword;
begin
 StringStream:=TStringStream.Create('');
 try
   hIn:=GetStdHandle(STD_INPUT_HANDLE);
   while true do
   begin
     ReadFile(hIn,buf,256,readed,nil);
     if readed=0 then break;
     StringStream.WriteBuffer(buf,readed);
   end;
   Strings.Text:=StringStream.DataString;
 finally
   StringStream.Free;
 end;
end;

конец передачи = символу конца файла (CTRL+Z)


alex_***   (2006-01-11 13:58:00) [8]

через pipe. в MSDN пример был


Наверх

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