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ı

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ı

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ı

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ı

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ı

İ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ı

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ı

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ı

İ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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

İÇİNDEKİLER İÇİNDEKİLER KODLAB

İÇİNDEKİLER İÇİNDEKİLER KODLAB İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ

T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ GÖRSEL PROGRAMLAMA KOD PARÇALARI ANKARA 2007 Milli Eğitim Bakanlığı tarafından geliştirilen

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ı

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ı

Çö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ı

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ı

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ı

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ı

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ı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

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ı

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ı

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ı

yurdugul@hacettepe.edu.tr VB de Veri Türleri 1

yurdugul@hacettepe.edu.tr VB de Veri Türleri 1 yurdugul@hacettepe.edu.tr 1 VB de Veri Türleri 1 Byte 1 aretsiz tamsay Integer 2 aretli Tamsay Long 4 aretli Tamsay Single 4 Gerçel say Double 8 Gerçel say Currency 8 Gerçel say Decimal 14 Gerçel say Boolean

Detaylı

Karakter Değişkenlere İlişkin Komutlar

Karakter Değişkenlere İlişkin Komutlar Karakter Değişkenlere İlişkin Komutlar ASCII Kodlama Sistemi Bilgisayar sayılar üzerine kurulmuş makinalar olduklarından onların düşünmeleri ve hatırlamaları sayısal değerlerle olmaktadır. Bundan dolayı

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

BİLİŞİM TEKNOLOJİLERİ

BİLİŞİM TEKNOLOJİLERİ T.C. MİLLİ EĞİTİM BAKANLIĞI BİLİŞİM TEKNOLOJİLERİ NESNE TABANLI PROGRAMLAMA 3 482BK0076 Ankara 2011 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında yer alan

Detaylı

Excel' de formüller yazılırken iki farklı uygulama kullanılır. Bunlardan;

Excel' de formüller yazılırken iki farklı uygulama kullanılır. Bunlardan; 7. FORMÜLLER SEKMESİ Excel in en çok kullanılan yönü hesaplama yönüdür. Hesaplamalar Formüller aracılığıyla yapılır. Formüller sekmesi anlatılırken sık kullanılan formüller ve formül yazımı da anlatılacaktır.

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ı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Kontrol Yapıları if Seçme Deyimi if... else Seçme Deyimi while Tekrar

Detaylı

İŞLETMELERDE BECERİ EĞİTİMİ DERSİ MİCROSOFT WORD 2007 ÇALIŞMALARI

İŞLETMELERDE BECERİ EĞİTİMİ DERSİ MİCROSOFT WORD 2007 ÇALIŞMALARI 1 2 3 Microsoft Office Word Belgesinde çalışmamızı tamamladıktan sonra simgesine tıkladığımızda açılan menüde dosyamızı kaydedebiliriz veya yazıcıdan çıktısını alabiliriz. Çalışmamızda değişiklik yapmak

Detaylı

Veritabanı. SQL (Structured Query Language)

Veritabanı. SQL (Structured Query Language) Veritabanı SQL (Structured Query Language) SQL (Structured Query Language) SQL, ilişkisel veritabanlarındaki bilgileri sorgulamak için kullanılan dildir. SQL, bütün kullanıcıların ve uygulamaların veritabanına

Detaylı

DENEME SINAVI. ECDL BAŞLANGIÇ Hesap Tablosu

DENEME SINAVI. ECDL BAŞLANGIÇ Hesap Tablosu DENEME SINAVI ECDL BAŞLANGIÇ Hesap Tablosu 1. Hesap Çizelgesi (Microsoft Office - Excel) uygulamasını açınız. Başlat > Programlar > Microsoft Office > Microsoft Office Excel 2003 yolu izlenerek Excel programı

Detaylı

ASP.NET ile Bir Web Sitesi Oluşturma

