VISUAL BASIC.NET. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MsgBox(" Merhaba ") End Sub

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "VISUAL BASIC.NET. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MsgBox(" Merhaba ") End Sub"

Transkript

1 VISUAL BASIC.NET ÖRNEK 1:Tamam butonuna basıldığında MERHABA mesajını veren programı yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MsgBox(" Merhaba ") ÖRNEK 2: Aşağıdaki çıktıyı veren programı yazınız. Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) MsgBox("Merhaba " & TextBox1.Text) ÖRNEK 3: Aşağıdaki çıktıyı veren programı yazınız. Private Sub Button1_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) MsgBox("Toplam = " & Val(TextBox1.Text) + Val(TextBox2.Text))

2 ÖRNEK 4: Aşağıdaki çıktıyı veren programı yazınız. Private Sub Button1_Click_3(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox(TextBox1.Text & " Sen " & Val(TextBox2.Text) & " Yaşındasın") ÖRNEK 5: Aşağıdaki çıktıyı veren programı yazınız. Private Sub Button1_Click_4(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label3.Text = " Sayıların Toplamı = " & Val(TextBox1.Text) + Val(TextBox2.Text) Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Label3.Text = " Sayıların Farkı = " & Val(TextBox1.Text) - Val(TextBox2.Text) ÖRNEK 6: Aşağıdaki çıktıyı veren programı yazınız.

3 Private Sub Button1_Click_5(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label3.Text = Val(Label3.Text) + Val(TextBox1.Text) ÖRNEK 7: Aşağıdaki çıktıyı veren programı yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim isim As String Dim soyisim As String isim = TextBox1.Text soyisim = TextBox2.Text Label3.Text = "Merhaba " & isim & " " & soyisim ÖRNEK 8: Aşağıdaki çıktıyı veren programı yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim s1, s2, sonuc As Integer s1 = Val(TextBox1.Text) s2 = Val(TextBox2.Text) sonuc = s1 + s2 TextBox3.Text = sonuc Örnek: Şekildeki gibi bir çıktı verecek programı yazın

4 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Adsoyad As String Dim Vize, Final As Integer Dim Ortalama As Double Adsoyad = TextBox1.Text Vize = Val(TextBox2.Text) Final = Val(TextBox3.Text) Ortalama = Vize * Final * 0.6 If (Ortalama >= 60 And Ortalama <= 100 And Final >= 50) Then ListBox1.Items.Add(Adsoyad & ": " & Ortalama) ElseIf (Ortalama >= 0 And Ortalama < 60 Or Final < 50) Then ListBox2.Items.Add(Adsoyad & ": " & Ortalama) Else MsgBox("Hatalı işlem") End If DEĞİŞKENLER VE VERİ TİPLERİ Değişkenler bir bilgiyi hafızada tutmak için kullanılır. Değişkenlerin tanımlanma zorunlu istenirse kapatılabilir. Bunun için kodların en başına Option Explicit Off deyimi kullanılır. Fakat kesinlikle değişkenlerin tanımlanma zorunluluğunun kapatılmaması tavsiye edilir. Aşağıdaki örneği inceleyin

5 Örnek: Bir butonun Click ne aşağıdaki kodları yazın. Option Explicit off ifadesini tüm kodların en yukarısına yazın. Option Explicit Off Public Class Form1... Private Sub Button1_Click(...) a = 5 b = 6 aratoplam = 1000 geneltoplam = a * b + aratplam MsgBox(geneltoplam) End Class Burada dikkat edilirse yanlışlıkla aratplam ifadesi kullanılmıştır. Bu ifade degişken tanımlama zorunluluğu kapatıldığı için hata vermemiş ve sonucu 30 olarak göstermiştir. Eğer degişken tanımlama zorunlu olsaydı bu ifade tanımlanmamış olacağı için hata verecekti ve böylece programdaki yanlışlık düzeltilecekti. Bu nedenle kesinlikle değişkenleri tanımlayın. DEĞİŞKEN TANIMLAMA: VB de değişken tanımlamaları Dim ile yapılır. Şu şekilde kullanılır. Dim degişken_ismi As tip Burada degişken_ismi ni biz veririz. Tip ise aşağıdaki değişken tiplerinden birisi olabilir. Sayısal Tipler: Byte, Short, Integer, Long, Single, Double, Decimal String Tipler: String, Char Mantıksal Tipler: Boolean Tarih Tipi: Date Birden fazla degişkeni tek bir satırda da tanımlayabiliriz. Dim x,y,z As Integer a,b As String Eğer Dim ifadesinden degişkenin tipi verilmezse degişken tüm degişkenleri içine alan Variant tipinde tanımlanır. Fakat Variant degişkenler programı çok yavaşlatır kullanılması tavsiye edilmez. Dim x,y,z VB de degişkenler bir nesne olarak işlem görür. Yani tanıladığınız bir String, string tipinde bir nesnedir ve string sınıfının bütün özellik ve metodları değişken üzerine uygulanabilir. Bu konu ileride nesneye yönelik programlamada ele alınacaktır. Örnek: Örnegin string tipinde bir degişken tanımlayın ve bu degişkene bir isim atayın. Daha sonra isimin boyunu ekranda string nesnesinin özelliğini kullanarak gösterin. (özellik ve metodlar. Koyunca kendiliğinden çıkar). Private Sub Button1_Click(...) Dim isim As String isim = "Ali"

6 MsgBox(isim.Length) Bu örnekte sonuç 3 olarak çıkar. Degişken üzerinde işlem yapmak için o degişkenin tanımlandığı sınıfa ait özellikler kullanılabileceği gibi, o sınıfa ait fonksiyonlarda kullanılır. Aynı örneği Strings sınıfına ait Len() fonksiyonu kullanarak yapalım. Örnek: Örnegin string tipinde bir degişken tanımlayın ve bu degişkene bir isim atayın. Daha sonra isimin boyunu ekranda string nesnesinin özelliğini kullanarak gösterin. (özellik ve metodlar. Koyunca kendiliğinden çıkar). Private Sub Button1_Click(...) Dim isim As String isim = "Ali" MsgBox(Len(isim)) Yine sonuç 3 çıkar. SAYISAL TİPLER: Tüm sayısal değişken ve aralıklarını tablo şeklinde gösterelim. Adı Hafıza(Byte) Alabileceği değer aralığı Tanımı Boolean? 2 byte 1 (true) yada 0 (false) degerlerini alır 1 ve 0 değerlerini alır. Byte 1 Byte İşaretsiz tam sayı tipidir. Short 2 Byte İşaretli tam sayı tipidir. Integer 4 Byte İşaretli tam sayı tipidir. Long 8 Byte İşaretli tam sayı tipidir. Single Double 4 Byte 8 Byte ± 3, x10 38 ± 1, x Ondalık sayı tipidir. ± 1, x ± 4, x Ondalık sayı tipidir. Decimal 14 Byte ± ± Tam sayılar için Ondalık Sayılar için Sayı büyüklüğünün önemli olduğu durumlarda Single ve Double kullanılır. Basamak sayısının önemli olduğu durumlarda ise Decimal kullanılır. Yukarıda dikkat edilirse Single 7 basamaktan sonra, Double ise 15 basamaktan sonra sayının gerisini 10 üzerili olarak saklamaktadır. Oysa Decimalda ise basamak sayısı 29 basamağa kadar tutulabilmektedir. Bunun için aşağıdaki örneği yapın.

7 Örnek: sayısını Single, Double ve Decimal değişken kullanarak üzerine 5 sayısını ekleyip toplayınız. Private Sub Button1_Click(...) Dim x As Single, y As Double, z As Decimal x = y = z = x = x + 5 y = y + 5 z = z + 5 MsgBox("x=" & x) MsgBox("y=" & y) MsgBox("z=" & z) Görüleceği gibi çıkan sonuçlar şöyle olacaktır. x=1, e+18 = y=1, e+18= z= x ve y sonucu yanlış verdi fakat z doğru çıktı. Bu nedenle hassa matematiksel işlemlerde ve parasal işlemlerde Decimal kullanılmalıdır. Sınır Aşımı: Girilen sayı değerleri değişkenin sınırları dışına çıktığında OverFlowException hatası verir. Bu tip hataların önüne geçmek için uygun tiplerde tanımlamalıyız yada Try-Catch bloğun yazarak oluşacak hatayı yakalamalıyız. Aşağıdaki örneği uygulayınız. Örnek: Byte olarak tanımlanan bir değişkene önce 1 den 500 kadar sayıları yükleyeme çalışın. Sayı 255 i geçtiğinde hata verir. Hata mesajını göstermeden kullanıcıya sayı 255 i aşıyor uyarısı veren bir program yazın. Private Sub Button1_Click(...) Dim i As Integer Dim x As Byte Try For i = 1 To 500 x = i Next Catch MsgBox("Sayı 255'i aşıyor") End Try

8 Oluşan hatanın kullanıcıya gösterilmemesi ve bir uyarı verilmesi için burada Try-Catch-End Try blogu kullanılmıştır. Hata oluşma ihtimali olan kodlar Try-Catch arasına, Uyarı mesajı ise Catch-End Try arasına yazılmıştır. Sayılarla İlgili Fonksiyonlar ve İşlemler: Sayılarla ilgili bazı standart fonksiyonlar ve işlemler aşağıda özetlenmiştir. IsNumeric(değişken): Bu fonksiyon verilen değişkenin bir sayı olup olmadığını bildirir. Değişkenin içeriği sayı ise geri dönen değer True olur. Val(string): Bu fonksiyon stringin içerisindeki bilgiyi sayıya çevirir. İçinde geçersiz karakter bulursa bulduğu yere kadar çevirir. Fix(sayı): Sayının virgülden sonraki kısmını direk atar. Math.Round(sayı,basamak_sayısı): Virgülden sonra kaç basamak yuvarlatmak isteniyorsa bu fonksiyon kullanılabilir. 0 verilirse virgülden sonraki basamakların hepsi yuvarlatılır. Örnek: Eski Türk lirasında TL nin altındaki paraların bir değeri yoktur. Girilen bir küsüratlı bir paranın altındaki değerlerini yuvarlatın. Private Sub Button1_Click(...) Dim para As Long para = Val(TextBox1.Text) para = (Math.Round(para / , 0) * ) Label1.Text = para Bunu gerçekleştirmek için sayı bölünür ve virgüllü hale getirilir. Virgülden sonraki sayılar yuvarlatıldıktan sonra tekrar çarpılır. Program çalıştırılırsa sayısı olarak çıkar. Format(sayı,biçim): Sayıları istediğimiz biçimde göstermeye yarar. Örnek: Format(Val(TextBox1.Text), ##,## TL ) kodu girilen sayıyı ekranda her 3 haneye virgül atar ve sonuna TL yazar. Örnek: Bir malın birim fiyatını Text kutusuna yazarken hatalı yazımı önlemek için her 3 basamakta bir nokta yazsın ve rakamlar sola yaslı olsun. Aynı zamanda her yazılan rakam sayının sonuna yazılsın (otomatik olarak sona gitsin). Bu sayı o malın adeti ile çarpıldığında sonucu yine noktalı göstersin ve sonuna TL ifadesini eklesin. Rakam yerine harf girildiğinde uyarı versin. Private Sub Button1_Click(...) Try Label5.Text = Format(CDec(TextBox2.Text) * CInt(TextBox3.Text), "##,## TL") Catch MsgBox("Geçersiz sayı girildi") End Try Private Sub TextBox2_TextChanged(...)

9 Try TextBox2.Text = Format(CDec(TextBox2.Text), "##,##") TextBox2.SelectionStart = TextBox2.Text.Length Catch End Try Burada Text kutularına yazılan string ifadeyi sayıya çevirmek için Val kullanılmamıştır. Çünkü Val binlik basamak olarak virgül kabul eder. Halbuki türkçede nokta kullanılır. Bunun yerine Windows un türkçe ayarlarını tanıyan Cval, CDbl, Cdec dan biri kullanılır Örnek: Dışarıdan girilen bir sayı Türkçe para gösterim sistemine dönüştürüp bize göstersin Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sayi As Double Dim para As String sayi = Val(TextBox1.Text) para = Format(sayi, "###,###.##TL") TextBox2.Text = para Rnd(): Bu fonksiyon 0 ile 1 arasında rastgele sayı üretir. MsgBox(Rnd() MsgBox(Rnd() * 100) MsgBox(Int(Rnd() * 100)) Genel formül: Rnd*(b-a) + a 0 ile 1 arasında rastgele bir sayı 0 ile 100 arasında rastgele bir sayı 0 ile 100 arasında rastgele bir tam sayı a ile b arasında rastgele bir sayı. Bu fonksiyonlar denenirse her seferinde aynı sayıları ürettiği gözlenir. Bunu önlemek için Randomize() fonksiyonu kullanılır. Randomize fonksiyonu başlangıç referans sayısını belirler. Bunuda sistemin saatinden alır. Örnek: 5 ile 15 arasında rastgele tamsayı üreten bir program yazın. Private Sub Button1_Click(...)

10 Randomize() MsgBox(Int(Rnd() * (15-5) + 5)) Ödev: 0 dan 100 kadar bir rastgele sayı tutacak ve kullanıcının bu sayıyı bulmasını isteyecek basit bir sayı bulma oyunu hazırlayın. Bunu adam asmaca oyununa benzeterek resimli olarak yapıp süsleyin. Örnek ÖDEV: Formun üzerine 1 tane buton ve 1 tane label ekleyin. Butona tıklayınca Rastgele şu şekilde bir sayı atsın gibi. Daha sonra bu sayıyı dönüştürüp TL olarak göstersin. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Randomize() 'Zamana bağlı olarak her seferinde rastgel sayı atar. 'Label1.Text = Int(Rnd() * 100) 'Tam sayı kısmını alır. 'Label1.Text = Fix(Rnd() * 100) 'Tam sayı kısmını alır. 'Label1.Text = Math.Round((Rnd() * 100), 2) 'Label1.Text = Format((Rnd() * 100), "##.## TL") 'Label1.Text = Format("{0:c}", (Math.Round(Rnd() * 100, 2))) Dim a As String = (Rnd() * 100) Label1.Text = a Dim Dizi As String() = a.split(new Char() {","c}) Dim parca As String For Each parca In Dizi ListBox1.Items.Add(parca) Next Dim sayi1 As String = parca(0) Dim sayi2 As String = parca(1) Dim yenisayi2 As Integer = Val(sayi2) yenisayi2 = Math.Round(yenisayi2, 2) Label2.Text = sayi1 & yenisayi2 & " TL"

11 STRING TIPLER Stringler üzerinde sayısal işlem yapılamayan ifadelerdir. Char ve String tip olmak üzere iki kısıma ayrılır. Char: İki baytlık bir karakter veri tipidir. İçinde sadece bir karakter barındırır. Fazla sayıda karakter ataması yapılırsa ilk karakteri dikkate alır. Geriye doğru silme yada Enter gibi Ascii kodu içinde bulunan karakterleride Chr() fonksiyonuyla birlikte kullanabilirsiniz. Örneğin enter tuşu için Chr(13) kullanabilirsiniz. Dim c1,c2, as Char c1= A c2=chr(65) Msgbox(c1) Msgbox(c2) String: Karakter sınırı verilmezse 2 milyar karaktere kadar alabilir. İçerisine aldığı karakterler Unicode Stringlerdir. Unicode stringler uzak doğu dilleride dahil tüm dillerin karakterlerini kapsamaktadır. STRİNGLERLE İLGİLİ METODLAR: VB.Net de Stringler diğer tipler gibi birer nesnedir. String tipi değişkenin adı yazılıp nokta konduğunda o string üzerinde yapılabilecek özellik ve metodların (işlemlerin) bir listesi çıkar. Stringlerin iki adet özelliği (length, Chars) vardır. Diğerleri metoddur (string üzerinde yapılabilecek işlemleri gösterir). Length(): Bu özellik Stringin uzunluğunu verir. [string.length() ] Chars(): Bu özellik Stringin istenen karakterini verir. İndis 0 dan başlar. [string.chars(2) ] Örnek: Bir TextBox ın içine yazılan bir metindeki kelimeleri arada boşluk, virgül ve noktaları araştırarak yine aynı TextBox ın içinde alt alta sıralasın. Private Sub Button1_Click(...) Dim metin, kelime As String Dim a As Char Dim i As Integer metin = TextBox1.Text TextBox1.Text = "" For i = 0 To metin.length() - 1 a = metin.chars(i) If a = " " Or a = "," Or a = "." Then kelime = kelime + Chr(13) TextBox1.Text = TextBox1.Text + kelime kelime = "" Else kelime = kelime + a End If Next

12 Burada enterları kare sembolü şeklinde göstermiştir. Bu metni kopyalayıp Word e atarsak word de kelimeler alt alta sıralanır. Yada kelimeleri listbox da listeleyebilirdiniz. ToLower(): Stringi küçük harfe çevirir. [string.tolower() ] ToUpper(): Stringi büyük harfe çevirir. [string.toupper() ] - Bu iki ifade windows un dilinin kurallarına göre çevirir. Yani türkçe windows da türkçe dil kurallarına göre çevrim yapar. Eğer başka dil kurallarına göre çevrim yapılması isteniyorsa şöyle kullanılır. [string.toupper(new System.Globalization.CultureInfo( en ) ] Compare(): İki stringi gelişmiş özellikler kullanarak karşılaştırmak için kullanılır. - Stringleri büyük küçük harf duyarlı olarak karşılaştırır. [ string.compare(string1, string2)=0 ] - Büyük-küçük harf duyarlı olmaması isteniyorsa şöyle kullanılır [string.compare(string1,string2,true)=0 ]. Bu iki ifadede iki string eşitse sonucu 0 olarak döndürür. - Stringin bir parçasını karşılaştırma. [ string.compare( string1, kaçıncıharfden, string2, kaçıncıharfden, kaçharf) - Hangi dil kuralına göre karşılaştırma yapacağını belirlemek içinse şöyle kullanılır. [string.compare(string1, string2, True, New System.Globalization.CultureInfo( en )) ] CompareTo(): İki stringi büyük küçük harf duyarlı olarak karşılaştırmanın başka bir yöntemidir. [string1.compareto(string2)=0 ]. Büyük küçük harf duyarlılığı olduğu için string önce tamamen küçük harfe yada büyük harfe çevrilmelidir. [string1.tolower.compareto(string2)=0]. stringler eşitse 0 döndürür. Equals(): İki stringi karşılaştırmanın üçüncü bir yolu ise bu metoddur. Burada 0 yerine True yada False döndürür. İki şekilde kullanılabilir. Büyük-küçük harf duyarlıdır. [string.equals(string1,string2) ] yada [string1.equals(string2) ] şeklinde kullanılabilir StringWith(): Stringin belirlenen verilen metinle başlayıp başlamadığını kontrol eder. True yada False döndürür. Büyük-küçük harf duyarlı olduğu için ToUpper yada ToLower ile dönüştürülmesi lazım. Kullanımı şöyledir. [aranacakmetin.toupper.stringwith(arananmetin) ] EndsWith(): Stringin belirlenen metinle bitip bitmediğini kontrol eder. Kullanımı StringWith ile aynıdır TrimStart(): Stringin başındaki boşlukları atar. TrimEnd(): Stringin sonundaki boşlukları atar. Trim(): Stringin her iki tarafındaki boşlukları atar. - Bu metodlar kullanılırken metinin içindeki özel karakterler şu şekilde atılabilir. [string.trimend(,,., :, ; ) ] SubString(): Stringin bir parçasını almak için bu metod kullanılır. İki şekilde kullanılabilir. [string1.substring(başlangıç)] yada [ string1.substring(başlangıç,uzunluk) ] Split(): Bir stringi belli bir karakterler parçalara ayırmak için kullanılır. Parçalanan bölümler bir çok sayıda olabileceği için geriye dönen karakterler diziye atılmalıdır. İki şekilde kullanılabilir. [dizidegişkeni=arananstring.split(ayırıcıstring) ] yada [dizidegişkeni=arananstring.split(ayırıcıstring,kaçadetalınaksa)] IndexOf(): Bir stringi başka bir stringin içinde aramak için kullanılır. Aramaya baştan başlar. Bulursa kaçıncı karakterde bulduğunu geri döndürür. Bulamazsa -1 döndürür. Kullanımı [aranılacakstring.indexof(arananstring) ] yada [aranılacakstring.indexof(arananstring,kaçıncıharfden) ] LastIndexOf(): IndexOf la aynıdır sadece aramaya sondan başlar.

13 IndexOfAny(): Bir stringin içinde birden fazla stringin olup olmadığını aramak için kullanılır. Aramaya baştan başlar. Kullanımı [ string1.indexofarray(aranankarakterler) ] LastIndexOfAny(): Tek farkı aramaya sondan başlar Concat(): Bu metod iki veya daha fazla stringi birleştirmek için kullanılır. Kullanımı [string1=str.concat(str1,str2,str3) ] Join(): Bir grup stringin arasına bir karakter koyarak birleştirmek için kullanılır. Kullanımı [string1=str.join(konulacakkarakter, dizi) ] Insert(): Bir stringin içine belli bir stringi yerleştirmek için kullanılır. Kullanımı [string1.insert(kaçıncıharfden,yerleştirilecekstring) ] Replace(): Bir stringin içinde geçen bir metni başka başka bir metinle değiştirmek için kullanılır. Kullanımı [string1=str.replace(arananmetin, yerinekonacakmetin) ] Remove(): Bir stringin içinden belli bir bölümü çıkarmak için kullanılır. Kullanımı [string1=str.remove(kaçıncıharfden, kaçharf) ] PadLeft(), PadRight(): Stringin sağına ve soluna istenen sayıda karekter ekleyerek stringin boyunu uzatmayı sağlar. [EklenecekString.PadRight(adet, karakter)]. Örneğin Ali.PadRight(2, * ) ifadesinin sonucu Ali** olarak verir. Boşluk karakteri eklenerek stringin boyu uzatılmış olur. Format(): Bir stringi farklı şekillerde formatlamak için bu metod kullanılır. Örnekler; - String.Format( Sayın {0} Bey, {1} Tarihinde sizleri düğünümüze bekliyoruz., Ali, ) Çıktısı Sayın Ali Bey, Tarihinde sizleri düğünümüze bekliyoruz olacaktır. - String.Format( Bugün={0:d}, Today) Çıktısı Bugün= şeklinde olacaktır. Örnek: Bir TextBox ın içine yazılan bir metindeki kelimeleri aradaki boşluklardan parçalara ayırıp her bir parçayı diziye atsın. Ardından dizideki elemanları Listbox ta görüntülesin. Private Sub Button1_Click(...) Dim kelime() As String Dim i As Integer kelime = TextBox1.Text.Split(" ") For i = 1 To UBound(kelime) ListBox1.Items.Add(kelime(i)) Next Burada.Split() metoduyla textbox ın içindeki tüm kelimeler boşluklardan parçalara ayrılmakta ve kelimeler dizi değişkenine aktarılmaktadır. For döngüsünde bir dizinin en yüksek eleman numarasını veren Ubound() fonksiyonu kullanılarak dizinin içindeki tüm kelimeler Listbox da görüntülenmektedir. Stringler Üzerinde İşlem Yapan Fonksiyonlar

14 Daha öncede vurgulandığı gibi VB.Net de tüm değişkenler birer nesne gibi davranmaktadır. Her nesnenin özellikleri ve üzerinde işlem yapan metodları bulunmaktadır. String değişkenleri üzerinde işlem yapan Metodları daha önceden gördük. Şimdi ise yine stringler üzerinde işlem yapan Fonksiyonları görelim. Hemen hemen aynı işlemleri yine Fonksiyonlar kullanarak yapabiliriz. Stringler üzerinde Metodları kullanırken String değişkeninden sonra nokta konur ve metod yazılır. Fonksiyon kullanırken ise Fonksiyon yazılır ve parantezler içine string yazılır. Örneğin: ali.toupper() bir metod dur ve ali yazısını ALİ ye çevirir. Aynı işlemi fonksiyon kullanarak yapmak istersek Ucase(ali) dersek sonuçta yine ALİ çıkar. Strignlerle ilgili belli başlı fonksiyonlar şunlardır. StrComp(metin1, metin2, [şart]) : İki stringi karşılaştırmak için kullanılır. Şart yazan kısımda 0 verilirse büyük küçük ayrımı yapılır, 1 verilirse bu ayrım yapılmaz. Geri dönen değer 0 ise strignler eşittir. Pozitif ise birinci string büyüktür, negatif ise ikinci string büyüktür. Büyüklük alfabetik sıralamaya göredir. LTrim(metin) : Verilen stringin başındaki boşlukları kaldırır. Rtim(metin) : Verilen stringin sonundaki boşlukları kaldırır. Trim(metin) : Verilen stringin her iki tarafındaki boşlukları kaldırır. Ucase(metin) : Verilen stringi büyük harfe çevirir. Lcase(metin) : Verilen stringi küçük harfe çevirir. StrReverse(metin) : Verilen stringin harflerini tersten yazar. Len(metin) : Verilen stringin içindeki karakter sayısını verir. Boşluklar da dahil. Strings.Right(metin,n) : Verilen stringin sağdan n karakter alınmasını sağlar. Strings.Left(metin,n) : Verilen stringin soldan itibaren n karakter alınmasını sağlar. Mid(metin,başlanğıç,[uzunluk]) : Verilen metnin içinde başlanğıç noktasından uzunluk kadar kadar karakteri verir. InsStr([KaçıncıHarfden], Neyinİçinde, neyi, [nasıl]) : Bir stringin içinde başka bir stringi baştan itibaren arar. Nasıl parametresi 0 olursa büyük küçük ayrımı yapar, 1 olursa yapmaz. Geriye dönen değer 0 ise aranan ifade bulunamamıştır. Bulunmuşsa stringi bulduğu yerin sayısını verir. InsStrRev(Neyinİçinde, Neyi, [KaçıncıHarfden], [Nasıl]) : Bir stringin içinde başka bir stringi sondan itibaren arar. Replace(Neyinİçinde, Neyi, Neİle, [KaçıncıHaftden], [KaçTane],[Nasıl]) : Bir stringin içindeki bir ifadeyi (neyi) başka bir ifade ile (neile) değiştirir. KaçıncıHarfden parametresi kullanılmazsa baştan itibraren değiştirir. KaçTane parametresi kullanılmazsa bulduğu tüm değişiklikleri yapar. Nasıl parametresi 0 ise büyük küçük ayrımı yapar, 1 ise yapmaz. Space(sayı) : Verilen sayı kadar boşluk oluşturur. Val(string) : Verilen stringi sayıya çevirir. Str(sayı) : Verilen sayıyı stringe çevirir. Asc(karakter) : Verilen karakterin Ascii kodunu verir. Chr(AsciiKodu) : Verilen kodun karakter karşılığını üretir. Karakter Gruplarını Tanıyan Metodlar Char.IsLetter : Karakterin alfabetik bir harf olup olmadığını öğrenmek için kullanılır. Char.IsDigit: Karakterin 0-9 arası bir rakam olup olmadığını öğrenmek için kullanılır. Char.IsLower: Karakterin küçük harf olup olmadığını öğrenmek için kullanılır. Char.IsUpper: karakterin büyük harf olup olmadığını öğrenmek için kullanılır. Örnek: Formun üzerinde 2 tane textbox olsun. Bunlardan birincisine ad soyad girilsin. İkincisine ise doğum tarihi girilsin. Eğer ad soyad kısmına rakam girilirse yada doğum tarih kısmına harf girilirse ses çıkararak uyarı versin. Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If Char.IsDigit(e.KeyChar) Then e.handled = True Beep() End If

15 Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress If Not Char.IsDigit(e.KeyChar) Then e.handled = True Beep() End If Burada basılan tuşları alabilmek için KeyPress olayını kullanacağız. Kullanıcı bir tuşa bastığında bu olay meydana gelir. Prosedür içinde bu olayı temsil eden değişken e değişkenidir. Bu olayın KeyChar özelliği bize basılan tuşu verir. Kullanıcının bastığı tuşu iptal etmek için ise aynı olayın Handled özelliği kullanılır. Beep() fonksiyonu ise sesli uyarı verir. ÖRNEK: Bir çok satırlı textbox ın içerine atılan metindeki kelimleri ayırıp listbox da alt alta sıralı olarak gösterin.

16 TARİH TİPİ DEĞİŞKENLER Date: Tarih tipi değişkenler bu ifadeyle tanımlanırlar. Tarihler işaretleri arasında yada # # işaretleri arasında tanımlanabilirler. Tırnak içinde tanımlanırlarda Windowsun ayarlarını kullanır. Yani Türkçede gün/ay/yıl olur. Oysa ingilizcede tarih ay/gün/yıl olarak kullanılır. Dim tarih as Date şeklinde tanımlanır. IsDate(tarih ve saat): Bu fonksiyon verilen bir tarihin yada saatin geçerli olup olmadığını tespit eder, geçerli ise True döndürür. Windows un ayarlarını kullanır. Today: Bilgisayarın tarihini öğrenmek ve değiştirmek için kullanılır. TimeOfDay: Bilgisayarın saatini öğrenmek ve değiştirmek için kullanılır. Now : Bilgisayarın hem tarihini hemde saatini sadece öğrenmek için kullanılır. Örnek: Formun üzerine iki tane text box, bir tane buton koyun. Birinci textboxtan sistemin tarihini, ikinci textbox tan sistemin saatini açılışta gösterin ve ardından değiştirin. Eğer formata uygun değer girilmezse uyarı versin. Private Sub Form1_Load(...) TextBox1.Text = Today TextBox2.Text = TimeOfDay Private Sub Button1_Click(...) If IsDate(TextBox1.Text) Then Today = TextBox1.Text Else MsgBox("Tarih Geçersiz") End If If IsDate(TextBox2.Text) Then TimeOfDay = TextBox2.Text Else MsgBox("Saat Geçersiz") End If Tarih Tipi Değişkenlerin Metodları: Tarih tipi değişkenler üzerinde işlemler yapmak için hem metodlar (değişkenin yanına noktayı koyduğumuzda çıkan pencereden seçebilirsiniz) hemde fonksiyonlar kullanılır. Örneğin metodlardan add ile başlayanlar tarih yada saatle ilgili olarak ekleme veya çıkarma işlemi yapar. Bazı önemli metodlar şunlardır..adddays(gün): Tarihe belirtilen gün kadar ekleme veya çıkarma yapar..addmonths(ay): Tarihe belirtilen ay kadar ekleme veya çıkarma yapar..addyears(yıl): Tarihe belirtilen yıl kadar ekleme veya çıkarma yapar..month: Tarihin ayını verir..year: Tarihin yılını verir.

17 .DayOfYear: Yılın kaçıncı gün olduğunu verir..dayofweek: Haftanın kaçıncı gün olduğunu verir. 0 Pazar, 1 Pazartesi şeklinde gider..isleapyear(yıl): Belirtilen yılın artık yıl olup olmadığını (29 şubat çekiyorsa) True değeri döndürerek verir..addhours(saat): Zamana belirtilen saat kadar ekleme veya çıkarma yapar..addminutes(dakika): Zamana belirtilen dakika kadar ekleme veya çıkarma yapar..addseconds(saniye): Zamana belirtilen saniye kadar ekleme veya çıkarma yapar..hour: Zamanın saat kısmını verir..minute: Zamanın dakika kısmını verir..second: Zamanın saniye kısmını verir..millisecond: Zamanın milisaniye (1/1000 saniye) kısmını verir..tooadate: Tarih tipindeki değişkenin değerini integer türü bir değişkene çevirir. Böylece tarihler üzerinde işlem yapmak kolaylaşır. Örnek: Formun üzerine bir tane textbox, bir tane buton koyun. Doğum tarihinizi girdiğinizde size hangi gün doğduğunuzu veren programı en kısa şekilde yazmaya çalışın. Private Sub Button1_Click(...) Dim tarih As Date Dim gunler() As String = {"paz", "pzt", "sal", "çar", "per", "cum", "cmt"} tarih = TextBox1.Text MsgBox(gunler(tarih.DayOfWeek)) Örnek: Satılan bir ürünün borcunun gecikmeli ödenmesi nedeniyle ödenecek ceza miktarını gösteren bir program yazın. Geciken her gün başına ürünün fiyatına 1/1000 ceza eklesin. Ödemenin yapıldığı gün sistem saati olsun ve kendiliğinden yüklensin. Private Sub Button1_Click(...) Dim tarih1, tarih2 As Date Dim fark, ceza As Long tarih1 = TextBox3.Text tarih2 = TextBox4.Text fark = tarih2.tooadate - tarih1.tooadate ceza = fark * * Val(TextBox2.Text) TextBox5.Text = ceza TextBox6.Text = Format((Val(TextBox2.Text) + ceza), "##,##") Private Sub Form1_Load(...) TextBox4.Text = Today

18 DateAndTime.Timer: Bu özellik bir zaman sayacıdır ve gece yarısından itibaren kaç milisaniye (salise) geçtiğini verir. Sayının tam kısmı Saniyeyi, ondalık kısmı ise milisaniyeyi gösterir. Bu özellik kullanılarak iki işlem arasında geçen süre hesaplanabilir. Örnek: Bir döngünün kaç saniye sürdüğünü kullanılan değişkenlerin tipini tanımlayarak ve tanımlamadan hesaplayın. Private Sub Button1_Click(...) Dim ilk, son As Double Dim i ilk = DateAndTime.Timer For i = 1 To i = i Next son = DateAndTime.Timer MsgBox("geçen süre=" & (son - ilk)) ÖDEV: Formun üzerine iki tane tane combobox yerleştirip buradan ay ve yılı seçtiğimizde bize o ayın tüm günlerini haftalık günleri ile birlikte gösteren bir program yazın. ÖDEV: Geçen süreyi tahmin etme üzerine

19 HAZIR FONKSİYONLAR A)Matematiksel Fonksiyonlar 1)Math.abs(Ondalık Sayı)=Ondalıklı sayıların mutlak değerini alır. ÖRNEK: Göster butonuna basıldığında textboxtaki negatif ondalıklı sayının mutlak değerini alan program kodlarını yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox2.Text = Math.Abs(Val(TextBox1.Text)) 2) Math.Ceiling(Ondalık Sayı)=Ondalıklı sayıyı yukarıya yuvarlar. Math.Floor(Ondalık Sayı)=Ondalıklı sayıyı aşağıya yuvarlar. 3) Math.PI=Pi sayısını verir(22/7) 4) Math.Pow(Sayı1,Sayı2)=Sayının üssünü(kuvvetini) alır. Sayı1=Üssü alınacak sayı Sayı2=Üs ÖRNEK:25 Sayısının 0.5 (1/2) üssünü alan programı yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox("Sayının Kuvveti " & Math.Pow(25, 0.5)) 5) Math.Round(Ondalıklı Sayı,Hassasiyet)=Ondalıklı sayıyı verilen hassasiyete göre yuvarlar. Hassasiyet=Ondalıklı sayının virgülden sonraki basamaklarının kaç tane olacağını belirtir. ÖRNEK: Msgbox(Math.Round( ,3)) Sonuç olarak gösterecektir. 6) Math.Sin()=Verilen açının sinüs değerini verir. Math.Cos()=Verilen açının kosinüs değerini verir. Math.Tan()=Verilen açının tanjant değerini verir. Math.ASin()=Verilen değerin sinüs cinsinden açısını bulur. Math.ACos()=Verilen değerin kosinüs cinsinden açısını bulur. Math.ATan()=Verilen değerin tanjant cinsinden açısını bulur.

