Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

5. FONKSİYONLAR VE ALT PROGRAMLAR •Başka bir program tarafından çalıştırılarak kullanılabilen bağımsız komut setlerine prosedür (Yordam) denir. •Kullanım.

Benzer bir sunumlar


... konulu sunumlar: "5. FONKSİYONLAR VE ALT PROGRAMLAR •Başka bir program tarafından çalıştırılarak kullanılabilen bağımsız komut setlerine prosedür (Yordam) denir. •Kullanım."— Sunum transkripti:

1 5. FONKSİYONLAR VE ALT PROGRAMLAR •Başka bir program tarafından çalıştırılarak kullanılabilen bağımsız komut setlerine prosedür (Yordam) denir. •Kullanım sebebi, bir prosedürün program içinde farklı yerlerde bir çok kez kullanılabilir olmasıdır. Ayrıca, aynı komut setlerinin tekrarı program kodunun büyümesine neden olur, hata giderme ve iyileştirme süreçleri de yavaşlar. •Prosedürler işlevsel olarak 2 çeşittir; fonksiyonlar (Function), alt programlar (Sub). Bir fonksiyon yada alt program belirli bir işi yapan küçük programcıklardır. •Değişken isimlendirilmesindeki kurallar, fonksiyon ve altprogramlar için de uygulanmaktadır. •Bir prosedür Public olarak tanımlanırsa programdaki bütün form ve modüllerde, Private olarak tanımlanırsa yalnızca tanımlandığı form ve modülde çağırılabilir.

2 Bir VB6 program yapısı incelendiğinde, kontrollere ait farklı olayların farklı alt program olarak oluşturulduğu görülür. Örneğin bir Command1 düğmesinin tıklama olayının kendine ait alt programı Private Sub Command1_Click() ‘..... End Sub görünümündedir. • Bu iki satırın üstünde ve altında belki binlerce satır olmasına rağmen, bu satırlar arasındaki kodlar tüm diğer satırlardan bağımsız çalışmaktadır. Bu nedenle buradaki program parçasına alt program adı verilir. • VB6 da bu amaca yönelik iki farklı alt program yapısı vardır: 1. Function 2. Sub • Function alt programı tek bir değer hesaplarken Sub alt programı birden çok değer hesaplar. Function bir işlem içinde de adı ile çağrılabilir. Sub alt programı Call deyimi ile ayrı bir satırda çağrılmak zorundadır. Aralarındaki önemli farklar bundan ibarettir.

3 ALT PROGRAMLAR •Alt programları fonksiyonlardan ayıran tipik özellikleri, çağıran programa, parametre listesindeki değişkenler aracılığıyla birden çok sonuç değeri gönderebilmeleri ve bağımsız bir komut ile çalıştırılmalarıdır. •Alt programlar, başka bir prosedür içinden Call komutu ile çağrılırlar. Sub AltprogramAdı (parametreler) End sub Genel formatı: Public alan, x As Integer Sub kare() alan = x * x Form1.Print alan End Sub Örnek: Dim alan, x As Integer Sub kare() alan = x * x Print alan End Sub

4 FONKSİYONLAR •Fonksiyonlar, çağrıldığı programa tek bir sonuç değeri aktarırlar. Bu sonuç sayısal ya da karakter içerikli olabilir. •Fonksiyonların diğer bir özelliği, herhangi bir komut satırında çalıştırılırlar ve elde edilen sonucu, adının geçtiği konuma getirirler. •Bu nedenle fonksiyon bitirilmeden önce, fonksiyon adına, bir değişkene yapıldığı gibi bir atama yapılmalıdır. Function FonksiyonAdı (parametreler) FonksiyonAdı=sonuc End function Genel formatı:

5 Function kare (x As Single) As Single kare=x*x End Function Örnek: Function daire (r As Double) As Double daire = pi * r * r End Function Yukarıdaki fonksiyonu çağırmak için: Aland = daire (r1) Örnek: Yukarıdaki fonksiyonu command nesnesi içinde çağırmak için; Private Sub Command1_Click() Dim x1 As Integer x1 = 2 alan = kare(x1) Print alan End Sub

