Would you like to react to this message? Create an account in a few clicks or log in to continue.


Bismil Team Groub
 
AnasayfaAramaLatest imagesKayıt OlGiriş yap

 

 Visual Basic dersleri 8 Formlarla Çalışmak

Aşağa gitmek 
YazarMesaj
dynamic
Co Admin
Co Admin
dynamic


Mesaj Sayısı : 220
Kayıt tarihi : 25/09/08
Yaş : 34

Visual Basic dersleri 8 Formlarla Çalışmak Empty
MesajKonu: Visual Basic dersleri 8 Formlarla Çalışmak   Visual Basic dersleri 8 Formlarla Çalışmak Icon_minitimeSalı Ekim 21, 2008 5:44 am

Hazırladığımız projelerde çoğu zaman kullanıcı ile iletişim kurabilmek için birden fazla forma ihtiyaç duyarız. Visual Basic bu konuda bize yardımcı olmakta, projelerimize birden fazla form eklememize imkan sağlamaktadır. Projeye eklenen her yeni forma Visual Basic bir isim vermektedir. Yeni bir proje başlattığımızda Visual Basic bir tane form oluşturmakta ve buna Form1 adını vermektedir. Daha sonradan bizim eklediğimiz formlar ise sırası ile Form2, Form3 gibi isimler alacaktır.
Bir projeye yeni bir form eklemek için Project menüsünü kullanabileceğimiz gibi Project Explorer penceresine sağ tıkla***** gelen menüden Add seçeneğini kullanarak da yeni bir form ekleyebiliriz. Bu komutlar verildikten sonra Visual Basic bize aşağıdaki gibi bir pencere sunacak.
Bu pencerede Visual Basic ile beraber gelen birçok hazır form şablonu bulunmaktadır. Eğer istersek bu şablonlardan birini seçerek projemize ilave edebilir veya Form seçeneğini kullanarak boş bir form ekleyebiliriz.
Projemize yeni bir form ekledikten sonra, eklenen yeni form adı Project Explorer penceresinde görülebilir. Projemizde birden fazla form varsa eğer, hangi formla çalışmak istiyorsak Project Explorer penceresinden formu seçip View Object butonuna basarız.
Eklediğimiz yeni formu projemize kaydetmek için File-Save Form komutunu verebiliriz. Karşımıza gelen pencereden formun bulunmasını istediğimiz klasör ve forma vermek istediğimiz ismi belirtiriz. Visual Basic formu .frm uzatısı ile kaydeder.
Visual Basic’de eğer bir forma ihtiyacımız kalmadı ise, o formu projemizden çıkarmak için File-Remove Form komutunu kullanırız. Böylece form projeden ve Project Explorer penceresinden çıkartılır.
Visual Basic başka bir projede kullandığımız bir formu üzerinde çalıştığımız projeye eklememize izin verir. Böylece tekrar tekrar aynı tip formları dizayn etmekle uğraşmak zorunda kalmayız. Add Form komutunu verdiğimizde gelen pencerede Existing sekmesini kullanarak istediğimiz .frm uzantılı dosyayı seçerek projemize ekleyebilriz.
Program Kodları ile Formları Yönetmek

Projelerimizde yeni bir formu yüklemek için aşağıdaki yöntem kullanılır.

Load FormAdı

Burada FormAdı yerine yüklemek istediğimiz formun adını yazmalıyız. Daha önceden yüklenmiş olan bir formu göstermek için ise aşağıdaki sözdizimi kullanılır.

FormAdı.Show Mode

Mode parametresine 1 verilirse form kalıcı olacak, 0 verilirse kalıcı olmayacaktır. Eğer mode bildirilmezse Visual Basic varsayılan değeri olan 0’ı kullanacaktır. Kalıcı formlara örnek olarak ekrana gelen mesaj pencerelerini verebiliriz. O pencerede kapanmadan başka bir işlem yapamayız.
Bir formu henüz yüklemeden Show yöntemini kullanırsak Visual Basic önce formu yükleyecek yani load olayını gerçekleştirecek ardından ise formu gösterecektir.
Açık olan veya yüklenmiş olan bir formu kapatmak için ise aşağıdaki yöntemler kullanılır.

Unload FormAdı ‘Formu hafızadan kaldırır.
FormAdı.Hide ‘Formu gizli hale getirir. Form hala hafızada yer işgal eder.

Visual Basic’de birden fazla form ile çalışırken projeyi çalıştırdığımızda hangi formun ilk olarak çalışacağını belirlemek için Project –Project Properties komutunu kullanmalıyız. Bu komutu verdikten sonra karşımıza yukarıdaki gibi bir pencere gelecek. Gelen pencereden Startup Object adlı açılan liste kutusundan projenin hangi form ile açılacağını belirleyebiliriz.

MDI Formlar

Hazırlayacağımız projelerde genellikle birden fazla form kullanacağız. Bu formlardan birisi Ana Formumuz olacak, diğerleri ise bu form içerisinde çalışan Yavru Formlar olacaktır. Örneğin Microsoft Word, Microsoft Excel bu şekilde tasarlanmış uygulamalardır. Word ve Excel içerisinde birden fazla form açılmaktadır. Uyguluma simge durumunda küçültüğünde veya kapatıldığında içerisinde bulunan formlar da otamatik olarak kapanmaktadır. Visual Basic’de bu tip Formlara MDI From ve MDI Child Form adı verilmektedir.
Projemize bir MDI Form eklemek için Project-Add MDI Form komutunu veririz. Bir projede en fazla bir tane MDI Form olabilir. Projemizde bulunan diğer formları ise yavru form olarak tanımlamak için Properties penceresinden MDIChild özelliklerine True değerini atamamız gerekir. MDI Form aşağıdaki özellikler dışında diğer formlarla aynı işlevleri sağlarlar.
· Bütün yavru formlar ait oldukları MDI Form içerisinde görülürler.
· Bir yavru form simge durumunda küçültüğünde, görev çubuğunda değilde ait olduğu MDI Form içerisinde küçük bir başlık çubuğuna dönüşür.
· MDI Form simge durumunda küçültüğünde, yavru formlarda kendisi ile beraber simge durumunda küçülür ve hepsi görev çubuğunda tek bir düğme olarak gösterilirler.
· Bütün yavru formlarda bulunan menüler, MDI Formun menü çubuğunda görülür.
Visual Basic’de Çizim

Visual Basic’de çizim yapabilmek için Line, Circle, Pset yöntemlerini kullanırız. Bu yöntemler Form ve Printer için kullanılabilir. Form üzerine çizim yapılırken formun AutoRedraw özelliğini True yapmalıyız.
Visual Basic’de çizim yaparken kordinat sistemini anlamalıyız. Çizim yaparken X ve Y kordinatlarını kullanırız. Y kordinatının yukarıdan aşağı inerken artar ve başlangıç değeri 0’dır. X kordinatı ise soldan sağa giderken artar ve başlangıç değeri 0’dır. Formun sol üst köşesi kordinatları 0,0 dır.
Form üzerinde çizim yapılacak alan formun iç kısımlarıdır. Width ve Height özellikleri ise formun çerçeveler ve başlık çubuğu dahil olmak üzere genişlik ve yüksekliğini verir. Formun iç yükseklik ve genişliğini ise ScaleWidth ve ScaleHeight özelliklerini kullanarak öğrenebiliriz.
DrawWidth; Çizgi kalınlığını belirler.
Line Yönetimi

Line (X1,Y1) - (X2,Y2), renk;Line yöntemi form üzerine çizgi çizmek için kullanılır. X1 ve Y1 başlangıç, X2 ve Y2 bitiş noktasını belirler. Renk paramtresi seçimlidir. Eğer istenirse ForeColor özelliğine değer ata*****da renkli çizmler yapılabilir.
Private Sub Form_Load()
DrawWidth = 5
For i = 0 To Form1.ScaleHeight Step Form1.ScaleHeight / 10
Line (0, i)-(Form1.ScaleWidth, i), vbRed
Next
End Sub
Circle Yönetimi

Circle (MX,MY), R , renk; Circle yöntemi merkezi MX ve MY olan çemberi R yarıçapında verilen renkte çizer. FillStyle özelliği 0 yapıldıktan sonra ve FillColor özelliğini kullanılarak içleri renklendirilebilir.

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 1 To 5
Circle (X, Y), i * 100, vbRed
Next
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
FillStyle = o
FillColor = Rnd * 16777216
Circle (X, Y), 500
End Sub
Pset Yönetimi

Pset(X,Y), renk; Pset yöntemi X ve Y olarak verilen kordinatlara bir nokta koyar.

Private Sub Form_Load()
Dim x, y, i, r
r = ScaleHeight / 2
While r > 0
i = (i + 1) Mod 360
r = r - 1 'Yarıçağı sürekli azalt
y = ScaleHeight / 2 + r * Sin(i * 3.1415 / 180)
x = ScaleWidth / 2 + r * Cos(i * 3.1415 / 180)
PSet (x, y)
Wend
End Sub
Sayfa başına dön Aşağa gitmek
dynamic
Co Admin
Co Admin
dynamic


Mesaj Sayısı : 220
Kayıt tarihi : 25/09/08
Yaş : 34

Visual Basic dersleri 8 Formlarla Çalışmak Empty
MesajKonu: DEVAMI   Visual Basic dersleri 8 Formlarla Çalışmak Icon_minitimeSalı Ekim 21, 2008 5:44 am

Yazıcı Kullanımı

Er yada geç projelerimizde yazıcıyı kullanmak zorunda kalacağız. Visual Basic ile yazıcıdan döküm alabilmek için Windows ortamında tanıtılmış bir yazıcıya ihtiyaç duyulur. Visual Basic yazıcı kullanımı için Printer nesnesini sunar. Printer nesnesinin önemli özellikler aşağıda verilmiştir;

Özellik Tanımı
· DeviceName Yazıcı ismi bu özellikle öğrenilebilir
· FontName Metinde kullanılacak yazı tipinin adını belirler
· FontSize Metinde kullanılacak yazı tipi boyutunu belirler
· FontBold Metinde kullanılacak yazı tipi biçeminin kalın olup olmaycağını belirler
· FontItalik Metinde kullanılacak yazı tipi biçeminin eğik olup olmaycağını belirler
· Page Basılmakta olan sayfa numarasını belirler
· CurrentX Yazdırma işlemine sayfanın üstünden ne kadar boşluk bırakılarak başlanacağını belirler.
· CurrentY Yazdırma işlemine sayfanın sol tarafından ne kadar boşluk bırakılarak başlanacağını belirler.
· ColorMode Yazdırmanın renklimi siyah beyazmı olacağını belirler.
· Copies Alınacak kopya sayısı belirlenir.
· Orientation Sayfanın yataymı, dikeymi kullanılacağını belirler
· Papersize Sayfa boyutunu belirler.

Yöntem Tanımı
· Print Belirlenen metnin yazıcıdan çıkmasını sağlar.
· Circle, Line, Pset Yazıcıda çizi yapmayı sağlar
· NewPage Baskı işlemine yeni bir sayfadan devam edileceğini belirler
· EndDoc Baskı işleminin bittiğini belirler
· KillDoc Sürmekte olan baskı işlemini sona erdirir.

Visual Basic’de kullanılan varsayılan ölçü birimi Twip’dir. Bir Twip 1/1440 inç’e tekabül etmektedir. Buna göre A4 ebatındaki bir kağıtın boyutları Twip cinsinden 11909 X 16834’dür.

Printer.CurrentY = 300
Printer.CurrentX = 400
Printer.FontName = "Times New Roman"
Printer.Font.Size = 16
Printer.Font.Bold = True
Printer.Print "Brain Bilişim Akademisi "
Printer.EndDoc
Yukarıda kod ile üstten ve yandan ne kadar boşluk bırakılacağını belirledikten sonra yazı tipini ve biçemini belirledik. Ardından Printer.Print yazdırmak istediğimiz metni belirledik. Son olarak da Printer.EndDoc komutunu vererek yazdırma işinin son bulduğunu belirledik.
Circle, PSet gibi işlevler Printer nesnesiyle kullanılabilmektedir. Bu yöntemler kullanılarak sayfalarımıza şekillerde çizdirebiliriz.
Yordamlar ve Fonksiyonlar

Visual Basic’de sık sık tekrarlanan kodlar yazmak yerine yordam ve fonksiyonlar oluşturulabilir. Oluşturulan bu yordam veya fonksiyonlar program içerisinde istenilen yerden ismi kullanılarak çağrılabilir. Bu sayede tekrar eden kodlar yazmaktan kurtulabiliriz. Eğer oluturduğumuz yordam geriye bir değer gönderiyorsa fonksiyon adını veririz.

Procedure (Yordam)

Projelerimizde şimdiye dek hep nesnelere ait olaylar üzerine kodlar yazdık. Eğer proje içerisinde birçok kez tekrarlanan kodlar varsa sürekli olarak aynı kodları yazmak yerine bu işlemleri gerçekleştiren yordam’lar yazarız. Visual Basic’de yazılan bir yodamı sadece yordam adı belirterek çağırabiliriz.
Visual Basic’de yeni bir yordam oluşturmak için Tool-Add Procedure komutunu veririz. Bu komut verildikten sonra yandaki gibi bir pencere ile karşılaşırız. Name kutucuğuna yordama vermek istediğimiz adı yazarız. Type bölümünden tür seçeriz. Yordamlar için Sub Fonksiyonlar için ise Function seçilir. Scope bölümünden ise Public işaretlenir. Tüm bu işlemler yapıldktan sonra Visual Basic formumuzun General Declarations bölümünde belirlediğimiz isimde bir yordam oluşturur. Eğer bu yordamın paramtre almasını istiyorsak parantezler içerisine değişkenler tanımlanır.

Yukarıda tanımlanmış bir yordam örneği var. Command1 nesnesinin Click olayı gerçekleştiğinde yordam çalışıyor.

Function (Fonksiyon)

Fonksiyonların oluşturulması ve kullanılması tıpkı yordamlara benzer. Fonksiyonlar yordamlardan farklı olarak geriye bir değr gönderirler.

Bir fonksiyon oluşturmak için Tool-Add Procedure komutunu veririz. Name kutucuğuna fonksiyona vermek istediğimiz adı yazarız ve Function seçeneğini işaretleriz. Fonksiyonun sadece form üzerinde çalışmasını istiyorsak Private Bütün Projede çalışmasını istiyorsak Public işaretlenmelidir. Tüm bu işlemler yapıldktan sonra Visual Basic formumuzun General Declarations bölümünde bir fonksiyon oluşturur. Eğer bu fonksiyona paramtre vermek istiyorsak parantezler içerisine değişkenler tanımlanır. Parantez sonrasında ise fonksiyonun geriye döndüreceği veri tipini belirlememiz gerekir.
Yukarıda tanımlanmış bir fonksiyon örneği var. Command1 nesnesinin Click olayı gerçekleştiğinde fonksiyon çalışıyor.

Diziler

Aynı tür bilgileri bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın avantajı, aynı tür bilgileri bir listede tutarak daha hızlı işlem yapılabilmesidir. Visual Basic'de dizi şu şekildedir

Örnek
Private Sub Form_Load()
Dim Ad(2) As String
Ad(0) = "Ali"
Ad(1) = "Ahmet"
Ad(2) = "Ebru"
End Sub
Option Base

Eğer diziyi 0’dan değilde 1’den itibaren başlatmak istersek diziyi tanımlamadan önce Option Base 1 satırını eklemeliyiz.
Statik Diziler

Bu tip dizilerde kullanılacak yer sayısı sabittir. Bu tip diziler sadece tanımlandıkları modül içersinde kullanılabilirler. Statik dizi şu şekilde tanımlanabilir

Dim dizi_adı(sayi) As Veri_Tipi

Tüm proje içinde kullanılacak bir dizi tanımlanmak isterse standart modülün General Declarations bölümünde yukarıdaki şekildeki gibi tanımlanmalıdır
Örnek
Option Base 1
Dim a(5) As Integer
Private Sub Form_Load()
a(1) = 10
a(2) = 20
End Sub

Private Sub Command1_Click()
Text1.Text = a(1) + a(2)
End Sub

Bu örnekte görüldüğü gibi projenin General Declarations kısmında a(5) dizisi tanımlanıyor. Bu dzi tanımlanmadan önce dizi indislerinin 1 den itibaren başlıyacagını belirten Option Base1 satırı koda dahil edilmiştir. Form1 yüklendiğinde bu dizinin ilk elemanınna 10 sayısı ikinci elemanına 20 sayısı atanıyor. Eğer kullanıcı Command1 isimli butona tıklarsa dizinin ilk ve ikinci elemanları toplanarak Form üzerinde Text1 adlı nesnenin Text özelliğine atanıyor. Yani TextBox'ın bu sayıların toplamını göstermesi sağlanıyor.
Dinamik Diziler

Bu tip dizilerde kullanılacak yer sayısında bir sınırlama yoktur. Bu tip diziler ilk başta aşagıdaki şekildeki gibi bir tanımlamaya ihtiyaç duyarlar

Dim dizi_adı( ) As Veri_Tipi

Daha sonra bu dizi kullanılacak iken indis sayısını belirtmek gerekir bunun içinde aşagıdaki gibi bir tanımlama yapılmalıdır.

ReDim dizi_adı(boyut ) As Veri_Tipi

Artık bu veri dizisini projemiz içinde kullanabiliriz.
Örnek
Option Base 1
Private Sub Form_Load()
Dim s() As String
End Sub

Private Sub Command1_Click()
ReDim s(10) As String
s(1) = "Selam "
s(2) = "Ayşe"
Text1.Text = s(1) + s(2)
End Sub

Bu dizi tanımlanmadan önce dizi indislerinin 1’den itibaren başlıyacagını belirten Option Base1 satırı koda dahil edilmiştir. Form1 yüklendiginde s adlı bir dinamik dizi tanımlanmaktadır. Kullanıcı Command1 isimli butuna tıkladığında, ReDim anahtar sözcüğü ile s dizisinin boyutu belirlenir. Bu dizinin ilk elemanınna "Selam " değeri ikinci elemanına "Ayşe" değeri atanıyor. Dizinin ilk ve ikinci elemanları birleştirilerek Form üzerinde Text1 adlı nesnenin Text özelligine atanıyor. Yani TextBox'ın bu değerlerin toplamını göstermesi sağlanıyor.

Dim Ad As String * 20
ClipBoard

Windows işletim sistemi Kopyala-Yapıştır ve Kes-Yapıştır yöntemini kullanırken ClipBoard nesnesinden faydalanır. Visual Basic’de ClipBoard’u nesnesini kullanabilmemiz için birkaç yöntem sunar.
Clear

ClipBoard nesnesinin içeriğini temizler.
SetText

ClipBoard nesnesinin içerisine gidecek yazıyı belirler. Kopyalama işlemlerinde kullanılır.
GetText

ClipBoard nesnesinin içerisindeki yazıyının alınacağını belirler. Yapıştır işlemlerinde kullanılır.
SetData

ClipBoard nesnesinin içerisine gidecek resini belirler. Kopyalama işlemlerinde kullanılır.
GetData

ClipBoard nesnesinin içerisindeki resmin alınacağını belirler. Yapıştır işlemlerinde kullanılır.

Visual Basic’de Clipboard nesnesini kullanarak kes, kopyala ve yapıştır işlemlerini gerçekleştiren yeni bir proje tasarlayalım. İlk önce yeni bir proje başlatalım. Projenin formuna bir TextBox nesnesi yerleştirip Text özelliğindeki değeri boşaltalım, Left ve Top özelliklerinede 0 değerini verelim. Bu sayede formun sol üst köşesinde içi boş bir TextBox nesnesi oluşturmuş olduk. Ardından Menü editörü açarak yanda görüldüğü gibi menüleri ekleyelim. Formumuzu tasarladıktan sonra kes, kopyala ve yapıştır işlemlerini gerçekleştirecek kodları Code Editörü açarak aşağıdaki gibi girelim. Eğer istenirse yeni menüler ilave ederek kullanıcının yazı biçemlerini değiştirmesinide sağlayabilirsiniz.

Private Sub Form_Load()
Text1.Text = ""
Text1.Left = 0
Text1.Top = 0
Text1.Width = Form1.ScaleWidth
Text1.Height = Form1.ScaleHeight
End Sub

Private Sub Form_Resize()
Text1.Width = Form1.ScaleWidth
Text1.Height = Form1.ScaleHeight
End Sub

Private Sub mnuCikis_Click()
End
End Sub

Private Sub mnuDuzen_Click()
If Text1.SelLength = 0 Then
mnuKes.Enabled = False
mnuKopyala.Enabled = False
Else
mnuKes.Enabled = True
mnuKopyala.Enabled = True
End If
End Sub

Private Sub mnuKes_Click()
Clipboard.Clear
Clipboard.SetText Text1.SelText
Text1.SelText = ""
End Sub

Private Sub mnuKopyala_Click()
Clipboard.Clear
Clipboard.SetText Text1.SelText
End Sub

Private Sub mnuSecim_Click()
Dim Mesaj As String
Dim KarakterSayisi As Integer
KarakterSayisi = Text1.SelLength
Mesaj = "Seçili karakter sayısı : "
Mesaj = Mesaj & Str(KarakterSayisi)
MsgBox Mesaj
End Sub

Private Sub mnuYapistir_Click()
Text1.SelText = Clipboard.GetText
End Sub
Sayfa başına dön Aşağa gitmek
 
Visual Basic dersleri 8 Formlarla Çalışmak
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Visual Basic Öğreniyorum
» Visual Basic Egitimi
» Visual C ++ 6.0’ın Kurulumu
» Visual C# ile Basit Bir Not Defteri Uygulaması
» Visual Studio 2008 Express Edition All-in-One DVD Final

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
 :: BT Bilgisayar ve Teknolojisi :: Programlama :: Visual Basic / Basic / PicBasic ve Türevleri-
Buraya geçin: