Referenz - ISREDIRECTED
Syntax: ISREDIRECTED (pruefeStdin)
Typ: Funktion
Kategorie: System
ISREDIRECTED gibt zurück, ob die Standardeingabe stdin bzw. die Standardausgabe stdout umgeleitet wurde.
Anmerkung:
Um diese Funktion nutzen zu können, muss die Datei fbio.bi in Ihren Quellcode eingebunden werden, z. B. mit INCLUDE.
- 'pruefeStdin' gibt an, ob stdin oder stdout geprüft werden soll. Ist 'pruefeStdin' 0 oder wird der Parameter ausgelassen, so wird stdout geprüft. Wenn für 'pruefeStdin' ein Wert ungleich 0 angegeben wird, wird stdin geprüft.
- Der Rückgabewert ist ein LONG mit dem Wert -1, wenn der Datenstrom umgeleitet wurde, oder 0, wenn er nicht umgeleitet wurde.
Beispiel:
Das folgende Beispiel ruft sich in einem zweiten Prozess erneut auf und nutzt sich dabei selbst als (Dummy-)Standardeingabe.
#INCLUDE "fbio.bi"
' Anführungszeichen um den Pfad, um Leerzeichen im Pfad zu ermöglichen
DIM AS STRING pathExe = """" & EXEPATH & """"
DIM AS STRING fileExe = MID(COMMAND(0), INSTRREV(COMMAND(0), "\") + 1)
DIM AS STRING redirection = " < """ & COMMAND(0)
IF LCASE(RIGHT(COMMAND(0), 4)) = ".exe" THEN
redirection &= """"
ELSE
redirection &= ".exe"""
END IF
IF COMMAND = "" THEN ' Erster Prozess ohne Umleitung der Standardeingabe
' prüfe Umleitung der Standardeingabe
PRINT "Erster Prozess ohne Umleitung: IsRedirected(-1) = "; ISREDIRECTED(-1)
' erzeuge einen zweiten asynchronen Prozess mit Umleitung der Standardeingabe
SHELL("start /d " & pathExe & " /b " & fileExe & redirection & " zweiterProzess")
' warte auf Beendigung des zweiten Prozesses
SLEEP
ELSEIF COMMAND = "zweiterProzess" THEN ' Zweiter Prozess mit Umleitung
' prüfe Umleitung der Standardeingabe
PRINT "Zweiter Prozess mit Umleitung: IsRedirected(-1) = "; ISREDIRECTED(-1)
END IF
Unterschiede zu QB: neu in FreeBASIC
Unterschiede zu früheren Versionen von FreeBASIC: existiert seit FreeBASIC v1.00.0
Siehe auch:
OPEN CONS, RESET, Dateien (Files)
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|