IBM Lotus Symphony
|
Avaa tietokanavan.
Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]
FileName: Avattavan tiedoston nimi ja polku. Jos yrität lukea tiedostoa, jota ei ole (Access = Read), näyttöön tulee virhesanoma. Jos yrität kirjoittaa tiedostoon, jota ei ole (Access = Write), järjestelmä luo uuden tiedoston.
Mode: Tiedostotilan määrittävä avainsana. Kelvollisia arvoja ovat seuraavat: Append (liittää tietoja peräkkäistiedostoon), Binary (tietoja voidaan käsitellä tavujen mukaan Get- ja Put-lauseiden avulla), Input (avaa tietokanavan lukutoimintoja varten), Output (avaa tietokanavan kirjoitustoimintoja varten) ja Random (muokkaa suhteellisia tiedostoja).
IOMode: Käsittelylajin määrittävä avainsana. Kelvollisia arvoja ovat seuraavat: Read (vain luku), Write (vain kirjoitus), Read Write (molemmat).
Protected: Avainsana, joka määrittää tiedoston suojaustilan avaamisen jälkeen. Kelvollisia arvoja ovat seuraavat: Shared (muut sovellukset voivat avata tiedoston), Lock Read (tiedosto on lukusuojattu), Lock Write (tiedosto on kirjoitussuojattu), Lock Read Write (tiedoston käsittelyä ei sallita).
FileNumber: Mikä tahansa vapaan tietokanavan numeron osoittava kokonaislukulauseke väliltä 0–511. Kun tietokanava on määritetty, voit välittää tiedostoa käsitteleviä komentoja tietokanavan kautta. Tiedoston numero on määritettävä FreeFile-funktion avulla juuri ennen Open-lausetta.
DatasetLength: Määrittää hajasaantitiedoston tietueiden pituuden.
![]() |
Vain Open-lauseen avulla avatun tiedoston sisältöä voi muuttaa. Jos yrität avata tiedoston, joka on jo avattu, näyttöön tulee virhesanoma. |
Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim sLine As String
Dim aFile As String
Dim sMsg as String
aFile = "c:\data.txt"
iNumber = Freefile
Open aFile For Output As #iNumber
Print #iNumber, "This is a line of text"
Print #iNumber, "This is another line of text"
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