![]() |
|
|
#1 (permalink) |
|
CSI USLANMAM
![]() ![]() |
Programlamanın temelini oluşturacak bu konuyu anlamadan geçmemeliyiz. Degişkenler bizim elimiz ayağımız olcacak.O yüzden dikkat!!
1-)Sabitler(Constants) Programın içinde değeri değişmeyen sabitlerdir.VB'de hazır bu tip değilşkenler olduğu gibi programı yazarken kendi ellerimizle de tanımlayabiliriz. <>02021013 seklindeki bir sabit bir tamsayı sabittir."MUTASYON" şeklindeki bir sabit ise string türü bir sabittir.String türü ifadeler sayisal işlemlere sokulmazlar.Değişkenleri elimizle tanımlarken code(yazilimi yazdigimiz pencere)penceresinin general(pencerenin sol köşesindeki listbox'a bak)kisminda olmalıyız.Bu programı yazdığınızda command1 butonuna tıkladığınızda text kutusunda bilgisayarak yazacaktır. Gördüğünüz gibi sabit değerleri general kısmında tanımladık.Sabit tanımlamak için mutlaka ihtiyacımız olan şeyler "const" ve sabitin ismi.Hemen aklınıza "o baştaki private ne oluyor?"diye soru gelecektir hemen cevaplıyay&yım Private ifadesini silin programın gene de çalıştığını göreceksiniz private ve public değişkenlerin etkili olacağı alanları belirlememizde işe yarar.Çoğu zaman private'yi kullanın çünkü standart.exe olarak açtığınız formlarda public işe yaramaz hata verir.Ya da hiç birini kullanmayın simdi ayrıntıyla anlatırsam işin başında kafalar karışır.2-)Değişkenler Program içerisinde değerleri sürekli olarak degişebilen veri yapısıdır. x=23 y=12 iken x=x+3 y=x+x dersek x ve y'nin değerlerini 26 ve 38 yaparak degiştirmiş oluruz.Yani bir değişkene yeni bir değer atanırsa eski değeri silinecektir. a-)Degişkenlere isim verme
Bu bölümde vb'de program yazarken programınızda kullanabileceğiiniz veri türleri tanıtılacaktır.variant: Bu tipte tanımlanmış bir değişkene herhangi bir tip’te veri yüklenebilir.Yani ne tür bir veri gireceğimizi bilmediğimiz degişkenlerde Variant kullanabiliriz.Ama dikkat!!Bu tür degişkenler hafizada 16 byte tan fazla yer kaplarlar. Örnek: Private Sub Form_Load() Dim Ad As Variant No As VariantDim Dogum As Variant Ad="Emre KUTLU" Tel="1112222222" Dogum=#Oct 25 1983#End Sub string: Matematiksel işlemlere sokulamayan veri tipidir.Iki string ifade arasındaki + isareti bu stringleri birleştir anlamına gelir. Örnek: Private Sub Form_Load() Const A=20 B=50Dim C As integer C=A+B End Sub Eger burada tanımlanan degişkenlere daha büyükk sayılar atanırsa overflow oluşur. long: Daha büyük bir aralıkta integer yani tamsayı tanımlamak için kullanabileceğiimiz bir veri tipidir. Hafizada 4 byte yer kaplar. Kullanılabilecek uç değerler +2 147 483 647 ile -2 147 483 648 dir.currency: Sayısal tipteki veriler için tanımlanmış bir veri tipidir.Hafizada 8 byte yer kaplarlar. 4 hane ondalık kısmı olmak üzere toplam 19 haneden oluşur.(nokta hariç) Alabileceği maximum degerler -922 337 203 685 477.5808 ile 922 337 203 685 477.5807 arasındadır.date: Tarih türündeki bilgileri kullanmak için oluşturulmuş bir veri tipidir. Hafizada 8 byte yer kaplarlar. 1 Ocak ile 31 Aralik 9999 arasındaki tarihleri kullanabilirsiniz Örnek: Private Sub Form_Load() Dim Dogum_tarihi As Date Olum_Tarihi As DateDogum_tarihi =#Oct 25 1955#Olum _Tarihi=#Oct 6 2002#End Sub boolean: Mantıksal veri tipleri için kullanılır. Iki seçenekten birisini(True False) alabilir.Bellekte 2 byte yer işgal ederler.byte: O ile 255 arasindaki tamsayıları ifade etmek için kullanılabilecek veri tipidir. Örnek Private Sub Form_Load() Dim A As Byte B As ByteA =23 B= 143 End Sub single: Tam sayı olmayan sayılar için kullanabileceğimiz bir veri tipidir.Single tipindeki veriler bellekte 4 byte yer kaplarlar. Negatif sayilar için alabileceği aralık -3.402823E38 ile –1.401298E-45 pozitif sayılar için alabileceği aralık 1.401298E-45 ile 3.402823E38 arasındadır.double: Visual Basic’te kullanılabilecek en büyük sayısal değerlerin veri tipidir. Hafızada 8 byte yer kaplarlar. 16 haneye kadar hassastırlar. Maximum alabileceği degerler pozitif sayılar için 4.94065645841247E-324 ile 1.797693134862232E308 negatif sayılar için de -1.797693134862232E308 ile -4.94065645841247E-324 arasındadır..Örnek: Private Sub Form_Load() DefDbl A-K Dari=50000 Bugday=600000 Arpa=340.56 End Sub b-)Tip bildirimi için DIM deyimi Iyi bir program oluşturmak için değişkenlerin tiplerini önceden bildirmek faydalı bir alışkanlıktır.Tip bildiriminde bulunulmazsa değişkenlerin tipi variant olarak atanır.Bu da gereksiz yer kaplamaya neden olur.Değişkenlerin tipini bildirmede alternatif bir yol Dim deyimini kullanmaktır.Dim x as integer gibi.Dim a b c d as double şeklindeki ifade sedece d'yi double olarak atayacak a b c değişkenleri ise variant olarak kalacaktır.Dogru kullanım ise: Dim A As Double B As Double C As Double D As Double şeklinde olmalıdır.c-)Zorunlu tip bildirimi VB'de tip bildirimi zorunlu değildir.Fakat yazılımcı isterse bunu zorunlu hale getirebilir.Bunun için şu adımlar izlenmelidir. Kod penceresi açılır. General declarations kısmı; seçilir. Bu bölüme option explicit yazılır. ![]() ve eğer degiskenleri tanımlamadıysanız programı da ohalde çalıştırdıysanız hata verecektir.![]() Aksi belirtilmediği sürece vb'de tanımlanan değişkenler sadece tanımlandıkları; prosedür (command1_click text1_change... bir prosedürdür)içinde geçerlidir.Bazi değişkenleri prosedürler arası; kullanmanız gerekebilir prosedürler arası değer alıp verme ihtimaliniz olabilir.Böyle durumlarda modül düzeyinde değişkenlere ihtiyaç vardır bu tip değişkenleri ancak general declarations kısmında tanımlayarak elde edebiliriz.![]() Aksi belirtilmediği sürece tanımladığıimiz değişkenler dinamiktir;yani olay prosedürün her çalışmasında(mesela her command1_click olduğunda)bir önceki işlem sonundaki hesaplanmış değeri saklamazlar.Fakat değişkeninizi tanımlarken Dim X As integer değil de Static X As integer olarak tanımlarsanız her prosedür çalıştığındanda 1 önceki procedure sonundaki hesaplanmış değeri saklar onun üstünden işlem yapar. |
|
|
|
|
|
#2 (permalink) |
|
CSI USLANMAM
![]() ![]() |
VB'de Fonksiyonlar
Asc:Klavyeden girilen herhangi bir ifadenin nümerik ascii karşılığını verir.Eğer tek harfli ifade yerine sözcük girerseniz sözcüğün ilk karakterini baz alacaktır. Mesela asc(bilgisayar)denirse b'nin nümerik ascii karşılığı olan 98 elde edilir.Chr$:0-255 arasında girilen bir nümerik ascii koduna karşılık gelen karakteri verir. Örnek: ![]() Bu programda text1'e gireceğniz karakterin karşılığı text2'de text3'de girdiğiniz karakterin karşılığı text4'de görünecektir.Private Sub Command1_Click() a = Text1.Text a = Asc(a) Text2.Text = Str(a) End Sub Private Sub Command2_Click() b = Text3.Text b = Val(b) If b > 255 Then GoTo son b = Chr(b) Text4.Text = b son: End Sub Space$(n):Belirtilen text'e veya herhangi bir yere n kadar boşluk koyar. Text1.text=space$(4)gibi Right$:Belirtilen stringin en sağından başlayarak belirtilen sayıda stringi kopyalamak için kullanılır. A=Right$("mutasyon" 5) derseniz A="asyon" olacaktır. Left$:Belirtilen stringin en solundan başlayarak belirtilen sayıda stringi kopyalamak için kullanılır. A=Leftt$("mutasyon" 4) derseniz A="muta" olacaktır.Mid$:Belirtilen stringin belirtilen karakterinden başlayarak soldan sağa doğru belirtilen kadar karakter kopyalamaya yarar. A=Mid$("mutasyon" 2 4) derseniz A="utas" olacaktır.Yani 2.karakterden başlayarak sağa doğru 4 karakter kopyalayacaktir.Örnek: ![]() ![]() 3tane command butonu yerleştirin command butonlarının adını ister değiştirin ister değiştirmeyin program yinede çalışır... Butonların üzerlerine sıra ile çift tıklayarak sıra ile aşağıdaki kodları yazın.Programı çalıştırdıktan sonra "sağdan" butonuna tıklarsanız text1 kutusuna "mutasyon" stringinin içindeki "asyon" u alıp yazacaktır "soldan" butonuna tıkladığınızda ise "muta" ortadan butonuna tıkladığınızda ise "utas" yazacaktır... Private Sub Command1_Click() Dim a As String a = Right$("mutasyon" 5)Text1.Text = a End Sub Private Sub Command2_Click() Dim b As String b = Left$("mutasyon" 5)Text1.Text = b End Sub Private Sub Command3_Click() Dim c As String c = Mid$("mutasyon" 2 4)Text1.Text = c End Sub Private Sub Form_Load() Text1.Text = "mutasyon" End Sub Len(String):Girilen stringin kaç karakter uzunluğunda olduğunu öğrenmemize yardımcı olur.Sayısal bir değer alır.A=Len("mutasyon") derseniz A=8 olur. Val(String):Girilen stringi sayısal ifadeye çevirir ve bize onu toplama çıkarma... gibi işlemlerde kullanma imkanı sağlar. A=val("15") ifadesi text kutusundan veya herhangi bir yolla girilmiş 15 yazısını rakamsallaştırmaya yarar.Str(Rakam):Val'ın yaptığını tam tersini yapar.Örneğin text kutusunda rakamsal ifadeleri kullanamayız anca onları str ile string haline getirip kullanabiliriz. A=Str(15) derseniz A="15" olacaktır.Lcase(String):İçine girilen küçüklü büyüklü yazıyı tamamen küçük harfe çevirir. A=Lcase("MutASYon") derseniz A="mutasyon" olacaktır. Ucase(String):İçine girilen küçüklü büyüklü yazıyı tamamen büyük harfe çevirir. Ucase("MutASYon") derseniz A="mutasyon" olacaktır. Instr(Rakam String1 String2):Birinci string içinde ikinci stringi arar.Eğer aradığını bulursa değeri bulduğu karakterin sıra numarası olur.Örneğin birinci stringimiz "mutasyon" ikinci stringimiz "a" yani birinci string içinde a'yı arıyacağız.Programı yazıp çalıştırdığımızda değer 4 olacaktır yani "a" 4.sırada.İsterseniz aramayı istediğiniz sıradan başlatabilirsiniz.Örneğin A=Instr(5 "mutasyonla" "a") derseniz A=10 olacaktir.Çünkü direk 5.karakterden aramaya başlattığımız için 10. sıradaki "a" yı gördü.Trim(String):Paranaaa içine girilen stringin sağındaki ve solundaki boşluk karakterini siler. Ltrim(String):Paranaaa içine girilen stringin solundaki boşluk karakterini siler. Rtrim(String):Paranaaa içine girilen stringin sağındaki boşluk karakterini siler. Date:Bu komut sayesinde sistemin tarihini öğrenebilir yada onu yeniden set edebiliriz.A=Date dersek A o günün tariki olacaktır.Yanlız atlanılmaması gereken önemli bir ayrıntı ise A yı dim ile tanımlarken dim A as date demeliyiz.Eğer bilgisayarın tarihini set etmek istiyorsak Date="aa-gg-yyyy".Bir de date olarak tanımladığımız bir değişkene tarih atayabiliriz.Mesela dim t as date olarak tanımladığımız değişkene tarih atamak istersek t=#aa-gg-yyyy# şeklinde bir ibare kullanmalıyız.Eğer ay kısmına 13 ve daha büyük yada gün kısmına 32 ve daha büyük rakamlar girerseniz programın çalışması esnasında hata verecektir. Time: Hem zamanı öğrenmede hem de zamanı set etmede kullanılır. Time="SaSa:dkdk:snsn" şeklinde set edilebilir. Ayrıca... Private Sub Command1_Click() Text1.Text = Time End Sub ile zamanı bir değişken olarak elimizde tutabiliriz Now:O anki tarih ve zamanı bize verir. Private Sub Command1_Click() Text1.Text = Now End Sub Datevalue(string):İçine girilen string türü bir ifadeyi date türü bir değişkende tutmamıza yarar.Örneğin programda kullanıcıdan textboxa doğum tarihini girmesini istediniz textbox bunu tabi ki string türü bir ifade olarak saklayacaktır.Bunu date türü bir ifadeye çevirmede datevalue komutu devreye giriyor...Dim t as date Text1.text="25-10-1983" t= Datevalue("text1.text") Dateaaaaaa(Yıl Ay Gün):Girilen integer türü değişkenleri date türü değişkenlere çevirmeye yarar.Ayrıca Dateaaaaaa(1996 10 28)-Dateseria(1954 3 5) gibi bir kullanımla 2 tarih arasındaki gün sayısını bulabiliriz.Timeaaaaaa(saat dakika saniye):Paranaaa içine girilen ifadeyi zaman türünde değişkene çevirir.A=Timeaaaaaa(22 11 08) komutu ile A; 10[IMG]http://www.************/images/smilies/TA/11.gif[/IMG]08 PM değerine eşit olacaktır.Day(Tarih):Verilen tarih türü bilginin içinden gün kısmını alır.A=Day("10/25/1983") ifedesinde A=25 olacaktır. Month(Tarih):Verilen tarih türü bilginin içinden ay kısmını alır. Year(Tarih):Verilen tarih türü bilginin içinden yıl kısmını alır. Hour(Zaman):Zaman türü bilginin içinden saati alır. Minute(Zaman):Zaman türü bilginin içinden dakikayı alır. Second(Zaman):Zaman türü bilginin içinden saniyeyi alır |
|
|
|