![]() |
|
تنفيذ البرامج الخارجية - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : متتديات باسكال Pascal (https://delphi4arab.net/forum/forumdisplay.php?fid=7) +--- قسم : Lazarus - Free Pascal - CrossKylix - Kylix - CrossVCL (https://delphi4arab.net/forum/forumdisplay.php?fid=34) +--- الموضوع : تنفيذ البرامج الخارجية (/showthread.php?tid=4652) |
تنفيذ البرامج الخارجية - Lam.Abdeldjalil - 19-10-2012 السلام عليكم SysUtils.ExecuteProcess : أبسط طريقة إذا كنت لا تحتاج أي رقابة إستعمل ببساطة : كود : function ExecuteProcess(
const Path: AnsiString;
const ComLine: AnsiString;
Flags: TExecuteFlags = []
):Integer;مثال: كود : SysUtils.ExecuteProcess(UTF8ToSys('calc'), '', []);يمكن إستعمال Tprocess لتنفيذ برامج خارجية : متعدد المنصات ، إمكانية إلإنتظار حتى الإنتهاء أو ينفذ بالتوازي مع برنامجك ، مع إمكانية الكتابة في stdin و القراءة من stdout . أمثلة: *1 كود : uses ..,Process;كود : var AProcess: TProcess;
begin
AProcess := TProcess.Create(nil);
try
AProcess.CommandLine := 'calc';
AProcess.Options := AProcess.Options + [poWaitOnExit];
AProcess.Execute;
finally
AProcess.Free;
end;كود : AProcess.Options := AProcess.Options + [poWaitOnExit];- في البرامج المتعددة المنصات يمكن تغيير commandline حسب نظام التشغيل كود : {$IFDEF WIN32}
AProcess.CommandLine := 'calc.exe'; //Windows Calc
{$ENDIF}
{$IFDEF LINUX}
AProcess.CommandLine := 'kcalc'; //KDE Calc
{$ENDIF}
AProcess.Execute;كود : var
AProcess: TProcess;
AStringList: TStringList;
begin
AProcess := TProcess.Create(nil);
AStringList := TStringList.Create;
try
AProcess.CommandLine := 'yourcmd';
AProcess.Options := AProcess.Options + [poWaitOnExit];
AProcess.Execute;
AStringList.LoadFromStream(AProcess.Output);
AStringList.SaveToFile('output.txt');
finally
AStringList.Free;
AProcess.Free;
end;فتح الملفات ببرامجها الإفتراضية : لست بحاجة لفتح برنامج Acrobat مع تمرير إسم الملف لفتح ملف pdf ( كمثال) بل توجد طريقة أبسط بإستعمال الإجراء OpenDocument مثال : كود : uses LCLIntf;
...
OpenDocument('manual.pdf');كود : uses LCLIntf;
...
OpenURL('http://www.delphi4arab.net/forum/');كود : wiki.lazarus.freepascal.org/Executing_External_Programs |