IBM Lotus Symphony
|
Służy do otwierania kanału danych.
Open NazwaPliku As String [For Tryb] [Access TrybWeWy] [Ochrona] As [#]NumerPliku As Integer [Len = DługośćZestawuDanych]
NazwaPliku: Nazwa i ścieżka pliku, który ma zostać otwarty. Próba odczytania nieistniejącego pliku (Access = Read) spowoduje wyświetlenie komunikatu o błędzie. Przy próbie zapisu do nieistniejącego pliku (Access = Write) zostanie utworzony nowy plik.
Tryb: Słowo kluczowe określające tryb pliku. Poprawne są następujące wartości: Append (dołączanie do pliku o dostępie sekwencyjnym), Binary (dostęp do bajtów danych za pomocą instrukcji Get i Put), Input (otwarcie kanału danych do odczytu), Output (otwarcie kanału danych do zapisu) i Random (edycja plików o dostępie pośrednim).
TrybWeWy: Słowo kluczowe definiujące typ dostępu. Poprawne wartości: Read (tylko do odczytu), Write (tylko do zapisu), Read Write (zapis i odczyt).
Ochrona: Słowo kluczowe definiujące status zabezpieczeń pliku po otwarciu. Poprawne wartości: Shared (plik może zostać otwarty przez inne aplikacje), Lock Read (plik jest chroniony przed odczytem), Lock Write (plik jest chroniony przed zapisem), Lock Read Write (odmowa dostępu do pliku).
NumerPliku: Dowolne wyrażenie całkowitoliczbowe z zakresu od 0 do 511 wskazujące numer wolnego kanału danych. Przez ten kanał danych można następnie przekazywać komendy dostępu do pliku. Numer pliku należy określić za pomocą funkcji FreeFile bezpośrednio przed instrukcją Open.
DługośćZestawuDanych: W przypadku plików o dostępie bezpośrednim ten parametr służy do ustawiania długości rekordów.
![]() |
Modyfikować można tylko treść pliku otwartego za pomocą instrukcji Open. Próba otwarcia już otwartego pliku spowoduje wyświetlenie komunikatu o błędzie. |
Sub PrzykladPracyZPlikiem
Dim iNumer As Integer
Dim sWiersz As String
Dim aPlik As String
Dim sKom as String
aPlik = "c:\data.txt"
iNumer = Freefile
Open aPlik For Output As #iNumer
Print #iNumer, "To jest wiersz tekstu"
Print #iNumer, "To jest inny wiersz tekstu"
Close #iNumer
iNumer = Freefile
Open aPlik For Input As iNumer
While not eof(iNumer)
Line Input #iNumer, sWiersz
If sWiersz <>"" then
sKom = sKom & sWiersz & chr(13)
end if
wend
Close #iNumer
Msgbox sKom
End Sub