Einzelnen Beitrag anzeigen

Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#4

AW: Befehlszeile ausführen

  Alt 1. Dez 2010, 02:17
So, dann widmen wir uns mal dem Code

Tip: man kann den TMemo-Instanzen auch aussagekräftige Namen geben. Hilft dabei den eigenen Code zu verstehen. Bspw.:

Memo1 -> AusgabeMemo
Memo2 -> BefehlsMemo

Delphi-Quellcode:
      sBatchDatei := BefehlsMemo.Lines[0];
      output := TStringList.Create;
      try
        errors := TStringList.Create;
        if GetConsoleOutput(sBatchDatei, output, errors) then
          AusgabeMemo.Lines.AddStrings(errors);
        AusgabeMemo.Lines.AddStrings(output);
      finally
        output.free;
        errors.free;
      end;
Bis auf die fehlenden Checks fällt mir hier eigentlich nix auf.

Die Zeilen sollen aus dem Memo2 (BefehlsMemo) genommen und ausgeführt werden?

Grob wäre das:
Delphi-Quellcode:
    begin
      output := TStringList.Create;
      try
        errors := TStringList.Create;
        for i := 0 to BefehlsMemo.Lines.Count -1 do
        begin
          sBatchDatei := BefehlsMemo.Lines[i];
          if GetConsoleOutput((sBatchDatei), output, errors) then
            AusgabeMemo.Lines.AddStrings(errors);
          AusgabeMemo.Lines.AddStrings(output);
        end;
      finally
        output.free;
        errors.free;
      end;
    end;
Übrigens: du kannst deinen Ausgangsbeitrag noch immer bearbeiten um die Delphi-Tags einzufügen. Ansonsten müssen wir wieder warten bis sich ein Mod erbarmt.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat