Referenz - RUN
Syntax: RUN (Datei [, Argumente])
Typ: Funktion
Kategorie: System
RUN startet eine ausführbare Datei. Wenn die Datei ordnungsgemäß ausgeführt werden konnte, wird die Kontrolle anschließend an das Betriebssystem zurückgegeben.
- 'Datei' ist ein STRING, der den vollen Dateinamen (inklusive Erweiterung) der auszuführenden Datei enthält.
- 'Argumente' ist ein STRING, der die Argumente enthält, die an das Programm übergeben werden sollen.
- Wenn ein Fehler aufgetreten ist, z. B. wenn die aufzurufende Datei nicht existiert, wird -1 zurückgegeben.
RUN transferiert die Kontrolle auf das aufgerufene Programm. Nachdem das aufgerufene Programm beendet wurde, erhält das aufrufende Programm die Kontrolle nicht mehr zurück. Sie wird ans Betriebssystem zurückgegeben. Das bedeutet, dass als Rückgabewert von RUN immer -1 aufgefangen wird, da bei erfolgreichem Aufruf kein Rückgabewert mehr ausgewertet werden kann.
Beispiel:
Wenn die Datei "file.exe" im aktuellen Arbeitsverzeichnis existiert, wird sie durch diesen Code aufgerufen:
IF RUN "file.exe" = -1 THEN
PRINT """file.exe"" existiert scheinbar doch nicht."
ELSE
PRINT "Es ist egal was hier passiert, es wird nie ausgefuehrt."
END IF
SLEEP 'Wird nur ausgefuehrt, wenn der RUN-Aufruf -1 zurueckgibt.
Da das Programm automatisch beendet wird, wenn "file.exe" erfolgreich ausgeführt werden konnte, muss nicht geprüft werden, ob der Rückgabewert -1 war.
Unterschiede zu QB:
- In FreeBASIC muss der volle Dateiname inklusive Erweiterung (.exe unter Win32 und DOS) angegeben werden.
- RUN kann in FreeBASIC auch als Funktion eingesetzt werden.
Plattformbedingte Unterschiede:
- Unter Linux muss der Dateiname 'case sensitive' erfolgen. Windows und DOS sind 'case insensitive'.
- Das Trennzeichen für den Dateipfad ist unter Linux der vorwärtsgerichtete Slash /. Windows verwendet den Backslash \, erlaubt aber auch den Slash. DOS verwendet den Backslash.
Siehe auch:
CHAIN, EXEC, SHELL, END, COMMAND, Betriebssystem-Anweisungen
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|