20 ÖRNEK: Msgbox(Math.Tan(22/28)) Sonuç olarak 1 değerini verecektir. NOT: Açılar radyan cinsinden verilmelidir. Yukarıdaki örnekte de 22/28 (yani 45 ) radyan cinsinden verilmiştir. ÖRNEK: Msgbox(Math.A.Sin(0.5)) Sonuç olarak radyan değerini verir. Bu değerde 30 dereceye karşılıktır.

21 DÖNGÜLER VE BLOKLAR Program içerisinde kontrolü, tekrarlı işlemlerin yapılmasını sağlarlar. IF THEN ELSE DEYİMİ: Programın koşullara bağlı olarak karar vermesini sağlar. Yapısı A) IF Koşul THEN İşlemler B)IF Koşul1 THEN İşlemler1 ELSEIF Koşul2 THEN İşlemler2 ELSEIF Koşul3 THEN İşlemler3 ELSE İşlemler N END IF NOT 1: ELSEIF istenilen sayı kadar arttırılır. Her seferinde yanına koşul yazılmalıdır. NOT 2: Sadece ELSE deyimi hiçbir şartın sağlanmadığı durumlarda kullanılır. Yanına koşul yazılmaz. ÖRNEK 1: Girdiğimiz notun harfsel olarak karşılığını veren programı yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim puan As Integer puan = Val(TextBox1.Text) If puan <= 100 And puan >= 90 Then MsgBox("A1 ile Geçtiniz") ElseIf puan < 90 And puan >= 80 Then MsgBox("A2 ile Geçtiniz") ElseIf puan < 80 And puan >= 70 Then MsgBox("B1 ile Geçtiniz") ElseIf puan < 70 And puan >= 65 Then MsgBox("B2 ile Geçtiniz") ElseIf puan < 65 And puan >= 60 Then MsgBox("C ile Geçtiniz") ElseIf puan < 60 And puan >= 0 Then MsgBox("F3 ile Kaldınız") Else : MsgBox("Hatalı Giriş Yaptınız") End If

