Entwickler-Ecke
Windows API - Datei mit einem Programm starten
delphijanka - Fr 02.10.09 12:43
Titel: Datei mit einem Programm starten
Hallo.
ich versuche gerade in meinem Programm einige Sachen mit gnuplot darzustellen. Das heißt, der Befehlssatz sowie die Parameter und Koordinaten werden in einer Textdatei geschrieben, welche aus gnuplot heraus aufgerufen werden soll, um Grafik zu erzeugen.
Angenommen, die Datei ist bereits vorhanden. Was ich wissen möchte, wie ich diese mit gnuplot.exe aufrufe.
Die Funktion ShellExecute kenne ich, aber wie übergebe ich außer der exe-datei noch die auszuführende datei?
Danke.
delphijanka - Fr 02.10.09 12:49
habe gefunden im Net:
"Open SomeText.txt with Notepad
ShellExecute(Handle,'open', 'c:\windows\notepad.exe','c:\SomeText.txt', nil, SW_SHOWNORMAL) ;"
delphijanka - Mo 12.10.09 14:09
Bin auf ein Problem gestossen: Gnuplot führt die übergebene Datei nicht aus. Ich habe mal gelesen, dass man gnuplot in Umgebungsvariablen bekannt machen soll bzw eine komische LIB-Datei mit allen benutzten Verzeichnissen.
Weiß jemand, wie ich das mache, insbesondere wie ich den Pfad in Umgebungsvariablen mit ner Prozedur hinzufüge?
Danke.
dummzeuch - Di 13.10.09 20:45
delphijanka hat folgendes geschrieben : |
Bin auf ein Problem gestossen: Gnuplot führt die übergebene Datei nicht aus. Ich habe mal gelesen, dass man gnuplot in Umgebungsvariablen bekannt machen soll bzw eine komische LIB-Datei mit allen benutzten Verzeichnissen.
|
Hast Du schonmal versucht, ob ein manueller Aufruf aus der Kommandozeile funktioniert:
gnuplot datei.txt
Wenn das funktioniert, dann sollte auch ein Aufruf aus Deinem Programm funktionieren, ohne sonstigen Schnickschnack.
twm
delphijanka - Mi 14.10.09 12:22
@dummzeuch
Ja, die Datei wird geöffnet, aber nicht ausgeführt. Im Programm gibt es auch zwei Funktionen, einmal öffnen, einmal ausführen.
dummzeuch - Mi 14.10.09 13:33
delphijanka hat folgendes geschrieben : |
@dummzeuch
Ja, die Datei wird geöffnet, aber nicht ausgeführt. Im Programm gibt es auch zwei Funktionen, einmal öffnen, einmal ausführen. |
Laut Anleitung laedt gnuplot die Datei und fuehrt die darin aufgefuehrten Befehle aus. Steht denn in der Datei auch ein plot-Befehl, der etwas anzeigt?
twm
delphijanka - Do 15.10.09 11:44
@dummzeuch
Bei gnuplot gibt es einmal die Funktion open, die nur die Datei öffnet und somit die momentanen internen Daten - den Zustand - aktualisiert. Dann gibt es die Funktion load, die die Daten ausführt. Tut man "load" zusammen mit Datei ausführen, wird also beides gleichzeitig gemacht. Wenn ich aus Delphi heraus die Datei mit gnuplot öffne, dann passiert anscheinend nur "open", aber nicht "load". Im Bereich "Delphi CLX... (3er von oben)" läuft gerade ein Thread (Author: Roboman), wo das Problem diskutiert wird: es lässt sich mittels der Umgebungsvariable und einer LIB-Datei lösen. Aber wie?
Die Lösung des Problems soll natürlich in dem oben genannten Thread gegeben werden, hier in diesem Thread nur die Beschreibung, wie man mittels WinAPI ein Pfad in der "System->Umgebungsvariable" unterbringt.
jaenicke - Do 15.10.09 11:47
delphijanka hat folgendes geschrieben : |
| hier in diesem Thread nur die Beschreibung, wie man mittels WinAPI ein Pfad in der "System->Umgebungsvariable" unterbringt. |
Mittels API gar nicht. Es gibt leider dafür keine Funktion. Ich habe selbst danach einige Monate gesucht.
Funktionieren tut es über die Registry wie hier in der Library beschrieben ist:
http://www.delphi-library.de/viewtopic.php?p=108571
Bei einem selbst gestarteten Programm könnte man theoretisch auch den Environment Block direkt modifizieren, aber das wäre aufwändiger.
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!