Einzelnen Beitrag anzeigen

Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#1

Eingabeaufforderung starten

  Alt 29. Mai 2003, 15:34
Hi,

ich schreib zur Zeit an einem Programm, mit dem ich java- Klassen über einen Java- Interpreter starten lasse. (normalerweise mach ich das von dem Java- Editor heraus, den ich benutze. Ich würd die aber auch gerne so starten, ohne zuerst den Editor zu öffnen)
Diese Klassen verhalten sich wie DOS- Programme (also keine GUI, einfach nur Konsolenanwendung- in nem Dosfenster).
Wenn ich die Klassen vom Editor aus starte, dann ruft der die Eingabeaufforderung auf, übergibt als einen Parameter den Dateinamen des Interpreters, und dahinter dann für den Interpreter als Parameter wo er die Klasse findet.
Wenn die Klassen durchgelaufen sind (z.B. ne kleine Zinsrechnung), dann gehn sie einfach aus und das Dosfenster is noch da, zurückgekehrt zum Ordner in dem es vorher war.
Ich habe jetzt mal ausprobiert ob man nicht einfach nur den Interpreter mit seinen nötigen Parametern ausführen kann. Klappt auch soweit ganz gut. Wenn allerdings bei dieser Variante die Klasse zu Ende ist, dann verschwindet das Fenster sofort, und der User kann z.B. nicht mehr die letzte Ausgabe lesen.
Das ist mein Problem.
Um dies zu lösen müsste ich entweder dem Fenster des Interpreters sagen, dass es nach Beendigung der Klasse auf nen Befehl zum Schließen warten soll (z.B. Klick aufs X), oder ich muss den Interpreter- Aufruf der Eingabeaufforderung übergeben, weil die ja nach Beendigung der Klasse offen bleibt.
Bei ersterem hab ich partout keine Ahnung wie das gehen soll, und bei zweiterem stehe ich vor dem Problem dass ich nicht weiß, wie ich gewährleisten kann dass mein Programm auf jedem Windows- Rechner die Eingabeaufforderung findet.
Das könnte man einerseits dadurch lösen dass man immer den Systemordner ermittelt und dann die Datei aufruft, aber die Eingabeaufforderung heißt ja -wenn ich mich recht erinnere- nicht auf jeder Windows- Version gleich.
Dann gäbs noch die Möglichkeit einfach "ein keyword", wie z.B. "command" oder "cmd" auszuführen. Das klappt unter Windows XP, aber gibt es diese keywords auch unter Win98, Me, NT und 2000?

Habt ihr andere Lösungsansätze, oder wisst ihr mehr über diese keywords oder wie man den Pfad zur Eingabeaufforderung unter den verschiedenen WindowsVersionen herausfindet?
Wenn ihr eine der anderen Windosen außer XP habt, könntet ihr die keywords ja auch mal ausprobieren und mir dann sagen, welche klappen und welche nicht.

Danke schonmal,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat