Visual Basic Dosyalama İşlemleri
--------------------------------------------------------------------------------


Dosya Acmak

Visual Basic'de bir dosya 5 farklı bicimde acılabilir.

* Input
* Random
* Output
* Append
* Binary

Şimdi bu modları nasıl kullanacağımızı gorelim.

Input Erişim Modu
Input modunda dosya, uzerinde değişiklik yapılmadan sadece okunmak icin acılır.

Ornek olarak:

Private Sub Form_Load()
Open "c:deneme.txt" For Input As #1
Input #1, a
MsgBox a
Close #1
End Sub

Burada "deneme.txt" dosyası sadece okunmak icin 1 numaralı dosya olarak acıldı. Input komutuyla 1 numaralı dosyanın 1. satırı okundu. Birinci satırı "a" harfi ile simgeledik. Ve Msgbox'ta 1. satır goruntulendi. Close komutu ile de 1 numaralı dosya kapatıldı.

Random Erişim Modu
Bu modda her kayıta belirli bir uzunluk verilerek sadece bu uzunluktaki alana yazılması sağlanır. Yani bir kaydın uzunluğunu 10 karakter olarak belirlediysek, 9 karakter bile yazar isek bu kayda 10 karakter olarak gecer. Eksik olan her bir karakter icin boşluk atanacaktır.

Mesela; Her kayıtın uzunluğu 10 karakter olsun. Şoyle bir ornek verebiliriz.

Private Sub Form_Load()
Dim ad As String * 10, isim 'Her bir kayıt 10 karakter olacak
isim = "c:deneme.txt"
Open isim For Random As #1 Len = 10 'Dosyamızı acıyoruz
ad = "PcMagazine"
Put #1, 1, ad '"PcMagazine" kelimesini 1 nolu kayda yazıyoruz
ad = "Online"
Put #1, 2, ad '"Online" kelimesini 2 nolu kayda yazıyoruz.
Close #1 'Dosyamızı kapatıyoruz.
End Sub

Bu kodu calıştırdığımızda "deneme.txt" dosyasına şu şekilde yazılacaktır.

PcMagazineOnline****

Gorulduğu gibi "Online" kelimesi 10 karakteri tamamlamadığı icin kelimeden sonra 10'a kadar olanlar yerine boşluk vuruldu. Ayrıca bu modda her kayda bir kayıt numarası verildiği icin daha sonra okunmak istendiğinde kayıt numarası verilerek okunma işlemi gercekleştirilebilir. Random modda Dosyadan okuma yapılırken "Get", dosyaya yazılırken "Put" komutları kullanılır.

Output Modu
Bir dosyaya yazılmak icin dosya sıralı erişim modunda acılır.

Ornek olarak:

Private Sub Form_Load()
Dim no1, no2, no3
Open "c:deneme.txt" For Output As #1
no1 = "PC"
no2 = "Magazine"
no3 = "Online"
Print #1, no1, no2, no3
Close #1
End Sub

Bu kodu calıştırdığımızda "c:deneme.txt" dosyasına şu şekilde yazma işlemi yapılır.

'PC Magazine Online'

Bu kodda dosyaya yazma icin "Print" komutunu kullandık. "Write" komutuda aynı "Print" komutu gibidir ancak her kaydı tırnak icine alır ve kayıtlar arasına virgul koyulmasını sağlar.

"PC","Magazine","Online"

Bu modun bir dezanavtajı ise her yeni kayıtta eski kaydın uzerine yazılmasıdır.

Append Modu
Aynı Output modu gibi calışır fakat Output modundaki gibi eski kaydın uzerine yazmak yerine yeni kaydı eski kaydın altına ekleyerek calışır.

Ornek olarak yukarıdaki orneği Append modunda acalım.

Private Sub Form_Load()
Dim no1, no2, no3
Open "c:deneme.txt" For Append As #1
no1 = "PC"
Print #1, no1
no2 = "Magazine"
Print #1, no2
no3 = "Online"
Print #1, no3
Close #1
End Sub

