Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Cmd in eine Delphi-Applikation integrieren?

  Alt 4. Aug 2010, 21:54
Es gibt einige Lösungen dazu im Netz, die meist aber erst das Ergebnis zurückliefern, wenn die Anwendung beendet wurde.
Wenn dir das nicht reicht, kannst du meine Klasse aus der Unit im Anhang benutzen. Sie stellt Events bereit, die aufgerufen werden, wenn neue Daten ankommen.

Beispiel:
Delphi-Quellcode:
type
  TMyForm = class(TForm)
    ...
  protected
    FRedirector: TConsoleRedirector;
    procedure MyEventHandler(Sender: TObject; const Data: string);
  end;

procedure TMyForm.MyEventHandler(Sender: TObject; const Data: string);
begin
  Memo1.Text := Memo1.Text+Data;
end;

procedure TMyForm.FormCreate(...);
begin
  FRedirector:= TConsoleRedirector.Create;
  FRedirector.OnReadOutput := MyEventHandler;
end;

procedure TMyForm.MyButtonClick(...);
begin
  FRedirector.Start('cmd /K ping google.com');
end;
Angehängte Dateien
Dateityp: pas unConsoleRedirector.pas (13,3 KB, 44x aufgerufen)

Geändert von Namenloser ( 4. Aug 2010 um 21:58 Uhr)
  Mit Zitat antworten Zitat