MARMARA BÖTE
  Visual Basic.Net Dersleri-5
 

<<4        6>>

Diziler – İndisli Değişkenler

 

Aynı tür bilgileri bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın avantajı; aynı tür bilgileri bir listede tutarak daha hızlı işlem yapılabilmesidir. Visual Basic'de dizi ifadesinin genel gösterilişi Dizi değişken adı(İndis) şeklindedir.

Dizi tanımları (dizilerin tanımlanmama gibi bir durumu yoktur, bir dizi mutlaka Dim komutu ile tanımlanmak zorundadır) aynen değişken tanımları gibi Dim komutu ile yapılır ve dizi değişken isimleri, daha önce gösterilen değişken tanım ve kuralları ile aynıdır.

Dim dizi_adı(sayi) As Veri_Tipi

 

Örnekler

 

Dim a(5) as byte

Bu örnekte, a isimli dizi için hafızada, 0’dan 5 sayısına kadar, 6 adet sayının yerleşeceği yer ayrılır (bunu tek boyutlu bir satır veya tek boyutlu bir sütun olarak düşünebilirsiniz). Bu örnek gösterimde fark olmayacağı için, satır olarak gösterilmiştir (sütun olarak da gösterilebilirdi)

 

Dim ad(3) as string

Bu örnekte, ad isimli dizi için hafızada, 0’dan 3 sayısına kadar, 4 adet ismin yerleşeceği yer ayrılır. Bu örnek gösterimde fark olmayacağı için, sütun olarak gösterilmiştir (satır olarak da gösterilebilirdi)

 
Dim tablo(1,3) as double
Bu örnekte, tablo isimli dizi için hafızada, satır için 0’dan 1’e kadar 2 adet satır 
ve 0’dan 3’e kadar 4 adet sütun için double sayıların yerleşeceği yer ayrılır.
 

Dizilere değer atama/atamama !!

 

Bir diziye değer atama aşağıdaki şekilde yapılır.

 

Dizi_adı(indis_sırası1, indis_sırası2,…)=atanacak_bilgi
 
Örnek: 
               Dim ad(2) As String
               Dim no(2) As Integer
               ad(0) = "ali"
               ad(1) = "ahmet"
               ad(2) = "ebru"
               no(0) = 133
               no(1) = 56
               no(2) = 67

 

DOSYALAR

Visual Basic’de Sıralı ve Rasgele dosyalar olmak üzere iki tür dosya vardır. Dosyalar en basit ifadesi ile verileri disk üzerinden (hard disk veya disket) işlemek amacıyla kullanılırlar ve bu yönü ile diğer veri saklama ve işleme yöntemlerinden ayrılırlar. Herhangibir veriyi VB’de kullanmak için birkaç yol vardır; ya ilgili veri bir değişkene eşitlenir (a=5 veya b=”Mehmet” gibi) ki bu durumda ilgili değişkenin değerini değiştirmek için sözkonusu satıra programcının bizzat müdahalesi gerekir veya ilgili veri dizi değişkenlerine aktarılır (t(2)=13 veya gh=”Ders” gibi). Verinin dizi değişkenlerine aktarılması durumunda değişken değerleri geçici hafızaya kaydedileceğinden programdan çıkıldığında sözkonusu veriler yok olacaktır. Bu nedenle dosyalar verileri saklamak, oluşturulmuş olan dosyaya ilaveler yapmak ve yanlış verileri düzeltmek konusunda yukarıda anlatılan yöntemlere göre çok avantajlıdır.

Sıralı dosyalarda herbir kayıt, adından da anlaşılacağı gibi, disk üzerine birbiri ardında sıralı olarak kaydedilmektedir. Sözkonusu kayıtlara ancak mevcut kayıtlar sırasıyla okunmak suretiyle erişilebilmektedir. O halde, belirli bir kaydı bulabilmek için ondan öncekilerin tümünü okumak gerekmektedir.

Rasgele dosyalar, sıralı dosyalardan farklı bir yapıya sahiptir. Belirli bir kayıta, kayıt numarsını vermek suretiyle doğrudan doğruya erişilebilir.

Bir dosyanın içindeki tüm kayıtların işlem görmesi gerekiyorsa, dosyanın sıralı olarak oluşturulması, buna karşın sadece belirli kayıtlara erişim sözkonusu ise rasgele olarak oluşturulması daha uygun olacaktır.

Sıralı dosyalar programcılık açısından daha kolay, buna karşın işlem zamanı açısından bilgisayara vakit kaybettirirler. Rasgele dosyalar programcılık açısından sıralı dosyalara gore daha zor ama veri üzerindeki işlemlerin çabukluğu açısından avantajlıdır.

Sıralı Dosyalar

Dosyanın Açılması

 

Sıralı bir dosyayı açmak için FileOpen komutundan faydalanılır. Bu komutun genel kullanılış biçimi aşağıdaki gibidir:

 

FileOpen (Dosya numarası, Dosya ismi, Dosyanın açılış biçimi)

 

Sıralı bir dosya üç değişik şekilde açılabilir:

 

·        OpenMode.Output: Dosyayı ilk defa oluşturmak ve ilk bilgileri aktarmak amacıyla

 İlk defa oluşturulan ve içine ilk bilgilerin girildiği dosya aynı isimde tekrar Output şeklinde açılırsa, dosyanın içindeki bilgilerin tamamı yok olur.

·        OpenMode.Append: Daha once oluşturulmuş olan dosyaya ilave bilgilerin aktarılması amacıyla.

·        OpenMode.Input: Dosyanın içindeki bilgilerin okunması amacıyla.

 

Dosya numarası 1 ile 255 (1 ve 255 dahildir) arasında bir tamsayı olmalıdır.

 

Örnekler

FileOpen(157, "Personel", OpenMode.Output)

