1 / 12

Visual Basic 6.0 Ders Notları

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

kamal
Download Presentation

Visual Basic 6.0 Ders Notları

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Fonksiyon ve Alt Programlar • 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 FonksiyonAdi([giris parametreleri[As tipi]])[As tipi] Komutlar [Exit Function] [FonksiyonAdi=geriDonusDegeri] End Function

  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 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. 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. 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. 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 : 1’den text1’den girilen sayıya kadar olan sayıların karelerini form üzerine yazacak alt program

  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

  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 x y

  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

  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(ParamArrayx() ) End Function Public Function h(ParamArrayx() ) dim t,i For i=0 to Ubound(x) ifnotIsMissing(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. 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( ByVal x) print x^3 x=x+100 End Function 8 102 8 2

  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

  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

  12. Kontrol Dizisi Örneği

More Related