22 ÖRNEK 2: Kullanıcı adı ve şifreye göre giriş yapan ve Msgbox la şifrenin doğru olup olmadığını gösteren programı yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim kullanici, sifre As String kullanici = TextBox1.Text sifre = TextBox2.Text If kullanici = "Ali" And sifre = "123" Then MsgBox("Şifre Doğru") Else : MsgBox("Şifre Yanlış") End If NOT 3: Textbox ın içeriğini yıldız(*) olarak göstermek için Textbox ın properties penceresinden Password Char özelliğine * yazılır. ÖRNEK 3: Örnek 2 için form daha yüklenirken bir pencere açılsın ve burada bizden sadece şifre istesin. Tamam tuşuna basıldığında şifre doğru ise form gözüksün,yanlış ise programı kapatsın.bu işlemi yapan programın kodlarını yazınız. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim sifre As String sifre = InputBox("Şifre Giriniz", "ŞİFRE KONTROLÜ", "", 300, 200) If sifre <> "123" Then End NOT 4: Dışarıdan bir pencere ile bir değer alınırken inputbox() fonksiyonu kullanılır. Kullanılışı: sifre=inputbox( Şifrenizi Giriniz:, SIFRE KONTROLU,,300,200) NOT 5: Programdan çıkışı sağlamak için End komutu kullanılır. Örnek 3 te IF koşulunun sonuna yazılan End ; eğer şifre 123 e eşit değilse programdan çık anlamındadır. IF tek satırda yazıldığı için end if e gerek yoktur.

23 FOR NEXT DÖNGÜSÜ Çalışmasını istediğimiz kodları birçok kez çalıştırmak istersek bu döngüyü kullanabiliriz. Yapısı: FOR sayaç değişkeni =ilk değer TO son değer [step sayacın artış miktarı] Çalışacak Kodlar NEXT sayaç değişkeni NOT 1: [ ] ler tercihe bağlı olduğunu gösterir ve program yazarken kullanılmaz. NOT 2:FOR NEXT döngüsünde step adımı kullanılmazsa sayaç birer birer artar. ÖRNEK 4: İlk değer ve son değer arasındaki sayıları toplatıp Label a yazdıran programı yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim toplam As Integer = 0 Dim ilkdeger, sondeger, i As Integer ilkdeger = Val(TextBox1.Text) sondeger = Val(TextBox2.Text) For i = ilkdeger To sondeger toplam = toplam + i Next i Label4.Text = toplam ÖRNEK 5: 1 den 6 ya kadar olan sayıları 2 şer 2 şer olmak üzere ekranda Msgbox la gösteren programı yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Byte For i = 1 To 6 Step 2 MsgBox(i) Next i

24 ÖRNEK 6: İlk değer ile son değer arasındaki değerleri artış miktarına göre Msgbox la ekranda gösteren programı yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i, ilk, son, art_mik As Integer ilk = Val(TextBox1.Text) son = Val(TextBox2.Text) art_mik = Val(TextBox3.Text) For i = ilk To son Step art_mik MsgBox(i) Next i FOR EACH DÖNGÜSÜ For Each döngüsü bir dizinin içerisindeki elemanları otomatik olarak bir değişkene atıp bu değişkeni kullanarak sırayla elemanları görüntülememizi yada üzerinde işlem yapmamızı sağlar. Örnek: Biz diziye 6 tane ili tanımlama satırında atayıp daha sonra butona basıldığında bu dizi deki her bir elemanı for next döngüsü kullanmadan Listeye ekletin. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim Sehirler() As String = {"Adana", "Ankara", "Bursa", "İstanbul", "İzmir"} Dim Sehir As String For Each Sehir In Sehirler ListBox1.Items.Add(Sehir) Next DO LOOP, DO WHİLE LOOP, DO UNTIL LOOP, WHILE LOOP DONGULERİ

25 Do-Loop Döngüsü: Bu döngü içeriden çıkılmadığı sürece sonsuza kadar döner Örnek: kadar olan sayıları sonsuz döngü kullanarak Listeye ekleyin Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim i As Integer Do i = i + 1 ListBox1.Items.Add(i) If i = 100 Then Exit Do Loop Do while-loop Döngüsü Başlangıçta bizden bir şart ister ve bu şart geçerli olduğu müddetçe çalışır. Eğer yinede arada bir şart gerçekleştiğinde çıkmak istersek Exit Do ile çıkabiliriz. Örnek: kadar olan sayıları Do while-loop döngüsü ile listeye ekletin. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim i As Integer Do While (i < 100) i = i + 1 ListBox1.Items.Add(i) 'If i = 78 Then Exit Do Loop

26 Do Until- Loop döngüsü: Şart sağlana kadar döngüyü çalıştıracaktır. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim i As Integer Do Until (i > 100) i = i + 1 ListBox1.Items.Add(i) 'If i = 78 Then Exit Do Loop *********************** Do i = i + 1 ListBox1.Items.Add(i) 'If i = 78 Then Exit Do Loop Until (i > 100) ****************** Do i = i + 1 ListBox1.Items.Add(i) 'If i = 78 Then Exit Do Loop While (i < 100) ÖRNEK 1: arasındaki sayılardan rasgele seçen ve ne zamanki sayı 50 olduğunda döngüden çıkan ve kaçıncı seferde bulduğunu gösteren programı yazınız.

27 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a, i As Integer i = 0 Randomize() Do a = Int(Rnd() * (100) + 1) If a = 50 Then Exit Do i = i + 1 Loop MsgBox("Sayi=" & a & " " & "Kaç Seferde Bulduğunuz=" & i) Aynı program Do-Loop While döngüsü ile yapılacak olursa komutları şu şekilde olurdu: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a, i As Integer i = 0 Randomize() Do a = Int(Rnd() * (100) + 1) i = i + 1 Loop While a <> 50 MsgBox("Sayi=" & a & " " & "Sayaç=" & i) NOT: 100 ile arasındaki sayıları listeye eklemek isteyelim. Eğer Do While Kullanılırsak (i>100) yada i<10000 şeklinde ifade etmeliyiz. i 100 den büyük mü? =Evet yada üst sınırı kullanırsak i den küçük mü=evet. Her ikisindede evet dediğimiz için döngü çalışacaktır. Eğer Until kullanırsak. (i>10000) i den büyük olana kadar devam et. İ=100 olsun. i den büyükmü? Hayır Cevabı aldığımız için döngü çalışacaktır. Ne zaman çıkacak evet cevabını aldığımızda çıkacaktır. Dikkat edilirse birinde Evet dediğimizde çalışıyor, Diğerinde ise hayır dediğimizde çalışıyor. Aşağıdaki örnekleri inceleyin. Dim i As Integer = 100 'Dim kare As Integer 'For i = 1 To 100 'ListBox1.Items.Add(i) 'Next

28 'Do 'i = i + 1 'ListBox1.Items.Add(i) 'kare = i * i 'If kare > Then Exit Do 'Loop 'Do While (i >= 100) 'i = i + 1 'ListBox1.Items.Add(i) 'If i = Then Exit Do 'Loop 'Do 'i = i + 1 'ListBox1.Items.Add(i) 'Loop While (i = 10000) 'Do Until (i >= 10000) 'i = i + 1 'ListBox1.Items.Add(i) 'Loop Do i = i + 1 ListBox1.Items.Add(i) Loop Until (i > 10000)

29 LİSTBOX (LİSTE KUTUSU) NOTLAR: 1) ListBox1.Selectedindex komutu listede seçili olan elemanın numarasını verir. 2) ListBox1.Selecteditem komutu listede seçili olan elemanı gösterir. 3) ListBox1.Items.RemoveAt( ) komutu index (sıra) numarası verilen elemanı siler. Parantez içine sıra numarası yazılır. 4) ListBox1.Items.Remove( ) komutu ismi yazılan elemanı siler. Parantez içine isim yazılır. 5) ListBox1.Items.Count komutu listedeki eleman sayısını verir. 6) ListBox1.Items.IndexOf( ) komutu listeden seçilen elemanın kaçıncı eleman olduğunu gösterir. ÖRNEK 1: Aşağıdaki çıktıyı veren programı yapınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ListBox1.Items.Add(TextBox1.Text) TextBox1.Text = " " Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ListBox1.Items.Clear() Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) ListBox1.Items.Remove(ListBox1.SelectedItem) Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click If ListBox1.Items.Count < TextBox2.Text Then ListBox1.Items.Insert(ListBox1.Items.Count, TextBox3.Text)

30 Else : ListBox1.Items.Insert(Val(TextBox2.Text), TextBox3.Text) End If Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click MsgBox("Eleman Sayısı " & ListBox1.Items.Count) Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click MsgBox("Seçtiğiniz Kişinin Sıra Numarası " & ListBox1.Items.IndexOf(TextBox4.Text)) Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged MsgBox(ListBox1.SelectedItem) COMBOBOX(AÇILIR LİSTE) ComboBox, ListBox ın aynısıdır. Aralarındaki tek fark maddeler burada gizlenmiş olarak gösterilir. Kullanılan komutlar ListBox komutları ile aynıdır. ÖRNEK 2: 0 ile 100 arasından 10 tane sayıyı rasgele olarak ComboBox ın içerisinde toplayan programı yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sayi, i As Integer Randomize() For i = 1 To 10 sayi = Int(Rnd() * (100-0) + 0) ComboBox1.Items.Add(sayi) Next i NOT: Randomize() fonksiyonu zamana bağlı olarak Rnd() fonksiyonunu çalıştırır. Eğer bu fonksiyon kullanılmaz ise Rnd() programda hep aynı sayıları üretecektir. Bu fonksiyon sayesinde Rnd() zamana bağlı olarak yeni sayılar üretir. Zaman sürekli ilerlediği için dolayısıyla her üretilen sayı grubu bir öncekilerden farklı olacaktır. Rnd Fonksiyonunun Kullanılışı Int(Rnd()*(son değer-ilk değer)+ilk değer)

31 Örnek: Sayfaya 1 tane ComboBox, 1 tane ListBox 2 tane buton ekleyin. Birinci butona tıkladığımızde arasından 100 tane sayıyı Combobox a attırın. Daha sonra ikinci butona tıkladığımızda her sayıdan kaç tane attığını Listbox da göstersin. Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim RastgeleSayi As Integer For i = 1 To 100 RastgeleSayi = Int((Rnd() * 100)) ComboBox1.Items.Add(RastgeleSayi) Next Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim sayac As Integer Dim OkunanSayi As Integer For i = 0 To 99 sayac = 0 OkunanSayi = ComboBox1.Items.Item(i) Next For j = 0 To 99 If OkunanSayi = ComboBox1.Items.Item(j) Then sayac = sayac + 1 End If Next ListBox1.Items.Add(OkunanSayi & "-" & sayac) End Class

