Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

1 Visual Basic 6.0 Ders Notları Anadolu Üniversitesi Endüstri Mühendisliği Bölümü Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi,

Benzer bir sunumlar


... konulu sunumlar: "1 Visual Basic 6.0 Ders Notları Anadolu Üniversitesi Endüstri Mühendisliği Bölümü Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi,"— Sunum transkripti:

1 1 Visual Basic 6.0 Ders Notları Anadolu Üniversitesi Endüstri Mühendisliği Bölümü Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi, 1999, Beyazıt İstanbul, Fonksiyon ve Alt Programlar

2 2 Prosedür olarak adlandırılan fonksiyonlar ve alt programlar belirli bir işi yapmak için oluşturulan küçük program parçalarıdır. Aynı işi gerçekleştirmek üzere aynı kodların programın farklı yerlerinde tekrar edilmesini önlemek için kullanılır. Altprogram ve Fonksiyonların genel tanımı : Sub AltProgram Adi([giris parametreleri[As tipi]]) Komutlar [Exit Sub] End Sub Sub AltProgram Adi([giris parametreleri[As tipi]]) Komutlar [Exit Sub] End Sub Sub FonksiyonAdi([giris parametreleri[As tipi]])[As tipi] Komutlar [Exit Function] [FonksiyonAdi=geriDonusDegeri] End Function Sub FonksiyonAdi([giris parametreleri[As tipi]])[As tipi] Komutlar [Exit Function] [FonksiyonAdi=geriDonusDegeri] End Function

3 3 Fonksiyon ve Alt Programlar Fonksiyon altprogramdan farklı olarak geriye bir değer gönderebilir. Bu değer gönderme işlemi fonksiyon ismine geri dönecek değerin atanması ile olur. Bir altprogram veya Fonksiyondan çıkmak için Exit Sub ve Exit Function deyimleri kullanılır. Prosedürün adı Prosedürün genel veya özel olarak tanımlanması: Eğer prosedür, genel (public) tanımlanırsa programdaki bütün form ve modüllerden, özel tanımlanırsa (private tanımlanan) sadece tanımlandığı form veya modül içinden çağrılabilir. Prosedürün Tipi : Sub ile bir AltProgram, Function ile bir fonksiyon oluşturabilirsiniz. Event ile bir olay altprogramı ve Property seçeneği ile de bir özelliğe değer atama veya değer öğrenme altprogramı oluşturulur. Eğer yandaki işaret kutusu seçili ise, Prosedürteki tüm değişkenler Static deyimi kullanmaya gerek kalmadan static olarak işleme girer.

4 4 Prosedür Çağrısı Herhangi bir altrprogramı veya fonksiyonu çağırmak için AltProgramAdi([giris değerleri]) Donendeger=FonksiyonAdi([giris değerleri]) ‘Örnek Private Sub Command1_Click() ‘Prosedur Cagrisi Sayilar val(Text1.Text) End Sub Public Sub Sayilar(x As integer) ‘ sayilar Proseduru Dim i For i = 1 to x Print i^2 ‘Sayinin karesini yaz Next End Sub ‘Örnek Private Sub Command1_Click() ‘Prosedur Cagrisi Sayilar val(Text1.Text) End Sub Public Sub Sayilar(x As integer) ‘ sayilar Proseduru Dim i For i = 1 to x Print i^2 ‘Sayinin karesini yaz Next End Sub Örnek : 1’den text1’den girilen sayıya kadar olan sayıların karelerini form üzerine yazacak alt program

5 5 Fonksiyon Örneği : Faktöriyel Hesaplama 1’den 20’ye kadar sayıların faktöriyelinin form üzerine yazdırılması ‘Örnek Private Sub Form_Load() Show Dim i For i=1 to 20 Print i & “!=“ & Fak(i) Next End Sub Public Function Fak(x As integer) Dim i, s s=1 For i = 1 to x s=s*i Next Fak= s ‘sonucu geri gönder End Function ‘Örnek Private Sub Form_Load() Show Dim i For i=1 to 20 Print i & “!=“ & Fak(i) Next End Sub Public Function Fak(x As integer) Dim i, s s=1 For i = 1 to x s=s*i Next Fak= s ‘sonucu geri gönder End Function

6 6 Prosedür Parametreleri Prosedürlere değer aktarmada parametrelerden yararlanılır. Prosedür parametresiz çalıştırılabileceği gibi birden çok parametre ile de çalıştırılabilir. İstenirse aynı prosedür optional parametre kullanılarak farklı sayılarda parametre için de çalıştırılabilir. Public Function Hipotenus(x,y) hipotenus = sqr (x^2 + y^2) End Function Public Function Alan(x,y) Alan = x*y/2 End Function Private Sub Form_Load() Show Print hipotenus(3, 4)&”-”& alan(3,4) Print hipotenus(5, 12)&”-”& alan(5,12) End Sub Public Function Hipotenus(x,y) hipotenus = sqr (x^2 + y^2) End Function Public Function Alan(x,y) Alan = x*y/2 End Function Private Sub Form_Load() Show Print hipotenus(3, 4)&”-”& alan(3,4) Print hipotenus(5, 12)&”-”& alan(5,12) End Sub x y

7 7 Optional Parametre Kullanımı İstenirse bazı parametreler seçeneğe bağlı olarak da tanımlanabilir. Bu durumda prosedür o parametreler kullanılmadan da çağrılabilir. Public Function f(x, y, Optional t, Optional k) toplam = x + y If IsMissing(t) Then MsgBox ("t parametresi kullanılmamış") Else toplam = toplam + t If IsMissing(k) Then MsgBox ("k parametresi kullanılmamış") Else toplam = toplam + k f = toplam End Function Private Sub Form_Load() Show Print f(2, 3, 4) End Sub Public Function f(x, y, Optional t, Optional k) toplam = x + y If IsMissing(t) Then MsgBox ("t parametresi kullanılmamış") Else toplam = toplam + t If IsMissing(k) Then MsgBox ("k parametresi kullanılmamış") Else toplam = toplam + k f = toplam End Function Private Sub Form_Load() Show Print f(2, 3, 4) End Sub

8 8 ParamArray Bir fonksiyona girecek parametre sayısı belli değilse parametre ParamArray deyimi ile bir dizi olarak tanımlanır. Bu durumda kullanıcı o parametre yerine geçecek istediği kadar parametre kullanabilir. Public Function h(ParamArray x() ) End Function Public Function h(ParamArray x() ) End Function Public Function h(ParamArray x() ) dim t,i For i=0 to Ubound(x) if not IsMissing(x(i)) Then t=t+x(i)^2 Next h=t End Function Private Sub Form_Load() Show Print h() Print h(3,4,,2,4,5,6,7,8,9,0,2) Print h(5,12) End Sub Public Function h(ParamArray x() ) dim t,i For i=0 to Ubound(x) if not IsMissing(x(i)) Then t=t+x(i)^2 Next h=t End Function Private Sub Form_Load() Show Print h() Print h(3,4,,2,4,5,6,7,8,9,0,2) Print h(5,12) End Sub

9 9 Byref ve ByVal kullanımı Bir prosedürün içine değişken, referans (byref) yada değer (byval) olarak gönderilebilmektir. –Bir değişken referans olarak bir prosedüre gönderildiğinde değeri prosedür içindeki değişikliklerden etkilenir aksi halde (değer olarak gönderildiğinde ) etkilenmez. –Varsayılan değer “ByRef”tir. Sub Command1_click() i = text1.text kup(i) print i End Sub Sub kup( ByRef x) print x^3 x=x+100 End Function Sub Command1_click() i = text1.text kup(i) print i End Sub Sub kup( ByRef x) print x^3 x=x+100 End Function Sub Command1_click() i = text1.text kup(i) print i End Sub Sub kup( ByVal x) print x^3 x=x+100 End Function Sub Command1_click() i = text1.text kup(i) print i End Sub Sub kup( ByVal x) print x^3 x=x+100 End Function

10 10 Olay Alt Programları Kullanıcıların tanımladığı altprogramların yanında kontollerin kendi altprogramları vardır. Kontrol ile ilgili bir işlemde ( örneğin : form yüklendiğinde, buton tıklandığında, metin değiştiğinde, bir tuşa basıldığında, fare üzerinde dolaştığında vb. ) bu olay alt programları çalışır. Private Sub KontrolAdi_Olay([Giriş Parametreleri As Tipi]) End Sub Private Sub KontrolAdi_Olay([Giriş Parametreleri As Tipi]) End Sub

11 11 Kontrol Dizileri Eğer kontroller dizi olarak tanımlanmışsa bu durumda dizideki bütün kontrollerin olay alt programları aynı olacaktır. Burada farklı olarak kullanılan index bu olayın dizideki hangi kontrol tarafından çağrıldığını belirler. Kontrol dizileri, birden çok kontrol üzerinde döngüler yardımıyla işlem yapılmasına imkan sağlar. Private Sub KontrolAdi_Olay([index as integer][Giriş Parametreleri As Tipi]) End Sub Private Sub KontrolAdi_Olay([index as integer][Giriş Parametreleri As Tipi]) End Sub

12 12 Kontrol Dizisi Örneği


"1 Visual Basic 6.0 Ders Notları Anadolu Üniversitesi Endüstri Mühendisliği Bölümü Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi," indir ppt

Benzer bir sunumlar


Google Reklamları