Gambas Documentation
Aperçu du Langage
À traduire
Code Snippets
Comment faire ...
Compilation et installation
Composants
gb
.Array.Bounds
.Stat.Perm
.Stream.Lines
.Symbol
Application
Args
Array
Boolean[]
Byte[]
Class
Classes
Collection
Component
Components
Date[]
Enum
Env
Error
File
BaseName
Dir
Err
Ext
In
IsRelative
Load
Name
Out
Read
Save
SetBaseName
SetDir
SetExt
SetName
Write
Float[]
gb
Integer[]
Long[]
Object
Object[]
Observer
Param
Pointer[]
Process
Short[]
Single[]
Stat
Stream
String
String[]
System
Timer
User
Variant[]
gb.args
gb.cairo
gb.clipper
gb.complex
gb.compress
gb.crypt
gb.db
gb.db.form
gb.dbus
gb.debug
gb.desktop
gb.desktop.gnome.keyring
gb.eval
gb.eval.highlight
gb.form
gb.form.dialog
gb.form.editor
gb.form.mdi
gb.gmp
gb.gsl
gb.gtk
gb.gtk3
gb.gui
gb.image
gb.image.effect
gb.image.imlib
gb.image.io
gb.inotify
gb.libxml
gb.media
gb.mysql
gb.net
gb.net.curl
gb.net.smtp
gb.openal
gb.opengl
gb.opengl.glsl
gb.opengl.glu
gb.opengl.sge
gb.option
gb.pcre
gb.pdf
gb.qt4
gb.qt4.ext
gb.qt4.opengl
gb.qt4.webkit
gb.qt5
gb.qt5.opengl
gb.report
gb.scanner
gb.sdl
gb.sdl.sound
gb.settings
gb.signal
gb.util
gb.util.web
gb.v4l
gb.vb
gb.web
gb.web.feed
gb.xml
gb.xml.html
gb.xml.rpc
gb.xml.xslt
Controls pictures
Derniers changements
Dépôt d'applications
Documentation de l'Environnement de développement
Documentation des développeurs
Documents
Indenter
Index de tous les Documents
Index du langage
Lexique
LISEZ-MOI
Manuel du wiki
Messages d'erreur
Tutoriels
Wiki License

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:
ls -a | ./pipe.gambas
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.