Standard-Terminal aufrufen
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Standard-Terminal aufrufen
Hi,
Ich habe eine Konsolenanwendung, die von einem GUI Programm aufgerufen wird. Problem: Wenn ich das CLI Programm direkt aufrufe, wird mir logischerweise kein Terminal angezeigt. Nun meine Frage: Gibt es eine Möglichkeit das Standard-Terminal aufzurufen oder zumindest den Pfad des Terminals auszulesen um es dann aufzurufen?
Ich habe eine Konsolenanwendung, die von einem GUI Programm aufgerufen wird. Problem: Wenn ich das CLI Programm direkt aufrufe, wird mir logischerweise kein Terminal angezeigt. Nun meine Frage: Gibt es eine Möglichkeit das Standard-Terminal aufzurufen oder zumindest den Pfad des Terminals auszulesen um es dann aufzurufen?
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Standard-Terminal aufrufen
Dieser Code ruft fpc in einem Terminal auf.
Hier hat es noch mehr: http://wiki.freepascal.org/Executing_External_Programs
Code: Alles auswählen
var
s:String;
begin
RunCommand('xterm', ['fpc'],s );
end;
Hier hat es noch mehr: http://wiki.freepascal.org/Executing_External_Programs
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2640
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Standard-Terminal aufrufen
xterm muss nicht installiert sein. Auf einem aktuellen Linux Mint/MATE ist es standardmäßig nicht dabei.
AFAIK sollte der Aufruf von x-terminal-emulator immer das passende grafische Terminal starten. Kann das noch jemand bestätigen?
AFAIK sollte der Aufruf von x-terminal-emulator immer das passende grafische Terminal starten. Kann das noch jemand bestätigen?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Standard-Terminal aufrufen
Auf einem aktuellen Linux Mint/MATE ist es standardmäßig nicht dabei.
Ich meinte, bei meinem Mint musste ich es nicht nachinstallieren.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: Standard-Terminal aufrufen
Geht leider nicht. Ich habe es jetzt einfach folgendermaßen gelöst: Bevor die CLI-Anwendung gestartet wird, wird der Benutzer mittels InputQuery dazu aufgefordert, den Pfad des Standard Terminals einzugeben. Dabei ist natürlich das zuletzt eingegebene schon als default drin.m.fuchs hat geschrieben:AFAIK sollte der Aufruf von x-terminal-emulator immer das passende grafische Terminal starten. Kann das noch jemand bestätigen?
Sollte dennoch jemand wissen, wie es gehen könnte, gerne schreiben
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Standard-Terminal aufrufen
Für eine Konsole gäbe es noch eine sehr elegante Lösung, NetBeans betet sie direkt in die GUI-Anwendung, siehe Anhang.
Aber wie dies geht, weis ich leider auch nicht.
Aber wie dies geht, weis ich leider auch nicht.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: Standard-Terminal aufrufen
Mathias hat geschrieben:Für eine Konsole gäbe es noch eine sehr elegante Lösung, NetBeans betet sie direkt in die GUI-Anwendung, siehe Anhang.
Aber wie dies geht, weis ich leider auch nicht.
Wie es geht, weiß ich (in der Theorie). Aber sich extra dafür einen Terminal Emulator schreiben, ist schon eine größere Sache. Ich werde mich vorerst mit dem oben beschriebenen zufrieden geben. Wenn ich mal Zeit und Lust habe, schreibe ich mir einen (allerdings mit sehr geringer Funktionalität).
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Standard-Terminal aufrufen
Wie es geht, weiß ich (in der Theorie). Aber sich extra dafür einen Terminal Emulator schreiben, ist schon eine größere Sache. I
Ich dachte zuerst, dies wäre etwas eingebetetes, aber bei genauerer Betrachtung sieht, dies wirklich so aus, das eine eigene Emulation geschrieben wurde. Bezieht sich auf NetBeans.
Dies wäre sicher mal eine interessante Sache, eine Emulation selbst zu schreiben. Ein serielles Terminal ist sicher keine Hexerei, das muss man nur ESC-Sequenzen auswerten. Nur wie sieht es bei einem Terminal wie XTerm aus oder bei Telnet ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: Standard-Terminal aufrufen
An sich funktioniert so ein Terminal Emulator mit Streams. Und dank TProcess ist es auch recht einfach zumindest die Ausgabe anzuzeigen. Wie es mit der Eingabe funktioniert, hatte ich neulich erst im Wiki gelesen, hab es aber wieder vergessenMathias hat geschrieben:Wie es geht, weiß ich (in der Theorie). Aber sich extra dafür einen Terminal Emulator schreiben, ist schon eine größere Sache. I
Ich dachte zuerst, dies wäre etwas eingebetetes, aber bei genauerer Betrachtung sieht, dies wirklich so aus, das eine eigene Emulation geschrieben wurde. Bezieht sich auf NetBeans.
Dies wäre sicher mal eine interessante Sache, eine Emulation selbst zu schreiben. Ein serielles Terminal ist sicher keine Hexerei, das muss man nur ESC-Sequenzen auswerten. Nur wie sieht es bei einem Terminal wie XTerm aus oder bei Telnet ?
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);