Root > Documents > Web Güvenlik Açıkları > Visual Basic Informations -2-
Cyber-Warrior.Org \ Doküman \ Web Güvenlik Açıkları > Visual Basic Informations -2-
Madde
  Yazar : neohack
  Date : 23.07.2005 02:16:22
 
# Visual Basic Informations -2-
 

Visual Basic Giris Bilgileri - 2   

Simdi deminki text ve caption özelligi text,label ve biraz if-then kalibina giris yapmistik. Simdi Windows için önemli olan “CommandButton” a bir göz atalim;

    CommandButton adindan da belli olacagi gibi bir komut uygulama butonudur. Ilk seçip formumuzun üzerine koyduktan sonra, basligi ve komutlarda kullanacagimiz ismi “Command1” olarak gözükür bunu degistirmek için ayni labeldeki gibi properties bölümünden “caption” özelligini degistirebiliriz.

 -- Style -- özelligi;

Bu özellik CommandButton da resim olup olmayacagina karar verir.

0        ise üzerinde, Properties bölümündeki Caption özelligi ile belirlenen yazi bulunur.

1        ise üzerinde Properties bölümünden konumu secilecek olan “Picture” özelligi ile belirlenen icon veya resim bulunur.

-- DownPicture -- özelligi;

Bu özellik ile komut dügmesine basili iken gösterilecek resim belirlenir.

-- Default -- özelligi;

Bu özellik bölümünden “True” seçili ise, o dügmenin bulundugu form üzerinde “Enter” a basilmasi halinde o dügmeye tiklanmis olur.

    Biraz da “MsgBox” hakkinda bilgi edinelim ve örnek bi program yazalim..

MsgBox;

    MsgBox adindan da anlasilabilecegi gibi mesaj kutusu anlcyber-port.netgelir. Simdi bu MsgBox lara özellikle Windows hatalarindan hiç de yabanci degiliz. Mesela bi oyun yükledik ve tam açiyoruz dann!! Bi msgbox “please insert correct CD” neymis crack yüklemeyi unutmusuz. Herneyse bu ve bunun gibi birçok msgbox larla karsilasiriz. Bir forma MsgBox koyabiliriz. Tabiiki bu isinde her is gibi incelikleri var. Iconu “X” mi olsin “?” mi olsun veya seçenekleri “Evet-Hayir” olsun, “Durdur-YenidenDene-Yoksay” olsun veya sadece “Tamam” olsun.. Sonuncusu da hangi tus aktif olsun, mesela; evet-hayirli bisey çikti kullanici evet aktif olsun ve kullanici entera basinca evet demis olsun.. bunun gibi ve bu özelligi istersek belirlemeyiz yani bize kalmis. Simdi gelelim bunlari nasil yapicagimiza;

    Mesela bombos bi form açalim ve kodlar bölümüne forma çift tiklayarak girelim;

“Private Sub Form_Load()” yazar. Listeden en alttaki “Unload” i seçelim ve yeni kodlar;

“Private Sub Form_Unload(Cancel As Integer)” olucak bu kodun anlami “çikarken” demektir. Yani biz kullanici programdan çikarken mi MsgBox ciksin diye bi kod yazicaz.

Hemen “Private Sub Form_Unload(Cancel As Integer)” in altina ekleyelim;

“ MsgBox ("Hadi Görüsürüz Askim") “ (msj i kendiniz belirleyebilirsiniz.) yani tam kod bu sekilde olucak;

Private Sub Form_Unload(Cancel As Integer)

MsgBox ("Hadi Görüsürüz Askim")

End Sub

    Bu kodlar en basiti ince olaylari daha yazmadik, yani bi iconu falan yok. Eger icon veya bi seçenek koyacak olursak su kodlari veya numaralari aklimizda tutalim;

-----Seçenek----- kod ve numaralari-----

0     vb*kOnly     (sadece “Tamam” seçenegi)

1     vb*kCancel     (“Tamam” ve “Iptal” seçenekleri)

2     vbAbortRetryIgnore     (“Durdur”,”Yeniden Dene” ve “Yoksay” seçenekleri)

3     vbYesNoCancel     ( “Evet”,”Hayir” ve “Iptal” seçenekleri)

4     vbYesNo     (“Evet” ve “Hayir” seçenekleri)

5     vbRetryCancel     (“Yeniden Dene” ve “Iptal” seçenekleri)

-----Icon-----kod ve numaralari-----

16     vbCritical     (Hata iconu)

32     vbQuestion     (Soru iconu)

48     vbExclamation     ( “!” isareti olan icon)

64     vbInformation     (Bilgi iconu)

-----Aktiflik (varsayilan dügme)-----kod ve numaralari-----

0     VbDefaultButton1     (1. Dügme Aktif)

256     VbDefaultButton2     (2. Dügme Aktif)

512     VbDefaultButton3     (3. Dügme Aktif)

 

    Simdi bu tabloya göre hem kodlar var hem numaralar yani hem kodu yazsak hem de kod yerine numarayi yazsak bir sey fark etmez. Ince ayarlari da ögrendigimize göre ince ayari olan bi kod yazalim;

Private Sub Form_Unload(Cancel As Integer)

MsgBox ("Çikmak istediginizden emin misiniz?"), 4 + 32 + 0

End Sub

MsgBox mesaji yazildiktan sonra  tirnak ve parantez kapatilip virgül koyularak ince ayarlara girebiliriz. Örnekte kodlar numaralariyla birlikte yazilmistir. 4; seçeneklerin “Evet-Hayir” odugunu belirler. 32; bir soru (Question) iconu olmasini saglar. 0 ise; 1. butonun aktif olmasini saglar. Numaralariyla birlikte yazdigimiz gibi kodlariyla da yazabiliriz. Yani su sekilde olur;

Private Sub Form_Unload(Cancel As Integer)

MsgBox ("Çikmak istediginizden emin misiniz?") , vbYesNo + vbCritical + vbDefaultButton1

End Sub

     Simdi basit bir hesap makinesi yapalim;

2 tane Text, 2 tane Label ve 4 tane CommandButton a ihtiyacimiz olacak. Formumuzun üstüne 2 tane Text i, arasinda yaklasik 1cm bosluk kalacak sekilde yerlestirelim. Aralarinda kalan 1cm bosluga 1. Labeli koyalim, en sondaki Text2 nin yanina bosluk birakmadan Label2 yi koyalim. Bu siranin altina da 4 tane CommandButton yerlestirelim. Command1 i “+” olarak adlandiralim (properties menüsünün caption özelliginden) bu toplama islemini yapacak olan butonumuz. Command2 yi “-“ olarak adlandiralim bu çikarma islemini yapacak olan butonumuz. Command3 ü “*” olarak adlandiralim bu çarpma islemini yapacak olan butonumuz. Command4 ü “/” olarak adlandiralim ) bu bölme islemini yapacak olan butonumuz. Yazi boyutu küçük gelebilir, bunun için gene properties menüsündeki “Font” özelliginden yazinin boyutunu ve stilini ayarlayabiliriz.Dizayn bölümünü bitirdik.

    Simdi gelelim kodlara. Ilk önce mantigi açikliyim; Command1 e basilirsa Text1 ve Text2 toplansin, Label2 ye yazilsin. Command2 ye basilirsa Text1 den Text2 çikarilsin, Label2 ye yazilsin. Command3 e basilirsa Text1 ve Text2 çarpilsin, Label2 ye yazilsin. Command4 e basilirsa Text1 Text2 ye bölünsün, Label2 ye yazilsin. Birde sayilarin söz konusu oldugu text lerde parantezden önce “Val” komutu girilmesi gerekir ki, çikabilecek bir hata giderilsin. Kodlari yazmaya Command1 click olayiyla baslayalim, kodlara geçmek için Command1 e çift tiklayalim;

Private Sub Command1_Click()

Label1 = "+"

Label2 = Val(Text1) + Val(Text2)

End Sub

 

Not: Label1 = "+" komutuyla

Command1 e tiklandiginda  2 Text arasina koydugumuz “Label1” in “+” olmasini sagladik. Forma dönelim ve “Command2” ye çift tiklayarak kodlara devam edelim;

Private Sub Command2_Click()

Label1 = "-"

Label2 = Val(Text1) - Val(Text2)

End Sub

 

Simdi Command3 ü hazirlayalim;

Private Sub Command3_Click()

Label1 = "*"

Label2 = Val(Text1) * Val(Text2)

End Sub

 

Simdi de Command4 e geçelim;

Private Sub Command4_Click()

Label1 = "/"

Label2 = Val(Text1) / Val(Text2)

End Sub

 

Simdi hesap makinemiz hazir, biraz da forma MsgBox ekleyelim; mesela sayi girmeden islem yaparsa uyarici bi MsgBox ayarlayalim. Bunun için her Command Click olayina su kodu ekliycez;

If  Text1 = "" Or Text2 = "" Then

MsgBox ("Sayi giriniz!"), vbExclamation

End If

 

Mantigi söyledir; eger Text1 veya Text2 bos olursa MsgBox çiksin. Tüm kodlar su sekilde olucak;

Private Sub Command1_Click()

If  Text1 = "" Or Text2 = "" Then

MsgBox ("Sayi giriniz"), vbExclamation

End If

Label1 = "+"

Label2 = Val(Text1) + Val(Text2)

End Sub

Private Sub Command2_Click()

If  Text1 = "" Or Text2 = "" Then

MsgBox ("Sayi giriniz"), vbExclamation

End If

Label1 = "-"

Label2 = Val(Text1) - Val(Text2)

End Sub

Private Sub Command3_Click()

If  Text1 = "" Or Text2 = "" Then

MsgBox ("Sayi giriniz"), vbExclamation

End If

Label1 = "*"

Label2 = Val(Text1) * Val(Text2)

End Sub

 

Private Sub Command4_Click()

If  Text1 = "" Or Text2 = "" Then

MsgBox ("Sayi giriniz"), vbExclamation

End If

Label1 = "/"

Label2 = Val(Text1) / Val(Text2)

End Sub

   
   
Cyber-Warrior TIM All Legal and illegal Rights Reserved.\CWDoktoray 2001©