VISUAL BASIC STANDART KÜTÜPHANE FONKSİYONLARI

Benzer belgeler
Karakter Değişkenlere İlişkin Komutlar

SAB104 Bilgisayar Programlama

Visual Basic Uygulamaları-4. Dİ Zİ LER (ARRAYS) ve Nesne Kü meleri

Imports ifadesi, program satırlarının en üstüne (Public Class satırından önce) yazılmalıdır. Aksi halde hata mesajı ile karşılaşılır.

TEMEL STRING İŞLEMLERİ

Len() fonksiyonu yardımı ile kendisine parametre olarak verilen karaktersel veya başka bir tip bilginin uzunluğu bulunur.

KONTROL YAPILARI (CONTROL STRUCTURES)

-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı

Timer İle arka plan renk değişimi

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

Fonksiyonlar (Altprogram)

MT 373 Visual Basic Programlama Dersi

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

PASCAL ARŞİVİ BÖLÜM Giriş. 7.2 Sistem Birimi ve Katarlar Chr

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak:

RAPOR VE FORMLARDA KULLANILAN FONKSİYONLAR

UYGULAMALAR -2 Select case Yapısı: Select Case case case case case case is case Else End Select Örnek:

De iflken = InputBox Görüntülenecek Metin Bafllık. InputBox tan gelecek cevap, bir de iflkene aktarılmalıdır. End Sub B R SAYI TUT

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

Charindex() CHARINDEX

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Internet Programming II

İÇİNDEKİLER 1. BÖLÜM: VISUAL BASIC E İLK ADIM

ÜNİTE İÇİNDEKİLER HEDEFLER MATEMATİKSEL METOTLAR. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA. (Math Sınıfı ve Metotları)

Fonksiyonlar. Yrd.Doç.Dr.Bülent Çobanoğlu

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Pascal Programlama Dili (2. hafta)

6 Aritmetiksel Operatörler ve Hazır Fonksiyonlar

Dr. Fatih AY Tel:

Vbnet Vbne access bağ ba lant lan ı t s ı ı s, ekleme, güncelleme,,silme

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Internet Programming II

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız.

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

HSancak Nesne Tabanlı Programlama I Ders Notları

DİZİLER. Bu ünitede yapılan örnekler Visual Studio 2010 programındaki Visual Basic programlama diliyle çözülmüştür.

Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak.

İNTERNET TABANLI PROGRAMLAMA- 4.ders

SAYISAL ÖZELLİKLİ HAZIR METOTLAR VE ZAMAN FONKSİYONLARI SAYISAL ÖZELLİKLİ METOTLAR

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Lambda İfadeleri (Lambda Expressions)

IN ve NOT IN Tablodaki alan içeriklerine ulaşmak için IN deyimi kullanılır.

INPUTBOX() ile Veri Girişi

BİL-142 Bilgisayar Programlama II

AOSB 2017 EĞİTİM PROGRAMI

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Uygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız.

Diziler İndisli Değişkenler

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

C Programlama Dilininin Basit Yapıları

Internet Programming I. Hafta III. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

BİL1001 Bilgisayar Bilimlerine Giriş 1

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

BİL-142 Bilgisayar Programlama II

HSancak Nesne Tabanlı Programlama I Ders Notları

Uygulama 1) Sabit olarak belirlenen sayıda tekrar eden (5 kez) Visual Basic kaynak kodlarını yazınız.

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Görsel Programlama 1

How to ASP Language. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. Hafta V

Bilgisayar Programlama MATLAB

Bölüm 9. Altprogramlar ISBN

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

Print Komutu ile Değişkenleri Yazdırmak

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

Gruplama (aggregate) fonksiyonları bir dizi değer üzerinde hesaplama yaparlar ve bir sonuç

Dr. Fatih AY Tel: fatihay@fatihay.net

6. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

11- FONKSİYONLAR (FUNCTIONS)

Internet Programming I. Hafta V. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

BİL-142 Bilgisayar Programlama II

Windows Nasıl Çalışır? Pencereler (window), Hareketler (event) ve Mesajlar (message)

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

7- Turbo Pascal Programlamada Alt Programlar (Procedure)

Temel Giriş/Çıkış Fonksiyonları

İnternet Programcılığı Dersi 2.Dönem Ders Notu

3. ARİTMETİK FONKSİYONLAR ~ (~ tamsayı)

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

How to ASP Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013

C Konsol Giriş Çıkış Fonksiyonları

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

İNTERNET TABANLI PROGRAMLAMA

Transkript:

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 0 VISUAL BASIC STANDART KÜTÜPHANE FONKSİYONLARI Visual Basic kütüphanesinde bulunan bazı fonksiyonlar (komutlar) aşağıda verilmiştir. Bu fonksiyonların tam listesine ulaşmak için Object Browser ( Genellikle F2 tuşuna basıldığında karşımıza gelir) menüsü kullanılır.

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 1 1. MATEMATİKSEL FONKSİYONLAR ABS( ) Sayısal bir ifadenin mutlak değerini bulur. Print Abs(-5) 5 RND 0 ile 1 arasında rasgele sayı üretir. Print Rnd*5 0 ile 5 arasında rasgele bir sayı üretir INT Ondalık bir sayının en küçük tamsayı değerini bulur. Print Int (-3.55) -4 Print Int (3.55) 3 FIX Ondalık bir sayının tam kısmı verir. Print Fix (-3.55) -3 SGN Sayısal ifadenin işaretini bulur. Print Sgn(-5) -1 ROUND Ondalık bir sayıyı en yakın tamsayıya yuvarlatır Print Round(3.55) 4 SQR Sayısal ifadenin karekökünü verir. Print Sqr(4) 2 CINT Ondalık bir sayıyı en yakın tamsayıya yuvarlatır Print Cint(3.55) 4 MOD Kalanı verir Print 9 Mod 2 1 LOG SIN Sayısal ifadenin doğal logaritmasını bulur. Doğal logaritma e tabanına göre üretilir (e=2.71828). 10 tabanına göre logaritmayı elde etmek için, sayının logaritmasını 10 un logaritmasına bölmek gerekir. Radyan cinsinden verilen sayının sinüsünü hesaplar COS Radyan cinsinden verilen sayının cosinüsünü hesaplar TAN Radyan cinsinden verilen sayının tanjantını hesaplar ATN Radyan cinsinden verilen sayının arctanjantını hesaplar EXP Doğal logaritma parametresi olan e'nin üstel değerini (e x ) hesaplar. Print Log(100) / Log(10) 2 ( 100 ün 10 tabanına göre logaritmasını verir ) Print Sin(45) 0,8509035245 Print Cos(45) 0,525321988 Print Tan(45) 1,619775190 Print Atn(45) 1,548577761 Print Exp(1) 2,7182818 NOW Bulunulan zamanı elde eden fonksiyondur. Dim T As Date MsgBox (T.Now) TODAY Bulunulan günü elde eden fonksiyondur. Dim T As Date MsgBox (T.Today) DATEDIFF DATEADD DAY, MONTH, YEAR, HOUR, MINUTE, SECOND, MILLISECOND, komutları da kullanılabilir. İki tarih arasındaki zaman farkını hesaplamak için kullanılan fonksiyondur. Verilen tarihten belirtilen gün/ay,.. öncesi veya sonrasını bulur Dim T As Date = Today MsgBox (T.Year) Dim T1 As Date = "17.10.1974" Dim T2 As Date = "20.10.2011" MsgBox(DateDiff(DateInterval.Day, T1, T2)) Dim T1 As Date = "17.07.2001" MsgBox(DateAdd(DateInterval.Day,212,T1)) verilen tarihten 212 gün sonrasını bulur.

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 2 2. STRİNG ve ÖZEL AMAÇLI FONKSİYONLAR LEN String ifade veya değişkenin karakter sayısını verir Print Len( Bülent ) 6 VAL String ifadeyi sayısala dönüştürür a = Val("1234") b = 6 Print a + b 1230 STR Sayısal bir ifadeyi stringe dönüştürür. a = Str(4) Print "bülent" & a bülent 4 MID LEFT RIGHT LTRIM RTRIM TRIM UCASE LCASE Bir stringin herhangi bir yerinden başlamak üzere istenilen sayıdaki karakteri alır Bir stringin solundan itibaren istenilen sayıdaki karakteri alır Bir stringin sağından itibaren istenilen sayıdaki karakteri alır Bir string ifadenin solundaki boşlukları atar Bir string ifadenin sağındaki boşlukları atar Bir string ifadenin her iki tarafındaki boşlukları atar Bir string ifadedeki küçük harfleri büyük harfe dönüştürür. Bir string ifadedeki büyük harfleri küçük harfe dönüştürür. Print Mid("bülent", 2, 3) üle Print Left("bülent", 3) bül Print Right("bülent", 3) ent Print UCase("bülent") BÜLENT Print LCase("BÜLENT") bülent CHR Sayısal karakterin ASCII karşılığını verir Print Chr(65) A ASC STRING INSTR Bir karakterin ASCII karşılığını tamsayı olarak kodlar ASCII kodu verilen karakterden istenilen sayıda elde edilmesini sağlar Bir stringin diğer string içindeki pozisyonunu bulur Replace Bir string ifade içerisindeki karakteri değiştirmede kullanılır Print Asc("A") 65 Print String(5, 65) AAAAA Print InStr("Hanzar", "z") 4 Print Replace("bülent","ü","a") balent StrReverse String ifadenin karakterlerini ters çevirir Print StrReverse ("bülent") tnelüb SPACE DATE TIME BEEP JOIN İki değişken arasında istenilen sayıda boşluk bırakır Sistem tarihinin elde edilmesinde kullanılır Sistem saatinin elde edilmesinde kullanılır Bilgisayarın hoparlöründen sinyal sesi elde etmek için kullanılır Dizi elemanlarını belirli bir ayıraçla (veya ayıraç olmadan) birleştirerek yeni bir karakter dizisi oluşturmayı sağlar. Print "ad"; Space(4); "soyad" ad soyad Dim Ornek(2) As String Dim B As String Ornek(0) = "Az" Ornek(1) = "Çok" Ornek(2) = "Orta" B = Join(Ornek, ", ") B Az, Çok, Orta SPLIT Join fonksiyonunun tersidir. Ornek = Split (B, ", ")

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 3 Örnek 1: Ömrü yaşınızı gün, ay, yıl bazında hesaplayan programı yazınız. Sub Main() Dim T1 As Date = "17.10.1974" Dim T2 As Date = "27.10.2011" Console.WriteLine(DateDiff(DateInterval.Day, T1, T2)) Console.WriteLine(DateDiff(DateInterval.Month, T1, T2)) Console.WriteLine(DateDiff(DateInterval.Year, T1, T2)) Console.ReadKey() Örnek 2: Şekildeki gibi MonthCalendar nesnesi ile resmi tatilleri listboxa ekleyen/çıkaran programı yazınız. Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load With Me.ComboBox1.Items.Add("Yılbaşı").Add("Çocuk Bayramı").Add("İşci Bayramı").Add("Gençlik ve Spor Bayramı").Add("Zafer Bayramı").Add("Ramazan Bayramı").Add("Cumhuriyet Bayramı").Add("Kurban Bayramı") End With Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.ListBox1.Items.Add(Me.ComboBox1.Text + " " + CStr(Me.MonthCalendar1.SelectionStart) + " " + CStr(Me.MonthCalendar1.SelectionEnd))

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 4 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.ListBox1.Items.Remove(Me.ListBox1.SelectedItem) End Class RASGELE SAYI ÜRETİMİ (RANDOM NUMBER) Sıralama örneklerinde ilk önce rasgele sayılar gireceğiz ve o sayıları belirli küçükten büyüğe ya da büyükten küçüğe sıralama işlemini gerçekleştireceğiz. O yüzden rasgele sayı üretiminin nasıl gerçekleştiğini ayrı bir konu başlığı olarak ele almayı uygun gördük. Hemen hemen tüm programlama dillerinde rasgele sayı üreten bir fonksiyon vardır, bu fonksiyon random ya da rnd ismiyle anılır. VBasic dilinde rasgele sayı üretimi için rnd ( ) fonksiyonu kullanılır. Ayrıca programın her çalışmasında farklı sayılar elde etmek için Randomize Timer veya Randomize() ifadesini programın başında kullanmak gerekir. Rnd ( ) deyimi 0 ile 1 arasında sayı üretir. Eğer 0 ile 10 arasında sayı üretmek istiyorsak rnd()*10 deyimini kullanmamız gerekir. Örnek 6.1. 0 ile 20 arasında rasgele tamsayı üreten, bu sayıları ekranda gösteren programı yazınız. Çözüm: Private Sub Command1_Click() Randomize Timer For i = 1 To 20 Print Int(Rnd() * 20); Next i

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 5 Programın ekran çıktısı aşağıdaki gibidir. Sayı Tahmin Oyunu: Örnek 6.2. 0 ile 100 arasında bilgisayarın tuttuğu sayıya göre kullanıcıyı yönlendiren ( daha küçük sayı giriniz veya daha büyük sayı giriniz biçiminde) ve kaç defa da sayıyı bulduğunu ekranda gösteren bir sayı tahmin oyunu programını yazınız. Çözüm: Bilgisayarın tuttuğu tamsayıyı int(rnd()*100) bir değişkene ( örneğimizde tutulan isimli değişken) aktarıyoruz. Her seferinde tahmin edilen sayı ile bilgisayarın tuttuğu sayıyı karşılaştırıp ona göre kullanıcıyı yönlendiriyoruz. Kullanıcının kaç defada bilgisayarın tuttuğu sayıyı bildiği bilgisini sayac değişkeninde tutuyoruz ve msgbox veya Console.WriteLine ifadesi ile ekrana yazıyoruz. Programın Visual Basic dilinde kodu aşağıdaki gibidir. Sub Main() Dim sayac As Integer, tutulan As Byte, tahmin As Byte Randomize() tutulan = CInt(Rnd() * 100) sayac = 0 Do tahmin = Val(InputBox("Tahmin ettiğiniz sayıyı giriniz")) sayac = sayac + 1 Select Case tahmin Case tutulan : Console.WriteLine("Aferin " & sayac & " tahminde " & tutulan & " sayısını bildiniz ") Case Is < tutulan : Console.WriteLine("Büyük Sayı Giriniz") Case Is > tutulan : Console.WriteLine("Küçük sayı giriniz") End Select Loop While (tahmin <> tutulan) Console.ReadKey()

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 6 ALT PROGRAM ( PROCEDURE ) Bir programın içinde aynı işi gören bir grup deyimi programın çeşitli yerlerinde tekrar tekrar yazıp kullanmak yerine bu deyimlerden oluşan program parçalarını kullanmak hem kodlama tekrarını önler, hem de programın anlaşıla bilirliğini artırır. Bir alt program bir ana program ya da bir alt program tarafından çağrılan ve kendi içinde bir bütün oluşturan program parçasıdır. Bu alt programları kullanan programlara çağrılan programlarda denir. Visual Basic dili, Sub Procedure ve Function Procedure olmak üzere iki çeşit alt programa sahiptir. Bu altprogramlar faaliyet alanlarına göre iki farklı şekilde tanımlanırlar. Örnek vermek gerekirse us isimli alt programı (sub procedure) iki farklı şekilde tanımlayabiliriz. Private Sub us( ) Public Sub us ( ) Private ve Public anahtar kelimeleri sadece alt programların (Procedure) değil aynı zamanda değişkenlerin faaliyet alanlarını tanımlamada da kullanılır. Private anahtar kelimesi alt program veya değişkenin yerel olduğunu yani sadece bir alt programda veya ana programda faaliyet gösterebileceklerini, Public anahtar kelimesi ise alt program veya değişkenin genel olduğunu yani hem ana program hem de alt program da faaliyet gösterebileceklerini belirtir. Sub Procedure ler ana programdan Call komutu ile çağrılırlar. Komutun Kullanım Biçimi; Call Altprogram_ismi şeklindedir. Alt program, ana program ilişkisini, şematik olarak gösterecek olursak;

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 7 Örnek 4.1. Ekrana yazılan her mesaj dan sonra dijital imzanızı gösteren programı yazınız. { dijital imza olarak ad - soyadı gösterilecektir }. Çözüm: NOT: F5 tuşuna (Run -- > Start ) bastıktan sonra, Command butonuna Click yaptığımızda programın ekran çıktısını elde ederiz.

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 8 NOT: Bir altprogram her çağrıldığında Sub ve arasında kalan ifadeler çalıştırılır. ALT PROGRAM VE FONKSİYONLARDA VERİ / PARAMETRE AKTARIMI Ana program ve altprogramlarda (Procedure) kullanılan değişkenler bağımsızdır. Yani ana programdaki bir değişkenin içeriği herhangi bir alt program tarafından bilinmez ve kullanılmaz. Ana program ile alt program arasında değişken paylaşımını sağlamak için parametreli SUB alt programı veya değişken paylaşım komutlarını kullanmanız gerekir. Bir alt programı çağırırken yapılacak işlemleri belli değerlere göre gerçekleştirmesini isteyebilir veya ana programdaki bazı değişkenlerin alt program tarafından da kullanılmasını isteyebiliriz. Bu gibi durumda ana programla alt programlar arasında bilgi paylaşımını sağlayacak parametre geçişini sağlamamız gerekir. Parametre geçişi iki şekilde yapılabilir. Birincisi verinin doğrudan değerinin aktarılması ki buna değeri ile aktarma ( call-by-value); ikincisi ise verinin adresinin aktarılması ki buna referansı ile aktarma ( call by reference) denir. VB de değeri ile aktarmada değişkeninin başına ByVal ifadesi eklenir ya da değişken ( ) içerisine alınır. Diğer durumlarda referansı ile aktarılmış olur. Örnek vermek gerekirse; Function faktoriyel ( ByVal x as long, ByRef y as integer) as long Şeklinde tanımlanan faktoriyel fonksiyonu x değişkenini değeri ile y değişkenini ise referansı ile alır. Function faktoriyel ( ( x), ByRef y as integer) as long Şeklinde tanımlanan faktöriyel fonksiyonu da x değişkenini değeri ile y değişkenini ise referansı ile alır. Parametreli aktarımda değişkenler ana program ve alt program içinde ayrı ayrı tanımlanır. Alt programı çağıran ana program bu değişkenleri çağırma komutu ( Call komutu ) içinde belirtir. Alt program kendisine gönderilen bu parametreleri alır, gerekli işlemleri yaptıktan sonra sonucu çağıran programa aktarır.

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 9 NOT: ByRef, genel değişken ByVal ise yerel değişken gibi kullanılır. Örnek 4.2. Aşağıdaki programların ekran çıktılarını dikkatle inceleyiniz. a). b).

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 10 Örnek 4.3. Ana programda girilen bir sayının faktöriyelini alt programda alan ve sonucu ana programda gösteren programı yazınız. Çözüm: Ana Program; Private Sub Command1_Click() Dim N As Long, X As Long Cls N = Val(InputBox(" Sayı giriniz..: ")) Call Faktoriyel(N, X) Alt Programı çağırıyoruz Print " Faktoriyel..: ", X; Alt program; Private Sub Faktoriyel(sayi, F) F = 1 For I = 1 To sayi F = F * I Next I Bu örneğimizde ana programdan bir sayı giriyoruz, bu sayıyı ( N ) ve X değişkenini, Faktoriyel alt programına gönderiyoruz. Alt programdaki sayi değişkeni ana programdaki N değişkeninin, F değişkeni de X değişkeninin değerini almaktadır.

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 11 Döngü içerisinde faktöriyel hesaplandıktan sonra deyimi ile alt programdan çıkılır, ana programa dönülür. Örnek 4.4. Ana programdan girilen 3 sayı içerisinden en küçüğünü enkucuk isimli alt programda hesaplayıp, sonucu ana programda gösteren programı yazınız. Ana Program: Private Sub Command1_Click() Dim s1 As Long, s2 As Long, s3 As Long s1 = Val(InputBox(" 1. Sayıyı giriniz ")) s2 = Val(InputBox(" 2. Sayıyı giriniz ")) s3 = Val(InputBox(" 3. Sayıyı giriniz ")) Call enkucuk(s1, s2, s3) Alt Program: Sub enkucuk(enk As Long, b As Long, c As Long) If b < enk Then enk = b If c < enk Then enk = c Print "En küçük sayı="; enk

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 12 FONKSİYON (FUNCTION) Her programlama dili belli amaçlara yönelik yerleşik fonksiyonlar içerir. Örneğin mutlak değer almak için abs( ) fonksiyonu, sinus almak için sin( ) fonksiyonu, tam sayı almak için int( ) fonksiyonu gibi. Bu ve benzeri fonksiyonlar, programlama dilinin kütüphanesinde yer almakta ve işlemleri gerçekleştirmede kolaylık sağlamaktadırlar. Bunların haricinde alt programlara benzer, girilen bazı değerlere bağlı olarak bir sonuç üreten prosedürlere de fonksiyon denir. Bir alt program sadece komutları işlerken, fonksiyonlar işletilen komutlara ek olarak bir sonuç üretirler. VB dilinde Fonksiyon tanımı için aşağıdaki yapı kullanılır. Function isim [ Parametreler ] as tip Komutlar 1.. isim= sonuç işlemi.. Komutlar 2.. End Function NOT: Sub / Alt programlarından çıkış için EXIT SUB, Function / End Function yapısından çıkış için ise EXIT FUNCTION deyimleri kullanılır. Örnek 4.5. Klavyeden girilen Fahrenayt sıcaklığını (F ) Dereceye (C ) çeviren programı yazınız. { Çevrim için C = (F - 32)/ 1.8 formülünü kullanınız ve çevirme işlemini cevir isimli bir fonksiyonla yapınız. } Ana Program; Private Sub Command1_Click()

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 13 Cls Print cevir(val(inputbox("f yi giriniz..:"))) Fonksiyon Alt Programı; Function cevir(n As Single) As Single cevir = (n - 32) / 1.8 End Function Örnek 4.6. Alt program örneğimizde yaptığımız faktöriyel alma işlemini fonksiyon ile gerçekleştiriniz Çözüm: Örnek 4.7. Bir dik üçgenin kenar uzunluklarını Pisagor teoremine göre hesaplayan programı yazınız. { Pisagor teoremi, Bir dik üçgenin dik açısının kenarlarının uzunluklarının karelerinin toplamı öbür kenarın uzunluğunun karesine eşittir şeklinde tanımlanır ve matematiksel olarak a 2 2 2 b c formülü ile gösterilir. } Fonksiyon; Function Pisagor(x As Integer, y As Integer) As Integer

Öğr.Gör.Bülent ÇOBANOĞLU, Visual BASIC Ders Notları-II 14 Pisagor = Sqr(x * x + y * y) End Function Ana Program; Dim b As Integer, c As Integer Cls b = Val(InputBox("Birinci dik kenarın değerini giriniz :")) c = Val(InputBox("İkinci dik kenarın değerini giriniz :")) Print " A kenarı :", pisagor(b, c)