ASP.NET ile Bir Web Sitesi Oluşturma 29,30 Eylül 2011 ASP.NET ile Bir Web Sitesi Oluşturma ASP.NET sitesi oluşturmak için File menüsündeki, New açılır listesindeki, Web Site komutuna tıklıyoruz Açılan pencereden C# içindeki ASP.NET Web Site

Detaylı

1 Aralık 2011 / Perşembe

1 Aralık 2011 / Perşembe 1 Aralık 2011 / Perşembe Örnek :İki adet panel var.eğer 1nci panelde şifre Mustafa ise kendimiz bir session değişkeni oluşturup tamam yazdıracağız.değilse Şifre hatalı yazdıracağız. protectedvoid Page_Load(object

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ı

EXCEL PROGRAMININ ARAYÜZÜ

EXCEL PROGRAMININ ARAYÜZÜ Ofis Düğmesi EXCEL NEDİR? NEDEN EXCEL? Excel tablo oluşturmanızı, verileri hesaplamanızı ve çözümlemenizi sağlayan bir yazılımdır. Bu türden yazılımlara elektronik tablo yazılımları adı verilir. Excel

Detaylı

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2 PROGRAMLAMA Bir problemin çözümü için belirli kurallar ve adımlar çerçevesinde bilgisayar ortamında hazırlanan komutlar dizisine programlama denir. Programlama Dili: Bir programın yazılabilmesi için kendine

Detaylı

Temel Excel Kullanım Bilgisi

Temel Excel Kullanım Bilgisi Temel Excel Kullanım Bilgisi Excel Fonksiyonları Başlangıç Microsoft Excel in en zevkli olan formül kısmı hakkında kısa kısa bilgileri ve bazı formüllerin nasıl yazıldığını burada bulacaksınız.

Detaylı

Proje Uygulaması Video Marketi Oluşturmak

Proje Uygulaması Video Marketi Oluşturmak Proje Uygulaması Video Marketi Oluşturmak Film Dünyası Video Marketi: Mevcut Senaryo Film Dünyası İstanbul da bir video şirketidir. Şirket film videoları satmakta ve de filmler hakkında bilgi vermektedir.

Detaylı

FORMÜL ADI (FONKSİYON) FORMÜLÜN YAZILIŞI YAPTIĞI İŞLEMİN AÇIKLAMASI

FORMÜL ADI (FONKSİYON) FORMÜLÜN YAZILIŞI YAPTIĞI İŞLEMİN AÇIKLAMASI 1 SIKÇA KULLANILAN EXCEL FORMÜLLERİ 1 AŞAĞI YUVARLAMA =aşağıyuvarla(c7;2) 2 YUKARI YUVARLAMA =yukarıyuvarla(c7;2) 3 YUVARLAMA =yuvarla(c7;2) 4 TAVANA YUVARLAMA =tavanayuvarla(c7;5) 5 TABANA YUVARLAMA =TABANAYUVARLA(E2;5)

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ı

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

6. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 6. 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 For Each... Next... 3 Döngüyü

Detaylı

Dim a,b,c as integer A=5:c=6:b=2 Msgbox(a+c+b) Msgbox((a+c+b)/3)

Dim a,b,c as integer A=5:c=6:b=2 Msgbox(a+c+b) Msgbox((a+c+b)/3) Adres //aliatalay.net Eğitim Fakültesi Böte Visual 2008 basic ders notları 1 Algoritma Nedir? Bilgisayarda yada kağıt ortamında problemi çözebilmek için gerekli mantıksal adım olarak tarif edebiliriz.

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

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ı

C Konsol Giriş Çıkış Fonksiyonları

C Konsol Giriş Çıkış Fonksiyonları C Konsol Giriş Çıkış Fonksiyonları Öğr. Gör. M. Ozan AKI Rev 1.0 Stringlerde Özel Karakterler \n : Bir sonraki satırın ilk sütununa git \b : Backspace (önceki karakteri sil) \a : Bip sesi \\ : Ters bölü

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ı

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB What is a computer??? Bilgisayar Programlama MATLAB Prof. Dr. İrfan KAYMAZ What Konular is a computer??? MATLAB ortamının tanıtımı Matlab sistemi (ara yüzey tanıtımı) a) Geliştirme ortamı b) Komut penceresi