Bu kodu calıştırdığımızda dosyaya şu şekilde yazılacaktır:

'PC
Magazine
Online'

Binary Modu
Binary modunda dosya icerisindeki her karaktere, karakter numarası verilerek ulaşılabilir. Hatırlarsanız Random modda her bir kayda butun olarak ulaşabilirken, Binary modda her bir karaktere ulaşmamız mumkundur. Aynı şekilde bu modda da okuma ve yazma icin "Put" ve "Get" komutları kullanılır.


Visual Basic MsgBox Fonksiyonları
--------------------------------------------------------------------------------

Yaptığınız uygulamalarda kullanıcıya ne olup ne bittiğini ifade etmek icin msgbox fonksiyonu kullanılır.Orneğin uygulamadaki command1 tuşuna basıldığında formun arkaplanı siyah renkte oluyorsa bunu kullanıcıya msgbox fonksiyonu ile ifade edebiliriz...

Nasıl Kullanılır?
MSGBOX Fonksiyonu aşağıdaki şekilde kullanılır:

Msgbox "Bilgi",Duğmeler ve Şekiller,"Başlık"

Bilgi:Bilgi kısmına kullanıcıya vermek istediğiniz bilgiyi yazarsınız...
Duğmeler ve Şekilleruğmeler ve şekiller kısmına msgbox uzerinde yer alacak duğmeler ve şekiller secilir.Orneğin msgbox uzerinde Yes ve No duğmelerinin bulunmasını istiyorsanız vbYesNo komutunu kullanmalısınız.Şekiller ise soru işareti, bilgi işareti, unlem ve carpı işaretlerinden oluşur.

Orneğin msgbox uzerinde soru işaretinin cıkmasını istiyorsanız vbQuestion komutunu kullanmalısınız.

KOMUTLAR

Duğmeler
vbYesNo:Evet Hayır
vbOkCancel:Tamam İptal
vbOKOnly:Tamam
vbAbortRetryIgnoreurdur Yeniden Dene Yoksay
vbRetryCancel:Yeniden Dene Yoksay
vbYesNoCancel:Evet hayır İptal

İşaretler
vbInformation:Bilgi İşareti
vbQuestion:Soru İşareti
vbExclamation:Unlem İşareti
vbCritical:Carpı İşareti

Başlık
Başlık kısmına msgbox ın başlığı yazılır

If ile MsgBox
kullanıcı evete bastığında programdan cıkması hayıra bastığında cıkmaması icin If ifadesini kullanırız.

İlk once msgbox ı bir değişkene atayalım. Bu durumda
Msgbox "Bilgi",Duğmeler ve Şekiller,"Başlık"

değil

Msgbox ("Bilgi",Duğmeler ve Şekiller,"Başlık") olarak kullanırız.

mesela x değişkenine atayalım.

şoyle olur:

x = Msgbox ("Bilgi",Duğmeler ve Şekiller,"Başlık")

Orneği uygulayalım:
İlk olarak forma bir adet command buton ekleyelim.caption'ını ise Cıkış olarak değiştirelim.Command1 nesnesine cift tıklayarak kod bolumunu acalım.ve oraya aşağıdaki kodları yazalım:

Private Sub Command1_Click ( )
x=msgbox("Cıkmak istiyor musunuz?",vbYesNo + vbInformation,"Cıkış Onayı")
If x = vbYes Then
Unload Me
End If
End Sub

Bu kodu yazıp uygulamamızı actığımızda ve Cıkış duğmesine bastığımızda bize şoyle bir soru soracak: Cıkmak istiyor musunuz?

Ayrıca Evet ve Hayır duğmeleri ve de Bilgi duğmesi msgbox ımızda yer almış olacak.

Evete tıkladığımızda cıkacak hayıra tıkladığımızda ise cıkmayacak.

İŞTE BU KADAR KOLAY...
__________________