Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie funktioniert DosCommand? (https://www.delphipraxis.net/32694-wie-funktioniert-doscommand.html)

Delphi Star 27. Okt 2004 12:11


Wie funktioniert DosCommand?
 
Wie funktioniert die Komponente DosCommand (Torry.net)?
Hat vielleicht jemand ein Beispielprogramm oder kennt eine ähnliche Komponente, mit der man Informationen zwischen der Eingabeaufforderung und dem eigenen Programm austauschen kann?

PRehders 27. Okt 2004 12:26

Re: Wie funktioniert DosCommand?
 
Hallo Delphi Star,

hast du dir den Quelltext aus dem ZIP mal angesehen? Dort ist der Gebrauch eigentlich sehr gut dokumentiert :wink:

Gruß

Peter

MasterC 27. Okt 2004 12:47

Re: Wie funktioniert DosCommand?
 
Hi Delphi Star,

Dekleration:
Delphi-Quellcode:
procedure cmdNewLine(Sender: TObject; NewLine: string; OutputType: TOutputType);
procedure cmdTerminated(Sender: TObject; ExitCode: Cardinal);

var
  cmd: TDoscommand;
Bei OnCreate deines Forms:
Delphi-Quellcode:
cmd := TDoscommand.Create(self);
cmd.OnNewLine := cmdNewLine;
cmd.OnTerminated := cmdTerminated;
Anwendung von TDoscommand:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  cmd.CommandLine := 'c:\run.bat';
  cmd.Execute;
end;

procedure TForm1.cmdTerminated(Sender: TObject; ExitCode: Cardinal);
begin
  cmd.Stop;
end;

procedure TForm1.cmdNewLine(Sender: TObject; NewLine: string; OutputType: TOutputType);
begin
//Irgendwas mit NewLine machen.
end;
MFG Chris.

taktaky 17. Okt 2007 11:57

Re: Wie funktioniert DosCommand?
 
Ich bekomme diese Meldung :
run.bat does not exist

was fehlt noch in dem Code ?

Oder da hier was fehlt ?

Delphi-Quellcode:
procedure TForm1.cmdNewLine(Sender: TObject; NewLine: string; OutputType: TOutputType);
begin
//Irgendwas mit NewLine machen.
end;

Phoenix 17. Okt 2007 12:00

Re: Wie funktioniert DosCommand?
 
Was haben wir Dir zum Code kopieren gesagt?

Versuche zu verstehen was der Code macht, und Dir wird das Problem sofort wie Schuppen von den Augen fallen.

DeddyH 17. Okt 2007 12:28

Re: Wie funktioniert DosCommand?
 
Und wieder einmal hat er es geschafft, gleich 3 Threads, die sich irgendwie mit seinem "Problem" beschäftigen, zu pushen.

taktaky 17. Okt 2007 12:34

Re: Wie funktioniert DosCommand?
 
Zitat:

Zitat von DeddyH
gleich 3 Threads, die sich irgendwie mit seinem "Problem" beschäftigen, zu pushen.

Die sind nicht meine Threads :mrgreen:

Hador 17. Okt 2007 12:59

Re: Wie funktioniert DosCommand?
 
Egal, ob es deine sind oder nicht. Es reicht doch, wenn du einmal die Frage stellst.

Phoenix 17. Okt 2007 13:25

Re: Wie funktioniert DosCommand?
 
Zitat:

Zitat von taktaky
Die sind nicht meine Threads :mrgreen:

Was es noch schlimmer macht. Wir haben Dir eindeutig gesagt dass das Entführen fremder Threads nicht erwünscht ist. :warn:

schöni 12. Apr 2010 15:33

Re: Wie funktioniert DosCommand?
 
Und in cmdNewLine könnte ein zweiter Prozess sein Ausgaben in eine Stringliste schreiben. Aber wie geht es danach mit der Auswertung eventueller Ausgaben weiter?

Wird cmdNewLine nach jedem CRLF neu ausgelöst oder wird die gesamte Ausgabe übergeben?

Klaus01 12. Apr 2010 16:50

Re: Wie funktioniert DosCommand?
 
Zitat:

Zitat von schöni
Und in cmdNewLine könnte ein zweiter Prozess sein Ausgaben in eine Stringliste schreiben. Aber wie geht es danach mit der Auswertung eventueller Ausgaben weiter?

Wird cmdNewLine nach jedem CRLF neu ausgelöst oder wird die gesamte Ausgabe übergeben?

Im Ereignis onNewLine kann kannst Du den String in einen
Buffer, der von anderen Klassen nutzbar ist, schreiben und dort auswerten.
Oder direkt im Erignis auswerten.

Wie der Name des Ereignises onNewLine vermuten läßt wird es bei jeden
Carriage Return LineFeed ausgelöst.

Grüße
Klaus

herik 25. Nov 2019 10:28

AW: Wie funktioniert DosCommand?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Gemeinde,



Ich beschäftige mich aktuell auch gerade mit DosCommand. Super finde ich die Möglichkeit live die Ausgaben der Console zu erhalten.

Meine Frage ist ob DosCommand auch mit einem anderem Comandozeilenprogramm genutzt werden kann.
Speziell geht es mir hier um die Datei TNCCMD.exe von Haidenhain.

In den Beispielen die ich bisher gefunden habe wird ja immer cmd von Windows genutzt.

Mein Versuch sieht bisher so aus:

Aufruf meiner Batchdatei:
Delphi-Quellcode:
  CMD.OutputLines := Memo1.Lines;
  cmd.CommandLine := 'run.bat';
  cmd.Execute;
meine Batchdatei:
Code:
TNCCMD.exe Connect I- 192.168.2.81
pause
und noch das was im Memo1 ausgegeben wird:
https://www.delphipraxis.net/attachm...1&d=1574676990


Nun ist halt die Frage ob ich die TNCCMD.exe anders angeben muss, bzw ob es überhaupt so funktioniert.
Seltsam kommt mir auch die doppelte Ausgabe der Zeilen vor.

Ich hoffe ich habe ausreichend Infos gegeben das Ihr mir Helfen könnt.

mfg Herik

herik 4. Jan 2020 09:20

AW: Wie funktioniert DosCommand?
 
Kann mir keiner helfen?

Uwe Raabe 4. Jan 2020 09:49

AW: Wie funktioniert DosCommand?
 
Anstatt einen fast 10 Jahre alten Thread wiederzubeleben, wäre es vielleicht besser einen neuen aufzumachen. Ich persönlich neige eher dazu, solche Zombies zu ignorieren. Abgesehen davon, könnte man den Titel auch besser an dein aktuelles Problem anpassen.

herik 5. Jan 2020 08:02

AW: Wie funktioniert DosCommand?
 
Ok. Danke. Werde ich machen. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz