unit UMain;
interface
uses
SysUtils, Types, Classes, Variants, QTypes, QGraphics, QControls, QForms,
QDialogs, QStdCtrls, Libc, QExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Timer1: TTimer;
Panel1: TPanel;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
NeedExit:boolean;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.xfm}
procedure TForm1.Button1Click(Sender: TObject);
var
homedir,filename:string;
result:integer;
command:string;
begin
Memo1.Lines.Clear;
NeedExit:=false;
homedir:=GetEnvironmentVariable(‘HOME’);
filename:=homedir+’/result.txt’;
try
Timer1.Interval:=3*1000;
command:=Edit1.Text + ‘ > ‘+filename;
result:=Libc.system(PChar(command));
while not FileExists(filename) do begin
Sleep(100);
Application.ProcessMessages;
if (not Timer1.Enabled) and (not FileExists(filename)) then Timer1.Enabled:=true;
if NeedExit then exit;
end;
if FileExists(filename) then begin
Timer1.Enabled:=false;
Memo1.Lines.LoadFromFile(filename);
Memo1.Lines.Insert(0,”);
Memo1.Lines.Insert(0,Edit1.Text+’:’);
Memo1.Lines.Add(”);
Memo1.Lines.Add(‘Result=’+IntToStr(result));
end;
finally
Timer1.Enabled:=false;
if FileExists(filename) then DeleteFile(filename);
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if smbCancel = Application.MessageBox(‘Folytatja a v�akoz�t a shell-command befejez��e?’,’K�d�’,[smbYes,smbCancel]) then begin
NeedExit:=true;
end;
Timer1.Enabled:=false;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Enabled:=false;
NeedExit:=false;
end;
end.
legutóbbi hsz