6 Parametreler •Parametreler, prosedüre (bir fonksiyon veya altprogram) geçişi sağlayan değerlerdir. •Kullanılan parametrelerin sayısı, fonksiyon veya altprogramda tanımlanan parametrelerin sayısı ile aynı olmalıdır. •İki veya daha çok parametrenin söz konusu olduğu bazı durumlarda, bir fonksiyona ihtiyaç duyulduğunda, “opsiyonel parametre” kullanımı gerekmektedir. Function Dikdortgen (a, b As Double) As Double Dikdortgen = a * b End Function Örnek: Alan1 = Dikdortgen(a1) Alan1 = Dikdortgen(a1,b1) HATALI DOĞRU a1, b1 değişkenleri tanımlanmalı !

7 Örnek: Opsiyonel (Optional) parametre kullanımı Alan1 = Dikdortgen(a1) Alan1 = Dikdortgen(a1,b1) DOĞRU Bu durumda her iki kullanımda geçerlidir. Function Dikdortgen (a As Double, Optional b As Double) As Double Dikdortgen = a * b End Function

8

9

10

11

12

13 OLAY ALT PROGRAMLARI •Visual Basic olay (event) tabanlı bir program olarak tanımlanabilir. Bu durumda VB kontrollerindeki her bir olay bir alt program olarak kabul edilebilir. •Bu tanıımlamalar dikkate alınırsa, Visual Basic’de, kontrollerin kendi olay alt programları vardır. Diğer prosedürler gibi programcı tarafından çağırılmaları gerekmez, alt program ait olduğu kontrol tarafından çağırılır. •Bir nesneye tıklamak (click, dbclick), farenin bir nesne üzerinde dolaşması (mousemove), nesnelerin taşınması (drag) windows olaylarından bazılarıdır. •Bu olaylar, bazı kodların aktif hale gelmesini (çalışmasını) sağlar.

14 Genel formatı: Sub kontroladı_olay ([parametreler]) End sub VB’ de Olaylar Keydown() Klavyeden harhangi bir tuşa basıldığında meydana gelen olaylardır. Tuş basılı olduğu müddetçe devam eder. Keyup() Bu olay klavyeden basılan tuş bırakıldığı anda meydana gelir. Gotfocus() Klavye kontrolünün ilgili nesneye geçmesiyle çalışan olaylardır. İlgili nesneye kontrolün geçebilmesi için “visible” ve “enabled” olması gerekir.

15 Mousemove() Farenin bir form yada kontrol üzerinde dolaşması sonucu meydana gelen olaylardır. Dolaşma devam ettiği müddetçe bu olay meydana gelir. Mousedown() Fareye basılması sonucu meydana gelen olaydır. Mouseup() Fareye basılmış tuşun bırakılması sonucu meydana gelen olaydır. Click(), Dbclick() Farenin tıklanmasıyla/çift tıklanmasıyla meydana gelen olaydır.

16 Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.BackColor = RGB(255, 0, 0) End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.BackColor = RGB(0, 255, 0) End Sub Örnek: Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.Caption = X & ", " & Y If X < 2500 Then Form1.BackColor = RGB(100, 0, 0) If X >= 2500 And X < 4500 Then Form1.BackColor = RGB(0, 100, 0) If X >= 4500 Then Form1.BackColor = RGB(0, 0, 100) End Sub Örnek:

17 VISUAL BASIC FONKSİYONLARI (KOMUTLARI) String İşlemleri Metinler üzerinde işlem yapmaya yarayan komutlardır. TRim(string) Verilen metnin her iki tarafindaki boşluk karakterlerini siler. LTrim(string) : Verilen metnin başindaki boşluk karakterini siler. RTrim(string) : Verilen metnin sonundaki boşluk karakterini siler. Len(string) Metin içindeki karakter sayısını verir. Left(string, n) Metin içindeki soldan n karakteri verir. Right(string, n) Metin içindeki sağdan n karakteri verir. Mid(string,başlangıç, uzunluk) Metin içindeki başlangıçtan sona kadar olan karakter sayısını verir.

18 Ucase(string) Metin içindeki karakterleri büyük harfe çevirir. Lcase(string) Metin içindeki karakterleri küçük harfe çevirir. Space(sayı) Verilen sayı kadar boşluk oluşturur. Asc(harf) Girilen harf için ASCII kodunu verir. Chr(ASCII kodu) ASCII kodu verilen sayının karakter karşılığını verir. (Alt+Sayı) Str(sayı) Verilen sayı’yı string’e dönüştürür. Val(String) Verilen string’i sayıya dönüştürür. Çevirme işlemi geçersiz (sayı olmayan) karaktere kadar devam eder.

