Lazarus Pascal memberikan kemampuan untuk membuat program yang dapat menjalankan perintan CMD. Namun saya tidak hanya ingin menjalankan perintah command line saja, tapi perlu mendapatkan output setelah menjalankan perintah CMD untuk digunakan sebagai data program. Sebagai contoh jika kita ingin membuat program ping. Cara termudah adalah menggunakan perintah ping melalui CMD dan mengambil outputnya.
Kamu membutuhkan unit Process untuk mengeksekusi perintah CMD. Ada dua cara yang saya gunakan untuk contoh program menjalankan perintah CMD yang tidak mengandung argumen.Berikut contoh program menjalnkan perintah CMD menggunakan Lazarus versi 2.2.4
procedure TForm1.Button1Click(Sender: TObject);
Process2: TProcess;
Output: TStringList;
begin
Process2 := TProcess.Create(nil);
try
Process2.Executable := 'C:\Windows\System32\ping.exe';
Process2.Parameters.Add('-n');
Process2.Parameters.Add('4');
Process2.Parameters.Add('www.google.com');
Process2.Options := [poUsePipes, poWaitOnExit];
Process2.Execute;
Output := TStringList.Create;
try
Output.LoadFromStream(Process2.Output);
Memo1.Lines:= Output;
finally
Output.Free;
end;
finally
Process2.Free;
end;
end;
Menggunakan TProcess.CommandLine, kamu mengisikan perintah dir pada kolom Edit1 sebelum menekan Button2.
procedure TForm1.Button2Click(Sender: TObject);
var
Process2: TProcess;
Output: TStringList;
Ss: string;
begin
Memo1.Clear;
Ss:= 'C:\Windows\System32\cmd.exe /c ' + Edit1.Text;
Output := TStringList.Create;
Process2 := TProcess.Create(nil);
try
process2.ShowWindow:= swoNone;
process2.CommandLine:= Ss;
Process2.Options := [poUsePipes, poWaitOnExit];
Process2.Execute;
try
Output.LoadFromStream(Process2.Output);
Memo1.Lines:= Output;
finally
Output.Free;
end;
finally
Process2.Free;
end;
end;