TR Kodlama Forumlar Visual Basic Split Fonksiyonu ve Array

  • Bu konu boş.
0 yanıt dizini görüntüleniyor
  • Yazar
    Yazılar
    • #6695
      prodigy
      Ziyaretçi

      Evet tekrar dönmemin şerefine sizlere basic’de split (parçalama, ayırma) ve array (dizi) komutlarının ne işe yaradığını ve nerelerde kullanılabileceğini örneklerle göstereceğim.

      Split : Bu fonksiyon elinizde olan bir veriyi ayraç olarak kullandığınız bir veya birkaç karakterden arındırarak dizilere koyan ve daha sonra bunu diziden çağırıp kullanabilmenizi sağlar.

      Array : Veri dizileridir. Sayılarla ifade edilir ve sayılar ile çağırılırlar. İçerdikleri veriler büyükten küçüğe, küçükten büyüğe veya karışık sıralandırılabilir.

      Örnek :

      Private Sub Command1_Click()
      Dim prodigy() As String
      Dim dizisayisi As Integer
      prodigy= Split(“trkodlama.com/cwarfare.com”, “/”)

      For dizisayisi = 0 To UBound(prodigy)
      MsgBox prodigy(dizisayisi)
      Next
      End Sub

      – Yukarıdaki kodda hem split fonksiyonunu hemde dizileri kullandık. İlk başta “prodigy” adında string bir değişken ile “dizisayisi” adında integer (sayısal) bir değişken tanımladık. “Dim prodigy() As String” satırında daha önceki makalelerimizden farklı olarak “()” ifadesini kullandık. Bu ifade tanımlanan değişkenimizin bir dizi olduğunu belirtir. “()” burdaki parantezler içine herhangi bir sayı girmediysek dizimize bir sınır koymamışız demektir. Eğer “(0 To 4)” gibi sayı ekleseydik bu 0’dan 4’e kadar verilerin dizilere atanabileceğini gösterirdi. “0 To 4” yazdığınızda “0,1,2,3,4” olmak üzere en fazla 5 veriyi diziye atayabilirsiniz. Parantez içine sayı koyduğunuzda “prodigy =” kısmı hata verecektir. Çünkü parantez içine sayı girip sınır koydunuz ve kullanabilmeniz için “prodigy(1) =” yazmalısınız. Tabii burda kullandığımız “(1)” yerine hangi sıraya hangi veriyi aktarmak istiyorsanız o sayıyı yazabilirsiniz. Diziler 0’dan başlarlar siz “prodigy(1)” yazarsanız dizide 2. sıraya veri atamış olursunuz.

      – “Split(“trkodlama.con/cwarfare.com”, “/”)” burada “Split()” fonksiyonunu kullanırken parantez içini “(veri, ayraç)” şeklinde kullanacaksınız. “veri” kısmına istediğiniz veriyi girebilirsiniz ve daha sonra araya “,” koyarak bir sonraki parametre olan ayraç parametresine ayraç verinizi girmelisiniz.

      – “Split(“trkodlama.com/cwarfare.com”, “/”)” yazdığımız bu satırda “trkodlama.com/cwarfare.com” veri kısmımızı oluşturuyor. ayraç olarak ise “/” işaretini kullandık. Fonksiyonumuz veriyi inceleyip ayracımızı bulana kadar olan kısmı bulup bunu ilk sıraya koyacaktır. Daha sonra tekrar bulursa 2. sıra, 3. sıra… Bitirene kadar devam edecektir. Bizim örneğimizde dizinin en başına yani 0. sıraya “trkodlama.com” verisini koyacak, 1. sıraya ise “cwarfare.com” verisini koyacaktır.

      – “For” döngüsünü kullanarak ayırmış olduğumuz verileri mesaj kutusunda göstereceğiz. “For dizisayisi = 0 To UBound(prodigy)” burada dizisayisi adlı sayısal değişkenimiz 0 dahil prodigy dizisindeki son sayıyı ifade eder ve for döngümüz 0’dan başlayıp prodigy dizisindeki son sayıya kadar “For-Next” arası yazılmış olan tüm kodları gerçekleştirecektir. Bizim dizimizdeki son sayı yani en son eklenen verinin sırası “1” olduğu için “dizisayisi = 0 To 1” olacak ve for döngüsü 2 kere işlem yapacaktır. “Next” yazmamızdaki amaç ise aktif for döngüsünün bu kısma kadar olduğu, burada bittiği ve eğer döngüsünü tamamlamadıysa (2 kere dönmesi gereken bir for döngüsünün henüz 1 kere dönmesi gibi) döngüyü tekrar başlatacak ve bitene kadar devam ettirecek olmasıdır. Arada kalan kodlar ise bu döngü boyunca gerçekleştirilecek bölümdür.

      – “MsgBox prodigy(dizisayisi)” for-next arasına yazdığımız bu satırda ise mesaj kutusu ile parçalanan verileri göstertiyoruz. “prodigy(dizisayisi)” for döngüsünde belirlediğimiz ve belirlenen sayılar arasında başlayıp bitecek kısım dizisayisi’dir. Bizim örneğimizde 0’dan 1’e kadar olduğu için 0’dan başlayacak ve 1’de for-next arası kodu gerçekleştirdikten sonra döngü tamamlanacaktır. prodigy dizisinde verilerimizin bir sırası vardı. Bu sıra otomatik olarak 0’dan başlıyordu. Bizim 0 dahil 1’e kadar dizimizde veriler girilmişti. dizisayisi 2 olursa program hata verecektir. Çünkü 2. sırada herhangi bir verimiz bulunmamaktadır.

      Not : Unutmayın diziler otomatik olarak 0’dan başlar. Siz dizilerde istediğiniz sıraya veri koydurabilirsiniz ama çağırırken eğer dizi içindeki veriler arası doldurulmamış boş sıralar varsa ve bunları çağırmaya kalkarsanız hata alırsınız.

      2 fonksiyonu daha gösterdik. Faydalı olabileceğini düşünüyorum. Bu fonksiyonları basit remote control programlarında, veritabanı uygulamalarında kullanabilirsiniz. Önümüzdeki günlerde tekrar görüşmek üzere…

      (Makale 2010 yılında tarafımdan hazırlanmıştır).

0 yanıt dizini görüntüleniyor
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.