visual basic’de verİ İŞİ inputbox() ile veri...
TRANSCRIPT
1
INPUTBOX() ile Veri GiriINPUTBOX() ile Veri GirişşiiYapYapııssıı : :
VB’DE PROGRAMA VERİ GİRİŞİ İÇİN INPUTBOX() FONKSİYONU KULLANILIR. INPUTBOX FONKSİYONU AKT İF FORMDAN BAĞIMSIZ OLARAK B İR DİYALOG KUTUSU İÇİNDE KULLANICININ DI ŞARIDAN VERİGİRİŞİNE İMKAN VERİR.
VISUAL BASIC ’DE VER İ GİRİŞİ VE EKRAN MESAJLARI
Değişken adıVeri Giriş Kutusu Gövdesindeki Mesaj
Veri Giriş Kutusu Başlığı (Caption)
Default DeğerForm Üzerindeki Konum (0,0) sol üst köşe
2
MSGBOX() ile MESAJ YAZMAKMSGBOX() ile MESAJ YAZMAK
YapYapııssıı : :
PEOGRAMIN ÇALIŞMASI SIRASINDA KULLANICIYA BELİRLİ DURUMLARDA BİR DİYALOG KUTUSU İLE MESAJ VERMEK İÇİN MSGBOX DEYİMİ VEYA MSGBOX() FONKSİYONU KULLANILIR. FONKSİYON PROGRAMA BİR DEĞER DÖNDÜRÜR. KULLANICINN SEÇİMİNE BAĞLI OLARAK DEĞİŞEN İŞLEM YAPILACAKSA MSGBOX() FONKSİYONU KULLANILIR.
Prompt
Proje Adı
vbMsg = MsgBox("Program Sonlandirildi...", vbInformation)MsgBox("Program Sonlandirildi...")
3
vbMsg = MsgBox("Devam Etmek Istiyor musunuz? (Y/N)", vbQuestion + vbYesNo, "Program Sonu")If vbMsg=vbYes Then Exit SubIf vbMsg = vbNo Then End
MESAJ KUTUSU ÜZERİNDE TIKLANAN BUTONA GÖRE PROGRAM YÖNLENDİRİLEBİLİR.
vbMsg = MsgBox("Devam Etmek Istiyor musunuz? (Y/N)", vbQuestion + vbYesNo+vbDefaultButton2, "Program Sonu")
MESAJ KUTUSU ÜZERİNDEKİ DEFAULT BUTON ÖNCEDEN SEÇİLEBİLİR.
4
vbQuestion
vbExclamation
vbCritical
vbInformation
vbOKOnly
vbYesNo
vbOkCancel
vbYesNoCancel
MESAJ BUTONU DÜZENLEMELERİ
5
Bir Visual Basic Bir Visual Basic ProgramProgramıınnıın Yapn Yapııssıı
Bir proje Bir proje şşu birimlerden oluu birimlerden oluşşur.ur.
�� Bir proje dosyasBir proje dosyasıı.. BBüüttüün elemanlarn elemanlarıı takip etmeyi satakip etmeyi sağğlayan layan bu dosyanbu dosyanıın uzantn uzantııssıı vbpvbp’’dir.dir.
�� Her form iHer form iççinin bir frm dosyasbir frm dosyasıı
�� HHer formun er formun öözellikleri izellikleri iççin in binarybinary (ikili) bir dosya(ikili) bir dosya
�� Her class modulu iHer class modulu iççin in bir cls dosyasbir cls dosyasıı ( se( seççenek)enek)
�� Her standart modHer standart modüül il iççin in bir bas dosyasbir bas dosyasıı (se(seççenek)enek)
Bir Visual Basic programı bir proje olarak geliştirilir. Proje vbp uzantılı bir dosyadır. Proje içinde form (frm) ve modül (bas) gibi diğer bileşenler yer alır.
6
Proje ve elemanlarProje ve elemanlarıı
7
Formlar ve ModFormlar ve Modüüller ller
Visual BasicVisual Basic’’te kodlarte kodlarıın n yazyazııldldığıığı ve saklandve saklandığıığı üçüç ttüür r modmodüül vardl vardıır:r:
Form Modül Class modülüStandart modül
VISUAL BASIC KODU MODÜL İÇİNDE
SAKLANIR
8
Form ModForm Modüülleri lleri Form modülleri ( .FRM ) bir Visual basic uygulamasının temelini oluşturur. Form modülleri olay yordamlarını (kodlar), genel yordamları ve form düzeyindeki veri tanımlamalarını içerir.
9
Standart modStandart modüüllerller
BAS dosya uzantılı olan Standart modüller
• Uygulama içerisindeki diğer modüllerden de ulaşılabilen (global) ya da
• Modül düzeyindeki tanımlamaları içerirler.
Burada yazılan kodlar belirli bir uygulamaya ait olmak zorunda değildir. Standart modüller birçok uygulama tarafından kullanılabilir.
10
Class modClass modüüllerller
CLS dosya uzantılı olan Class modüllerde yazılan kodlarla yeni nesneler yaratılır. Bu nesneler kendi özel metot ve özelliklerine sahiptirler.
Class’lar program içinde kullanılan birimlerdir. VB kontrolleri de birer Class’tır.
11
DeDeğğiişşkenlerkenler�� DeDeğğiişşkenler program ikenler program iççinde kullaninde kullanıılan saylan sayıısal ve alfansal ve alfanüümerik demerik değğerleri, erleri,
bilgileri, sonubilgileri, sonuççlarlarıı hafhafıızada tutabilmek izada tutabilmek iççin kullanin kullanıılan adresleri temsil ederler.lan adresleri temsil ederler.�� VBVB’’de sayde sayıısal, alfansal, alfanüümerik, mantmerik, mantııksal, tarih gibi bilgileri atamak iksal, tarih gibi bilgileri atamak iççin farklin farklıı
tiplerde detiplerde değğiişşkenler tankenler tanıımlanabilir.mlanabilir.�� DeDeğğiişşkenin kenin kullankullanıılmadan lmadan öönce nce tantanıımlanmasmlanmasıı hafhafıızada ayrzada ayrıılacak haflacak hafııza za
miktarmiktarıınnıın belirli olmasn belirli olmasıınnıı sasağğlarlar..�� DeDeğğiişşkenlerin mutlaka bir adkenlerin mutlaka bir adıı ve tipi vardve tipi vardıır.r.�� DeDeğğiişşken tanken tanıımlamada mlamada ImplicitImplicit ve ve ExplicitExplicit olmak olmak üüzere iki farklzere iki farklıı yyööntem ntem
bulunmaktadbulunmaktadıır. Bir der. Bir değğiişşken ken öönceden tannceden tanıımlanmadan demlanmadan değğer atamaser atamasıı yapyapııllıır r ise buna ise buna İİmplicit ymplicit yööntem adntem adıı verilir. verilir.
R=12.4R=12.4A=3.1415*R^2A=3.1415*R^2
�� DeDeğğiişşkenler kullankenler kullanıılmadan lmadan öönce tannce tanıımlanmlanıır ise bu yr ise bu yöönteme nteme ExpliciExplici t yt yööntem ntem adadıı verilir. Bu tanverilir. Bu tanıımlama Dim deyimi ile demlama Dim deyimi ile değğiişşken kullanken kullanıılmadan lmadan öönce yapnce yapııllıır.r.
Dim R, ADim R, AR=12.4R=12.4A=3.1415*R^2A=3.1415*R^2
12
Veri Tipleri Veri Tipleri
ByteByte
BooleanBoolean
CurrencyCurrency
DateDate
DoubleDouble
IntegerInteger
LongLong
ObjectObject
SingleSingle
StringString
VariantVariant
Visual Basic’de farklı veri tipleri ile işlem yapmak mümkündür. Değişken tanımlamalarında veri tipi önceden belirtilir ise ilgili değişken için hafızadaki yer önceden rezerve edilmişolur.
Dim R As DoubleDim n As Integer
VERİ TİPLERİ
13
ÖÖrnek :rnek :Private Sub Form_Load()Private Sub Form_Load()
Dim Dim AdAd, Soyad, Soyad As As StringStringDim Dim MaasMaas As As CurrencyCurrencyDim Dim D_tarihiD_tarihi As As DateDateDim Dim AdresAdres As As StringStringDim Dim SiraSira As As IntegerInteger......
End SubEnd Sub
Burada gBurada göörmrmüüşş olduolduğğunuz gibi unuz gibi 66 adet degiadet degişşken ken tipi ile tipi ile birlikte birlikte tantanıımlanmaktadmlanmaktadıır.r.
�� AdAd, Soyad, Soyad dedeğğiişşkenkenlerileri string string (Alfan(Alfanüümerik) merik) tipinde tipinde dedeğğiişşkenkenlerdirlerdir..
�� MaaMaaşş dedeğğiişşkeni Currency tipinde bir dekeni Currency tipinde bir değğiişşkendir.kendir.�� D_tarihi deD_tarihi değğiişşkeni Date tipinde bir dekeni Date tipinde bir değğiişşkendir.kendir.�� Adres deAdres değğiişşkeni string tipinde bir dekeni string tipinde bir değğiişşkendir.kendir.�� Sira deSira değğiişşkeni integer tipinde bir dekeni integer tipinde bir değğiişşkendir. kendir.
14
Veri TipiVeri Tipi BoyutBoyut TanTanıım Aralm Aralııkk
ByteByte 1 byte1 byte 00--255255
IntegerInteger 2 byte2 byte --32768 ile 3276732768 ile 32767
LongLong 4 byte4 byte --2147483648 ile 21474836472147483648 ile 2147483647
SingleSingle 4 byte4 byte Negatif DeNegatif Değğerler: erler: --3.402823E38 ile 3.402823E38 ile --1.401298e1.401298e--45 45
Pozitif DePozitif Değğerler: 1.401298eerler: 1.401298e--45 ile3.402823E3845 ile3.402823E38
DoubleDouble 8 byte8 byte Negatif DeNegatif Değğerler: erler: --1.79769313486232E308 ile 1.79769313486232E308 ile 4.94065645841247E4.94065645841247E--324324
Pozitif DePozitif Değğerler: 4.94065645841247Eerler: 4.94065645841247E--324 ile324 ile
1.79769313486232E3081.79769313486232E308
CurrencyCurrency 8 byte8 byte --922337203685477.5808 ile 922337203685477.5807922337203685477.5808 ile 922337203685477.5807
StringString 10 byte10 byte 0 ile 2 milyar aras0 ile 2 milyar arasıında karakter atanabilirnda karakter atanabilir
BooleanBoolean 2 byte2 byte True veya FalseTrue veya False
DateDate 8 byte8 byte 1 Ocak 100 ile 31 Aral1 Ocak 100 ile 31 Aralıık 9999 k 9999
VariantVariant 16 byte16 byte TTüüm verileri ifade edebilirm verileri ifade edebilir
15
IntegerIntegerVisual BasicVisual Basic’’te te tam saytam say ıı degidegişşkenleri tankenleri tanıımlamak imlamak iççin kullanin kullanııllıır. Hafr. Hafıızada zada
2 byte2 byte yer kaplarlar. yer kaplarlar. Alabilecegi deAlabilecegi değğer araler aralıığğıı ––32768 ile +32767 aras32768 ile +32767 arasıındadndadıır.r.DDeeğğiişşkenin sonunda kenin sonunda %% karakteri bulunuyorsa bu degikarakteri bulunuyorsa bu degişşken integer ken integer
tipindedir. tipindedir. �� ÖÖrnek :rnek :
Private Sub Form_Load()Private Sub Form_Load()Dim Maas As IntegerDim Maas As IntegerOran% = 100Oran% = 100A_sayA_sayıı = 100= 100B_sayB_sayıı = Oran*A_say= Oran*A_sayııC_sayC_sayıı = B_say= B_sayıı + A_say+ A_sayıı –– 10001000Maas= 32767Maas= 32767
End SubEnd Sub
UYARIUYARI : : EEğğer er buradaburada tantanıımlanan demlanan değğiişşkenlere daha bkenlere daha büüyyüük sayk sayıılar lar
atanatanıırsa rsa overflowoverflow hatashatasıı oluoluşşur.ur.
16
LongLong
Daha bDaha büüyyüük bir aralk bir aralııkta integer yani kta integer yani tamsaytamsayıı tantanıımlamak mlamak iiççin kullanabilecegimiz bir veri tipidir. Hafin kullanabilecegimiz bir veri tipidir. Hafıızada zada 4 byte4 byteyer kaplar. yer kaplar.
KullanKullanıılabilecek ulabilecek uçç degerler +2,147,483,647 ile degerler +2,147,483,647 ile --2,147,483,648 dir. 2,147,483,648 dir.
Long tipinde bir degiLong tipinde bir degişşken tanken tanıımlamak imlamak iççin degiin degişşken ken sonunda sonunda && karakterini kullanabiliriz. karakterini kullanabiliriz.
ÖÖrnek :rnek :
Private Sub Form_Load()Private Sub Form_Load()Dim Bolum As LongDim Bolum As LongBBoolluum=50000 m=50000 CCııkan&=600000kan&=600000Kalan& = (Kalan& = (CCııkan / Bkan / Boolluum ) * 10000m ) * 10000
End SubEnd Sub
17
SingleSingle
Tam sayTam sayıı olmayan kolmayan küüssüüratlratlıı saysayıılar ilar iççininkullanabilecegimiz bir veri tipidir. Kayankullanabilecegimiz bir veri tipidir. Kayan--noktalnoktalıı saysayııolarak isimlendirilir. olarak isimlendirilir.
Single tipindeki veriler bellekte Single tipindeki veriler bellekte 4 byte4 byte yer kaplarlar.yer kaplarlar.NeNeggatif sayatif sayıılar ilar iççin alabilecegi aralin alabilecegi aralıık k --3.402823E38 ile 3.402823E38 ile ––
1.401298E1.401298E--45 ,45 ,pozitif saypozitif sayıılar ilar iççin alabilecegi aralin alabilecegi aralıık 1.401298Ek 1.401298E--45 ile 45 ile
3.402823E38 aras3.402823E38 arasıındadndadıır.r.Single tipinde veri tanSingle tipinde veri tanıımlamak imlamak iççin degiin degişşken sonuna ken sonuna !!
karakteri konur. karakteri konur. 7 hane7 haneye kadar hassastye kadar hassastıır.Daha sonrasr.Daha sonrasııyuvarlatyuvarlatııllıır. r.
ÖÖrnek :rnek :Private Sub Form_Load()Private Sub Form_Load()
BBööllüüm=50000 m=50000 CCııkan!=600000kan!=600000
End SubEnd Sub
18
DoubleDoubleVisual BasicVisual Basic’’te kullante kullanıılabilecek labilecek en ben büüyyüük sayk sayıısal sal
degerlerin veri tipidirdegerlerin veri tipidir. . HafHafıızada zada 8 byte8 byte yer kaplarlar. yer kaplarlar. 16 hane16 haneye kadar ye kadar
hassasthassastıırlar. rlar. Maximum alabilecegi degerler pozitif sayMaximum alabilecegi degerler pozitif sayıılar ilar iççin in
4.94065645841247E4.94065645841247E--324 ile 1.797693134862232E308324 ile 1.797693134862232E308neneggatif sayatif sayıılar ilar iççin de in de --1.797693134862232E308 ile 1.797693134862232E308 ile --
4.94065645841247E4.94065645841247E--324 aras324 arasıındadndadıır. r. ## sembsembööllüü ile double tipinde degiile double tipinde degişşkenler tankenler tanıımlanabilir mlanabilir ÖÖrnek :rnek :
Private Sub Form_Load()Private Sub Form_Load()DarDarii=50000 =50000 Bugday=600000Bugday=600000Arpa=340.56Arpa=340.56
End SubEnd Sub
19
CurrencyCurrencySaySayıısal tipdeki veriler isal tipdeki veriler iççin tanin tanıımlanmmlanmışış öözel bir veri tipizel bir veri tipidir.dir.HafHafıızada zada 8 byte8 byte yer kaplarlar. yer kaplarlar. 4 hane ondal4 hane ondalıık kk kıısmsmıı olmak olmak üüzere toplam 19 haneden oluzere toplam 19 haneden oluşşurur
(nokta hari(nokta hariçç) ) ..Alabilecegi maximum degerler Alabilecegi maximum degerler --922,337,203,685,477.5808 922,337,203,685,477.5808
ile 922,337,203,685,477.5807 arasile 922,337,203,685,477.5807 arasıındadndadıır. r. @@ sembolsembolüü ile ile Currency tipinde deCurrency tipinde değğiişşkenken’’ler tanler tanıımlanabilirler. mlanabilirler.
ÖÖrnek :rnek :Private Sub Form_Load()Private Sub Form_Load()Dim MaasDim Maas, Borc, Borc As Currency As Currency Maas = 500000000 Maas = 500000000 Borc = 68000000Borc = 68000000Zayi@ = 340000.56Zayi@ = 340000.56
End SubEnd Sub
20
DateDate
Tarih tTarih tüürrüündeki bilgilerndeki bilgileri kullanmak ii kullanmak iççin oluin oluşşturulmuturulmuşşbir veri tipidir. bir veri tipidir.
HafHafıızada zada 8 byte8 byte yer kaplarlar. 1 Ocakyer kaplarlar. 1 Ocak 100100 ile 31 Aralile 31 Aralıık k 9999 aras9999 arasıındaki tarihleri kullanabilirsiniz. ndaki tarihleri kullanabilirsiniz.
ÖÖrnek :rnek :Private Sub Form_Load()Private Sub Form_Load()
Dim Dogum_tarihiDim Dogum_tarihi, , Evlenme_TarihiEvlenme_Tarihi,Bugun,Bugun As DateAs DateDogum_tarihi =Dogum_tarihi =““23/05/199023/05/1990””Evlenme_Tarihi=Evlenme_Tarihi=““02,June,200502,June,2005””Bugun=Date Bugun=Date ‘‘veya saat ile birlikte Nowveya saat ile birlikte NowPrint BugunPrint Bugun
End SubEnd Sub
21
BooleanBoolean
MantMantııksal veri tipleriksal veri tipleri iiççin kullanin kullanııllıır. r. İİki seki seççenekten birisini alabilir.Bunlar enekten birisini alabilir.Bunlar True veya FalseTrue veya False degerleridir. degerleridir. Bellekte Bellekte 2 byte2 byte yer iyer işşgalgal eder.eder.
ÖÖrnek :rnek :Private Sub Form_Load()Private Sub Form_Load()
Dim DurumDim Durum, Duyum, Duyum As BooleanAs BooleanDurum = TrueDurum = TrueDuyum = FalseDuyum = False
End SubEnd Sub
22
StringStringMetin tMetin tüürrüü bilgileribilgileri saklamak isaklamak iççin in kullankullanıılabilecek veri tlabilecek veri tüürrüüddüür. 16 bitlik versiyonda r. 16 bitlik versiyonda 0 ile 65538 aras0 ile 65538 arasıında , 32 bitlik versiyonda ise 0 nda , 32 bitlik versiyonda ise 0 ile 2,000,000,000 arasile 2,000,000,000 arasıında karakter alabilir. nda karakter alabilir. String tString tüürrüünde deginde degişşken tanken tanıımlamak imlamak iççin in $$sembolsembolüü kullankullanııllıır. r.
ÖÖrnek :rnek :Private Sub Form_Load()Private Sub Form_Load()
Dim AdiDim Adi,, Soyadi As StringSoyadi As StringAdAdıı ==””KemalKemal””SoyadSoyadıı = = ””TasTas””No$="1323970067"No$="1323970067"
End SubEnd Sub
23
DeDeğğiişşken adlandken adlandıırrıılmaslmasııyla yla iliilişşkin kurallarkin kurallar
�� Bir harf ile baBir harf ile başşlamallamalııddıır.r.
�� Nokta iNokta iççermezler.ermezler.
�� 255 karekterden fazla olmazlar. ( Kontrol adlar255 karekterden fazla olmazlar. ( Kontrol adlarıı, , form adlarform adlarıı, class ve mod, class ve modüül adlarl adlarıı 40 karekteri 40 karekteri gegeççmez)mez)
�� Bir Visual Basic deyimi adlandBir Visual Basic deyimi adlandıırmada rmada kullankullanıılmaz.lmaz.
�� Kapsama alanKapsama alanıı iiççinde tek olmalinde tek olmalııddıır.r.
24
DeDeğğiişşkenleri nerede kenleri nerede tantanıımlamalmlamalııyyıız?z?
�� DeDeğğiişşkeni bir formun, standart keni bir formun, standart modmodüüllüünnüün Declarations bn Declarations bööllüümmüünde nde tantanıımlamak. mlamak.
�� Bir deBir değğiişşken Public sken Public söözczcüüğğüü ile ile tantanıımlamak onu tmlamak onu tüüm uygulama m uygulama taraftarafıından kullanndan kullanıılabilir yapar.labilir yapar.
�� Yerel bir deYerel bir değğiişşkenin Static skenin Static söözczcüüğğüütantanıımlama onun imlama onun iççerieriğğinin inin procedureprocedure’’in sonlanmasin sonlanmasıına rana rağğmen men ssüürmesine neden olur.rmesine neden olur.
25
Visual Basic Projesi
(Public X as Integer de kullanılabilir)
Standart Modüle (*.bas) dosyası(Project/Add Module)
26
Yerel DeYerel Değğiişşkenlerin kenlerin TanTanıımlanmasmlanmasıı
�� Static deyimi ile tanStatic deyimi ile tanıımlanan yerel demlanan yerel değğiişşkenler kenler program program ççalalışışttığıığı ssüürece bellekte kalrece bellekte kalıırlar ve rlar ve istenildiistenildiğği zaman kullani zaman kullanıılabilirler.labilirler.
�� Dim deyimi ile procedDim deyimi ile procedüürler irler iççerisinde tanerisinde tanıımlanan mlanan yerel deyerel değğiişşkenler ise procedure kenler ise procedure ççalalışışttığıığı ssüüre re iiççinde bellekte kalinde bellekte kalıırlar, prosedrlar, prosedüür r ççalalışışttııktan sonra ktan sonra hafhafıızadan silinirler.zadan silinirler.
27
SabitlerSabitler
�� Sabitler, sahip olduklarSabitler, sahip olduklarıı dedeğğerler ile kullanderler ile kullandığıığımmıız z bilgi tanbilgi tanıımlamalarmlamalarııddıır.r.
�� ÖÖzellikle belli (bilinen) dezellikle belli (bilinen) değğerlerin kullanerlerin kullanıımmıınnıısasağğlar.lar.
�� KodlamayKodlamayıı ve kodun okunabilirlive kodun okunabilirliğğini ini kolaylakolaylaşşttıırrıır.r.
28
Örnek: Buton Clickleme Adedinin Sayılması
Private Sub Command1_Click()ClsDim click_adet As Integerclick_adet = click_adet + 1Print "Tiklama Adedi="; click_adet
End Sub BAŞARISIZ
Private Sub Command1_Click()ClsStatic click_adet As Integerclick_adet = click_adet + 1Print "Tiklama Adedi="; click_adet
End Sub BAŞARILI
BAŞARILI
Form General Declerations
29
Sabitlerin TanSabitlerin TanıımlanmasmlanmasııConst AD [ As Tip]Const AD [ As Tip] = De= Değğerer
Const PI = 3.141592Const PI = 3.141592Const KATSAYI = 2.5Const KATSAYI = 2.5
Sabitlerin deSabitlerin değğeri bir sayeri bir sayıı ya da karakter olabileceya da karakter olabileceğği gibi bir i gibi bir ifade de olabilir.ifade de olabilir.
Const ALT_ORAN=3Const ALT_ORAN=3Const ORAN = Alt_ORAN * 2Const ORAN = Alt_ORAN * 2
Sabitlerin kapsamSabitlerin kapsamıı da deda değğiişşken kapsamken kapsamıı kurallarkurallarıına benzer. na benzer.
Programda değişmeyecek değerler Const (Sabit) tanımlaması ile tanımlanır. Bu değişkenlere daha sonra değer ataması yapılamaz.