32 ÖDEV: Google arama motoru benzeri Tam kelime Kısmı kelime arama yapan bir program yazın. CHECKBOX Seçenekler arasından bir veya birden fazla seçim yapmamızı sağlar. ÖRNEK 3: Aşağıdaki çıktıyı veren programı yapınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim takim As String takim = " " If CheckBox1.Checked = True Then takim = takim + "FENERBAHÇE " End If If CheckBox2.Checked = True Then takim = takim + "GALATASARAY " End If If CheckBox3.Checked = True Then takim = takim + "BEŞİKTAŞ " End If If CheckBox1.Checked = False And CheckBox2.Checked = False And CheckBox3.Checked = False Then MsgBox("Takım Tutmuyorsunuz") Else MsgBox("Tuttugumuz Takım/Takımlar " & takim) End If RADİOBUTTON Seçenekler arasından sadece bir tanesini seçmemizi sağlar. Kullanımı Checkbox nesnesi ile aynıdır. Yalnız burada RadioButton ların mutlaka daha önceden GroupBox nesnesi içerisine konması gerekir. Bu nesne RadioButton ları grup haline getirir. Butonlarda biri seçildiğinde diğerinin seçimini iptal eder.

33 ÖRNEK 4: Aşağıdaki çıktıyı veren programı yapınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If RadioButton1.Checked = True Then MsgBox("Tutugunuz Takım FENERBAHÇE") ElseIf RadioButton2.Checked = True Then MsgBox("Tutugunuz Takım GALATASARAY") ElseIf RadioButton3.Checked = True Then MsgBox("Tutugunuz Takım BEŞİKTAŞ") Else MsgBox("Takım Tutmuyorsunuz") End If Örnek: Formun üzerine

34 PİCTUREBOX ÖZELLİKLERİ 1) Picturebox ın properties özellikler penceresindeki Image özelliğine resmin yolu verilir. Kullanımı: Picturebox1.Image= Image.FromFile ( Resmin Konumu ) 2) Picturebox ın properties özellikler penceresindeki SizeMode özelliğindeki StretchImage seçeneği resmi çerçeveye uydurur, AutoSize seçeneği ise çerçeveyi resme uydurur. Kullanımı: Picturebox1.SizeMode= StretchImage Picturebox1.SizeMode= AutoSize 3) Picturebox ın Width özelliği resmin genişliğini ayarlamamızı sağlar Kullanımı: Picturebox1.Width= ( sayı ) 4) Picturebox ın Height özelliği resmin yüksekliğini ayarlamamızı sağlar Kullanımı: Picturebox1.Height= ( sayı ) ÖRNEK 1: Aşağıdaki çıktıyı veren program kodlarını yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click PictureBox1.Width = Val(TextBox1.Text) PictureBox1.Height = Val(TextBox2.Text) PictureBox1.Image = Image.FromFile("C:\Documents and Settings\All Users\Belgeler\Resimlerim\Örnek Resimler\Kış.Jpg") Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

35 Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize OPENFİLEDİALOG Resimlerin konumunun otomatik olarak alınmasını sağlar. OpenFileDialog kutusu tasarım aşamasında gözükürken program çalıştırıldığında bu kutu görünmez. OpenFileDialog kutusunun Properties özellikler penceresinden Filter özelliğine (Dosya Türü kısmında görünecek isim *.Dosyanın uzantısı) yazılır. ÖRNEK 2: Aşağıdaki resmi görüntüleyen ve msgbox ile resmin konumunu veren program kodlarını yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click OpenFileDialog1.Filter = "Bitmap Resimleri *.bmp Jpeg Resimleri *.jpg" OpenFileDialog1.ShowDialog() PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName.ToString) MsgBox(OpenFileDialog1.FileName.ToString) NOT 1: OpenFileDialog kutusunun ShowDialog( ) özelliği bize otomatik olarak resimlerin bulunduğu diyalog kutusunu getirir. NOT 2: OpenFileDialog kutusunun FileName.ToString özelliği ise bize resmin konumunu verir.

36 ÖRNEK: Listeden seçilen resmi picturebox ta görüntüleyen programı yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click OpenFileDialog1.Filter = "Bitmap Resimleri *.bmp JPEG Resimleri *.jpg" OpenFileDialog1.ShowDialog() ListBox1.Items.Add(OpenFileDialog1.FileName.ToString) Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged PictureBox1.Image = Image.FromFile(ListBox1.SelectedItem) PICTUREBOX NESNESİ Örnek: Bir resim albümü yapınız. Public Class Form1 Dim s As Integer

37 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim resimyolu As String OpenFileDialog1.ShowDialog() resimyolu = OpenFileDialog1.FileName PictureBox1.Image = Image.FromFile(resimyolu) ListBox1.Items.Add(resimyolu) Private Sub RadioButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.Click PictureBox1.SizeMode = PictureBoxSizeMode.Zoom Private Sub RadioButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.Click PictureBox1.SizeMode = PictureBoxSizeMode.Normal Private Sub ListBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.Click PictureBox1.Image = Image.FromFile(ListBox1.SelectedItem) Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim ilkresim As String s = 0 ilkresim = ListBox1.Items.Item(s) PictureBox1.Image = Image.FromFile(ilkresim) Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim sonresim As String s = ListBox1.Items.Count - 1 sonresim = ListBox1.Items.Item(s)

38 PictureBox1.Image = Image.FromFile(sonresim) Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Dim resim As String s = s + 1 If s > ListBox1.Items.Count - 1 Then s = 0 End If resim = ListBox1.Items.Item(s) PictureBox1.Image = Image.FromFile(resim) Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim resim As String s = s - 1 If s < 0 Then s = ListBox1.Items.Count - 1 End If resim = ListBox1.Items.Item(s) PictureBox1.Image = Image.FromFile(resim) End Class

39 TİMER Bu nesne belirlenen bir işlemi belli zaman aralıklarında yapılmasını sağlar. Nesnenin en önemli özelliği Interval özelliğidir. Eğer Interval =1000 olarak alırsak zaman aralıkları 1 saniye olacaktır. Yani timer nesnesinin içerisine yazmış olduğumuz kodlar her 1 saniyede bir çalışacaktır. ÖRNEK 1:Formun üzerinde dakika ve saniyeleri gösteren bir sayaç yapınız. Dim i As Integer = 0 Dim j As Integer = 0 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick i = i + 1 Label2.Text = i If i Mod 60 = 0 Then j = j + 1 Label1.Text = j i = 0 End If ÖRNEK 2:Form üzerine yerleştirilen resmin zamanla hareket etmesini sağlayan program kodlarını yazınız. Dim i As Integer = 0 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick i = i + 1 PictureBox1.Left = PictureBox1.Left + i ÖRNEK 3:Forma bir resim eklenip bu resmin form üzerinde rasgele yer değiştirmesini sağlayan ve resim üzerine tıklandığında da resmi kaç saniyede yakaladığını msgboxla gösteren programı kodlarını yazınız.

40 Dim l As Integer Dim t As Integer Dim en, boy, s As Integer Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Randomize() l = Int(Rnd() * 200) t = Int(Rnd() * 200) PictureBox1.Left = l PictureBox1.Top = t s = s + 1 Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.Click Timer1.Enabled = False MsgBox(s & " Saniyede Yakaladınız") ÖDEV: Gerçek bir tetris programı yazın. Bunun için Picturebox ve Timer nesnesi kullanın. Yardımcı olacak kodlar aşağıda verilmiştir. Public Class Form1 Dim x As Integer = 200 Dim y As Integer Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick y = y + 10

41 KoordinatHesaplama(x, y) Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown If e.keycode = Keys.Left Then x = x - 10 End If If e.keycode = Keys.Right Then End If x = x + 10 If e.keycode = Keys.Up Then End If If e.keycode = Keys.Down Then End If y = 400 Timer1.Enabled = False KoordinatHesaplama(x, y) Sub KoordinatHesaplama(ByVal x As Integer, ByVal y As Integer) PictureBox2.Location = New Point(x, y) PictureBox3.Location = New Point(x + 32, y) PictureBox4.Location = New Point(x + 64, y) PictureBox5.Location = New Point(x + 96, y) End Class

42 DİZİLER Aynı değişken içerisinde indis kullanılarak çok sayıda değeri hafızada tutmak istersek dizileri kullanabiliriz. Dizilerin indisi 0 dan başlar ve hafızada ayrılan yer sayısınca sayısı artırılabilir. Diziler bilgileri geçici olarak hafızada tutarlar(memory(ram))( Elektrik kesintisinde bilgiler kaybolur) Diziler 1,2,3 ya da çok sayıda boyutlu olarak tanımlanabilir. Örnek: Dışarıdan n adet sayıyı diziye alan ve daha sonra bunları sırayla listbox a ekleyen bir program yazınız. Dışarıdan sayıları Inputbox a alın. Daha öncesinde kaç sayı girileceğini de isteyin. Public Class Form1 Dim isim() As String Dim i, j As Integer Dim ElemanSayisi As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click i = i + 1 ReDim Preserve isim(i) isim(i) = TextBox1.Text ElemanSayisi = i TextBox1.Clear() 'Bu satır Textbox'ın içerisini boşaltır. TextBox1.Select() 'Bu satır imlecin içerisine otomatik olarak yerleşmesini sağlar Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ListBox1.Items.Clear() For j = 1 To ElemanSayisi ListBox1.Items.Add(isim(j)) Next End Class ÖRNEK 1: Aşağıdaki programı deneyiniz.

43 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a(3) As Integer 'Bu dizi toplam 4 tane sayıyı içinde tutar. Dim i As Integer a(0),a(1),a(2),a(3) a(0) = 5 a(1) = 3 a(2) = 7 a(3) = 8 For i = 0 To 3 MsgBox(a(i)) Next i ÖRNEK 2: 3 tane ismi içinde tutacak olan bir diziyi string olarak tanımlayınız ve bu diziye 3 tane isim atayın. Daha sonra bu isimleri msgboxla gösteren program kodlarını yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim isim(2) As String Dim i As Integer isim(0) = "Ali" isim(1) = "Can" isim(2) = "Oya" For i = 0 To 2 MsgBox(isim(i)) Next i ÖRNEK 3: Bir Textbox a girilen 3 tane ismi Ekle butonuyla bir diziye ekleyin.daha sonra Göster butonuna basıldığında bu isimleri msgbox la listeleyen program kodlarını yazınız. Dim ad(2) As String Dim i As Integer

44 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ad(i) = TextBox1.Text i = i + 1 TextBox1.Text = " " Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim j As Integer For j = 0 To 2 MsgBox(ad(j)) Next j ÖRNEK 4: 3.Örneği başlangıçta diziye kaç tane isim girileceğini bilmeden yapalım. Dim ad() As String Dim i As Integer = 0 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ReDim Preserve ad(i) ad(i) = TextBox1.Text i = i + 1 TextBox1.Text = " " Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim j As Integer For j = 0 To i - 1 MsgBox(ad(j)) Next j NOT : ReDim Preserve ad(i) komutunda Preserve kelimesini kullanırsak dizinin önceki elemanlarını da dizi içinde tutmuş oluruz. Eğer bu kelimeyi kullanmazsak her seferinde dizinin içerisini boşaltır önce yazılan elemanlar kaybolur. Örnek:??? Public Class Form1 Dim kisi(10, 2) As String Dim i, j As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click kisi(i, 0) = TextBox1.Text

45 kisi(i, 1) = TextBox2.Text i = i + 1 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim k As Integer For k = 0 To i - 1 Next ListBox1.Items.Add(kisi(k, 0) & "," & kisi(k, 1)) End Class ÖRNEK 5: İstediğimiz kadar sayı ekleyip eklediğimiz sayıları Listboxta gösteren topla dediğimizde de sayıların toplamını Label da gösteren program kodlarını yazınız. Dim sayi() As Integer Dim i As Integer = 0 Dim toplam As Integer = 0 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ReDim Preserve sayi(i) sayi(i) = TextBox1.Text i = i + 1 TextBox1.Text = " " Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim j As Integer ListBox1.Items.Clear() toplam = 0 For j = 0 To i - 1 ListBox1.Items.Add(sayi(j)) toplam = toplam + sayi(j) Next j Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Label1.Text = "Toplam=" & toplam

46 ÖRNEK: Bir öğrenci listesini Ad, vize, Final bilgileri olmak üzere dışarıdan sırayla alın. En sonunda bu listeyi Listeboxda Ali,23,56 şeklinde göstersin. Public Class Form1 Dim Dizi(100, 3) As String Dim i, j As Integer Dim ElemanSayisi As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click i = i + 1 Dizi(i, 0) = TextBox1.Text Dizi(i, 1) = TextBox2.Text Dizi(i, 2) = TextBox3.Text ElemanSayisi = i Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ListBox1.Items.Clear() For j = 1 To ElemanSayisi ListBox1.Items.Add(Dizi(j, 0) & "," & Dizi(j, 1) & "," & Dizi(j, 2)) Next End Class Araştırma: Bur örnekte Redim çalıştırılamadı. İnternetten araştırılıp bulunacak. ÖRNEK 6: b00 b01 b02 b10 b11 b12 Yukarıda verilen matrisin elemanlarını dışarıdan alıp bu değerleri toplatan program kodlarını yazınız.

47 Dim SatirSayisi, SutunSayisi As Integer Dim i, j As Integer Dim toplam As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click SatirSayisi = Val(TextBox1.Text) - 1 SutunSayisi = Val(TextBox2.Text) - 1 Dim B(SatirSayisi, SutunSayisi) As Integer For i = 0 To SatirSayisi For j = 0 To SutunSayisi B(i, j) = InputBox("B" & i & j & " Elemanını Giriniz", "MATRİS GİRİŞİ") toplam = toplam + B(i, j) Next j Next i Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click MsgBox("SAYILARIN TOPLAMI=" & toplam)

48 Örnek: Dinamik olarak iki matrisin toplamını yapan bir program yazınız Public Class Form1 Dim M, N, i, j As Integer Dim A(10, 10), B(10, 10), C(10, 10) As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click M = Val(TextBox1.Text) N = Val(TextBox2.Text) Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click For i = 1 To M For j = 1 To N A(i, j) = InputBox("A Matrisi" & i & "," & j & "Gir", "A Matrisi") Next Next For i = 1 To M For j = 1 To N B(i, j) = InputBox("B Matrisi" & i & "," & j & "Gir", "B Matrisi") Next Next For i = 1 To M For j = 1 To N Next Next C(i, j) = A(i, j) + B(i, j) Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

49 For i = 1 To M For j = 1 To N MsgBox("(C" & i & "," & j & ")=" & C(i, j)) Next Next End Class ÖDEV: mxn boyutlu iki matrisin çarpımını yapan programı görsel düzeyi yüksek olarak programlayın ÖDEV: Rastgele ormanda uçan bir kelebeği yakalayan bir oyun programı hazırlayın. Dim hiz As Integer Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim X, Y As Integer Randomize() X = Rnd() * 400 Y = Rnd() * 300 PictureBox2.Location = New Point(X, Y) Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click 'MsgBox("Yakaladın") 'Timer1.Enabled = False ListBox1.Items.Add(hiz) hiz = hiz If hiz > 0 Then

50 Timer1.Interval = hiz End If Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load hiz = 1000 Timer1.Interval = Hiz

51 Örnek: Dışarıdan girilen N adet sayıyı sıralayan bir program yazın. Dim Sayi(100) As Integer Dim s As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click s = s + 1 Sayi(s) = Val(TextBox1.Text) Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim i, j As Integer Dim A As Integer For j = 1 To s For i = 1 To s - 1 If Sayi(i) > Sayi(i + 1) Then A = Sayi(i) Sayi(i) = Sayi(i + 1) Sayi(i + 1) = A

52 End If Next Next Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click For i = 1 To s ListBox1.Items.Add(Sayi(i)) Next Örnek: Dışarıdan alınan n adet sayıyı for each döngüsü kullanarak listeye ekletin. Dim sayi() As Integer Dim s As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ReDim Preserve sayi(s) sayi(s) = Val(TextBox1.Text) s = s + 1 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click For Each Rakam In sayi ListBox1.Items.Add(Rakam) Next

53 ÇİZİM KOMUTLARI Çizim komutları için aşağıdaki örneği inceleyin Örnek: Formun üzerine 3 tane butona ekleyin. Bunların her birine tıklayıp Line (doğru), Circle( Daire), Rectangle (Dikdörtgen) çizim işlemini yaptırın. Bunlardan sadece daireyi çizerken Picturbox ın tam ortasına 100 yarıçapında daire çizsin Public Class Form1 Dim X1, Y1, X2, Y2 As Integer Dim CizgiRengi As Pen Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click X1 = 10 Y1 = 30 X2 = 150 Y2 = 200 CizgiRengi = Pens.Yellow PictureBox1.CreateGraphics.DrawLine(CizgiRengi, X1, Y1, X2, Y2)

54 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim R As Integer R = 100 X1 = PictureBox1.Width / 2 - R Y1 = PictureBox1.Height / 2 - R X2 = 2 * R Y2 = 2 * R CizgiRengi = Pens.Red PictureBox1.CreateGraphics.DrawEllipse(CizgiRengi, X1, Y1, X2, Y2) Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click X1 = 10 Y1 = 30 X2 = 150 Y2 = 200 CizgiRengi = Pens.LightGreen Y2) PictureBox1.CreateGraphics.DrawRectangle(CizgiRengi, X1, Y1, X2, End Class ÖRNEK 1:Tıklanan noktanın 10 ve 10 un katları şeklinde Label da x1 ve y1 koordinatlarını gösteriniz.

55 Dim x1, y1, a, b As Integer Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown x1 = e.x y1 = e.y a = x1 Mod 10 b = y1 Mod 10 Label1.Text = x1 Label2.Text = y1 Label3.Text = a Label4.Text = b If a < 5 Then x1 = x1 - a Else : x1 = x1 + (10 - a) End If If b < 5 Then y1 = y1 - b Else : y1 = y1 + (10 - b) End If Label5.Text = x1 Label6.Text = y1 ÖRNEK 2: Bir pictureboxüzerinde dışarıdan alınan bir sayıya bağlı olarak o sayının katları şeklinde noktaları gösteriniz. Dim sayi, i, j, x, y As Integer Dim kalem As Pen Dim ciz As Graphics Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click kalem = New Pen(Color.Blue, 2) ciz = PictureBox1.CreateGraphics sayi = Val(TextBox1.Text) For i = 0 To 300 Step sayi For j = 0 To 300 Step sayi x = i y = j ciz.drawellipse(kalem, x - 1, y - 1, 2, 2) Next j Next i

56 ÖRNEK 3: Ekrana önce 20 piksel aralıklarla ızgara noktalarını çizdirelim. Daha sonra Mouse ile picturebox ın üzerinde çizgi çizerken bu noktalar üzerinde çizgileri çizdirelim. Ara değerlerde çizgi çizmesin(grid aralığı 20 piksel olacak). Dim kalem As Pen Dim ciz As Graphics Dim x, y, i, j As Integer Dim x1, y1, a, b, x2, y2 As Integer Dim tiklama As Integer = 1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click kalem = New Pen(Color.Blue, 2) ciz = PictureBox1.CreateGraphics For i = 0 To 300 Step 20 For j = 0 To 300 Step 20 x = i y = j ciz.drawellipse(kalem, x - 1, y - 1, 2, 2) Next j Next i Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown kalem = New Pen(Color.Blue, 2) ciz = PictureBox1.CreateGraphics x = e.x y = e.y a = x Mod 20 b = y Mod 20 If a < 10 Then x = x - a Else : x = x + (20 - a) End If If b < 10 Then y = y - b Else : y = y + (20 - b) End If If tiklama = 1 Then x1 = x y1 = y

57 tiklama = 2 ElseIf tiklama = 2 Then x2 = x y2 = y tiklama = 1 ciz.drawline(kalem, x1, y1, x2, y2) End If ÖRNEK 4: Örnek 3 te verilen uygulamada çizilen her çizgiyi diziye kaydedin. Bir temizleme butonuyla Picturebox temizlendikten sonra Yeniden Çiz butonuyla aynı duvarları tekrar çizdirin. Dim kalem As Pen Dim ciz As Graphics Dim x, y, i, j As Integer Dim x1, y1, a, b, x2, y2 As Integer Dim tiklama As Integer = 1 Dim cizgi(100, 3) As Integer Dim k, s, t As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click For i = 0 To 300 Step 20 For j = 0 To 300 Step 20 x = i y = j ciz.drawellipse(kalem, x - 1, y - 1, 2, 2) Next j Next i Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown x = e.x y = e.y a = x Mod 20 b = y Mod 20 If a < 10 Then x = x - a Else : x = x + (20 - a) End If If b < 10 Then y = y - b Else : y = y + (20 - b) End If If tiklama = 1 Then x1 = x

58 y1 = y tiklama = 2 ElseIf tiklama = 2 Then x2 = x y2 = y tiklama = 1 ciz.drawline(kalem, x1, y1, x2, y2) k = k + 1 cizgi(k, 0) = x1 cizgi(k, 1) = y1 cizgi(k, 2) = x2 cizgi(k, 3) = y2 End If Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click PictureBox1.Image = Nothing Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click For s = 1 To k ciz.drawline(kalem, cizgi(s, 0), cizgi(s, 1), cizgi(s, 2), cizgi(s, 3)) Next s Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load kalem = New Pen(Color.Blue, 2) ciz = PictureBox1.CreateGraphics ÖRNEK 5: 25 Piksellik aralıklarla ızgarayı gösterin. Daha sonra Mouse ile herhangi bir noktaya tıklanıp buna en yakın olan ızgara noktası üzerine bir daire çizdirin. Bu daire fareyi temsil etsin. Başka bir butona tıklayarak fare 25 piksellik aralıklarla rasgele hareket etsin.

59 Dim kalem As Pen Dim ciz As Graphics Dim x, y, i, j As Integer Dim x1, y1, a, b, x2, y2 As Integer Dim tiklama As Integer = 1 Dim cizgi(100, 3) As Integer Dim k, s, t As Integer Dim farex, farey As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click For i = 0 To 300 Step 25 For j = 0 To 300 Step 25 x = i y = j ciz.drawellipse(kalem, x - 1, y - 1, 2, 2) Next j Next i Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown x = e.x y = e.y a = x Mod 25 b = y Mod 25 If a < 12.5 Then x = x - a Else : x = x + (25 - a) End If If b < 12.5 Then y = y - b Else : y = y + (25 - b) End If farex = x farey = y ciz.drawellipse(kalem, farex - 10, farey - 10, 20, 20) Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load kalem = New Pen(Color.Blue, 2) ciz = PictureBox1.CreateGraphics farex = 200 farey = 200 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Timer1.Enabled = True Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Randomize() s = Rnd() * 3 If s = 0 Then farex = farex + 25 farey = farey + 0 End If If s = 1 Then farex = farex + 0 farey = farey - 25 End If If s = 2 Then farex = farex - 25

60 farey = farey + 0 End If If s = 3 Then farex = farex + 0 farey = farey + 25 End If ciz.drawellipse(kalem, farex - 10, farey - 10, 20, 20) MENÜ VE ARAÇ ÇUBUKLARI (MENUS & TOOLBARS) Programlarımızı daha görsel hale getirmek için Menus (Menü), Toolbars (Araç Çubuğu), Status Bar (Durum Çubuğu) gibi elemanlar kullanabiliriz. Bu işlem için Yan taraftaki Toolbox (araç kutusu) ndan elemanı seçip formun üzerine bırakırız. Ve resimlerde olduğu gibi gerekli ayarlamaları yaparız. Menü Ekleme Public Class Form1 Private Sub KapatCtrlZToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KapatCtrlZToolStripMenuItem.Click End

61 Private Sub YeniToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles YeniToolStripMenuItem.Click MsgBox("Merhaba") End Class

62 VB.NET DE DATABASE KULLANIMI.NET ortamı veritabanı ile haberleşirken iki temel yapıyı kullanır. Bunlar. a) SQL Server.NET Data Provider: SQL server 7.0 sonrası için kullanılır. b) OLE DB.NET Data Provider: OLE DB destekli veri kaynakları için kullanılır. Microsoft Access, Oracle, XML document gibi. Veri tabanıyla bağlantının yapısı şu şekildedir. Veri Tabanı Connection Command DataAdapter DataSet Uygulama Bunları sırayla açıklayalım. OLEDBCONNECTION (bağlantı) Burada OleDb veri tabanıyla bağlantıda kullanılan Nesnedir. OleDbConnection ise bunun bir alt işlemlerini gören yani bağlantıyı sağlayan bir metoddur. ConnectionString ise bağlantının nasıl yapacağını bildiren tanımlamalar içermektedir. Bu tanımlamalar microsoft Access için kulanılırken şöyledir. Provider= Microsoft.Jet.OLEDB.4.0 Data Source= Veri tabanın adresi Örnek: Access veritabanın açarak bir deneme.mdb isminde bir veri tabanı oluşturun. Bunun içindeki tablonun adınıda Tablo1 olarak atayın. Tabloların genelikle ilk sütünü primary key olarak atanırki her kayıt için farklı bir bilgi bulundurur. Böylece kayıtlar karıştırılmaz. Tablonun içinede bilgiler yazın. VB.net geçip bir form açın ve üzerine bir buton yerleştirin. Butonun içerisine aşağıdaki kodu yazın. Private Sub Button1_Click(...) Dim baglantim As New OleDb.OleDbConnection Try baglantim.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=deneme.mdb;"

63 baglantim.open() Catch hata As System.Exception MsgBox(hata.Message) End Try baglantim.close() Eğer veri tabanını verilen adreste bulduysa herhangi bir şey söylemez. Bulamadıysa aşağıdaki gibi bir hata verir. VB.net projelerinin kaydedildiği yeri bulun yada ilk projeyi oluştururken çalıştığınız yeri belirleyin. Proje dizini oluşturulduktan sonra database /bin dizinin içine atın. Zaten verilen bu hata mesajındada database nerede aradığı gözükmektedir. OLEDBCOMMAND: (sorgulama) veri tabanından sorgulama yapmak için kullanılır. Kullanım yeri Connection dan sonra gelir. Örnek: Aynı örneğin içirisinde Connection satırlarından sonra şu satırları ekleyin. Private Sub Button1_Click(...)... Dim sorgu As New OleDb.OleDbCommand sorgu.connection = baglantim sorgu.commandtext = "SELECT * FROM Tablo1" baglantim.close() OLEDBDATAREADER: (bilgileri geçici yükleme) Veri tabanından okunan bilgiler geçici olarak bu nesneye yüklenir. Bu bir nevi dizidir. Bu nedenle dizinin her elemanı sütünları ifade eder. Daha sonra bir döngü kullanılarak bilgiler buradan bir Görüntüleme nesnesine (Datalist, DataGrid) aktarılabilir. Örnek: Aynı örneğin içirisinde Connection satırlarından sonra şu satırları ekleyin. Private Sub Button1_Click(...) Dim okuyucu As OleDb.OleDbDataReader 'Okuyucu nesnesi oluşturuluyor. okuyucu = sorgu.executereader 'Sorguyu çalıştırıyor ve Sorgudan gelen bilgiler okuyucuya yükleniyor. Do While okuyucu.read = True ListBox1.Items.Add(okuyucu(0) & " " & okuyucu(1) & " " & okuyucu(2) & " " & okuyucu(3)) Loop baglantim.close()

64 Örnek: Veritabanına Access üzerinden kişilerin ad soyad ve yaşlarını girin. Yaşı 20 den büyük olanları listeletin. Private Sub Button1_Click(...) Dim okuyucu As OleDb.OleDbDataReader 'Okuyucu nesnesi oluşturuluyor. okuyucu = sorgu.executereader 'Sorguyu çalıştırıyor ve Sorgudan gelen bilgiler okuyucuya yükleniyor. Do While okuyucu.read = True If okuyucu(3) > 20 Then ListBox1.Items.Add(okuyucu(0) & " " & okuyucu(1) & " " & okuyucu(2) & " " & okuyucu(3)) End If Loop baglantim.close() Bu örnekteki gibi istenilen bilgileri görüntülemek için iki yöntem vardır. Bunlardan birincisi a) SQL sorgudan tüm bilgiler okunduktan sonra bunlardan istenilenleri görüntülenir. Burada yapılan bu şıktır. b) SQL sorgusu esnasında istenilen bilgiler okunur ve bunlar görüntülenir. Bunu sağlamak için aşağıdaki şekilde sorgu komutlarını degiştirmeliyiz Dim sorgu As New OleDb.OleDbCommand sorgu.connection = baglantim sorgu.commandtext = "SELECT * FROM Table1 WHERE val(yas)>20" NOT: Buradaki kodları denerken bir hata ile karşılaşırsanız hatanın oluştuğu kodu Yukarıda örnek olarak verildiği gibi mutlaka Try Catch bloku içinde çalıştırın. Hangi hatanın neden meydana geldiğini türkçe olarak size söyler.

65 ÖRNEK 1:ID, ADI, SOYADI ve YAŞ bilgilerini Microsoft Access te oluşturulan veri tabanındaki bilgilere göre listeleyen programın kodlarını yazınız. okuyucu sorgu Visual Basic Formu Access Veritabanı ID AD SOYAD YAS baglanti komut LİSTELE BUTONU Veritabanı Bağlantısı Imports System.Data.OleDb Public Class Form1 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'bağlantı Dim baglanti As OleDbConnection baglanti=new OleDbConnection ("provider=microsoft.jet.oledb.4.0;data source=d:\vt2.mdb") baglanti.open() Veritabanı ndan hangi bilgilerin alınacağı Bilgileri Taşıma 'sorgulama Dim sorgu As String sorgu= "select * from tablo1" Dim komut As New OleDbCommand(sorgu, baglanti) 'okuyucu Dim okuyucu As OleDbDataReader

66 Bilgileri Listeleme " " & okuyucu = komut.executereader() While okuyucu.read = True ListBox1.Items.Add(okuyucu.Item("ID") & " " & okuyucu.item("ad") & okuyucu.item("soyad") & " " & okuyucu.item("yas")) End While 'KAPATMA İŞLEMLERİ okuyucu.close() baglanti.close() End Class ÖRNEK 2:Yukarıdaki örneğe göre kaydetme işlemini yapan program kodlarını yazınız. KAYDET BUTONU Imports System.Data.OleDb Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Veritabanı Bağlantısı & Veritabanı Bağlantısı Dim baglanti As OleDbConnection baglanti=new OleDbConnection ("provider=microsoft.jet.oledb.4.0;data source=d:\vt1.mdb") baglanti.open() Dim sorgu As String sorgu = "INSERT INTO TABLO1 (AD,SOYAD,YAS) VALUES('" & TextBox1.Text "', '" & TextBox2.Text & "','" & TextBox3.Text & "')" Dim komut As OleDbCommand komut = New OleDbCommand(sorgu, baglanti) komut.executenonquery() baglanti.close() MsgBox("BİLGİLER EKLENDİ") End Class ÖRNEK 3:Yukarıdaki örneğe göre ID numarasına göre kayıt bulma(arama) işlemini yapan program kodlarını yazınız.

67 ARAMA BUTONU Veritabanı Bağlantısı Aranan Kelime Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim yol As String yol = "provider=microsoft.jet.oledb.4.0;data source=d:\vt1.mdb" Dim baglanti As OleDbConnection baglanti = New OleDbConnection(yol) baglanti.open() Dim aranan As Integer aranan = Val(TextBox1.Text) Veritabanı ndan hangi bilgileri alacağımızı n ifadesi Okunan Bilgilerin Taşındığı Kısım Bilgilerin Gösterildiği Kısım Dim sorgu As String sorgu = "select*from tablo1 where ID like'%" & aranan & "%'" Dim komut As OleDbCommand komut = New OleDbCommand(sorgu, baglanti) Dim okuyucu As OleDbDataReader okuyucu = komut.executereader While okuyucu.read = True TextBox2.Text = okuyucu.item("ad") TextBox3.Text = okuyucu.item("soyad") TextBox4.Text = okuyucu.item("yas") End While okuyucu.close() baglanti.close() ÖRNEK 4:Yukarıdaki örneğe göre kayıtları güncelleme işlemini yapan program kodlarını yazınız.

68 GÜNCELLEME BUTONU Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim yol As String yol = "provider=microsoft.jet.oledb.4.0;data source=d:\vt1.mdb" Dim baglanti As OleDbConnection baglanti = New OleDbConnection(yol) baglanti.open() Dim idguncelleme As Integer Dim adguncelleme, yasguncelleme, soyadguncelleme As String idguncelleme = Val(TextBox1.Text) adguncelleme = TextBox2.Text soyadguncelleme = TextBox3.Text yasguncelleme = TextBox4.Text Dim sorgu As String 'sorgu = "update tablo1 set SOYAD='" & soyadguncelleme & "' where ID like '%" & idguncelleme & "%'" sorgu = "update tablo1 set AD='" & adguncelleme & "',SOYAD='" & soyadguncelleme & "', YAS='" & yasguncelleme & "' where ID like '%" & idguncelleme & "%'" 'sorgu = "update tablo1 set YAS='" & yasguncelleme & "' where AD like '%" & adguncelleme & "%' AND SOYAD like '%" & soyadguncelleme & "%' " Dim komut As OleDbCommand komut = New OleDbCommand(sorgu, baglanti) Dim adet As Integer = komut.executenonquery() MsgBox("Güncelleme Tamamlandı") baglanti.close() B)DATASET KULLANARAK VERİTABANINDAN BİLGİLERİN OKUNMASI a)sadece DataSet Kullanarak Bilgileri Gösterme ÖRNEK 1:ID, ADI, SOYADI ve YAS bilgilerini Microsoft Access te oluşturulan veri tabanındaki bilgilere göre DataSet kullanarak bilgileri listeleyen programın kodlarını yazınız.

69 Imports System.Data.OleDb Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click OleDbCon nection Sorgu 'bağlantı Dim baglanti As OleDbConnection baglanti = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=d:\vt1.mdb") 'sorgulama Dim sorgu As String sorgu = "select * from Tablo1" OleDbD ataadap ter DataSet Dim komut As OleDbDataAdapter komut = New OleDbDataAdapter(sorgu, baglanti) Dim veritut As DataSet veritut = New DataSet komut.fill(veritut, "Tablo2") DataGridView1.DataSource = veritut.tables("tablo2") End Class Visual Basic Formu DataSet OleDbConnection sorgu Access Veritabanı ID AD SOYAD YAS DataGridView DataView OleDbA dapter b)dataset ve DataView Kullanarak Bilgileri Görüntüleme(DataBinding Nesnesi Kullanımı) Listele Butonuna Yazınız Imports System.Data.OleDb Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

70 OleDbCon nection 'bağlantı Dim baglanti As OleDbConnection baglanti = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=d:\vt1.mdb") Sorgu 'sorgulama Dim sorgu As String sorgu = "select * from Tablo1" OleDbD ataadap ter Dim komut As OleDbDataAdapter komut = New OleDbDataAdapter(sorgu, baglanti) DataSet DataSet Dim veritut As DataSet veritut = New DataSet komut.fill(veritut, "Tablo2") Dim verisuz As DataView verisuz = New DataView verisuz.table = veritut.tables("tablo2") DataGridView DataGridView1.DataSource = verisuz End Class **Sayfadaki nesnelerin (Textbox vs) DataSet in sütunlarına bağlanması Formun Load ına Yazınız Imports System.Data.OleDb Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click OleDbCon nection Sorgu 'bağlantı Dim baglanti As OleDbConnection baglanti = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=d:\vt1.mdb") 'sorgulama Dim sorgu As String sorgu = "select * from Tablo1" OleDbD ataadap ter Dim komut As OleDbDataAdapter komut = New OleDbDataAdapter(sorgu, baglanti) DataView DataSet Dim veritut As DataSet veritut = New DataSet komut.fill(veritut, "Tablo2") Dim verisuz As DataView

71 verisuz = New DataView verisuz.table = veritut.tables("tablo2") Data Bindings TextBox1.DataBindings.Add("Text", veritut.tables(0), "AD") TextBox2.DataBindings.Add("Text", veritut.tables(0), "SOYAD") TextBox3.DataBindings.Add("Text", veritut.tables(0), "YAS") DataGridView1.DataSource = verisuz End Class CURRENCY MANAGER(DATASET ÜZERİNDE YAPILAN UYGULAMALAR) Burada yapılan tüm işlemler (önceki kayıt, sonraki kayıt, kayıt ekle, kayıt sil, ilk kayıt vs.) DataSet te gerçekleşmektedir.dataset le yapılan bir işlem veritabanına yansımamaktadır. Bu uygulamanın amacı yapmış olduğumuz işlemleri daha hızlı bir şekilde gerçekleştirmektir.çünkü DataSet üzerinde çalışıldığında işlemler hızlıdır. Eğer veritabanıyla doğrudan çalışsaydık işlemler daha yavaş olacaktı.birçok kişinin inin network üzerinden ortaklaşa çalıştığı bir ortamda işlemler yürütülürken veritabanı üzerinde çalışmak yavaş bile olsa uygun olacaktır. ÖRNEK:Veritabanındaki bilgiler arasında gezinti yapmamızı sağlayan kayıt ekleme,güncelleme, silme gibi işlemleri de yapan program kodlarını yazınız. SONRAKİ KAYIT BUTONU Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim cm As CurrencyManager Dim adet, sira As Integer cm = Me.BindingContext(ds.Tables(.BindingContext(ds.Tables("tablo2")) adet = ds.tables("tablo2").rows.count sira = cm.position If sira < adet - 1 Then sira = sira + 1 cm.position = sira Else : MsgBox("son kayıttasınız")

72 End If ÖNCEKİ KAYIT BUTONU Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim cm As CurrencyManager Dim adet, sira As Integer cm = Me.BindingContext(ds.Tables("tablo2")) adet = ds.tables("tablo2").rows.count sira = cm.position If sira > 0 Then sira = sira - 1 cm.position = sira Else : MsgBox("ilk kayıttasınız") End If SON KAYIT BUTONU Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Dim cm As CurrencyManager Dim adet, sira As Integer cm = Me.BindingContext(ds.Tables("tablo2")) adet = ds.tables("tablo2").rows.count sira = cm.position If sira <> adet Then sira = adet cm.position = sira End If İLK KAYIT BUTONU Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim cm As CurrencyManager Dim sira As Integer cm = Me.BindingContext(ds.Tables("tablo2")) sira = cm.position If sira <> 0 Then sira = 0 cm.position = sira End If KAYIT EKLE BUTONU Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Dim cm As CurrencyManager cm = Me.BindingContext(ds.Tables("tablo2")) cm.addnew() KAYIT SİL BUTONU

73 Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click Dim sira As Integer Dim adet As Integer Dim cm As CurrencyManager cm = Me.BindingContext(ds.Tables("tablo2")) adet = cm.count If adet > 0 Then sira = cm.position cm.removeat(sira) MsgBox("KAYIT SİLİNDİ") Else : MsgBox("SİLİNECEK KAYIT YOK") End If KAYIT GÜNCELLEME BUTONU Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click Dim cm As CurrencyManager cm = Me.BindingContext(ds.Tables("tablo2")) cm.endcurrentedit() MsgBox("değişiklikler güncellendi")

74 KAYIT FİLTRELEME İŞLEMLERİ Birçok durumda kayıtların tamamına değil de sadece belirli kriterlere uyan kayıtların listesi istenebilir. Bu gibi durumlarda filtreleme (RowFilter Methodu) işlemi gerçekleştirilir. ÖRNEK: ID, AD, SOYAD ve YAS bilgileri Microsoft Access te oluşturulan veri tabanındaki bilgilere göre soyadı dışarıdan girilip bu soyada sahip kişilerin bilgilerini filtreleyen, filtreleme yaptıktan sonra kayıtlar arasında gezinmeyi sağlayan programın kodlarını yazınız. Formun Load ına Yazınız Imports System.Data.OleDb Public Class Form1 Dim ds As DataSet Dim dv As DataView Dim cm As CurrencyManager Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'bağlantı Dim baglanti As OleDbConnection baglanti = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=d:\personel.mdb") 'sorgulama Dim sorgu As String sorgu = "select * from Tablo1" Dim elci As OleDbDataAdapter elci = New OleDbDataAdapter(sorgu, baglanti) ds = New DataSet elci.fill(ds, "Tablo2") dv = New DataView dv.table = ds.tables("tablo2") Sıralama Yapar dv.sort = "SOYAD" DataGridView1.DataSource = dv

75 KAYIT FİLTRELE BUTONU Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Dim veri As String veri = TextBox2.Text dv.rowfilter = "SOYAD='" + veri + "'" SONRAKİ KAYIT BUTONU Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click Dim sonraki As CurrencyManager If (dv.rowstatefilter <> DataViewRowState.None) Then sonraki = Me.BindingContext(dv) sonraki.position = sonraki.position + 1 End If ÖNCEKİ KAYIT BUTONU Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click Dim onceki As CurrencyManager If (dv.rowstatefilter <> DataViewRowState.None) Then onceki = Me.BindingContext(dv) onceki.position = onceki.position - 1 End If Filtreleme İşlemlerinde Ve-Veya Mantığı ÖRNEK: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click Dim veri1, veri2 As String

76 veri1 = TextBox3.Text veri2 = TextBox4.Text If RadioButton1.Checked = True Then dv.rowfilter = "AD='" + veri1 + "' or SOYAD='" + veri2 + "'" ElseIf RadioButton2.Checked = True Then dv.rowfilter = "AD='" + veri1 + "' and SOYAD='" + veri2 + "'" End If Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click dv.rowfilter = Nothing DataView Kullanarak Sütun Toplamı Aldırma ÖRNEK:DataGridView deki kişilerin yaşlarını toplayıp Label da gösteren programın kodlarını yazınız. Formun Load ına Yazınız Imports System.Data.OleDb Public Class Form1 Dim ds As DataSet Dim dv As DataView Dim cm As CurrencyManager Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'bağlantı Dim baglanti As OleDbConnection baglanti = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=d:\personel.mdb") 'sorgulama Dim sorgu As String sorgu = "select * from Tablo1" Dim elci As OleDbDataAdapter elci = New OleDbDataAdapter(sorgu, baglanti) ds = New DataSet elci.fill(ds, "Tablo2") dv = New DataView dv.table = ds.tables("tablo2") dv.sort = "soyad" DataGridView1.DataSource = dv Dim adet, i, toplam As Integer adet = dv.count 'Kayıt Sayısını verir For i = 0 To adet - 1 toplam = toplam + (dv(i)("yas"))

77 Next i Label2.Text = toplam.tostring("##### yıl") End Class

78 Tablolar Arası İlişki Kurma vt1.mdb altında iki tablo oluşturun. 1. Tabloya Tablo1 ismini verin. 2. Tabloya Tablo2 ismini verin. MASTER-DETAİL BAĞLANTISI KURMA Tablo1 Tablonun Yapısı NO Metin AD Metin Tablo2 Tablosunun Yapısı NO Metin VIZE Sayı SOYAD Metin FINAL Sayı Tablolar arasında ilişki kuran nesne DataRelation nesnesidir. ÖRNEK: Yukarıda verilen bilgilere göre iki tablo arasındaki ilişkiyi aşağıdaki şekilde gösteren program kodlarını yazınız. Form un Load ına Yazınız. 'ANA TABLO ILE BAGLANTI KURACAK============================================ Dim baglanti As String baglanti = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=D:\vt1.mdb" 'Dim ds As DataSet ds = New DataSet() Dim sorgu1 As String sorgu1 = "SELECT * FROM Tablo1" Dim verial1 As OleDbDataAdapter verial1 = New OleDbDataAdapter(sorgu1, baglanti) verial1.fill(ds, "Tablo10")

79 'ALT TABLO ILE BAGLANTI KURACAK================================ Dim sorgu2 As String sorgu2 = "SELECT * FROM Tablo2" Dim verial2 As OleDbDataAdapter verial2 = New OleDbDataAdapter(sorgu2, baglanti) verial2.fill(ds, "Tablo20") 'ANA TABLO ILE ALT TABLO ARASINDAKI ILISKIYI KURUYOR ========= iliski = New DataRelation("AnaAlt", ds.tables("tablo10").columns("no"), ds.tables("tablo20").columns("no")) ds.relations.add(iliski) 'DATAVIEW VE DATAGRIDVIEW ICERISINDE DATASET IN ICERISINDEKI TABLO10 GORUNTULUYOR.======== goruntu1 = ds.tables("tablo10").defaultview DataGridView1.DataSource = goruntu1 'HAYALI BIR YENI TABLO OLUSTURUYORUZ.========================== tablo = New DataTable Dim sutun1 As DataColumn sutun1 = New DataColumn("NO") sutun1.datatype = System.Type.GetType("System.String") tablo.columns.add(sutun1) Dim sutun2 As DataColumn sutun2 = New DataColumn("VIZE") sutun2.datatype = System.Type.GetType("System.String") tablo.columns.add(sutun2) Dim sutun3 As DataColumn sutun3 = New DataColumn("FINAL") sutun3.datatype = System.Type.GetType("System.String") tablo.columns.add(sutun3) İki tablo arasındaki ilişkinin DataGridView de gösterilmesi Private Sub DataGridView1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.Click Dim AltTablonunAktifSatiri() As DataRow Dim satir1 As DataRow Dim satir2 As DataRow Dim goruntu2 As DataView Dim i, adet As Integer Dim yonet As CurrencyManager yonet = Me.BindingContext(goruntu1) AktifSatir = yonet.position Me.Text = AktifSatir.ToString() tablo.clear() AltTablonunAktifSatiri = ds.tables("tablo10").rows(aktifsatir).getchildrows("anaalt")

80 adet = AltTablonunAktifSatiri.Length - 1 For i = 0 To adet satir2 = AltTablonunAktifSatiri(i) satir1 = tablo.newrow() satir1.itemarray = satir2.itemarray tablo.rows.add(satir1) Next goruntu2 = New DataView(tablo) DataGridView2.DataSource = goruntu2

81 BİLGİLERİN RAPORLANMASI Veritabanı tablo bilgilerine ulaşmak ve bu bilgileri yazıcıya göndermek için projenize Crystal Reports dökümanı eklemelisiniz. Projenize bu dökümanı eklemek için aşağıdaki adımları izleyiniz. 1) Öncelikle veritabanınızı hazırlayınız. Daha sonra yeni bir proje sayfası açınız. 2) Project menüsüne tıklayarak açılan seçeneklerden Add New Item menüsüne tıklayınız. Aşağıdaki pencere açılacaktır. Bu pencereden Crystal Reports dökümanını seçip Add butonuna tıklayınız. 3)Karşınıza aşağıdaki gibi rapor seçeneklerini gösteren bir ekran görüntüsü gelecektir. Bu pencereden Using The Report Wizard seçeneğini ve Choose an Expert kısmından da Standard ı seçiyoruz.

82 4)Karşınıza gelen yeni pencereden ilk olarak Available Data Sources listesinden Create New Connection seçeneğinin solundaki + işaretine tıklayın. Daha sonra açılan seçeneklerden bağlanacağınız veritabanını seçiniz.

83 Microsoft Access le bağlantı kuracağımız için OLEDB (ADO) klasörünün solundaki + işaretine tıklayın. Aşağıdaki pencere açılacaktır.

84 5)Bu pencerede Microsoft Jet 4.0 OLE DB Provider seçeneğini seçerek İleri butonuna tıklayın. 6)Açılan yeni pencereden DataBase Name kısmındaki butona tıklayarak daha önce oluşturduğumuz veritabanını bulun. Veritabanını bulduktan sonra Son butonuna tıklayın.

85 7)Karşımıza gelen pencerede veritabanı içerisindeki tüm tablolar görünecektir. Kullanmak istediğimiz tabloyu seçip sağ ok tuşuna basarak tablonun Selected Tables kısmında gözükmesini sağlayın.

