Input#-instructie

Leest gegevens uit een geopend sequentieel bestand.

Syntaxis:

Input #FileNumber As Integer; var1[, var2[, var3[,...]]]

Parameters:

BestandsNummer: Nummer van het bestand waarvan gegevens moeten worden gelezen. Het bestand moet geopend zijn door het Open-instructie met het sleutelwoord INPUT.

var: Een numerieke of tekenreeks-variabele waaraan u de waarden, die gelezen worden uit het geopende bestand, aan toe wijst.

De Input#-instructie wordt gebruikt om numerieke waarden of tekenreeksen uit een geopend bestand te lezen en de gegevens aan één of meer variabelen toe te kennen. Een numerieke variabele wordt gelezen tot het eerste harde regeleinde (Asc=13), regeleinde (Asc=10), spatie of komma. Tekenreeksvariabelen worden gelezen tot het eerste harde regeleinde (Asc=13), regeleinde (Asc=10) of komma.

Gegevens en gegevenstypen in een bestand moeten in dezelfde volgorde verschijnen als de variabelen die toegekend zijn in 'Var'. Als u niet-numerieke waarden toekent aan een numerieke variabele, wordt aan 'var' de waarde '0' toegekend.

Records die door komma's gescheiden zijn, kunnen niet aan een tekenreeksvariabele worden toegewezen. Aanhalingstekens (") in het bestand worden eveneens genegeerd. Als u deze tekens uit het bestand wilt lezen, moet u de Line Input#-instructie gebruiken om pure tekstbestanden (bestanden die alleen afdrukbare tekens bevatten) regel voor regel te lezen.

Als het einde van het bestand wordt bereikt terwijl een gegevenselement wordt gelezen verschijnt een foutboodschap en wordt het proces afgebroken.

Voorbeeld:

Sub ExampleWorkWithAFile

Dim iCount As Integer

Dim sName As String

Dim sValue As Integer

Dim sFileName As String

 

sFileName = "c:\data.txt"

iCount = Freefile

 

' Schrijf data (die we later met Invoer zullen lezen) naar een bestand

Open sFileName For Output As iCount

sName = "Hamburg"

sValue = 200

Write #iCount, sName, sValue

sName = "New York"

sValue = 300

Write #iCount, sName, sValue

sName = "Miami"

sValue = 459

Write #iCount, sName, sValue

Close #iCount

 

iCount = Freefile

' Lees databestand door gebruik te maken van Invoer

Open sFileName For Input As iCount

Input #iCount; sName, sValue

MsgBox sName & " " & sValue

Input #iCount; sName, sValue

MsgBox sName & " " & sValue

Input #iCount; sName, sValue

MsgBox sName & " " & sValue

Close #iCount

End Sub