Detaylı

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Algoritma ve Programlama: Karar Yapıları ve Döngüler Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK MATLAB de Bilgisayar Programlama Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK disp komutu: Ekrana mesaj veya bir değişken değeri yazdırmak için kullanılan komuttur.

Detaylı

7) Çoklu Formlar. Şekil7.1. Araç kutusundaki Add Form butonuna basarak projeye yeni bir form ekleyiniz.

7) Çoklu Formlar. Şekil7.1. Araç kutusundaki Add Form butonuna basarak projeye yeni bir form ekleyiniz. 7) Çoklu Formlar Şimdiye kadar yarattığınız tüm projeler tek bir form tarafından işletilmektedir. Farklı amaca yönelik bilgiler için farklı pencereler kullanırsanız projelerinizin daha profesyonel olabileceğinin

Detaylı

Window Script Host. Message Box Kullanımı. Pupup(Acilir)Message Kullanımı. Arslan ACAR www.andabilgi.com www.arslanacar.com

Window Script Host. Message Box Kullanımı. Pupup(Acilir)Message Kullanımı. Arslan ACAR www.andabilgi.com www.arslanacar.com Message Box Kullanımı Dim MsgBaslik Dim MsgIcerik MsgBaslik="Mesaj Başlığı" MsgIcerik="Mesaj içeriği" MsgBox MsgIcerik, 64, MsgBaslik 'Mesaj kutusundaki simge için kod değerleri: '16(Hata) '64(Dikkat)

Detaylı

HIZLI KULLANMA KLAVUZU

HIZLI KULLANMA KLAVUZU HIZLI KULLANMA KLAVUZU 7, 10 MODELLER : HOMEPRO vivimat PRO3 HOMEPRO vivimat COMFORT HOMEPRO vivimat PRIME HOMEPRO vivimat LITE SİSTEME GİRİŞ / LOGIN Ev içerisinden kullanmak için (LAN) iç IP kutusuna

Detaylı

SPSS-Tarihsel Gelişimi

SPSS-Tarihsel Gelişimi SPSS -Giriş SPSS-Tarihsel Gelişimi ilk sürümü Norman H. Nie, C. Hadlai Hull ve Dale H. Bent tarafından geliştirilmiş ve 1968 yılında piyasaya çıkmış istatistiksel analize yönelik bir bilgisayar programıdır.

Detaylı

a,b başlangıç değerlerini 0 kabul et a sayısını verin b sayısını verin hayır hayır b< a? evet a=b a değerini ekrana yaz

a,b başlangıç değerlerini 0 kabul et a sayısını verin b sayısını verin hayır hayır b< a? evet a=b a değerini ekrana yaz Örnek Sorular Örnek (2006 yılı vize sorusu) Dim a,b as double a = InputBox("Bir sayı verin") Do b = InputBox("Bir sayı verin") If b = -99 Then Exit Do Select Case b Case is < a a = b End Select Loop MsgBox

Detaylı

RAPOR VE FORMLARDA KULLANILAN FONKSİYONLAR

RAPOR VE FORMLARDA KULLANILAN FONKSİYONLAR RAPOR VE FORMLARDA KULLANILAN FONKSİYONLAR Rapor ve formlarda kullanılan fonksiyonları ve açıklamalarını bu makalede bulabilirsiniz. 1- MIN(number, number) 2- MAX(number, number) 3- MOD(number, divisor)

Detaylı

Nesneye Dayalı Programlama Laboratuvarı