Personel isimli ve 157 numaralı dosya, içine ilk defa bilgi girilmek üzere açılmaktadır. Personel isimli dosya, programın çalıştırıldığı klasörde bilgisayar tarafından oluşturulacaktır (açılacaktır).

 

FileOpen(3, "c:abcBilgi.txt", OpenMode.Append)

Bilgi.txt isimli dosya, hard diskin (C’de) abc isimli klasöründe, içine ilave bilgiler yazılmak üzere açılmaktadır

 

FileOpen(2, "deneme", OpenMode.Input)

Deneme isimli dosya, içindeki bilgilerin okunması amacıyla açılmaktadır. Deneme isimli dosyanın önünde yol ismi verilmediğinden, sözkonusu dosya programın çalıştığı klasörde bulunmak zorundadır.

 

Açılmış Olan Dosyanın Kapatılması

 

Yukarıda anlatılan üç değişik şekilden herhangibirisiyle açılan bir dosya FileClose () komutu kullanılarak kapatılır. Genel Kullanılışı:

 

FileClose (Dosya Numarası1, Dosya Numarası2, Dosya Numarası3, .......)

 

FileClose () komutu, bu şekilde dosya numarası vermeden kendi başına da kullanılabilir. Bu durumda açık olan tüm dosyalar kapatılır.

 

Örnekler

 

FileClose (1)             1 numaralı dosyayı kapat

FileClose (5,7,8)       5,7 ve 8 numaralı dosyaları kapat

FileClose ()               Açık olan bütün dosyaları kapat

 

Dosya - Dizin İsimlerinin/Uzantılarının Değiştirilmesi

 

Bunun için Rename() komutundan faydalanılır. Genel kullanılışı

Rename (dosyanın eski ismi, dosyanın yeni ismi)

 

Örnekler

 

Rename ("Hedef.txt", "Personel.txt")  

Hedef.txt isimli dosya ismi Personel.txt olarak değiştiriliyor.

 

Rename ("Ders.gty","Kurs.hue")

Ders.gty dosya ismi Kurs.hue şeklinde değiştiriliyor.

 

Dosyaların Silinmesi

 

Bu işlem Kill() komutu ile gerçekleştirilir.

 

Kill ("Silinecek Dosya İsmi")

 

Örnekler

 

Kill  ("deneme")                     

deneme isimli dosya silinmek isteniyor

 

Kill ("c:gatemaden.kes")

Hard diskin gate klasöründeki maden.kes isimli dosya silinmek isteniyor.

 

Kill  ("d:*.txt")

D’nin ana bölgesindeki, uzantısı txt olan bütün dosyalar silinmek isteniyor.

 

Sıralı Dosyaya Yazma İşlemi

 

Bu işlem için kullanılan komutlardan ikisi Write (), WriteLine ()  komutlarıdır.

 

Write (dosya numarası, değişken1, değişken2,… ) 

WriteLine (dosya numarası, değişken1, değişken2,… )

 

Her iki komutun da kullanım şekli aynıdır, fakat iki komutun sonuçları farklıdır. Write komutu, dosyaya yazılacak ifade veya hafızadaki değişkenlerin karşılıklarını ayrı satırlara değilde, peşpeşe yazar. Buna karşın WriteLine komutu, dosyaya yazılacak ifade veya hafızadaki değişkenlerin karşılıklarını ayrı satırlara yazar. Bundan dolayı WriteLine komutu, Write komutuna gore okunabilirlik ve programlanabilirlik açısından daha kullanışlıdır ve daha çok tercih edilmektedir.

Örnek

Private Sub Form1_Load()

 Dim h As Byte

 FileOpen(7,"c:deneme",OpenMode.Output)

 For h = 1 To 4

   Write(7, h, "SAU")

 Next

 FileClose()

End Sub

 

 

Deneme isimli dosyanın içeriği

 

1,"SAU",2,"SAU",3,"SAU",4,"SAU",

Sıralı Dosyadan Okuma İşlemi

 

Bu işlem Input () komutu ile gerçekleştirilir.

 

Input (dosya numarası, değişken)

 

Örnekler

 

Input (34, isim)

34 numaralı dosyadan,  sıradaki değer (veya ifade) okunup, hafızada isim değişkeninin karşılığı olarak atanır.

 

Input (7, nt)

7 numaralı dosyadan,  sıradaki değer veya (muhtemelen) sayı okunup, hafızada nt değişkeninin karşılığı olarak atanır.

 

Kayıt sonuna gelinip gelinmediğinin kontrol ettirilmesi

Dosyadan bilgi okuma sırasında gerekli olan komutlardan birisi de; okuma işlemi için açılmış olan dosyadaki kayıtların sonuna gelinip gelinmediğini kontrol amacıyla kullanılan EOF () (End Of File – Dosya Sonu) komutudur. Bu komut özellikle içindeki bilgilerin okunacağı dosyada kaç adet kayıt olduğunun bilinmediği durumlarda kullanılır ve her kayıt okunmadan önce kayıt sonuna gelinip gelinmediğinin kontrol ettirilmesi amacıyla kullanılır. Böylece bilgisayar olmayan bir kaydı okuma işlemine girişmemiş olacaktır (böyle bir durum programın hata mesajı vermesine ve dolayısıyla kesilmesine neden olur). EOF() komutunun genel kullanılış biçimi aşağıdaki gibidir:

 

EOF (dosya numarası)

 

EOF komutu dosya sonunda True (doğru) aksi halde (bu durumda okunacak başka kayıt var demektir) False (yanlış) sonucunu verir.

 

 

 

 

 

 

 

 

<<4        6>>

 
  Bugün 1 ziyaretçi (6 klik) kişi burdaydı! @2009 Marmara üniversitesi  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol