UzmanWeb.Net
  ANA SAYFA   FORUM   RESİMLER   GÖRSEL DERSLER   TOPLİST   DERSLER   İLETİŞİM

Mayıs 16, 2008, 13:58:26 ÖS *
Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz
 
   Forum   Yardım Oyun Giriş Yap Kayıt  
Sayfa: [1]   Aşağı git
  Yazdır  
Gönderen Konu: Visual Basic ile Programlama  (Okunma Sayısı 954 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
uyumsuz
Moderatör
*

Puan: 1
Offline Offline

İsim: Murat
Meslek: Öğretmen
Mesaj Sayısı: 59


Aktiflik
Deneyim
Seviye
 Stats
« : Mayıs 26, 2007, 01:06:01 ÖÖ »
Aşağıdaki listedeki kullanıcılar bu konu için teşekkür ediyorlar!Teşekkür Et

Yazıda temel programlamacılık tekniklerinin yanında elektronik devreler ile birlikte kullanılan programları da inceleyeceğiz. Bunun içinde seri ve paralel portların bununla birlikte ISA ve PCI slotların kullanılması konusunu da işleyeceğiz. Bu sayede elektronik devrelerin bilgisayar tarafından kontrolünü kolaylıkla sağlayacağız.

İsterseniz neleri öğreneceğimize söyle bir göz atalım;

Visual Basic Ekranı
Menülerin Kullanımı
Pencerelerin Kullanımı
Değişkenler ve Veri Tipleri
Program Kontrol Deyimleri
Fonksiyon ve Altprogramlar
Bilgi Giriş ve Mesaj Pencereleri
VB Kontrol Elemanları (Component)
Komutlar
Dosyalama İşlemleri
Veritabanı programlamacılığı
Projelerinizi taşınabilir hale getirilmesi (Kurulum dosyası oluşturma)
Windows API 'lerinin Kullanımı
Seri ve Paralel Portların Kullanımı
Isa ve PCI Slotlarının Kullanımı
Dll ve OCX dosyaları oluşturma vs.


Şimdi ilk dersimiz olan Visual Basic'in menülerini inceleyelim yukarda da bahsettiğim gibi bu kısım biraz sıkıcı olduğu için hızlı geçeceğim sadece önemli olan veya Visual Basic'e has olan menüleri anlatacağım

Evet klasik açma kayıt etme vs. menülerini geçtikten sonra “Make Projenizin Adı.exe” komutunu görüyoruz bu komut yazdığınız kodu derleyerek exe haline çevirir ama unutulmaması gereken eğer siz projenize DLL veya OCX dosyaları eklediyseniz bunların dosyaya eklenmeyeceğidir böyle bir Kurulum dosyasının nasıl hazırlanacağını ilerde anlatacağım

Bu menüdeki en önemli komut “Object Browser” ‘dır bu komut sayesinde projemize bir DLL veya OCX dosyası eklediğimizde onun özelliklerini kullanım şeklini hatta birkaç hazırlanmış örneği görebiliriz bu sayede daha önce hiç kullanmadığımız bir dosyada bize ön fikir verir buda bizim işimizi büyük ölçüde kolaylaştırır. İkinci olarak “Data View Window” komutu bizim Database dosyalarına kolay yoldan ulaşmamızı sağlar bunuda ilerde detaylı olarak işleyeceğiz

 

Form, Modül vs. ekleme kısımlarını geçtikten sonra “References” ve “Components” komutlarını görürüz bunlar projenize ekleyeceğiniz dosyaları belirtirken kullanılır örneğin hazırlanmış bir DLL veya OCX dosyasını bu şekilde projemize ekleriz

Son olarak "Formunuzun adı Properties" komutunu görürüz bununla projenizin tanımlamalarını mesela projenizin adını (Ctrl+Alt+Delete yaptığımızda görünün adı ) hangi formdan başlayacağı verisonunu açıklamalarını ve yasal tanımlamalarını yapabilirsiniz.

 

Bu menü yardımı ile ise projenize yerleştirdiğiniz Düğmelerin Liste Kutularının Kontrol Kutularının yerleşimlerini kolayca yapabilirsiniz mesela yerleştirdiğiniz düğmelerin hepsini seçtikten sonra “Format / Align / Lefts” derseniz bütün düğmelerin sol tarafı en son seçtiğiniz düğmeniz sol tarafı ile dikey düzlemde olur.

 

Bu menüde “Add Procedure” yardımı ile alt program ve fonksiyon eklemesi yapabiliriz bunların ne olduğunu da ilerde detaylı bir şekilde işleyeceğiz burada önemli olan nokta “Add Procedure” ekranının yalnızca programın kodlarını yazdığımız yerde aktif hale geldiğidir. “Menu Editor” komutu ile de projemize Windows’un klasik menulerini ekleyebiliriz ancak bu “Add Procedure” komutunun tersine sadece Visual Basic ‘in bileşenlerinin yerlerini tasarladığımız ekranda aktif olur

Evet arkadaşlar böylece menüleri bitirmiş olduk aslında Visual Basic ‘in menüleri bu kadarla sınırlı değil ama ben bizim işimize en fazla yarayacak olanları anlatmaya çalıştım

Şimdi de Visual Basic'in ekranına söyle bir göz atalım




Evet Resime baktığımızda Visual Basic ’in aslında o kadarda karşık olmadığını fark ediyoruz yukardaki pencereleri yeri geldiğinde açıklayacağım ama ön bilgi olması açısından önem arz ediyor
__________________


"Bu Konuya Teşekkür Edenler":
AdmiN, Yunus Emre, uzmandost
Logged
uyumsuz
Moderatör
*

Puan: 1
Offline Offline

İsim: Murat
Meslek: Öğretmen
Mesaj Sayısı: 59


Aktiflik
Deneyim
Seviye
 Stats
« Yanıtla #1 : Mayıs 26, 2007, 01:08:12 ÖÖ »
Aşağıdaki listedeki kullanıcılar bu konu için teşekkür ediyorlar!Teşekkür Et

 Kontrol Deyimleri

Kontrol Deyimleri :
- If Koşul Then ... Else(if) ... End if
- IIF
- Select ... Case

If Koşul Then ... Else(if) ... End if
Dim Sayi As Integer
Sayi = Val(InputBox("Bir Sayı Giriniz"))
If Sayi < 100 Then
MsgBox "Girdiğiniz Sayı 100'den Küçük" '1.kısım
Else
MsgBox "Girdiğiniz Sayı 100'den Büyük" '2.kısım
End If
Yukarda ki programla kullanıcıdan bir sayı girilmesi isteniyor ve "Val" fonksiyonu ile sayısal değere çevriliyor eğer bunu "Val" ile sayısal değere çevirmezsek programımız bunu bir string değer olarak kabul edecek ve programımız doğru çalışmayacaktı mesela 10+11 işleminin sonucunu bize 1011 diye söyleyecekti bu küçük hatırlatmayı da yaptıktan sonra programımızın geri kalanını açıklamaya devam edelim. Daha sonra sayı kontrol ediliyor eğer koşul doğru ise 1.kısım yanlış ise 2.kısım işleme tabi tutuluyor yalnız yukarda ki programda bir hata var o da kullanıcı giriş kutusuna 100 değerini girdiğinde 100<100 işleminin geri dönen sonucu "False" olduğu için program ikinci kısmı işleme tabi tutacaktır ve bize girdiğimiz 100 değerinin 100 den büyük olduğunu söyleyecektir. Programın doğrusu ise aşağıdadır
Dim Sayi As Integer
Sayi = Val(InputBox("Bir Sayı Giriniz"))
If Sayi < 100 Then
MsgBox "Girdiğiniz Sayı 100'den Küçük"
ElseIf Sayi = 100 Then
MsgBox "Girdiğiniz Sayı 100'e eşit"
ElseIf Sayi > 100 Then
MsgBox "Girdiğiniz Sayı 100'den Büyük"
End If
Bu örnek sayesinde de "ElseIf" 'in nasıl kullanıldığını görmüş olduk. İsterseniz şimdide mantıksal operatörleri kullanarak bir kod yazalım
Dim Sayi1, Sayi2 As Integer
Sayi1 = Val(InputBox("Birinci Sayıyı Giriniz"))
Sayi2 = Val(InputBox("İkinci Sayıyı Giriniz"))
If Sayi1 < 100 And Sayi2 < 100 Then
MsgBox "Girdiğiniz iki sayıda 100'den Küçük"
ElseIf Sayi1 < 100 Or Sayi2 < 100 Then
MsgBox "Girdiğiniz iki sayıdan biri 100 den küçük"
ElseIf Sayi1 > 100 And Sayi2 > 100 Then
MsgBox "Girdiğiniz iki sayıda 100'den Büyük"
ElseIf Sayi1 > 100 Or Sayi2 > 100 Then
MsgBox "Girdiğiniz iki sayıdan biri 100 den Büyük"
ElseIf Sayi1 = 100 And Sayi2 = 100 Then
MsgBox "Girdiğiniz iki sayıda 100'e eşit"
ElseIf Sayi1 = 100 Or Sayi2 = 100 Then
MsgBox "Girdiğiniz iki sayıdan biri 100'e eşit"
End If
Yukardaki kodları inceleyerek mantıksal operatörleri nasıl kullanmanız gerektiği hakkında fikir edinebilirsiniz bunları visual basic de yazıp derlerseniz sizin için daha faydalı bir hal almış olur
IIF
IIF fonksiyonu aslında Ağabeyi "IF" in daha kolay kullanışlı bir şeklidir ama tabiki ağabeyi kadar etkin bir kullanım alanı yoktur kullanım şekli ise,
Dim Deger As Byte
Dim Sonuc As String
Deger = 5
Sonuc = IIf(Deger = 5, "başarılı", "başarısız")
MsgBox Sonuc
Yukarda ki örnekten de anlaşıldığı gibi "Deger" değişkeninin 5 'e eşit olması durumda "Sonuc" değişkeni "başarılı" değil ise "başarısız" değerini alacaktır.
Select ... Case
Bu yapı çoğu zaman çok kullanılışlıdır çünki bizi birçok if else deyimlerini kullanmaktan kurtarır
Dim Sayi As Integer
Sayi = Val(InputBox("Bir Sayı Giriniz"))
Select Case Sayi
Case Is < 100
MsgBox "Girdiğiniz Sayı 100'den Küçük"
Case 100
MsgBox "Girdiğiniz Sayı 100'e eşit"
Case Is > 100
MsgBox "Girdiğiniz Sayı 100'den Büyük"
End Select
Yukarda da görüldüğü gibi "select case" kullanımı bazen "if then else" deyiminden daha kullanışlı olabiliyor.
__________________
Logged
uyumsuz
Moderatör
*

Puan: 1
Offline Offline

İsim: Murat
Meslek: Öğretmen
Mesaj Sayısı: 59


Aktiflik
Deneyim
Seviye
 Stats
« Yanıtla #2 : Mayıs 26, 2007, 01:15:01 ÖÖ »
Aşağıdaki listedeki kullanıcılar bu konu için teşekkür ediyorlar!Teşekkür Et

Veri TiPleri


Veri Tipleri konusunu inceleyeceğiz Visual Basic'de (Bundan sonra VB diyeceğim) daha doğrusu bütün programlama dillerinde değişkenler ve veri tipleri konusu büyük önem taşır. VB 'de önemli olan nerede hangi değişkeni kullanacağımızdır çünkü yanlış veri tipi kullanımı bellekte gereksiz yer işgal edecektir buda programımızın yavaş çalışmasına sebep olacaktır. Evet veri tiplerine kısa bir gir giriş yaptıktan sonra şimdi nasıl değişken isimlendireceğimize bir göz atalım.



Değişkenlere isim verirken Türkçe karakterleri kullanmamaya özen gösterirseniz daha iyi olur aslında değişken isimlendirmede Türkçe karakterler bir sorun çıkarmıyor ama alışkanlık olmaması açısından önemli birde değişkenlere akılda kalıcı isim vermeye çalışın bu sayede program takibi ve hata bulma oldukça kolaylaşacaktır

Örnek:
Adi,_Soyadi
Maasi
Yasi
Kitap_Adi2

Yukarda ki geçerli değişken isimlerine uygun örnekleridir

VB'de tabi ki istediğimiz her kelime gurubunu değişken olarak atayamıyoruz. Mesela rakamla başlayan, içinde geçersiz bir karakter yada boşluk olan kelime gurupları geçersiz değişken isimleridir Zaten VB 'de bizi "Hooop kardeşim sen ne yapıyorsun" diyerek uyaracaktır.

Örnek
Adi Soyadi ' Boşluk karakteri olduğu için
Gelir+Gider ' Geçersiz bir karakter kullanılması (+, /, ?, = vs).
2Kitap ' Rakamla (nümerik) başlayan bir isim kullanılması nedeni ile
Geçersiz değişken isimleridir

Sanki, yahu kardeşim değişken isimlendirmeyi öğrendikte bunu VB 'de nasıl tanımlayacağız dediğinizi duyar gibiyim. Arkadaşlar değişkenleri VB 'de tanımlamanın iki yolu vardır bunlardan ilki "Dim (değişken ismi) as (türü)" deyimidir. Arkadaşlar yukarda da bahsettiğim gibi eğer hafızada gereksiz yer işgal etmek istemiyorsanız mutlaka değişkenleri tanımlayın eğer tanımlamazsanız VB bunların türünü Variant olarak kabul eder bu da bellekte 16 byte 'tan fazla yer kaplamasına neden olur. Eğer bu işi güzellikle yapmayacaksanız kod penceresinin "General,Declarations" kısmına "Option Explicit" yazarsanız değişkenlere isim vermediğiniz taktirde VB bunu Variant olarak kabul etmez ve bir hata mesajı ile "Hem Option Explicit yazıyorsun hem de değişkenin türünü belirtmiyorsun sen benimle dalgamı geçiyorsun" gibilerinden bir hata mesajı ile sizi uyaracaktır. Bu arada Sevgili ATAMIZIN Türk progr****sı için "Ben Progr****nın Option Explicit kullan******ı severim" sözünü de hatırlatmak isterim. Evet arkadaşlar biraz tarih bilgisinden sonra Değişkenleri tanımlamanın ikinci yolu olan "Def- (harf yada harf aralığı)" bildiriminden bahsetmek istiyorum bu yolla daha genel tanımlamalar yaparız

Örnek:
DefInt A ' A harfi ile başlayan değişkenler integer olarak tanımlanıyor
DefStr C-F ' C,D,E,F harfleri ile başlayan değişkenler string olarak tanımlanıyor
Yukarda ki verdiğim örneklerin açıklamasında integer ve string kelimeleri geçti bunlar veri tipleridir isterseniz şimdi VB 'de ki veri tiplerine bir göz atalım
Byte :

O ile 255 arasındaki tamsayıları ifade etmek için kullanılabilecek veri tipidir.DefByte deyimi ile byte tipinde değişkenler tanımlanabilir ve hafızada 1 Byte yer kaplar.

Örnek :
Private Sub Form_Load() 'Form ilk yüklendiğinde işlenecek komutlar
Dim Deger1 , Deger2 As Byte ' Değişkenler Byte olarak tanımlanıyor
DefByte S 'S ile başlayan değişkenler Byte olarak tanımlanıyor
Deger1 =23
Deger2 = 143
Sonuc=10
End Sub 'Form_Load 'ın sonuna geldiğini belirtiyor

Arkadaşlar örnekteki ilk satır bize şu anda biraz yabancı geliyor olabilir bu bize form ilk yüklendiğinde yani program ilk çalıştığında ne yapacağını belirtiyor bu konuyu ilerde daha detaylı bir şekilde göreceğiz evet değişkenleri incelemeye devam edelim

Boolean :
Mantıksal veri tipleri için kullanılır. İki seçenekten birisini alabilir.Bunlar True veya False değerleridir. Bellekte 2 byte yer işgal ederler.Boolean tipindeki bir değişkeni tanımlamak için DefBool sözcüğü kullanılır.

Örnek :
Private Sub Form_Load()
Dim Durum As Boolean , Duyum As Boolean
Durum = True
Duyum = False
End Sub
Integer :

Visual Basic'de tam sayı değişkenleri tanımlamak için kullanılır. Hafızada 2 byte yer kaplarlar. Alabileceği değer aralığı –32768 ile +32767 arasındadır.DefInt bildiri deyimi ile tanımlanabilirler. Ayrıca bir değişkenin sonunda % karakteri bulunuyorsa bu değişken integer tipindedir.

Örnek :
Private Sub Form_Load()
Dim Maas As Integer
DefInt A-C
Oran% = 100
A_sayı = 100
B_sayı = Oran*A_sayı
C_sayı = B_sayı + A_sayı – 1000
Maas= 32767
End Sub
Long :

Daha büyük bir aralıkta integer yani tamsayı tanımlamak için kullanabileceğimiz bir veri tipidir. Hafızada 4 byte yer kaplar. Kullanılabilecek uç değerler +2,147,483,647 ile -2,147,483,648 dır. Long tipinde bir değişken tanımlamak için DefLng bildirimini veya değişken sonunda & karakterini kullanabiliriz.

Örnek :
Private Sub Form_Load()
DefLng A-B
Bölüm=50000
cıkan&=600000
Kalan& = (cıkan / Bölüm ) * 10000
End Sub
Single :

Tam sayı olmayan küsuratlı sayılar için kullanabileceğimiz bir veri tipidir. Kayan-noktalı sayı olarak isimlendirilir. Single tipindeki veriler bellekte 4 byte yer kaplarlar. Negatif sayılar 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.Single tipinde veri tanımlamak için DefSgn bildirimi veya değişken sonuna ! karakteri konur. 7 haneye kadar hassastır.Daha sonrası yuvarlatılır.

Örnek :
Private Sub Form_Load()
DefSgn A-B
Bölüm=50000
Cıkan!=600000
End Sub
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. Maksimum alabileceği değerler 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. DefDbl bildirimi veya # sembolü ile double tipinde değişkenler tanımlanabilir

Örnek :
Private Sub Form_Load()
DefDbl A-K
Darı=50000
Bugday=600000
Arpa=340.56
End Sub
Currency :

Sayısal tipteki veriler için tanımlanmış özel bir veri tipidir.Hafızada 8 byte yer kaplarlar. 4 hane ondalık kısmı olmak üzere toplam 19 haneden oluşur.(nokta hariç) Alabileceği maksimum değerler -922,337,203,685,477.5808 ile 922,337,203,685,477.5807 arasındadır. @ sembolü veya DefCur bildirimi ile Currency tipinde değişken ’ler tanımlanabilirler. Bu veri tipi genellikle parasal işlemleri yaptığımız değişkenleri tanımlamada kullanılır.

Örnek :
Private Sub Form_Load()
Dim Maas As Currency , Borc As Currency
Maas = 500000000
Borc = 68000000
Zayi@ = 340000.56
End Sub
Date :

Tarih ve saat türündeki bilgileri kullanmak için oluşturulmuş bir veri tipidir. Hafızada 8 byte yer kaplarlar. 1 Ocak 100 ile 31 Aralık 9999 arasındaki tarihleri ve 0:00:00 ile 23:59:59 arasında ki saatleri kullanabilirsiniz. DefDate bildirisi ile tarih ve saat türünde değişkenler tanımlayabiliriz.

Örnek :
Private Sub Form_Load()
Dim Dogum_tarihi As Date , Evlenme_Tarihi As Date
Dogum_tarihi =#Dec,9,1977#
Evlenme_Tarihi=#May,15,1998#
End Sub
String :

Metin türü bilgileri saklamak için kullanılabilecek veri türüdür. 16 bitlik versiyonda 0 ile 65538 arasında , 32 bitlik versiyonda ise 0 ile 2,000,000,000 arasında karakter alabilir. String türünde değişken tanımlamak için Defstr veya $ sembolü kullanılır.

Örnek :
Private Sub Form_Load()
Dim Adi As String , Soyadi As String
Adı =”Kemal”
Soyadı = ”Tas”
No$="1323970067"
End Sub
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 değişkenleri Variant tipinde tanımlamalıyız. Bu tür değişkenler hafızada 16 byte tan fazla yer kaplarlar. DefVar bildiri sözcüğü ile Variant türünde değişkenler tanımlayabiliriz.

Daha öncede bahsettiğim gibi Variant türünde değişkenler tanımlamak fazla kullanışlı değildir.Çünki hafızada fazla yer kaplarlar.

Örnek :
Private Sub Form_Load()
Dim Ad As Variant , Maas As Variant , Tel As Variant
Dim Dogum_tarihi As Variant
Ad="Aydın Kale"
Maas=200000
Tel="500-45-00"
Dogum_tarihi=#Apr,3,1970#
End Sub Arkadaşlar bu ayki yazımı küçük bir örnekle bitirmek istiyorum .

Resmin büyük halini görmek için çift Linkleri Görebilmek İçin
Kayıt Olun veya Giriş Yapın
tıklayınız

__________________

 
« Son Düzenleme: Mayıs 26, 2007, 01:20:44 ÖÖ Gönderen: uyumsuz » Logged
uyumsuz
Moderatör
*

Puan: 1
Offline Offline

İsim: Murat
Meslek: Öğretmen
Mesaj Sayısı: 59


Aktiflik
Deneyim
Seviye
 Stats
« Yanıtla #3 : Mayıs 26, 2007, 01:27:56 ÖÖ »
Aşağıdaki listedeki kullanıcılar bu konu için teşekkür ediyorlar!Teşekkür Et

VISUAL BASIC 6.0


MESAJ KUTULARI
Hepimizin yakından tanıdığı karşımıza çıktığında bizi bazen üzen bazen sevindiren mesaj kutularından bahsetmek istiyorum. Bu kutuları yakından tanımamıza ve sadece tek bir satır kod ile çalıştırmamıza rağmen bu kutular ile saatlerini harcayan kişiler olmuştur. Konuyu fazla uzatmadan isterseniz mesaj kutusunun komut satırını vererek konuya giriş yapalım.



Msgbox Açıklama [,Düğme] [,Başlık] [,Yardım Dosyası, Bölüm Numarası]

Yukarda MsgBox komutunun dizilimini verdim burada köşeli parantezler içinde yazılmış olan kısımlar istemliklidir.

Yukarda ki komut diziliminde "Açıklama" mesaj kutusunda görüntülenmesini istediğimiz mesajı temsil etmektedir. Burada önemli olan nokta eğer mesaj birden daha fazla satırdan oluşuyorsa bunları Chr$(13) ve Chr$(10) kodlarını mesajımıza ekleyerek sağlayabiliriz.

Örnek:

Private Sub Form_Load()

Dim Mesaj As String
Mesaj = "Merhaba" + Chr$(13) + Chr$(10) + "Dünya"
MsgBox Mesaj, vbInformation + vbOKOnly, "Mesaj İçin Başlık"

End Sub




Düğme ve simge tanımlamaları için komut dizilimin ikinci kısmını kullanırız. Bu kısımda eğer birden fazla özellik kullanacaksak bu özellikleri "+" sembolü ile birlikte kullanırız. Aşağıda bu özellikleri ve sayısal değerlerini bulabilirsiniz.













Mesaj kutularını görüntülerken ister sabitleri istersek bunların karşılıkları olan sayısal değerleri kullanabiliriz.VB 'de bazı şeyleri de öğrendiğimize göre isterseniz ilk programımızı oluşturalım bu sayede biraz önce öğrendiklerimizi de küçük bir örnekle pekiştirelim

VB çalıştırdığımızda karşımıza ilk olarak aşağıdaki ekran gelecektir. Buradan Standart EXE ye çift tıklayarak VB ' geçeriz



Daha sonra form alanına çift tıklayarak projemizde kodları yazacağımız "Kod Penceresi" 'ne geçeriz

 


Kod penceresi açıldıktan sonra aşagıdaki kodları yazın

Private Sub Form_Load()

Dim Cevap As VbMsgBoxResult
MsgBox "Programa Hoşgeldiniz", vbInformation + vbOKOnly, _
"Deneme v1.0"
Cevap = MsgBox("Programın yüklenilmesine devam edilsin mi?", _
vbQuestion + vbYesNo, "Deneme v1.0")

If Cevap = vbYes Then
MsgBox "Program Yüklenmeye Devam Edecek", vbOKOnly + _
vbInformation, "Deneme v1.0"
Else
MsgBox "Güle Güle", vbOKOnly + vbInformation, "Deneme v1.0"
End
End If

End Sub

 
Evet arkadaşlar ilk uygulamamızı biraz anlatmak istiyorum "A" satırında yazdığımız kodların form ilk yüklendiğinde işleme sokulacağını anlatmaktadır bu kısmı iler ki derslerimizde daha ayrıntılı bir şekilde inceleyeceğiz çünkü formların "load" olayından başka bir çok olayları vardır daha sonra "B" satırında ise "Cevap" isimli değişkenimizin bir Mesaj Kutusunun sonuç değişkeni olduğunu tanımlıyoruz. "C" satırındaki alttan çizgi (_) ise satırın daha bitmediğini çizginin altındaki satırında allatan çizgiyi kullandığımız satırın devamı olduğunu belirtmektedir isterseniz bu özelliği kullanmanıza gerek yok ben yazılar pencerenin dışına taşmasın diye kullandım ama çok uzun bir satır kullandığınızda bunu kullanmanız hataları bulmanız açısından kolaylık sağılacaktır. "Ç" satırında "Cevap" değişkenine mesaj kutusundan bir değer atanıyor burada önemli olan nokta Mesaj kutusundaki basılan düğmeyi atama yapıyorsak "MsgBox" komutundan sonra yazacağımız argümanları parantez() içinde yazmalıyız. "D,E ve G" satırında şuan daha öğrenmediğimiz bir program kontrol deyimi kullandık bu ve bunun gibi daha bir çok program kontrol deyimini gelecek ay anlatacağım için şimdi üzerinde durmuyorum "F" satırındaki komut programı sona erdirmeye yani kapatılmasını sağlıyor
__________________


Logged
uyumsuz
Moderatör
*

Puan: 1
Offline Offline

İsim: Murat
Meslek: Öğretmen
Mesaj Sayısı: 59


Aktiflik
Deneyim
Seviye
 Stats
« Yanıtla #4 : Mayıs 26, 2007, 01:30:06 ÖÖ »
Aşağıdaki listedeki kullanıcılar bu konu için teşekkür ediyorlar!Teşekkür Et

VISUAL BASIC 6.0

Bilgi Giriş Kutuları (InputBox)
Bu Yazıda bilgi girişlerinde kullanacağımız "InputBox" fonksiyonunu inceleyeceğiz. "InputBox" fonksiyonunda önemli bir nokta girilen bilgi VB tarafından "String" yani karakter olarak kabul edilir eğer girilen bilgi string bir değer ise bunu "Val(string değer)" komutu ile sayısal değere dönüştürmeliyiz.

Kullanım Şekli; InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

prompt:Zorunlu. İletişim kutusunda gösterilecek mesajı belirler ve en fazla 1024 karakter olabilir. Eğer birden fazla satır olacaksa aynı MsgBox fonksiyonunda olduğu gibi mesajımıza Chr(13) & Chr(10) kodunu ekleriz.

title:İsteğe Bağlı.Başlık çubuğunda kullanılan değerdir. Eğer kullanmazsanız varsayılan olarak projenizin ismi kullanılır

default:İsteğe Bağlı. Text Box da varsayılan olarak bir cevap görüntülenir eğer kullanılmazsa Text Box boş olarak görüntülenir

xpos:İsteğe Bağlı. Giriş kutusunun ekrandaki yatay pozisyonunu belirler ve sayısal bir değer olmak zorundadır.

ypos:İsteğe Bağlı. Giriş kutusunun ekrandaki dikey pozisyonunu belirler ve sayısal bir değer olmak zorundadır.

helpfile:İsteğe Bağlı. yardım dosyasının yerini belirler eğer bu değer tanımlanmışsa "Context" değeri mutlaka tanımlanmalıdır.

context:İsteğe Bağlı. Sayısal bir değer alır yardım konularının numaralarını gösterir



Örnek:

Private Sub Form_Load()

Dim Vize1, Vize2, Vize3 As Byte
Dim Final, Sonuc As Integer

Vize1 = Val(InputBox("1.Vize Sonucu", "Not Hesaplama"))
Vize2 = Val(InputBox("2.Vize Sonucu", "Not Hesaplama"))
Vize3 = Val(InputBox("3.Vize Sonucu", "Not Hesaplama"))
Final = Val(InputBox("Final Sonucu", "Not Hesaplama"))
Sonuc = Vize1 + Vize2 + Vize3 + 4 * Final
MsgBox Sonuc, vbInformation + vbOKOnly, "Sınav Sonucu"

End Sub Arkadaşlar sizin de farkettiğiniz gibi "InputBox" fonksiyonu ile "MsgBox" fonksiyonun kullanımları birbirine oldukça yakındır.
__________________

Logged
uyumsuz
Moderatör
*

Puan: 1
Offline Offline

İsim: Murat
Meslek: Öğretmen
Mesaj Sayısı: 59


Aktiflik
Deneyim
Seviye
 Stats
« Yanıtla #5 : Mayıs 26, 2007, 01:33:49 ÖÖ »
Aşağıdaki listedeki kullanıcılar bu konu için teşekkür ediyorlar!Teşekkür Et

VISUAL BASIC 6.0
Döngü Deyimleri
Genel olarak döngü deyimleri, bir işlem(ler) grubunu çok sayıda tekrarlamak istediğimiz zaman kullanacağımız deyimlerdir. Böylece bu deyimler sayesinde kod tekrarı yapmamış olacağız bunun bize bir çok faydası vardır. Örneğin, bu sayede programı gereksiz kodlarlar şişirmemiş oluruz bu bize hata yakalama da ve programa hakim olmamamızda büyük kolaylık sağlar isterseniz konuyu fazla uzatmadan bu deyimler nelermiş incelemeye başlayalım.

For ... Next Döngüsü Bu döngü belirli bir ifadeyi istenilen sayıda tekrar etmeye yarar




Yukarda ki örnekte ekrana 20 tane "Merhaba Dünya" yazdık ve bunuda 5-6 satır kod ile başardık burada da döngü deyimlerinin bizi nasıl bir zahmetten kurtardığını rahatça görebiliriz bu arada kodların başında ki rakamları onları açıklarken kolaylık olsun diye yazdım bunlarda nerden çıktı diyerek kafanızı karıştırmasın. Progr****ğımızın 1. satırında bize Private Sub Form_Activate() ile End Sub arasında ki kod bloğunun form aktif olduğu anda işleme tabi tutulacağını anlatmaktadır 2. satırda ise Form1 isimli formun başlığının (Caption) "Döngü Komutları" olarak atandığını bildirmektedir. 3.satırda ise "sayac" isimli integer sayı tipinde bir değişken tanımlayarak bu tanımlanmış değişken ile 4. satırda 1 den 20 ye kadar bir döngü oluşturuyoruz. 5. satır ise bizim kod bloğumuzu oluşturuyor dolayısıyla da göngü içinde 20 kere tekrarlanıyor ve 6. satırdaki "Next sayac" ile de kod bloğumuzun sonlandığı noktayı belirtiyoruz.

Bu döngü komutuna bir örnek daha vererek bu kısmı geçeceğim.



Yukarda ki örneğimiz belirlenen belli bir sayıda ki sayıyı toplayarak bize sonucu bir mesaj kutusunda görüntüler.Eğer bu örneği VB derleyerek çalıştırırsanız akılda kalıcı olması bakımından daha faydalı olacaktır yalnız burada "Val" fonksiyonundan bahsetmek istiyorum bu fonksiyon string tipindeki verileri sayısal veriye çevirmek için kullanılır eğer bu fonksiyonu kullanmasaydık örneğin programınız bize 1+2+3 ün sonucunu 6 yerine 123 olarak verirdi bu küçük hatırlatmadan sonra bir sonra ki döngü deyimine geçiyorum
Do ... Loop Döngüsü



Bu döngü bir komut bloğunu koşul doğru ise yada koşul doğru olana kadar tekrarlanmasını sağlar. Burada dikkat edilmesi gereken önemli bir nokta var o ise koşul doğru olduğu sürece döngünün sonsuz bir çevrim içinde olacağıdır. Bu küçük hatırlatmadan sonra döngümüze geri dönelim Do ... Loop çevriminin yukarıdan da anlaşılacağı üzerine iki kullanım şekli vardır bunlar birinde koşul hemen döngünün başında verilerek doğruluğu veya yanlışlığı kontrol edildikten sonra koutların icrasına karar verilir ikincisinde ise koşul döngünün sonunda verilerek koşulun değeri ne olursa olsun komutların bir kere icra etmesi sağlanır. Bunun dışında birde döngü ile birlikte While yada Until in kullanılması var While kullandığımız zaman komutlar koşul doğru iken yerine getirilir Until de ise koşul doğru olana kadar yani koşul yanlışsa yerine getirilir. Şimdi bu anlattıklarımız bir kaç örnek ile pekiştirelim.




Yukarda ki örnekte içteki döngü 10 kere dıştaki döngü ise 1 kere işleme tabi tutulacaktır progr****ğımızdaki "Exit Do" komutu ise Do ... Loop döngüsünden çıkmamıza yarar bu noktayı da belirtikten sonra size kalan bu kısmı dikkatlice inceleyip anlamaya çalışmaktır
While ... Wend Döngüsü




Do ... Loop döngüsünün bir türevi olarak düşünebiliriz. Bu döngüde koşul doğru olduğu sürece While ... Wend arasındaki komutlar icra edilir ve tekrar koşul kontrol edilir bu işlem koşul yanlış olana kadar devam eder





Yukarda ki örnekte command1 butonuna tıkladığımıza While ... Wend Döngüsü Sayac ın 10 dan küçük olduğu sürece Sayac değişkenini bir artıracaktır Sayac 10 olduğunda ise While Sayac < 10 koşulu sağlanmayacağı içn döngüden çıkılacaktır ve MsgBox Sayac kodu işleme tabi tutulacaktır sayac değişkenide 10 olduğu için mesaj kutusunda 10 görüntülenecektir
__________________

Logged
uyumsuz
Moderatör
*

Puan: 1
Offline Offline

İsim: Murat
Meslek: Öğretmen
Mesaj Sayısı: 59


Aktiflik
Deneyim
Seviye
 Stats
« Yanıtla #6 : Mayıs 26, 2007, 01:41:10 ÖÖ »
Aşağıdaki listedeki kullanıcılar bu konu için teşekkür ediyorlar!Teşekkür Et

VISUAL BASIC 6.0
Yordamlar (Procedures)
ResimLi Anlatım

Yordamlar aslında bize o kadar da yabancı değil çünkü bu güne kadar uygulamalarımızda farkında olmadan bir çok olay yordamı kullandık örneğin "Command1" adlı komut düğmemiz "Click" olayını algıladığı zaman yapacağı işlemleri,



şeklinde gösteriyorduk. Burada olay yordamımız "Private Sub" ile başlıyor ve "End Sub" ile bitiyor. Programımızı yazarken bazen bir olay yordamının içine çok uzun kodlar yazmak zorunda kalırız bu da bize hata yakalamada ve programa hakim olmamızda zorluk çıkarır işte bu durumda yazacağımız kodları ünitelere bölerek bunları yordam olarak tanımlarız ve olay yordamından oluşturduğumuz kodlar zincirini çağırırız. Bu ünitelere de genel yordamlar ismini veririz dolayısıyla genel yordamlar bir olaya bağlı olmaksızın geliştirilen yordamlar olur. Genel yordamlar bulundukları ortam bakımından ikiye ayrılırlar



A.) Forma bağlı genel yordamlar : Bunlar form içinde tanımlı ve geçerli olan yordamlardır
B.) Modül Yordamları : Bunlar modüller içinde kayıtlıdırlar ve bütün formlar tarafından çağırılabilirler

Yordamlar kendi içlerinde dört kısıma ayrılırlar; 1.) Function tipi yordamlar : Bu tip yordamlar bir değer hesaplayarak bunu geri gönderirler
2.) Sub Tipi yordamlar : Bunlar belli bir değer göndermezler sadece tanımlanan işlemi yerine getirirler
3.) Property tipi yordamlar : Bunlar VB bileşenlerine ek özellikler eklemeye yarayan yordamlardır bu sayede yeni bileşenler oluşturma imkanı verirler.
4.) Event tipi yordamlar : Bir olay algılandığında tanımlanmış olan işlemi yerine getirir
--------------------------------------------------------------------------



A.) Forma bağlı genel yordamlar

Bu tip yordamları oluşturmak için "kod penceresini" açtıktan sonra Tools / Add Procedure seçeneğini seçeriz



karşımıza gelen ekranda ise "Name" kısmına yordamımızın ismini sonrada tipini (Type) belirleriz. Hareket alanı (Scope) kısmında ise yordamımızın Genel (Public) ya da Özel (Private) mi olduğunu belirtiriz. Eğer yordamımız Genel ise bu yordama programımızın her yerinden ulaşabiliriz ama Özel ise sadece bulunduğu formdan ulaşılabilir.Genel olarak tanımlanmış bir yordama diğer formlardan ulaşmak için yordamın bulunduğu formu referans vermek gereklidir. Örneğin,

FormAdi.KDVliFiyat() gibi

B.) Modül Yordamları

Yazdığımız kod parçalarını eğer formlardan bağımsız olarak yazarsak bunları daha sonra geliştireceğimiz diğer uygulamalar içerisinde de kullanabiliriz bu sayede zamandan büyük tasarruf etmiş oluruz bunu yapabilmek için ise yazdığımız yordamları bir modül içine kayıt etmeliyiz VB 'de bunu "Project / Add Module" seçeneğini tıklayarak projemize bir modül ekleyerek daha sonrada yordamlarımızı buraya yazarak gerçekleştirebiliriz. Modül içerisine yazdığımız yordamlar bütün formlar tarafından çağırılabilir eğer bazı yordamların sadece bulunduğu modül içerisinden çağırılmasını istiyorsak yordamın Hareket Alanını (Scope) Özel (Private) olarak atamalıyız. Örnek verecek olursak DLL dosyaları içerisinde bir çok yordam bulunan modüllerdir ( Bir DLL dosyasının nasıl oluşturulacağı konusunu ileriki derslerimizde öğreneceğiz) ve biz bir program yazarken Windows 'un bazı DLL dosyalarını kullanarak bunları tekrardan yazma zahmetinden kurtuluruz.

1.) Function tipi yordamlar Function tipi yordamların geriye değer gönderebilen yordamlar olduğundan bahsetmiştik isterseniz şimdide kullanım şeklini verdikten sonra bunu bir örnekle pekiştirelim



Kısım Ve Açıklamar:

Public:İsteğe bağlı. Yordamımızın bütün formlar ve modüller tarafından çağırılabileceğini gösterir

Private:İsteğe bağlı. Yordamımızın sadece bulunduğu formdan veya modülden çağırılabileceğini gösterir

Friend:İsteğe bağlı. Sadece Class Modül (*) içerisinde kullanılabilir. Yordamımız projemiz tarafından çağırılabilir fakat bileşenler tarafından çağırılamaz

Static:İsteğe bağlı. Yordamımızda ki yerel değişkenlerin değerlerini koruyacağını belirtir.

isim:Gerekli. Yordamımıza vereceğimiz isim

ArgümanListesi:İsteğe bağlı. Yordamımızda kullanacağımız değişken vb. neler olduğunu tanımlar eğer birden fazla argüman kullanacaksak bunlar birbirinden virgül ile ayrılır

ifadeler:İsteğe bağlı. Yordamımızda çalışmasını istediğimiz kod parçaları



* Class Modüllerinin neler olduklarını "Bir DLL dosyasının nasıl oluşturabiliriz" adlı dersimizde öğreneceğiz Şimdi de küçük bir iki örnekle öğrendiklerimizi pekiştirelim



 



Yukarda ki örneğimizde Function tipi yordamımız "BombaSayisi" değişkenine bağlı olarak kaç kişinin öleceğini hesaplayan ve bu hesapladığı değeri MsgBox fonksiyonuna geri gönderen bir yordam sanırım burada Function tipi yordamların geriye nasıl değer gönderdiği açıkça görülüyor



Şimdi de notlarımızın ortalamasını hesaplayan bir program yazalım





2.) Sub Tipi yordamlar Sub tipi yordamların kullanım şekli aşağıdaki gibidir



Bu tip yordamların sadece belirli bir işlemler dizisini yerine getiren yordamlar olduğundan bahsetmiştik isterseniz şimdi bunları bir kaç örnekle pekiştirelim



Yukarda ki örneğimizde Sub tipi yordamımız geriye değer gönderemediği için sonucu gene "Toplam" yordamı içerisinden MsgBox fonksiyonu ile görüntülüyoruz. Sub tipi yordamları genelde dosya işlemlerinde (açma,kapatma,kaydetme vb) ve veritabanı işlemleri gibi geriye değer gönderilmesi zorunlu olmayan durumlarda kullanıyoruz


3.) Property tipi yordamlar

Bu tip yordamların detaylı açıklamasını "Bir OCX dosyası nasıl oluşturulur" adlı dersimizde ele alacağız.

Yordamlarla Haberleşme Yöntemleri

Yordamlara haberleşmek için kullanılan argümanların yordama gönderilmesi için kullanılan iki yol vardır bunlar "Değer" ile argüman gönderme ve "Referans" ile argüman gönderme

Değer (ByVal) ile argüman gönderme

Bu metot kullanılırsa çağıran programın gönderdiği değerin bir kopyası çağırılan program içerisinde oluşturulur çağırılan program içinde, değişkenin değeri değişse bile çağıran program içerisindeki değer bundan etkilenmez. Bu tip işlemlerde anahtar sözcük "ByVal" 'dır




 Örneğimizde de görüldüğü gibi "y" değeri değişmemiş sadece "d" değeri değişmiştir.Eğer "ByRef" kullansaydık bu durumda "y" değeri de 14 olacaktı bunun uygulamasını da sizlere bırakarak Yazımınızı bitiriyoruz.
__________________
Logged
uzmandost
Üye
**

Puan: 4
Offline Offline

Cinsiyet: Bay
İsim: Tarık
Meslek: Öğrenci-İlköğ.
Mesaj Sayısı: 61


Aktiflik
Deneyim
Seviye
WWW Stats
« Yanıtla #7 : Temmuz 09, 2007, 17:57:37 ÖS »
Aşağıdaki listedeki kullanıcılar bu konu için teşekkür ediyorlar!Teşekkür Et

Linkleri Görebilmek İçin
Kayıt Olun veya Giriş Yapın
>>> VİSUAL BASİC 2005 EXPRESS EDİTİON PROGRAMINI İNDİRMEK İÇİN TIKLA..! <<<


(teşekkür olarak puan verirseniz daha iyi olur  Cheesy )
Logged
Sayfa: [1]   Yukarı git
  Yazdır  
 
Gitmek istediğiniz yer:  

Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC | Sitemap | Sitemap / Site Haritası
Giriş Sayfası Yap Sık Kullanılanlara Ekle
UzmanWeb.Net 2003-2007 © | Bilgi Paylaşım Sitesi | Sitemap
Sayfa Başına Dön
Sitemizde yer alan tüm bilgilerin bir kısmı diğer sitelerden derlenip yalnızca bilgilendirme ve eğitim amacıyla sunulmaktadır.
Uzman Toplist Asp İndir Popüler Siteler Linkdefteri.com

MKPortal ©2003-2006 mkportal.it