Nesneye Dayalı Programlama Laboratuvarı 2013 2014 Nesneye Dayalı Programlama Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Salih GÖRGÜNOĞLU Laboratuvar Sorumluları: M. Zahid YILDIRIM İÇİNDEKİLER Deney 1: Visual Studio ve C++'a Giriş Uygulamaları...

Detaylı

Açılan penceren gerekli ayarlamalar yapılarak sayfa numaraları görüntülenir.

Açılan penceren gerekli ayarlamalar yapılarak sayfa numaraları görüntülenir. Sayfa numarası ekleme: Ekle menüsünden sayfa numaraları seçeneğine tıklandığında Açılan penceren gerekli ayarlamalar yapılarak sayfa numaraları görüntülenir. Tarih ve saat ekleme: Ekle menüsünden Tarih

Detaylı

TÜRKÇE KULLANIM KILAVUZU

TÜRKÇE KULLANIM KILAVUZU KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ ÖĞRENCİ İŞLERİ DAİRESİ BAŞKANLIĞI AKADEMİK BİLGİ SİSTEMİ (ABİS) Otomasyon Programı TÜRKÇE KULLANIM KILAVUZU İÇİNDEKİLER ABİS Nedir?... 2 Sistem Gereksinimleri...

Detaylı

Usta Aritmetik Bayi Kontrol Programı Kullanım Kılavuzu (V.1.3.0)

Usta Aritmetik Bayi Kontrol Programı Kullanım Kılavuzu (V.1.3.0) Usta Aritmetik Bayi Kontrol Programı Kullanım Kılavuzu (V.1.3.0) A. Öğretmen Girişi a b c d B. Ana Menü a. Kullanıcı bilgisi : Bu alana yazılacak bilgiyi size Usta Aritmetik firması sağlamaktadır. b. Şifre

Detaylı

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ Değişkenler PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ C# Programlama Dili Giriş Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder. Tanımlanan her değişkene bellek bölgesinden bir alan

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

24 Kasım 2011 / Perşembe

24 Kasım 2011 / Perşembe 24 Kasım 2011 / Perşembe Evde yüklemek için ServisPack1 yükleniyor.daha sonra Ajax Kontrol Toolkit i yüklüyoruz. 2008 için 3,5 olanı yüklenecek. Geçen hafta nasıl yükleneceği anlatıldı. TextBox1 ve ToolkitScriptManager

Detaylı

Klavyeden Basit Giriş/Çıkış İşlemleri

Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada

Detaylı

SQL Uyarı Programı Kurulum ve Kullanımı

SQL Uyarı Programı Kurulum ve Kullanımı SQL Uyarı Programı Kurulum ve Kullanımı Kurulum 1. SQL Uyarı.zip dosyası açılır. 2. SQL Uyarı.exe programı çalıştırılır. 3. Üstteki ekran açılır ok. Butonuna basılır. 4. Ayarlar ekranı seçilir. 4.1 Server

Detaylı

EXCEL DE ARİTMETİKSEL İŞLEMLER

EXCEL DE ARİTMETİKSEL İŞLEMLER EXCEL DE ARİTMETİKSEL İŞLEMLER Toplama İşlemi. Bu İşlemleri yapmadan önce ( toplama- Çıkarma Çarpma-Bölme ve formüllerde) İlk önce hücre İçerisine = (Eşittir) işareti koyman gerekir. KDV HESAPLARI ÖRNEK;

Detaylı

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA 6. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN apaydin@beun.edu.tr EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu ALGORİTMA ÖRNEK1: İki sayının toplamı

Detaylı

MS Excel. Excel Microsoft Office in bir parçasını oluşturur. Office 2007, Office 2010, Office 2013, Office 2016

MS Excel. Excel Microsoft Office in bir parçasını oluşturur. Office 2007, Office 2010, Office 2013, Office 2016 MS Excel Elektronik tablolama veya hesaplama programı olarak da adlandırılan Excel, girilen veriler üzerinde hesap yapabilme, tablolar içinde verilerle grafik oluşturma, verileri karşılaştırıp sonuç üretebilme

