IBM Lotus Symphony
|
Odpre podatkovni kanal.
Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]
FileName: Ime in pot datoteke, ki jo želite odpreti. Če poskušate prebrati datoteko, ki ne obstaja (Access = Read), se pojavi sporočilo o napaki. Če pa poskušate pisati v datoteko, ki ne obstaja (Access = Write), se ustvari nova datoteka.
Mode: Ključna beseda, ki podaja način datoteke. Veljavne vrednosti: Append (pripne v zaporedno datoteko), Binary (do podatkov lahko dostopite z bajti z ukazoma Get in Put), Input (odpre podatkovni kanal za branje), Output (odpre podatkovni kanal za pisanje) in Random (uredi relativne datoteke).
IOMode: Ključna beseda, ki definira vrsto dostopa. Veljavne vrednosti: Read (samo za branje), Write (samo za pisanje), Read Write (oboje).
Protected: Ključna beseda, ki definira status zaščite datoteke po njenem odprtju. Veljavne vrednosti: Shared (datoteko lahko odprejo druge aplikacije), Lock Read (datoteka je zaščitena pred branjem), Lock Write (datoteka je zaščitena pred pisanjem), Lock Read Write (zavrne dostop do datoteke).
FileNumber: Vsak celoštevilski izraz od 0 do 511, ki nakazuje številko prostega podatkovnega kanala. Ukaze lahko nato posredujete prek podatkovnega kanala, da dostopite do datoteke. Funkcija FreeFile mora določiti številko datoteke nemudoma pred stavkom Open.
DatasetLength: Za datoteke z naključnim dostopom nastavite dolžino zapisov.
![]() |
Vsebino datoteke lahko spremenite samo, če je bila datoteka odprta s stavkom Open. Če poskušate odpreti datoteko, ki je že odprta, se pojavi sporočilo o napaki. |
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