Open Statement
Megnyit egy adatcsatornát.
Szintaxis:
Open Fájlnév As String [For Mode] [Access IO-mód] [Védelem] As [#]Fájlszám As Integer [Len = AdathalmazHossza]
Paraméterek:
FájlnĂ©v: A megnyitni kĂvánt fájl neve Ă©s elĂ©rĂ©si Ăştja. Ha egy nem lĂ©tezĹ‘ fájlt prĂłbál meg olvasni (Access = Read), akkor egy hibaĂĽzenet jelenik meg. Ha egy nem lĂ©tezĹ‘ fájlt prĂłbál meg Ărni (Access = Write), akkor egy Ăşj fájl jön lĂ©tre.
MĂłd: A fájlmĂłdot megadĂł kulcsszĂł. ÉrvĂ©nyes Ă©rtĂ©kek: Append (hozzáfűzĂ©s egy szekvenciális fájlhoz), Binary (bináris, az adat bájtonkĂ©nt Ă©rhetĹ‘ el a Get Ă©s Put segĂtsĂ©gĂ©vel), Input (megnyit egy adatcsatornát olvasásra), Output (megnyit egy adatcsatornát Ărásra), Ă©s Random (relatĂv fájlok szerkesztĂ©se).
IO-mĂłd: A hozzáfĂ©rĂ©s tĂpusát megadĂł kulcsszĂł. ÉrvĂ©nyes Ă©rtĂ©kek: Read (csak olvashatĂł), Write (csak ĂrhatĂł), Read Write (mindkettĹ‘).
VĂ©delem: A fájl megnyitás utáni biztonsági állapotát meghatározĂł kulcsszĂł. ÉrvĂ©nyes Ă©rtĂ©kek: Shared (a fájl megosztott, megnyithatja másik alkalmazás), Lock Read (a fájl olvasásvĂ©dett), Lock Write (a fájl ĂrásvĂ©dett), Ă©s Lock Read Write (megakadályozza a fájlhozzáfĂ©rĂ©st).
Fájlszám: 0 Ă©s 511 közötti egĂ©sz kifejezĂ©s, amely a szabad adatcsatorna számát jelzi. Ezután a fájl elĂ©rĂ©sĂ©hez az adatcsatornán keresztĂĽl átadhatja a parancsokat. A fájlszámot a FreeFile fĂĽggvĂ©nynek kell meghatároznia közvetlenĂĽl az Open utasĂtás elĹ‘tt.
AdathalmazHossza: A közvetlen elérésű fájlok esetén a rekord hossza.
Csak az Open utasĂtással megnyitott fájl tartalmát mĂłdosĂthatja. Ha egy már megnyitott fájlt prĂłbál megnyitni, akkor egy hibaĂĽzenet jelenik meg.
PĂ©lda:
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, "Ez egy szövegsor"
Print #iNumber, "Ez egy másik szövegsor"
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