Detaylı

Bilgisayar Programlama

Bilgisayar Programlama Bilgisayar Programlama M Dosya Yapısı Kontrol Yapıları Doç. Dr. İrfan KAYMAZ Matlab Ders Notları M-dosyası Genel tanıtımı : Bir senaryo dosyası (script file) özel bir görevi yerine getirmek için gerekli

Detaylı

2- Kontrol Sil... 17. 3-En Öne Getir... 13 4-En Arkaya Gönder... 13 4.5.8.2 Resim... 14. 1-Özellikler:... 18 Genel Özellikler...

2- Kontrol Sil... 17. 3-En Öne Getir... 13 4-En Arkaya Gönder... 13 4.5.8.2 Resim... 14. 1-Özellikler:... 18 Genel Özellikler... i İçindekiler Kullanıcı Giriş Ekranı... 1 Ana Sayfa... 2 1-Projeler... 3 1.1 Yeni Proje... 3 1.2 Proje Düzenle... 3 1.3 Proje Sil... 3 1.4 Listeyi Güncelle.... 3 2-Gruplar... 4 2.1.1 Grup Adı.... 5 2.1.2

Detaylı

Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması

Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması 1 Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması Problem Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklar ve çatışmalar problem olarak değerlendirilir. Bu durumdaki

Detaylı

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. DAO İLE SQL KOMUTLARI Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. SQL-1 SELECT En basit SQL cümleciği oluşturmak için SELECT sözcüğü

Detaylı

7. BELGEYE RESİM EKLEME, YAZIM ve ÇİZİM ÖZELLİKLERİ

7. BELGEYE RESİM EKLEME, YAZIM ve ÇİZİM ÖZELLİKLERİ BÖLÜM 7 7. BELGEYE RESİM EKLEME, YAZIM ve ÇİZİM ÖZELLİKLERİ 7.1. Belgeye Resim Eklemek Word programı; belgelere kendi içindeki resim galerisinde bulunan resimleri veya başka programlarda düzenlenmiş resimleri

Detaylı

Word 2007 - Otomatik Düzelt

Word 2007 - Otomatik Düzelt Word 2007 - Otomatik Düzelt Otomatik düzelt penceresinin anlatılması OTOMATİK DÜZELT PENCERESİ OTOMATİK DÜZELT Otomatik Düzelt penceresine iki yoldan ulaşabiliriz. 1. Microsoft Office Düğmesi > Word Seçenekleri

Detaylı

adres //aliatalay.net ĠSTATĠSTĠK 1. SINIF VĠSUAL 2008 BASĠC ders notlarının bir kısmı 1 Algoritma Nedir?

adres //aliatalay.net ĠSTATĠSTĠK 1. SINIF VĠSUAL 2008 BASĠC ders notlarının bir kısmı 1 Algoritma Nedir? adres //aliatalay.net ĠSTATĠSTĠK 1. SINIF VĠSUAL 2008 BASĠC ders notlarının bir kısmı 1 Algoritma Nedir? Bilgisayarda yada kağıt ortamında problemi çözebilmek için gerekli mantıksal adım olarak tarif edebiliriz.

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 11-14 May. 2014 Form Form İşlemleri Tarayıcıdan bilgi alarak işlem gerçekleştirme FORM elemanları

Detaylı

EXCEL 2007 ELEKTRONİK ÇİZELGE

EXCEL 2007 ELEKTRONİK ÇİZELGE EXCEL 2007 ELEKTRONİK ÇİZELGE Excel, Microsoft Office paketinde yer alan ve iş hayatında en sık kullanılan programlardandır. Bir hesap tablosu programıdır. Excel, her türlü veriyi (özellikle sayısal verileri)

Detaylı

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI 1) Aşağıdaki seçeneklerin hangisinde PHP kod yazımı doğru olarak verilmiştir? A) B) C).. D) 2) PHP ile hazırlanmış

Detaylı