86 8)İleri butonuna tıkladıktan sonra tablonun alanları Fields gelecektir. Bunları görmek için + işaretine tıklayın. Hangi sütun başlıklarına ihtiyacınız varsa bunları sağ ok tuşuna basarak Fields to Display listesinde görünmesini sağlayınız. Sağ taraftaki listeye aktardığınız sütunların sayfa üzerindeki yerlerini ayarlamak için sağ üst tarafta yer alan aşağı yukarı düğmelerini kullanabilirsiniz. İleri tuşuna basarak bu pencereyi kapatın. 9) Grouping ve Record Selection sayfalarını İleri düğmesini tıklayarak geçeniz. 10)Açılan Record Style (Raporlama Stilleri) penceresinden raporunuza ait stili seçip Son düğmesine tıklayabilirsiniz.

87 Bu aşamadan sonra aşağıdaki şekilde uygulamanıza bir adet rpt uzantılı sayfa oluşacaktır. 11)Şablonumuz hazırdır. Bu şablonu uygulamamıza eklemeliyiz. Bunun için normal bir uygulama sayfa açalım. Project menüsünden Add Windows Form seçeneğini seçiniz. Gelen pencereden Windows Form seçeneğini seçip Add düğmesine tıklayınız.

88 12)Normal uygulama sayfasını göreceğiz. Bu Form2 olacaktır. Daha önceden açılan Form1 e bir buton ekleyip Form2 yi çağıracağız.form2 nin içerisinde de hazırladığımız raporlama sayfası görüntülenecektir. 13)Form2 açıkken sol tarafta Toolbox penceresinden CrystalReportViewer kontrolünü sürükleyerek formunuzun üzerine bırakın. Sayfada bu nesne gözükecektir. 13)Formunuza sürüklediğiniz CrystalReportViewer1 kontrolünü seçin. Properties penceresinden Report Source(Raporlama Kaynağını) özelliğinde bulunan Browse seçeneğini tıklayarak daha önceden kaydetmiş olduğunuz CrystalReport1.rpt dosyasını bulun. Şayet raporunuz aktif klasör içerisinde ise bu pencereden direk seçebilirsiniz. 14)Şablonumuzu görmüş olacağız.

89 15)Form1 e bir buton yerleştirip Form2 yi çağıracağız. Bunun için butonun içerisine aşağıdaki kodları yazınız. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim frm As New Form2 frm.show() GRAFİK OLUŞTURMAK Crystal Report dökümanlarını kullanarak tablonuza ait verilerin grafiklerini bastırabilirsiniz. Bunun için önce veritabanını hazırlayınız. Daha sonra aşağıdaki adımları izleyiniz. 3) 1)Yeni bir proje sayfası açınız. Project menüsüne tıklayarak açılan seçeneklerden Add New Item menüsüne tıklayınız. Aşağıdaki pencere açılacaktır.

90 Bu pencereden Crystal Reports dökümanını seçip Add butonuna tıklayınız. 3)Karşınıza aşağıdaki gibi rapor seçeneklerini gösteren bir ekran görüntüsü gelecektir. Bu pencereden Using The Report Wizard seçeneğini ve Choose an Expert kısmından da Standard ı seçiyoruz.

91 4)Karşınıza gelen yeni pencereden ilk olarak Available Data Sources listesinden Create New Connection seçeneğinin solundaki + işaretine tıklayın. Daha sonra açılan seçeneklerden bağlanacağınız veritabanını seçiniz.

92 Microsoft Access le bağlantı kuracağımız için Access/Excel(DAO) klasörünün solundaki + işaretine tıklayın. Aşağıdaki pencere açılacaktır. 5)Açılan yeni pencereden DataBase Name kısmındaki butona tıklayarak daha önce oluşturduğumuz veritabanını bulun. Veritabanını bulduktan sonra Son butonuna tıklayın.

93 6)Karşımıza gelen pencerede veritabanı içerisindeki tüm tablolar görünecektir. Kullanmak istediğimiz tabloyu seçip sağ ok tuşuna basarak tablonun Selected Tables kısmında gözükmesini sağlayın.

94 7)İleri butonuna tıkladıktan sonra tablonun alanları Fields gelecektir. Bunları görmek için + işaretine tıklayın. Hangi sütun başlıklarına ihtiyacınız varsa bunları sağ ok tuşuna basarak Fields to Display listesinde görünmesini sağlayınız. İleri tuşuna basarak bu pencereyi kapatın.

95 8) Grouping ve Record Selection sayfalarını İleri düğmesini tıklayarak geçeniz. 9) Açılan Record Style (Raporlama Stilleri) penceresinden raporunuza ait stili seçip Son düğmesine tıklayabilirsiniz.

96 Bu aşamadan sonra aşağıdaki şekilde uygulamanıza bir adet rpt uzantılı sayfa oluşacaktır. Araç çubuklarında yer alan aşağıdaki nesneyi aktifleştirin.

97 Grafik iconu üzerine Mouse ile tıklayarak aşağıdaki pencerenin açılmasını sağlayın. Type yaprağında yer alan Chart Type listesinden verilerinize uygun bir stil seçin. Ardından Data yaprağına geçebilirsiniz.

98 Yukarıdaki pencerede gösterilen ayarları yaptıktan sonra Text yaprağına geçebilirsiniz.

99 Bu bölümde dilediğiniz alanı değiştirebilirsiniz. Yapmış olduğunuz değişiklikler grafiğiniz üzerindeki etiketlere yansıyacaktır. Tamam düğmesine tıklayarak işlemler son bulacaktır.

100 Ekran görüntünüz yukarıdaki şekilde olacaktır. Bu şablonu uygulamamıza eklemeliyiz. Bunun için normal bir uygulama sayfa açalım. Project menüsünden Add Windows Form seçeneğini seçiniz. Gelen pencereden Windows Form seçeneğini seçip Add düğmesine tıklayınız. 12)Normal uygulama sayfasını göreceğiz. Bu Form2 olacaktır. Daha önceden açılan Form1 e bir buton ekleyip Form2 yi çağıracağız.form2 nin içerisinde de hazırladığımız raporlama sayfası görüntülenecektir.

101 13)Form2 açıkken sol tarafta Toolbox penceresinden CrystalReportViewer kontrolünü sürükleyerek formunuzun üzerine bırakın. Sayfada bu nesne gözükecektir. 13)Formunuza sürüklediğiniz CrystalReportViewer1 kontrolünü seçin. Properties penceresinden Report Source(Raporlama Kaynağını) özelliğinde bulunan Browse seçeneğini tıklayarak daha önceden kaydetmiş olduğunuz CrystalReport1.rpt dosyasını bulun. Şayet raporunuz aktif klasör içerisinde ise bu pencereden direk seçebilirsiniz. 14)Şablonumuzu görmüş olacağız. 15)Form1 e bir buton yerleştirip Form2 yi çağıracağız. Bunun için butonun içerisine aşağıdaki kodları yazınız. Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim yeni As New Form2 yeni.show()

102

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır. Select Case Komutu: VB de karar sürecinde kullanılan komutlardandır. Bu yapı ile sadece bir değişkenin durum kontrolü yapılır. Kontrolü yapılacak değişkenin genel olarak alabileceği değerler belirli ise

Detaylı

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer. Döngüsü En basit döngü yapısıdır. Hiçbir kontrol yapılmadan ve ifadeleri arasındaki satırların işlem görmesi için kullanılır. Bu yapıda programın terkedilmesi için herhangi bir kontrol olmadığından, döngü

Detaylı

MT 373 Visual Basic Programlama Dersi

MT 373 Visual Basic Programlama Dersi MT 373 VB Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT 1 MT 373 Visual Basic Programlama Dersi (VB.NET 2010 Uygulamaları) Dr. İrfan MACİT Matematik Bölümü Laboratuvar Uygulamaları Adana, 2013 MT

Detaylı

Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız.

Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız. Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız. Dim i, n, toplam As Integer toplam = toplam + i MessageBox.Show(i & ".

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

VISUAL BASIC.NET PROGRAMLAMA

VISUAL BASIC.NET PROGRAMLAMA VISUAL BASIC.NET PROGRAMLAMA Bu derste programlama dili olarak visual basic.net (microsoft firmasının ürünü) programlamayı öğreneceğiz. Bu amaçla en son versiyon olan Visual Studio.2008 versiyonunda programlama

Detaylı

Uygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız.

Uygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız. Uygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız. Label1.Text = "Kutu işaretlendi " Label1.Text = "Kutu işaretlenmedi " Uygulama

Detaylı

Timer İle arka plan renk değişimi

Timer İle arka plan renk değişimi Microsoft Visual Studio Visual Basic Timer İle arka plan renk değişimi Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Timer1.Enabled = True Timer1.Interval = 1000 'milisaniye

Detaylı

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Ders 4: Diziler (Arrays( Arrays) barisgokce.com Ders 4: Diziler (Arrays( Arrays) Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Diziler Aynı tipteki bir veri gurubunun bir değişken içinde saklanmasıdır. Veriler Hafızada

Detaylı

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı

-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı KOCAELİ ÜNİVERSİTESİ 14.10.2016 MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı Öğretim Üyesi: Prof. Dr. Hasan OCAK Sınav Süresi: 80 dakika. Her

Detaylı

Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz.

Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz. GÖRSEL PROGRAMLAMA II Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz. Başlat/Programlar/Microsoft Visual Studio 2010 çalıştırılır. Açılan programda New Project seçilir, sol

Detaylı

Visual Basic Windows Window Progr Pr a ogr mlama a

Visual Basic Windows Window Progr Pr a ogr mlama a Visual Basic Windows Programlama Konular Değişken Tipleri Hata Yakalama Windows bileşenlerinin kullanılması Menu ve Toolbar oluşturma Yazdırma işlemleri Veri Tabanı işlemleri Grafik işlemleri Private :

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

Visual Basic Uygulamaları-4. Dİ Zİ LER (ARRAYS) ve Nesne Kü meleri

Visual Basic Uygulamaları-4. Dİ Zİ LER (ARRAYS) ve Nesne Kü meleri Visual Basic Uygulamaları-4 Dİ Zİ LER (ARRAYS) ve Nesne Kü meleri Bellekte sürekli yer kaplayan aynı türden verilerin oluşturduğu kümeye dizi denir. Tanımdan da anlaşılacağı üzere bir dizinin dizi olabilmesi

Detaylı

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1. Uygulamalar 4 IsMissing (Değişken) Visual Basic te fonksiyon veya alt programlara giriş parametresi olarak Optional deyimi kullanılırsa o parametre kullanılmadan da o fonksiyon çağrılabilir. IsMissing

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA DÖNGÜLER (FOR, WHILE, DO-WHILE) C# da döngüleri dört çeşit olarak sayabiliriz. Bunlar a) For döngüsü: Bu döngüde başlangıç ve bitiş sınırları verilerek kullanılır. Döngü tanım

Detaylı

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken] Sayaçlar Düzenli olarak artan (+) veya azalan (-) sayı veya string ifadeler elde etmek için kullanılırlar. Eşitliğin her iki tarafındaki değişken isminin aynı olmasına dikkat edin. Bu durum matematik olarak

Detaylı

Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak.

Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak. MT 373 Visual Basic Programlama Laboratuvar Uygulamaları-1 Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak. a) İki adet ondalıklı sayı tanımlaması yapınız

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 4.ders

İNTERNET TABANLI PROGRAMLAMA- 4.ders HAZIR FONKSİYONLAR İNTERNET TABANLI PROGRAMLAMA- 4.ders STRING FONKSİYONLARI (KÜTÜPHANESİ) Çoğu web sitesinde olduğu gibi kullanıcıdan kullanıcı adını ve şifresini aldıktan sonra bu değerleri veri tabanından

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 3.ders

İNTERNET TABANLI PROGRAMLAMA- 3.ders DİZİLER İNTERNET TABANLI PROGRAMLAMA- 3.ders Diziler bir çok bilgiyi tek bir değişken içerisinde tutmamızı sağlayan ifadelerdir. Dizide tutulan bilgiler Ram da tutulur. Elektrikler kesildiğinde dizideki

Detaylı

Örnek Uygulama: CheckedListBox da seçili olanları listbox nesnesine ekleyen program.

Örnek Uygulama: CheckedListBox da seçili olanları listbox nesnesine ekleyen program. Nesne Tabanlı Programlama I (C#) Ders Notu S.Ü.Akören A.R.E. Meslek Yüksekokulu C.ÖZCAN- F.SARAY 11 Selecteditem: Hangi öğe seçili ise onun adını verir. CheckedListBox da seçili olanları listbox nesnesine

Detaylı

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)... Array (Diziler) Array Aynı tipten çok sayıda değişken topluluğudur. Birden fazla aynı tipteki değerle işlem yapmayı kolaylaştırır. X Y Score1 Score2 40 56 Grade 40 56 80 (0) (1) (2)... (13) Array tanımlama:

Detaylı

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI 2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI KOÜ Mekatronik Mühendisliği Bölümü/MKT-103-Görsel Programlama Dersi - Ara Sınav J-grubu Ad-Soyad:...No:... J GRUBU-süre:70dk 1.) Aşağıdaki

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

Response : Sunucunun istemciye veri yollamasını

Response : Sunucunun istemciye veri yollamasını Response : Sunucunun istemciye veri yollamasını 27 Ekim 2011 / Perşembe Örnek : 2 tane sayfa açıyoruz,1nci ye TextBox1 ve Button ekliyoruz. Şunu istiyoruz,1nci sayfada şifre girilince, Button u tıklayınca

Detaylı

DİZİLER. Bu ünitede yapılan örnekler Visual Studio 2010 programındaki Visual Basic programlama diliyle çözülmüştür.

DİZİLER. Bu ünitede yapılan örnekler Visual Studio 2010 programındaki Visual Basic programlama diliyle çözülmüştür. DİZİLR GİRİŞ Bu ünitede, akış diyagramlarının yardımıyla birçok veriyi tek bir alanda nasıl saklayabileceğimiz, işleyebileceğimiz ve çağırabileceğimiz konusundaki bilgiler anlatılacaktır. Teknolojinin

Detaylı

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak:

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak: Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak: Command objelerini kullanarak direk veritabanı işlemlerini gerçekleştirebilirsiniz. Dataset nesnesini kullanmadan direk veritabanı içerisindeki

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9 BTP 207 İNTERNET PROGRAMCILIĞI I Ders 9 Dizi Değişkenler (Array) 2 Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1, eleman2,, elemann)

Detaylı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları ComboBox Bir Windows açılan kutu sunu temsil eder. ComboBox kontrolü, kullanıcıların bazı değerleri açılan bir listeden seçmesini sağlar. Listeye tasarım anında veya çalışma anında öğe eklenebilir. Listeye

Detaylı

INPUTBOX() ile Veri Girişi

INPUTBOX() ile Veri Girişi VISUAL BASIC DE VERİ GİRİŞİ VE EKRAN MESAJLARI INPUTBOX() ile Veri Girişi Yapısı : Default Değer Form Üzerindeki Konum (0,0) sol üst köşe Değişken adı Veri Giriş Kutusu Gövdesindeki Mesaj Veri Giriş Kutusu

Detaylı

Java String İşlemleri

Java String İşlemleri Java String İşlemleri Karakterler (Characters) "char" kelimesi bir karakter tanımlamak için kullanılır. Karakter tek tırnak içine alınmalıdır. Bir char'ın aralığı 0 ile 65536 arasındadır. Char türü işaretsiz

Detaylı

Vbnet Vbne access bağ ba lant lan ı t s ı ı s, ekleme, güncelleme,,silme

Vbnet Vbne access bağ ba lant lan ı t s ı ı s, ekleme, güncelleme,,silme Vbnet access bağlantısı, ekleme, güncelleme, silme Imports System.Data.OleDb 'DataGridView nesnesine verileri aktar Private Sub Listele(ByVal SQL As String) Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data

Detaylı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu UYGULAMALAR Uygulama 1:Komut butonu, metin kutusu ve liste kutusu kullanarak bir program oluşturacağız. Programda, bir metin kutusuna girilen sayılardan pozitif olanlar bir listeye, negatif olanlar başka

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx Durum Yönetimi Bu gün dersimizde durum yönetimine (state management) değineceğiz. Önce adı DurumYonetimi isimli yeni bir site oluşturalım. Burada programın otomatik olarak oluşturacağı Default.aspx dosyasını

Detaylı

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği INPUTBOX KULLANIMI InputBox komutu, Basic programlama dilinde program algoritması içinde ekran aracışığı ile bir sorgu yönlendirerek, kullanıcının bilgi girmesini sağlamak amacıyla kullanılır. Bu komutun

