Aç İfadesi

Bir veri kanalı açar.

Sözdizimi:

Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]

Parametreler:

FileName: Açmak istediğiniz dosyanın adı ve yolu. Mevcut olmayan bir dosyayı açmaya çalışırsanız (Access = Read) bir hata iletisi görüntülenir. Mevcut olmayan bir dosyaya yazmaya çalışırsanız (Access = Write) yeni bir dosya oluşturulur.

Mode: Dosya kipini belirleyen anahtar kelime. Geçerli değerler: Ekle (sıralı dosyaya eklemek), İkilik (Get ve Put kullanılarak veriye erişilebilir), Girdi (veri kanalını okumak için açmak), Çıktı (veri kanalını yazmak için açmak) ve Rastgele (göreceli dosyaları düzenlemek).

IOMode: Erişim türünü tanımlayan anahtar kelime. Geçerli değerler: Read (salt okunur), Write (sadece yazılabilir), Read Write (ikisi de).

Protected: Dosyanın açıldıktıktan sonraki güvenlik durumuna ait anahtar sözcük. Geçerli değerler: Paylaşılmış (dosya diğer uygulamalar tarafından açılmış olabilir), Okuma kilidi (dosya okumaya karşı korumalı), Yazma kilidi (Dosya yazmaya karşı korumalı) Okuma Yazma Kilidi (dosya erişimlere kapalı).

FileNumber: Boş bir veri kanalının sayısını belirten, 0' dan 511'e kadar herhangi bir tamsayı ifadesidir. Dosyaya erişmek için komutları bu veri kanalı üzerinden gönderebilirsiniz. Dosya numarası, Open ifadesinden önce FreeFile fonksiyonu tarafından belirlenmek zorundadır.

DatasetLength: Rastgele erişimli dosyalar için kayıtların uzunluğunu ayarlar.

Not Simgesi

Sadece Open ifadesiyle ile açılmış bir dosyanın içeriğinde değişiklik yapabilirsiniz. Zaten açık olan bir dosyayı açmayı denerseniz hata mesajı ile karşılaşırsınız.


Örnek:

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, "Bu metnin bir satırıdır"

    Print #iNumber, "Bu, metnin bir diğer satırıdır"

    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