IBM Lotus Symphony
|
Læser data fra en åben sekventiel fil.
Input #Filnummer As Integer; var1[, var2[, var3[,...]]]
Filnummer: Nummeret på den fil, som indeholder de data, du vil læse. Filen skal åbnes med sætningen Open med nøgleordet INPUT.
var: En numerisk variabel eller strengvariabel, som de læste værdier fra den åbnede fil tildeles.
Sætningen Input# læser numeriske værdier eller strenge fra en åben fil og tildeler dataene til en eller flere variabler. En numerisk variabel læses indtil det første vognreturtegn (Asc=13), linjeskifttegn (Asc=10), mellemrum eller komma. Strengvariabler læses indtil det første vognreturtegn (Asc=13), linjeskifttegn (Asc=10) eller komma.
Data og datatyper i den åbnede fil skal forekomme i samme rækkefølge som de variabler, som overføres i parameteren "var". "var" tildeles værdien "0", hvis du tildeler en ikke-numerisk værdi til en numerisk variabel.
Poster, der er adskilt med komma, kan ikke tildeles en strengvariabel. Desuden ignoreres anførselstegn (") i filen. Hvis du vil læse disse tegn fra en fil, skal du bruge sætningen Line Input# til at læse rene tekstfiler (filer, der kun indeholder tegn, der kan skrives) linje for linje.
Hvis slutningen af filen nås, mens et dataelement læses, opstår der en fejl, og processen afbrydes.
Sub ArbejdMedEnFilEksempel
Dim iNummer As Integer
Dim sLinje As String
Dim aFil As String
Dim sMeddl as String
aFil = "c:\data.txt"
iNummer = Freefile
Open aFil For Output As #iNummer
Print #iNummer, "Dette er en tekstlinje"
Print #iNummer, "Dette er en anden tekstlinje"
Close #iNummer
iNummer = Freefile
Open aFil For Input As iNummer
While not eof(iNummer)
Line Input #iNummer, sLinje
If sLinje <>"" then
sMeddl = sMeddl & sLinje & chr(13)
End If
wend
Close #iNummer
Msgbox sMeddl
End Sub