Entwickler-Ecke
Sonstiges (Delphi) - CMD fenster in delphi Form anzeigen lassen
Petros - Di 30.03.10 17:06
Titel: CMD fenster in delphi Form anzeigen lassen
Hallo an alle. Ich habe mal eine frage und habe dazu bisher keine lösung gefunden habe..
ich möchte gerne ein cms fenster in eine delphi form anzeigen lassen... habe dazu auch ein pic hochgeladen um zu sehen welche fenster ich meine (bitte nicht wundern das es 3 mal das selbe fenster ist da die anderen nur starten wenn ein DB server an ist...)
hier mal meine vorstellung was ich meine damit
1. Form1 sind 3 Buttons
1.1 Button 1 = TitanICS.exe | Button 2 = LoginISC.exe | Button 3 = WeltISC.exe
soweit funktioniert alles per ShellExecute wenn ich drauf klicke öffnen sich die cmd fenster
nun möschte ich aber eine Form2 habe die sich öffnet sobald ich auf einen der buttos Klicke.. und die cmd fenster sollen dort angezeigt werden
2. Form2 sollen 3 fenster enthalten alle 3 unter einander
2.1 wenn ich nun button 1 -3 klicke sollen im Form2 nacheinander je nach welchem button ich drücke sollen die cmd fenster dort ausgeführt werden
ich habe auch mal ein bespiel hochgeladen um es mal zu verdeutlichen
Ich bedanke mich schon mal
MFG Petros
JonS - Di 30.03.10 17:39
Fang doch einfach alles ab und stell es in einer TMemo dar. bei den Schweizern (SwissDelphiCenter) gibt es einen Tipp dazu, wie man die Konsolenausgabe abfangen kann.
wfg Jon S.
Petros - Di 30.03.10 17:55
das finde ich ja mal cool hat funktioniert super danke für die antwort...
aber jetzt noch ein kleines problem was muss ich tun um mehrere anzeigen zu lassen also in memo2 und memo3 und wie stell ich das an das das cmd fenster nicht angezeigt wird
MFG Petros
Petros - Di 30.03.10 18:43
so komponete habe ich herunter geladen und in delphi integriert nur wie benutze ich diese jetzt
mfg Petros
guinnes - Mi 31.03.10 08:53
Na, so z.B. :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TfrmTSMain.DosCommandNewLine(Sender: TObject; NewLine: String; OutputType: TOutputType); begin mmDosCommand.Lines.Add(NewLine); end;
procedure TfrmTSMain.btnExecuteClick(Sender: TObject); var Command : String; begin if JvOpenDialog.Execute then begin JvOpenDialog.InitialDir := ExtractFilePath(JvOpenDialog.FileName); mmMeta.Lines.Clear; mmDosCommand.Lines.Clear; Command := ExtractFilePath(Application.ExeName) + 'tsmuxer "' + JvOpenDialog.FileName + '"'; DosCommand.CommandLine := Command; mmMeta.Text := Command; DosCommand.Execute; end; end; |
Petros - Mi 31.03.10 17:22
Danke!! funktioniert auch teilweise also er führt das project aus nur sobald ich die TitanICS.exe öffne sagt er mir C:\server\TitanICS.exe exestiert nicht obwohl ich die datei direckt herraus suche
was muss ich hier genau zusammen bauen
Delphi-Quelltext
1:
| Command := ExtractFilePath(Application.ExeName) + 'tsmuxer "' + JvOpenDialog.FileName + ' "'; |
bei mir
Delphi-Quelltext
1:
| Command := ExtractFilePath(Application.ExeName) + 'C:\server\ "' + OpenDialog1.FileName + 'TitanICS.exe"'; |
Habe es aber auch schon mit
Delphi-Quelltext
1:
| Command := ExtractFilePath(Application.ExeName) + 'TitanICS.exe "' + OpenDialog1.FileName + '"'; |
versucht kommt jedesmal die selbe meldung
aber wie mache ich das ich die datei nicht raus suchen muss sondern auf den button klicke und es dann startet und die informationen dann im mmDosCommand ausliest..
und im mmDosCommand wird ja nur der pfad angezeigt und mmMeta bleibt leer ist ja auch logisch da er ja die datei nicht findet..
MFG Petros
guinnes - Mi 31.03.10 18:19
In Command kommt genau die Kommandozeile rein, die du auch an einer beliebigen Stelle auf deinen Platten eintippen würdest, und wenn die TitanICS.exe nicht in dem Verzeichniss liegt, wo auch deine Exe ist geht das so, wie du es probiert hast, natürlich nicht. In meinem Beispiel übergebe ich der TsMuxR einen File, darum der Opendialog
Petros - Mi 31.03.10 21:02
Recht Herzlichen dank guinnes funktioniert wunderbar so wie es soll und vielen dank an alle die dazu beigetragen haben ich habt mir sehr geholfen und es kammen sehr schnelle antworten von euch...
Für alle die dazu noch eine lösung suchen ohne Opendialog folgenes
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure TfrmTSMain.DosCommandNewLine(Sender: TObject; NewLine: String; OutputType: TOutputType); begin Memo1.Lines.Add(NewLine); end;
procedure TfrmTSMain.btnExecuteClick(Sender: TObject); var Command : String; begin Memo1.Lines.Clear; Memo2.Lines.Clear; Command := ExtractFilePath(Application.ExeName) + 'beispiel.exe'; DosCommand.CommandLine := Command; Memo1.Text := Command; DosCommand.Execute; end; end; |
MFG Petros
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!