19 Örnek: Dim a, b As String a = Space(15) + "DEÜ Makina" + Space(15) b = "1982" Print a + b Print Trim(a) + b Print RTrim(a) + b Print LTrim(a) + b Örnek: Dim a, b As String a = Space(15) + "DEÜ Makina" + Space(15) b = "1982 " Print Len(a), Len(b) Print Left(a, 18) Print Right(a, 18) Print Mid(a, 16, 3)

20 x=Str(123) ‘123 artık bir rakam değil, stringdir. x=“123” olur. Örnek: Print Val (“124.33”) ‘ Print Val (“123a4.33”) ‘123 Print Val (“a179”) ‘0 Örnek: Private Sub Command1_Click() n1 = Asc(0) n2 = Asc(9) For i = n1 To n2 Print i, Chr(i) Next i End Sub

21 Qbcolor (RenkNo) 0Siyah8Gri 1Mavi9Açık Mavi 2Yeşil10Açık Yeşil 3Cyan11Açık Cyan 4Kırmızı12Açık Kırmızı 5Eflatun13Açık Eflatun 6Sarı14Açık Sarı 7Beyaz15Açık Beyaz Rgb (Red, Green, Blue) RenkKırmızıYeşilMavi Siyah000 Mavi00255 Yeşil02550 Cyan0255 Kırmızı25500 Eflatun2550 Sarı255 0 Beyaz255 Renk Belirleme Komutları Kontrollerin zemin renkleri, çizimlerin renkleri veya yazılarin renkleri bu komutlarla değiştirilebilir. RenkNo 0-15 arasi değerler alır. Bu renkler 8 temel rengin koyu ve açık halleridir. Red, Green, Blue arası değerler alabilir. Üç rengin farklı tonlarda karışımından renkler oluşturulur.

22 Matematiksel Komutlar Karekök: sqr() Mutlak değer: abs() Logaritma: log() Exponansiyel: exp() Sin() Cos() Tan() Atn() Not: Açılar radyan cinsinden girilir ! Int (sayı) Virgülden sonraki sayıyı atar, eğer sayı pozitifse sayının tam kısmını alır, negatifse kendinden bir önceki sayıya yuvarlatılır. Yuvarlatma Fonksiyonları Print int(60.2) ‘60 Print int(60.6) ‘60 Print int(-60.2) ‘-61 Print int(-60.6) ‘-61 Örnek: Fix (sayı) Virgülden sonraki sayıyı atar. Print Fix(60.6)‘60 Print Fix(-60.6)‘-60 Örnek: Round (sayı) En yakın tam sayıya yuvarlar. Print Round(60.6) ‘61 Print Round(-60.6) ‘-61 Örnek:

23 Rasgele (Random) sayı üretmek için Rnd fonsiyonu kullanılır. 0 ile 1 arasında rasgele sayılar üretir. Verilen a-b aralığında rasgele sayılar üretiniz ve sonuçları yuvarlatma fonksiyonları ile yorumlayınız. Print Rnd ‘0 ile 1 arası bir sayı üretir Print Rnd*100 ‘0 ile 100 arasında bir sayı üretir Örnek: Private Sub Command1_Click() a = 0: b = 15 c = Rnd * (b - a) + a Print c, Int(c), Fix(c), Round(c) End Sub Rnd

24

25

26 Uygulama Komutları Shell Hazırladığımız program içerisinde başka bir programı çalıştırmak için kullanılır. Shell (Program, [Pencere_tipi] ) Genel formatı: VbHide0Pencere gizli olarak aktifleşir. vbNormalFocus1Pencere normal boyutlarında açılır. vbMinimizedFocus2Pencere simge olarak açılır. vbMaximizedFocus3Pencere tüm ekranı kaplar. vbNormalNoFocus4Pencere geri yüklenir. Focus başka komponentte vbMinimizedNoFocus6Pencere simge olarak yüklenir. Focus başka komponentte. Pencere_tipi Private Sub Command1_Click() Dim a a = Shell(“Notepad.exe",3) End Sub Örnek:


"5. FONKSİYONLAR VE ALT PROGRAMLAR •Başka bir program tarafından çalıştırılarak kullanılabilen bağımsız komut setlerine prosedür (Yordam) denir. •Kullanım." indir ppt

Benzer bir sunumlar


Google Reklamları