Contenu
Index 🔎︎

# Fonction Eof

Détermine si le pointeur de fichier a atteint la fin d'un fichier.

### Syntaxe :

    Eof (intexpression As Integer)

### Valeur de retour :

Logique (Bool)

### Paramètres :

Intexpression : expression au format nombre entier dont l'évaluation donne le numéro d'un fichier ouvert.

Servez-vous de la fonction EOF pour éviter de produire des erreurs dues à des tentatives de saisie au-delà de la fin d'un fichier. Lorsque vous utilisez l'instruction Input ou Get pour lire dans un fichier, le pointeur de fichier avance en fonction du nombre d'octets lus. Une fois la fin du fichier atteinte, la fonction EOF renvoie la valeur "True" (-1).

### Codes d'erreur :

5 appel de procédure incorrect

52 nom ou numéro de fichier incorrect

### Exemple :

      Sub ExampleWorkWithAFile
          Dim iNumber As Integer
          Dim sLine As String
          Dim aFile As String
          Dim sMsg As String
          aFile = "C:\Users\ThisUser\data.txt"
          iNumber = Freefile
          Open aFile For Output As #iNumber
          Print #iNumber, "Ceci est une ligne de texte."
          Print #iNumber, "Ceci est une autre ligne de texte."
          Close #iNumber
          iNumber = Freefile
          Open aFile For Input As iNumber
          While Not eof(iNumber)
              Line Input #iNumber, sLine
              If sLine <>"" Then
                  sMsg = sMsg & sLine & chr(13)
              End If
          Wend
          Close #iNumber
          MsgBox sMsg
      End Sub

      Sub ExampleWorkWithAFile
          Dim iNumber As Integer
          Dim sLine As String
          Dim aFile As String
          Dim sMsg As String
          aFile = "~/data.txt"
          iNumber = Freefile
          Open aFile For Output As #iNumber
          Print #iNumber, "Ceci est une ligne de texte."
          Print #iNumber, "Ceci est une autre ligne de texte."
          Close #iNumber
          iNumber = Freefile
          Open aFile For Input As iNumber
          While Not eof(iNumber)
              Line Input #iNumber, sLine
              If sLine <>"" Then
                  sMsg = sMsg & sLine & chr(13)
              End If
          Wend
          Close #iNumber
          MsgBox sMsg
      End Sub

Rubriques connexes

Instruction Close

Instruction Print#

Instruction Input#

Instruction Optn