Запускаем в консоли "./home/test13", нажимаем "Enter", набираем "adc1", нажимаем "Enter", смотрим данные...
Как сделать в программе?
- Код: Выделить всё
begin
fpSystem('/home/test13');
ЧТО ЗДЕСЬ??? КАК ОТПРАВИТЬ КОМАНДУ?
end.
Модератор: Модераторы
begin
fpSystem('/home/test13');
ЧТО ЗДЕСЬ??? КАК ОТПРАВИТЬ КОМАНДУ?
end.
wavebvg писал(а):Консоль - это программа, которая интерпретивует работу bash, его вывод и прочее, исходя из этого и надо создавать программу...
TProcess.InputStream.Write()
program run;
uses
unix, baseunix, process, classes;
var MyProc: TProcess;
S: string;
StrList: TStringList;
begin
MyProc := TProcess.Create(nil);
StrList := TStringList.Create;
MyProc.Options := MyProc.Options + [poWaitOnExit, poUsePipes];
MyProc.CommandLine := './test13';
MyProc.Execute;
S := 'adc1'+LineEnding;
MyProc.Input.Write(S[1], Length(S));
StrList.LoadFromStream(MyProc.Output);
StrList.SaveToFile('run-out');
StrList.Free;
MyProc.Free;
end.
v-t-l писал(а):
- Код: Выделить всё
TProcess.InputStream.Write()
program run;
uses
unix, baseunix, process, classes;
var MyProc: TProcess;
S: string;
StrList: TStringList;
begin
MyProc := TProcess.Create(nil);
StrList := TStringList.Create;
MyProc.Options := MyProc.Options + [poUsePipes];
MyProc.CommandLine := './test13';
MyProc.Execute;
Sleep(200);
S := 'adc1'+LineEnding;
MyProc.Input.Write(S[1], Length(S));
StrList.LoadFromStream(MyProc.Output);
StrList.SaveToFile('run-out');
StrList.Free;
MyProc.Free;
end.
program run;
uses
unix, baseunix, process, classes;
var s: string; strlst: TStringList;
si, so : Text;
args: ansistring;
begin
strlst := TStringList.Create;
args := '';
AssignStream (si,so,'./test13',[args]);
if fpgeterrno<>0 then
begin
writeln ('AssignStream failed !');
halt(1);
end;
sleep(200);
writeln(so,'adc1');
repeat
readln(si,s);
strlst.add(s);
writeln (s);
until eof(si);
strlst.SaveToFile('run-out');
close(si);
close(so);
end.
Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8