Input# Statement
LÀser data frÄn en öppen sekventiell fil.
Syntax:
Input #FileNumber As Integer; var1[, var2[, var3[,...]]]
Parametrar:
FileNumber: Numret pÄ den fil som innehÄller de data som du vill lÀsa. Filen mÄste öppnas med en Open-sats som anvÀnder nyckelordet INPUT.
var: En numerisk variabel eller strÀngvariabel som du tilldelar de vÀrden som avlÀses i den öppnade filen.
En Input#-sats lÀser numeriska vÀrden eller strÀngar frÄn en öppen fil och tilldelar data till en eller flera variabler. En numerisk variabel lÀses upp till den första vagnreturen (Asc=13), radmatningen (Asc=10), blanksteget eller kommatecknet. StrÀngvariabler lÀses upp till den första vagnreturen (Asc=13), radmatningen (Asc=10) eller kommatecknet.
Data och datatyper i den öppnade filen mÄste visas i samma ordning som de variabler som överförs i parametern "var". Om du tilldelar icke-numeriska vÀrden till en numerisk variabel, sÄ tilldelas "var" vÀrdet "0".
Poster som separeras med kommatecken (,) kan inte tilldelas en strÀngvariabel. Citationstecken (") i filen ignoreras ocksÄ. Om du vill lÀsa de hÀr tecknen frÄn filen kan du anvÀnda Line Input#-satsen för att lÀsa rena textfiler (filer som bara innehÄller utskrivbara tecken) rad för rad.
Om slutet av filen nÄs vid lÀsning av ett dataelement uppstÄr ett fel och processen avbryts.
Exempel:
Sub ExampleWorkWithAFile
Dim iCount As Integer
Dim sName As String
Dim sValue As Integer
Dim sFileName As String
sFileName = "c:\data.txt"
iCount = Freefile
' Skriv data till filen (som vi senare kommer att lÀsa in via Input)
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
' LÀs datafil med hjÀlp av Input
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