File.In (gb)
Static Property Read In As File
Retourne le flux d'entrée standard.
L'exemple suivant montre comment lire et écrire dans les entrées et sortie standards ainsi que la sortie d'erreur. L'utilisation de File.In,
File.Out et
File.Err est ilustrée. Chaque ligne vue sur l'entrée standard est réaffichée en premier sur la sortie standard puis sur la sortie d'erreur.
Exemples
PUBLIC SUB Main()
DIM inputLine AS String
' Boucle tant que la fin du flux de fichier n'est pas atteinte
WHILE NOT Eof(File.In)
' Lis une ligne depuis l'entrée standard. C'est équivalent a:
' LINE INPUT inputLine
LINE INPUT #File.In, inputLine
' Affiche sur la sortie standard. C'est semblable à :
' PRINT inputLine
PRINT #File.Out, inputLine
' Affiche sur la sortie d'erreur
PRINT #File.Err, inputLine
WEND
END
Créez une application en ligne de commande puis placez le code ci-dessus dans le module de démarrage. Si vous lancez cet exemple dans l'EDI Gambas l'application semblera se bloquer. Si vous entrez du texte dans la console de l'EDI, chaque ligne sera affichée deux fois. Mais comme l'application ne verra jamais la fin de fichier du flux d'entrée standard, vous devrez stopper le projet.
Pour avoir une meilleure idée de ce que fait l'exemple, le mieux est de créer un exécutable depuis le projet. Supposons que nous appelons cet exécutable
pipe.gambas
. Maintenant ouvrez un terminal et allez dans le répertoire du projet où se trouve l'exécutable. Si vous entrez la commande:
Vous verrez que chaque ligne produite par
ls -a
s'affichera deux fois. Une fois depuis l'entrée standard, et une seconde fois depuis la sortie d'erreur. Cette fois l'application verra la fin du fichier depuis le flux d'entrée standard et se termina correctement. Maintenant essayez :
ls -a | ./pipe.gambas > files.txt
Ici nous redirigeons le flux d'entrée standard vers un fichier, et vous verrez seulement la sortie d'erreur standard émise vers le terminal. Vous devriez maintenant avoir un fichier dans le répertoire contenant la sortie de la commande
ls -a
.