USLANMAM
USLANMAM öğesini iGoogle sayfanıza ekleyin.
UslanmaM En Kaliteli Bilgi Adresiniz
Geri git   USLANMAM > PROGRAM > PROGRAMLAMA DİLLERİ > Programlama > visual basic
Google
 
UslanmaM Resim AlbümleriSosyal Gruplar
Kayıt ol Sosyal Gruplar Ajanda Konuları Okundu Kabul Et

Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Stil
Alt 08-01-2007, 06:17 PM   #1 (permalink)
CSI USLANMAM
 
CENGiZ1 - ait Kullanıcı Resmi (Avatar)
Standart VB'de Veri Yapıları ve Tanımlama

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ımlarkencode(yazilimi yazdigimiz pencere)penceresinin general(pencerenin sol köşesindeki listbox'a bak)kisminda olmalıyız.

Bu programı yazdığınızdacommand1 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öreceksinizprivate 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ınsimdi 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
  • Degişken isminin ilk karakteri bir harf olmalıdır.Rakam değil.
  • Diğer karakterler harfisimkarakteralttan çizgi_ v.s.olabailir.
  • Harflerin küçük yada büyük olmasının bir önemi yoktur.
  • Değişken isimlerinin uzunluklari 255 karaktere kadar olabilir.
  • Değişken isimleri içerisinde diğer semboller (+-/ vb) bulunmamalidir.
b-)Değişken türleri

Bu bölümdevb'de program yazarkenprogramı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 Variant
Dim Dogum As Variant
Ad="Emre KUTLU"
Tel="1112222222"
Dogum=#Oct251983#
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=20B=50
Dim 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 +2147483647 ile -2147483648 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 -922337203685477.5808 ile 922337203685477.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 Date
Dogum_tarihi =#Oct251955#
Olum _Tarihi=#Oct62002#
End Sub boolean:

Mantıksal veri tipleri için kullanılır. Iki seçenekten birisini(TrueFalse) 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 Byte
A =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çindeğişkenlerin tiplerini önceden bildirmek faydalı bir alışkanlıktır.Tip bildiriminde bulunulmazsadeğ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 abcd as double şeklindeki ifadesedece d'yi double olarak atayacakabc değişkenleri ise variant olarak kalacaktır.
Dogru kullanım ise: Dim A As DoubleB As DoubleC As DoubleD 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.
bunu yaptıktan sonra programınızı yazarsanızve eğer degiskenleri tanımlamadıysanızprogramı da ohalde çalıştırdıysanız hata verecektir.
d-)Degişkenlerin geçerlilik bölgesi

Aksi belirtilmediği sürece vb'de tanımlanan değişkenler sadece tanımlandıkları; prosedür (command1_clicktext1_change... bir prosedürdür)içinde geçerlidir.
Bazi değişkenleri prosedürler arası; kullanmanız gerekebilirprosedürler arası değer alıp verme ihtimaliniz olabilir.Böyle durumlarda modül düzeyinde değişkenlere ihtiyaç vardırbu tip değişkenleri ancak general declarations kısmında tanımlayarak elde edebiliriz.
e-)değişkenlerin static Ve dinamik durumları

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.

CENGiZ1 isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla

Alt 08-01-2007, 06:17 PM   #2 (permalink)
CSI USLANMAM
 
CENGiZ1 - ait Kullanıcı Resmi (Avatar)
Standart

VB'de Fonksiyonlar

Asc:Klavyeden girilen herhangi bir ifadeninnü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'detext3'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şlayaraksoldan sağa doğru belirtilen kadar karakter kopyalamaya yarar. A=Mid$("mutasyon"24) derseniz A="utas" olacaktır.Yani 2.karakterden başlayarak sağa doğru 4 karakter kopyalayacaktir.
Örnek:

Standart.exe olarak açtığınız form'a 1 tane text kutusu(text1.text)3tane command butonu yerleştirincommand 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 bizeonu 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ızanca 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(RakamString1String2):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ıryani "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 istediniztextbox 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ılAyGün):Girilen integer türü değişkenleri date türü değişkenlere çevirmeye yarar.Ayrıca Dateaaaaaa(19961028)-Dateseria(195435) gibi bir kullanımla 2 tarih arasındaki gün sayısını bulabiliriz.
Timeaaaaaa(saatdakikasaniye):Paranaaa içine girilen ifadeyi zaman türünde değişkene çevirir.A=Timeaaaaaa(221108) 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
CENGiZ1 isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Alt 01-28-2008, 05:09 AM   #3 (permalink)
Yeni Üye
Standart

Paylaşım için teşekkürler..
righthope isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
Eklenti Ekleyemezsiniz
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Gitmek istediğiniz klasörü seçiniz