Detaylı

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları 1 Anadolu Üniversitesi Endüstri Mühendisliği Bölümü Değişkenler ve Veri tipleri Visual Basic 6.0 Ders Notları Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi, 1999, Beyazıt İstanbul,

Detaylı

mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar

mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar Algoritma ve Programlamaya Giriş mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar İçerik Algoritma Akış Diyagramları Programlamada İşlemler o o o Matematiksel Karşılaştırma Mantıksal Programlama

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları CheckBox Onay Kutusu, kullanıcının mantıksal bir ifade hakkında seçim yapmasına imkân verir. Kullanıcıya seçenekler sunmayı sağlar. Birçok seçenek seçilebilir. CheckBox Özellikleri Özellik Değer Tipi Açıklama

Detaylı

TEMEL STRING İŞLEMLERİ

TEMEL STRING İŞLEMLERİ TEMEL STRING İŞLEMLERİ GİRİŞ.Net kodu yazarken String işlemleri büyük önem taşımaktadır. String ler kelimeler üzerinde yapılan işlemlerde kullanılmaktadır. Gerçekleştireceğimiz çalışmalarda da bu veri

Detaylı

İnternet Programcılığı Dersi 2.Dönem Ders Notu

İnternet Programcılığı Dersi 2.Dönem Ders Notu İnternet Programcılığı Dersi 2.Dönem Ders Notu DEĞİŞKEN TİPLERİ TAM SAYI (İNTEGER) VERİ TİPİ Negatif veya pozitif ondalık kısmı bulunmayan sayılardır. Örnek: $i=65; $x=345; ONDALIK(REAL)VERİ TİPİ Ondalıklı

Detaylı

HESAP MAKİNASI YAPIMI

HESAP MAKİNASI YAPIMI HESAP MAKİNASI YAPIMI 1..Aşağıdakine benzer görünüm ve butonları hazırlayın. 2. 24. Butonun içerisine aşağıdaki kodları yazın. 3. Yeni bir layer ekleyip Frame1 F9 na aşağıdaki kodları ekleyelim. 4. Butonlardan

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Rastgele sayı üretme C#'ta program yazarken (özellikle oyun programlarında) rastgele değerlere ihtiyaç duyabiliriz. Rastgele sayı üretebilmemiz için öncelikle Random sınıfı

Detaylı

De iflken = InputBox Görüntülenecek Metin Bafllık. InputBox tan gelecek cevap, bir de iflkene aktarılmalıdır. End Sub B R SAYI TUT

De iflken = InputBox Görüntülenecek Metin Bafllık. InputBox tan gelecek cevap, bir de iflkene aktarılmalıdır. End Sub B R SAYI TUT Bilgi Girifli InputBox fonksiyonu: Program sırasında, kullanıcının klavyeden bilgi girifli yapmasını sa layan fonksiyondur. Girilen bilgi, bir de iflkene aktarılmalıdır. Afla ıda InputBox fonksiyonunun

Detaylı

Excel Formüller ve Fonksiyonlar. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015

Excel Formüller ve Fonksiyonlar. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015 Excel Formüller ve Fonksiyonlar Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015 Excel de Yapabileceklerimiz Temel aritmetik işlemler (4 işlem) Mantıksal karşılaştırma işlemleri (>,>=,

Detaylı

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım.

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım. Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım. VS2005 den yeni bir web sitesi oluşturmasını isteyelim. Yeni bir ASP.NET

Detaylı

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI 10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI Sayısal Sistemler Sayısal sistem, sayıları temsil eden simgeler için bir yazma sistemi yani matematiksel bir gösterim sistemidir.

Detaylı

Görsel Programlama (Visual Programming)

Görsel Programlama (Visual Programming) Görsel Programlama (Visual Programming) 2014-2015 Bahar Dönemi ListBox 1 2 Bileşeni(Nesnesi) Text Özelliği TextBox nesnesi gibi kullanılabilir 3 Item Ekleme 4 combobox1.maxdropdownitems = 5; combobox1.maxdropdownwidth=200;

Detaylı

Daha önce bu işlemin iki tane dosya oluşturduğunu gördük. GecDenTest.aspx dosyasının source kısmında içeriğini inceleyecek olursanız en başta

Daha önce bu işlemin iki tane dosya oluşturduğunu gördük. GecDenTest.aspx dosyasının source kısmında içeriğini inceleyecek olursanız en başta Bu gün dersimizde Validation Geçerlik Dentimi Kontrollerine değineceğiz. Önce adı GecerlikDeneme isimli bir yeni site oluşturalım. Burada programın otomatik olarak oluşturacağı Default.aspx dosyasını ve

Detaylı

Byte (Tamsayı) 1 0 ile 255 arasında 10 sayısı

Byte (Tamsayı) 1 0 ile 255 arasında 10 sayısı Temel Veri Tipleri Aşağıda VBEE de temel olarak kullanılan veri tipleri listelenmiştir. VBEE de, burada verilen veri tiplerinden çok daha fazlası kullanılmaktadır, sözkonusu veri tiplerine, ilgili kitaplardan

Detaylı

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo Microsoft Excell Excel Nedir? Excel programı; veriler üzerinde hesap yapabilme, verileri tabloya dönüştürebilme, verileri karşılaştırıp sonuç üretebilme, grafik oluşturma, veri yönetimi yapabilir. http://mf.dpu.edu.tr/~eyup

Detaylı

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir. MATRİS TRANSPOZU: Bir matrisin satırlarını sütun, sütunlarınıda satır yaparak elde edilen matrise transpoz matris denilir. Diğer bir değişle, eğer A matrisi aşağıdaki gibi tanımlandıysa bu matrisin transpoz

Detaylı

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz. Ön bilgi: Dizi tanımlayabilmeli. foreach deyimi bilinmeli. Rastgele sayılar (Random) bilinmeli. 1. Aşağıda tamsayı tipinde iki boyutlu bir dizinin nasıl tanımlandığı, bir fonksiyona parametre olarak nasıl

Detaylı

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir DİZİLER (ARRAYS) Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir değişken tanımlamak gereklidir. string gun1,

Detaylı

VISUAL BASIC STANDART KÜTÜPHANE FONKSİYONLARI

VISUAL BASIC STANDART KÜTÜPHANE FONKSİYONLARI Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 0 VISUAL BASIC STANDART KÜTÜPHANE FONKSİYONLARI Visual Basic kütüphanesinde bulunan bazı fonksiyonlar (komutlar) aşağıda verilmiştir. Bu fonksiyonların

Detaylı

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1 Ders Tanıtım Sunumu Internet Programming II Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı Öğr. Gör. Murat KEÇECİOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır.

Detaylı

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

if (ad == Sabri) Console.WriteLine(Merhaba Sabri. Ne zamandır gözükmüyodun...); Koşul İfadeleri ve Akış Kontrolü Koşul ifadeleri ve akış kontrolleri programlama dillerinde her zaman en önemli yeri tutmaktadır. Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır. Form işlemleri

Detaylı

Visual C# - Görsel Programlama II Örnek Sorular ve Cevaplar

Visual C# - Görsel Programlama II Örnek Sorular ve Cevaplar Visual C# - Görsel Programlama II Örnek Sorular ve Cevaplar Soru 1: Yandaki şekilde 3 tane Textbox ve bir adet buton mevcuttur. Üstünde hesapla yazan button1 isimli butona basıldığın da textbox1 ve textbox2

Detaylı

C#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

Detaylı

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür. Programlama Temelleri Trim: metnin başındaki ve sonundaki boşlukları kaldırır. Trim( Selam ) Selam şeklinde çıkar Split: metin içinde ayırma işlemi yapar. Split( ) Metni boşluklarını diziye atar. oşluk

Detaylı

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

Detaylı

BÖTE BİL. TEK. II DERSİ İÇİN HAZIRLANMIŞ DERS NOTLARININ BİR KISMI

BÖTE BİL. TEK. II DERSİ İÇİN HAZIRLANMIŞ DERS NOTLARININ BİR KISMI BÖTE BİL. TEK. II DERSİ İÇİN HAZIRLANMIŞ DERS NOTLARININ BİR KISMI 2.DÖNEM 18022013 İşletim sistemine bulaşan trojen virüslerini tespit etme Combofix indirildikten sonra kayıt defteri devreye girer. İşletim

Detaylı

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEKOKULU MEKATRONİK PROGRAMI

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEKOKULU MEKATRONİK PROGRAMI SİNOP ÜNİVERSİTESİ MESLEK YÜKSEKOKULU MEKATRONİK PROGRAMI BİLGİSAYARDA PROGRAMLAMA DERSİ ÖRNEK PROGRAMLAR 1. Kullanıcının girdiği iki sayını toplamını bulan program. Form: int sayi1, sayi2, toplam; sayi1

Detaylı

Görsel Programlama 1

Görsel Programlama 1 Görsel Programlama 1 1. Ekrana Hello world! yazan c# console application kodları: Console.Write("Hello world!"); 2. Ekranda ilk satıra Hello, ikinci satıra world! yazan kod: Console.WriteLine("Hello");

Detaylı

Def bildiri deyimi projenin general,declarations bölümünde tanımlanmalıdır

Def bildiri deyimi projenin general,declarations bölümünde tanımlanmalıdır BÖLÜM 3 3.VİSUAL BASİC DE DEGİŞKEN TANIMLAMA Degişken tanımlarken Visual Basic te Dim bildiri deyimini kullanabiliriz. Değişkenin tanımlanması hafızada ayrılacak hafıza miktarının belirli olmasını sağlar.

Detaylı

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI C programlama dilinde, diğer programlama dillerinde olduğu gibi, işlemler, ilk satırdan başlamak üzere sırayla çalışır. Program kontrol yapıları ise, programın

Detaylı

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler STRING FONKSİYONU... 3 SPLIT FONKSİYONU...

Detaylı

Gidilen sayfadan bir önceki sayfaya geçilir. Şekil Git İşlemi diyalog kutusu

Gidilen sayfadan bir önceki sayfaya geçilir. Şekil Git İşlemi diyalog kutusu BÖLÜM 6 6. BELGELER ÜZERİNDE YAPILABİLECEK İŞLEMLER 6.1. Git işlemi Yazılan belgeler rapor, ödev, kitap tez gibi sayfalarca uzunlukta olabilir. Sayfalarca uzunluktaki belgede herhangi bir sayfaya gitmek

Detaylı

1. Excel Dönüşümü : 2. Rapor Master Tanımları :

1. Excel Dönüşümü : 2. Rapor Master Tanımları : Programın Amacı : Bu Program As/400 Sistemindeki herhangi bir veya birden fazla file ı kullanarak istenilen şekilde sorgulama yaparak elde edilen bilgileri Excel Formatında Pc deki istenilen bir yere kaydetmek.

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

Detaylı

Visual Basic. Dosya İşlemleri

Visual Basic. Dosya İşlemleri Microsoft Visual Studio Visual Basic Dosya İşlemleri Visual Basic te dosya okuma, ilgili dosyaya yazma işlemleri için Imports System.IO kütüphanesi kullanılmaktadır. İlk önce bu kütüphane aktif edilmelidir.

Detaylı

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü JAVA DÖNGÜ DEYİMLERİ Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrarlanabilir. Java da bu işi yapan üç ayrı deyim vardır: while

Detaylı

KONTROL YAPILARI (CONTROL STRUCTURES)

KONTROL YAPILARI (CONTROL STRUCTURES) Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-I 0 KONTROL YAPILARI (CONTROL STRUCTURES) GĠRĠġ Kontrol yapıları, program akışını değiştirmek için kullanılan yapılardır. Yapısal programlama dillerinde

Detaylı

Programlama Dilleri 1. Ders 4: Diziler

Programlama Dilleri 1. Ders 4: Diziler Programlama Dilleri 1 Ders 4: Diziler Genel Bakış Tanım Dizilerin tanımlanması Dizilere ilk değer verilmesi Yerel ve Global diziler Dizilerin birbirine atanması Diziler ile ilgili örnekler Çalışma soruları

Detaylı

Access e Nasıl Ulaşılır. Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır.

Access e Nasıl Ulaşılır. Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır. 1 Access e Nasıl Ulaşılır Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır. 2 Çeşitli araç çubukları arasında seçim yapılarak pencere üzerine eklenebilir. Bunun

Detaylı

Matematiksel Operatörler

Matematiksel Operatörler Matematiksel Operatörler Genel olarak matematiksel işlemlerde kullanılan operatörlerdir. Operatör Anlamı Açıklama ^ Üs Alma C^3 Matematikdeki üs operatörüdür. Verilen ilk sayının ikinci sayı kadar kuvvetini

Detaylı

Microsoft Office Excel 2007

Microsoft Office Excel 2007 2014 Microsoft Office Excel 2007 Öğr. Gör. Serkan KORKMAZ Harran Üniversitesi Birecik Meslek Yüksekokulu İçindekiler MİCROSOFT OFFİCE EXCEL 2007... 4 EXCEL ORTAMINDA ÇALIŞMAK... 4 EXCEL ÇALIŞMA SAYFASI...

Detaylı

Algoritma ve Programlamaya Giriş

Algoritma ve Programlamaya Giriş Algoritma ve Programlamaya Giriş Algoritma Bir sorunu çözebilmek için gerekli olan sıralı ve mantıksal adımların tümüne Algoritma denir. Doğal dil ile yazılabilir. Fazlaca formal değildir. Bir algoritmada

Detaylı

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz..

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz.. 3 Kasım 2011 / Perşembe Örnek : Button a tıklamadan seçim yapınca işlem yapılsın. Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz.. RadioButtonList1 e tek tıklayıp sağdan

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler ve Değişkenler Values & Variables 2 1 Değişkenlerin Özellikleri Tipi

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi. ÖĞRETiM ELEMANI KULLANIM KILAVUZU

T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi. ÖĞRETiM ELEMANI KULLANIM KILAVUZU T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi ÖĞRETiM ELEMANI KULLANIM KILAVUZU 1 1. Sisteme Giriş Nokta Üniversite Otomasyonu sistemini kullanabilmek için öncelikle Windows işletim sisteminde bulunan

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

How to ASP Language. Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013

How to ASP Language. Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013 How to ASP Language Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı 29 Eki. 1 Kas. 2013 Öğr. Gör. Murat KEÇECĠOĞLU Fonksiyonlar, kendilerini göreve çağıran VBScript komutlarına ve işlemlerine bir

Detaylı

Ünite 7. Gelişmiş Nesneler II. Bilgisayar Programcılığı Önlisans Programı GÖRSEL PROGRAMLAMA I. Öğr. Gör. Rıza ALTUNAY

Ünite 7. Gelişmiş Nesneler II. Bilgisayar Programcılığı Önlisans Programı GÖRSEL PROGRAMLAMA I. Öğr. Gör. Rıza ALTUNAY Gelişmiş Nesneler II Ünite 7 Bilgisayar Programcılığı Önlisans Programı GÖRSEL PROGRAMLAMA I Öğr. Gör. Rıza ALTUNAY 1 Ünite 7 GELİŞMİŞ NESNELER II Öğr. Gör. Rıza ALTUNAY İçindekiler 7.1. TAB KONTROL...

Detaylı

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi Nedir? olmadan Login.aspx Bilgilerinizi giriniz Durum Yönetimi İle Login.aspx Bilgilerinizi giriniz Adınız Adınız Pınar Pınar Soyadınız Soyadınız Onay Durdu Onay Durdu Gönder Gönder ASP.NET - 1 sayfa.aspx

Detaylı

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C Program Akış Kontrol Yapıları Kontrol Komutları Normal şartlarda C dilinde bir programın çalışması, komutların

Detaylı

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak

Detaylı

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: BİL 1007

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: BİL 1007 Dersi Veren Birim: Mühendislik Fakültesi Dersin Adı: BİLGİSAYAR PROGRAMLAMA II Dersin Düzeyi:(Ön lisans, Lisans, Yüksek Lisans, Doktora) Dersin Kodu: BİL 007 Dersin Öğretim Dili: Türkçe Formun Düzenleme

Detaylı