Dosyalama Tipleri

Visual Basic Dosyalama Tiplerini Öğreneceğiz ve bir örnek vererek daha iyi anlaşılmasını sağlayacağız.

Visual Basic'te iki tip dosyalama vardır:


1.Rastgele Erişimli Dosyalar

    2.Sıralı Erişimli Dosyalar



1.Rastgele Erişimli Dosyalar

Rastgele Erişimli Data dosyalarında veriler dosyalara bir kayıt numarası ile kaydedilirler. Her verinin bir kayıt numarası vardır ve okuma işlemi bu kayıt numaralarına göre yapılır. Bu nedenden dolayı sıralı erişimli data dosyalarına göre çok daha hızlıdır. Şimdi de bazı fonksiyon ve deyimleri öğreneceğiz.

1.Open Deyimi
Arkadaşlar, bu deyim dosyayı açmak için kullanılır. Sıralı erişimli dosyalarda da kullanıldığı için Rastgele açmak için "Random" modu kullanılır.
Dizilim ::>Open dosya adıve yolu [For Random],As[#]dosya adı
Örnek ::>Open "C:sanalkurs.dat" For Random As #1

2.Put Deyimi
Arkadaşlar bu deyim ise dosyaya veri yazmak için kullanılır.
Dizilim ::>Put[#] dosya no,[Kayıt no],değişken ismi
Örnek ::>Put #1 ,kimlik ,text ,kimlik

3.Get
Dosyadan programa veri okumak iin kullanılır.Okunması istenen veri kayıt numarası ile belirtilir.
Dizilim ::>Get [#] dosya no,[kayıt no],değişken ismi
Örnek ::>Get #1 ,12 ,kimlik

4.EOF
Dosya sonun belirlenmesinde kullanılır.

5.Close Deyimi
Open deyimi ile açılan dosyanın kapatılmasında kullanılır..

Arkadaşlar ben resimdeki gibi bir forum tasarladım, siz isteğinize göre tasarlayabilirsiniz.



Şimdi ilk önce bir uyarı yapıyım ::>> ARkadaşlar C: dizinine ilk önce bir "sanalkurs.dat" diye bir dat dosyası oluşturun. Daha Sonra gelelim şimdi program kodlarına. İlk önce form'a şunu yazıyoruz.


Private Type Sanalkurs

    kayitno As Long

    isimsoyisim As String * 20

    dogum As Date

    yer As String * 20

  End Type

  Dim kayit As Sanalkurs



Daha sonra Command1_Click kodu:


Private Sub Command1_Click()

  On Error GoTo hata

  Open "C:sanalkurs.dat" For Random As #1

   oku = Val(InputBox("Kayıt No :", "Kayıt No"))

  Get #1, oku, kayit

    Text1.Text = kayit.kayitno

    Text2.Text = kayit.isimsoyisim

    Text3.Text = kayit.dogum

    Text4.Text = kayit.yer

  Close #1: Exit Sub

  hata:MsgBox "Hatalı İşlem!",vbExclamation,"Hata":    

  Close #1

  End Sub



Şimdi de Command2_Click Kodu:


Private Sub Command2_Click()

   Open "C:sanalkurs.dat" For Random As #1

   On Error GoTo hata

     kayit.kayitno = Text1.Text

     kayit.isimsoyisim = Text2.Text

     kayit.dogum = Text3.Text

     kayit.yer = Text4.Text

   Put #1, kayit.kayitno, kayit

   Close #1: Exit Sub

   hata:MsgBox "Hatalı İşlem!",vbExclamation,"Hata":   

   Close #1

   End Sub



Son olarak da Command3_Click Kodu


Private Sub Command3_Click()

    Text1.Text = ""

    Text2.Text = ""

    Text3.Text = ""

    Text4.Text = ""

   End Sub



Programımız bu kadar.




2.Sıralı Erişimli Dosyalar

Sıralı erişimli data dosyalarında veriler dosyaya birbirini takip edecek şekilde sıra ile yazılır. Yani veriler dosyanın sonuna eklenir. Bu dosyalam tipi Rastgele Erişimli dosyalama tipine göre daha yavaştır.

1.Open Deyimi
Open deyimi dosyayı veri giriş-çıkış için hazılar.Bir dosyaya veri yazmadan veya okumadan önce dosya mutlaka Open deyimi ile açılmalıdır..
Dizilim ::>Open dosya adı ve yolu [Form Mod],As[#] dosya no
Örnek ::>Open "C:sanalkurs.dat" For Input As #1

2.Input Parametresi
Input parametresi bir veri dosyasından programa veri okunabilmesi için Open deyimi ile birlikte kullanılması gereken mod'tur..
Dizilim ::>Open dosya adı ve yolu [Form Mod],As[#] dosya no
Örnek ::>Open "C:sanalkurs.dat" For Input As #1

3.Output Parametresi
Dosyaya veri yazılabilmesi için dosyanın output modunda açılması gerekir.Output modu ile açılan dosyanın tüm içeriği silinir.Bir dosyaya içeriğini silmeden veri eklemek için "Append" modu kullanılır.
Dizilim ::>Open dosya adı ve yolu [Form Mod],As[#] dosya no
Örnek ::>Open "C:sanalkurs.dat" For Output As #1

4.Append Parametresi
Arkadaşlar az önceki madde de belirtiğiminin aynısı fakat ben farklı bir madde anlatıyım dedim..Yeni bir veri eklediğimiz de diğer verilerin silinmemesini sağlıyor.
Örnek ::>Open "C:sanalkurs.dat" For Append As #1

5.Input # Deyimi
Evet arkadaşlar dosyadan veri okunmasını sağlar.Input # deyimöini kullanabilmek için Open deyimi ve Input modunda dosyanın açılmış olması gerekmektedir.Input ile Input # karıştırmayın.Input dosyadan okuma yapılabilmesi için gerekli olan izini verir ,Input # ise dosyadan veri okumak için kullanılır.

6.Write # Deyimi
Write # dosyaya veri yamak için kullanılır.Bunu kullanabilmek için dosyanın Open deyimi ve Output parametresi ile açılmış olması gerekir.
Dizilim ::> Write # dosyanumarası [Dosyaya yazılacak değişken veya ifade]

7.Print # Deyimi
Write # gibi dosyaya veri yazmak için kullanılır.Arasındaki fark dosyaya yazış şeklidir.Genellikle programlar da write # kullanılır.
Dizilim ::> Print # dosyanumarası [Dosyaya yazılacak değişken veya ifade]

8.Close Deyimi
Açık olan dosyaları kapatmak için kullaılır.
Dizilim ::> Close # [dosya numarası]

9.EOF
EOF fonksiyonu sayfanın sonuna gelinip gelinmediğini kontrol eder. Sayfa sonunda kadar değeri "False " geldiğinde ise "True" olur.
Örnek ::>Eof [dosyano]


Not: Bu dosyalama tipi fazla kullanılmamaktadır. Sebebi ise yavaş olmasıdır.
  • Etiketler;
Fuat ŞENGÜL
Fuat ŞENGÜL Samsun Havza ilçesinde 23.05.1990 da doğdu. Bilgisayar ile lise öğreniminde tanışan yazar Pascal, C/C++, Assembly ve Visual Basic dilleriyle birlikte yazılıma adım attı. 2008 yılında Fırat Üniversitesi Teknik Eğitim Fakültesi Bilgisayar öğretmenliğini kazandı. Öğrenimi sırasında web ve masaüstü yazılımları konusunda projelere imza atan yazar 2012 yılında mezun oldu. Mezuniyetten sonra Fırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliğinde Yüksek Lisans öğrenimine başladı. <p>Yazar C/C++, C#, Asp.Net, Matlap, Jquery, Css ve Html gibi programlama dillerine hakim ve bu diller ile projeler üretmeye devam etmektedir. Bilişim Teknolojileri öğretmeni olarak görev yapmaktadır.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

merhaba acsessden sonra öğrendiğim en müthiş veri depolama olayı.. Sayın, Fuat Şengül Teşekkürler..
Kod üzerinde uğraştım ama yapamadım.. mesala , bir basit bir telefon defteri düşünün telefon numarasını yazarak kime kayıtlı olduğunu gösterebiliyorum sayenizde:) ama ismi yazarak telefon numarasını görüntülüyemiyorum.. acaba bu mümkünmü?
Şimdi programcıklıkta mümkün olmayann hiçbirşey yoktur . Bana özel mesaj ile forumdan ulaşırsan yardımcı olabilirim..
Merhabalar Forma yeni üye oldum.Çok iyi açıkcası. Benim Access de bi problemim var ama nasıl yapacağımı bilemiyorum.Gördüğüm kadarıyla buradaki arkadaşlar baya tecrübeli. Access te personel izinlerini takip ediyorum. Adı, Soyadı, Tarih, Çalıştığı gün sayısı ve Bu ay kullandığı izin sayısı şeklinde kolonlar mevcut. Benim isteğim, tarih bölümünde çalıştığı günleri Çalıştığı gün sayısı kolonuna , izinli olduğu günleri Bu ay kullandığı izin sayısı kolonuna otamatik olarak yazması.
dat dosyasını sağ tıkla birlikte aç ve not defterini seç açılır..
sayın hocam bu uygulamaları yapabileceğim bi program önerirmisiniz zahmet olmazsa msnme atın
MERHABA BEN HALİL SİZE BİR ŞEY SORMAK İSTİYORUM BEN DAHA YENİ BAŞLADIM BUNA TAM BİLMİYORUM.ÖRNEÐİN ADI: SOYADI SİCİL NO BUNUN GİBİ ŞEYLERİ YAZIYORUM AMA KODLARINI NASIL YAPCAM YARDIMCI OLURSANIZ SEVİNİRİM
rastgele Erişimli Dosyalarda sanalkurs.dat diye bi dosya oluşturun demişsin bunu nasıl yapıyoruz
.dat doyası oluşturun demişsiniz peki bu nasıl olacak
anladım kardeşim hepsi güzel hoş ama biz bu verileri kaydettiğimiz dosyayı forma gömemezmiyiz. yani programı tek parça halinde elimizde bulunduramazmıyız. illa ekstra dosya olmak zorunda mı? bu arada güzel anlatım teşekkürler kardeşim...

Yukarı Git