IBM Lotus Symphony
|
Åbner en datakanal.
Open Filnavn As String [For Tilstand] [Access IOtilstand] [Beskyttet] As [#]Filnummer As Integer [Len = Datasætlængde]
Filnavn: Navnet på og stien til den fil, du vil åbne. Der vises en fejlmeddelelse, hvis du forsøger at åbne en fil, som ikke findes (Access = Read). Der oprettes en ny fil, hvis du forsøger at skrive til en fil, som ikke findes (Access = Write).
Tilstand: Nøgleord, som angiver filtilstanden. Gyldige værdier: Append (tilføj til sekventiel fil), Binary (brug Get og Put til at få adgang til data byte for byte), Input (åbner datakanalen med henblik på læsning), Output (åbner datakanalen med henblik på skrivning) og Random (til redigering af relative filer).
IOtilstand: Nøgleord, der definerer adgangstypen. Gyldige værdier: Read (kun læsning), Write (kun skrivning), Read Write (begge).
Beskyttet: Nøgleord, som definerer en fils sikkerhedsstatus efter åbning. Gyldige værdier: Shared (fil må åbnes af andre programmer), Lock Read (fil er beskyttet mod læsning), Lock Write (fil er beskyttet mod skrivning), Lock Read Write (afviser filadgang).
Filnummer: Et heltal fra 0 til 511, der angiver nummeret på en ledig datakanal. Du kan derefter få adgang til filen ved at overføre kommandoer gennem datakanalen. Filnummeret skal fastlægges ved hjælp af funktionen FreeFile umiddelbart før Open-sætningen.
Datasætlængde: Bruges til at angive længden på posterne i filer med direkte tilgang.
![]() |
Du kan kun ændre indholdet af en fil, som blev åbnet med Open-sætningen. Der vises en fejlmeddelelse, hvis du forsøger at åbne en fil, som allerede er åben. |
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