Professional Documents
Culture Documents
Ünite 1
Ünite 1
Visual Studio .NET, günümüz dünyasındaki en gelişmiş yazılım geliştirme ortamıdır. Visual
Studio .NET kullanıcılarına, tüm yazılım geliştirme dilleri için ortak bir geliştirme platformu
sunar. İstenildiğinde BASIC dilinde (VB.NET), istenildiğinde C dilinde (C#) yazılımların
geliştirilmesine olanak sağlar. Böylece yazılım geliştiriciler bir programlama dilinden
diğerine geçtiklerinde geliştirme platformuna alışmakla zaman kaybetmezler. Ek olarak
Visual Studio .NET, proje geliştirirken ihtiyaç duyacağınız her türlü bileşeni barındırır ve
tek bir platformda tüm ihtiyaçlarınızı karşılar. Uygulamaların (bir masaüstü uygulaması, web
servisleri, web uygulamaları vb.) hızlı ve kolay bir şekilde geliştirilmesine, yönetilmesine
olanak tanır.
VS.NET KURULUM
Visual Studio .NET kurulumu için ihtiyacımız olan minimum konfigurasyon şu şekildedir;
İşlemci: 400Mhz
Ram: 128MB
Disk Alanı: 3GB (Boş alan)
Çözünürlük: Min. 800x600/16Bit Çözünürlük/Renk Derinliği
İşletim Sistemi: NT Based (Windows NT, 2000, XP, Server 2003) işletim sistemlerinden
biri.
Proje tipi belirlenir, proje kalıbı ve projenin hangi ismi belirlenir. Basic tabanlı, VB.NET
projeleri için Project Types bölümünden “Visual Basic -> Windows” tipini, Templates
bölümünden “Windows Application” kalıbını, name bölümünden de projeye vereceğimiz isim.
Onay butonuna tıkladığımızda VB.NET IDE açılır.
Daha öncede belirttiğimiz gibi Microsoft Visual Studio 2005 bir yazılım geliştirme
platformudur. Program başlatılmadan önce Varsayılan yazılım geliştirme platformunun
seçileceği bu pencere açılır ve “Start Visual Studio” tıklanarak program başlatılır.
Programın çalıştırılması esnasında da bu platform değiştirilebilir. İster basic tabanlı
projeler için VB.NET, isterse C tabanlı projeler için C# ortamında yazılım geliştirilebilir.
Bunlar arasında geçiş; “Tools -> Import and Export Settings” menü seçeneği ile yapılır.
Reset All seçeneği karşımıza aşağıdaki gibi pencere açılır.
IDE (Integrated Developing Environment) sadece Visual BASIC .NET programlama dili için
kullanılan bir sözcük değildir. IDE programcının uygulamalarını oluşturturken kullandığı bir
arabirimdir. Integrated Developing Environment sözcüklerinden de anlaşılacağı gibi Entegre
geliştirme ortamıdır. Programda iki tane arabirim bulunmaktadır. Bunlardan bir tanesi
kodları icra edeceğimiz kod geliştirme ortamı, diğer ise programda kullanacağımız nesneleri
düzenleyeceğimiz arabirimdir. Visual BASIC .NET program geliştirme arabirimi aşağıdaki
gibidir.
¾ Menü Çubuğu
¾ Araç Çubukları
¾ Form Tasarım Penceresi
¾ Araç Kutusu
¾ Properties Penceresi
¾ Solution Explorer Penceresi
¾ Component Tray
olarak sıralanabilir.
MENÜ ÇUBUĞU
Başlık çubuğunun altındaki menüdür. Dinamik bir yapısı vardır. Alt menülere erişimi sağlar.
Aşağıda menü çubuğu verilmiştir.
File Proje ve dosyaları açıp/kapamak için, Visual Basic .NET’ten çıkmak için kullanılır.
Edit Kod yazarken metnin taşınması, kopyalanması ve silinmesi gibi işlemler için
kullanılır.
View IDE içerisindeki sık kullanılan bileşenlerin gösterilip, gizlenmesi için kullanılır.
Project Uygulamalarımıza yeni modüller, yeni formlar, yeni sınıflar v.b eklemek için
kullanılır.
ARAÇ ÇUBUKLARI
Bütün Microsoft ürününde olduğu gibi Visual Basıc .NET programında da araç çubuğu menü
çubuğunun hemen altında bulunur. Araç çubuğu üzerindeki düğmeler ile menülerdeki
işlevlerin daha kolay ve daha hızlı yapılmasını sağlar. Araç çubuğunun görüntülenip
gizlenmesi için kullanılan menü seçeneği “View…Toolbars…” menü seçeneğidir.
Visual Basic .NET IDE arabiriminin ortasında bulunan penceredir. Uygulama geliştirdiğimiz
formların tasarım pencereleri ve formların kod satırları görüntülenir. Bu pencereler
arasında geçiş yapmak çok kolaydır.
Properties penceresi, özellikler penceresi olarak adlandırılır. Form tasarım modunda iken
kullanılır. Özellikler penceresi; formumuza ait ya da form’a eklediğimiz denetimlere ait
özelliklerin görüntülendiği penceredir. Bu özellikler; isim, arka plan rengi, genişlik, metin
boyutu gibi özelliklerdir. Özellikler penceresi dinamik olarak yapılandırılabilir. İstenildiğinde
sınıflandırılabilir, istenildiğinde alfabetik olarak sıralanabilir.
VB.NET ile gelen diğer bir yenilikte, formun çalışması esnasında görüntülenmek zorunda
olmayan denetimlerin “Component Tray” denilen pencerede tutulmasıdır. Timer,
PrintPreview, Dataset v.b denetimler forma eklendiğinde bu pencerede görüntülenir.
VERİ TÜRLERİ
Byte 0 ile 255 arasında işaretsiz tamsayıları tanımlamak için kullanılır. Bir
byte’lık yer işgal eder. Bu tipler VB.NET'te System.Byte olarak
kullanılır. Örnek: dim Urunkodu As Byte
Short Bu tür sayısal değerler 2 baytlık yer işgal eder. İşaretli tam sayıdır.
.NET'te System. Int16 olarak kullanılır. Örnek: Dim a As Short
Integer Bu tür sayısal değerler 4 baytlık yer işgal ederler. İşaretli tamsayıdır.
Bu tipler .NET'te System.Int32 olarak kullanılır.Örnek: Dim sayi As
Integer
Long Bu tür sayısal değerler 8 baytlık yer işgal ederler. İşaretli tamsayıdır.
Bu tipler .NET'te System.Int64 olarak kullanılır. Örnek: Dim miktar As
Long
Single Bu tür sayısal değerler4 baytlık yer işgal ederler. Ondalık sayı tipidir. Bu
tipler .NET'te System.Single olarak kullanılır. Örnek: Dim sonuc As
Single
Decimal Bu tür sayısal değerler 16 baytlık yer işgal ederler. Bu tipler .NET'te
System.Decimal olarak kullanılır. Örnek: Dim toplam As Decimal
Date Bu tür veri tipleri 8 baytlık yer işgal derler. Tarih ve zaman bilgilerini
içerir .NET'te System DatetTime olarak kullanılır. Örnek: Dim tarih As
Date
Char Karakter Bilgileri içerir. Bu tür veriler 2baytlık yer işgal eder. En fazla
65535 karakter içeri. Bu tipler .NET'te System.Char olarak kullanılınır.
Örnek: Dim cinsiyet As Char
Object Bu veri türleri 4 baytlık yer işgal ederler. Nesnelere erişmek için
tamsayı değerleri ya da karakter katarlerını temsil eden değişkenler
oluşturulur. Bu tipler .NET'te System.Object olarak kullanılır. Örnek:
Dim db1 AsObject Set db1 = OpenDatabase ("c:\veri\firma.mdb " )
Yukarıdaki değişken türlerine ek olarak birde yapısal (struct) veri türü olarak ta
isimlendirilen veri türleri vardır. kullanıcı tarafından tanımlanan değişken tipleri
kullanılmaktadır. Farklı tipte verilere tek bir isimle erişmek için kullanılılan ve kullanıcı
tarafından veri türleridir. . Kullanıcı tanımlı değişken tiplerinin yapısı genellikle aşağıdaki
biçimdedir.
DEĞİŞKENLER ve SABİTLER
Değişkenler programın akışı içerisinde, değerleri sürekli olarak değişebilen, Sabitler ise,
değeri değişmeyen program bileşenidir.
DEĞİŞKENLER
Değişkenler geçici bilgi alanlarını ifade etmek için kullanılır. Program çalıştığında adı geçen
değişkenin saklandığı bellek alanından değer alınır, işlem yapılır, gerekirse o bellek alanı
güncellenir. Değişkenlerin saklandığı bellek alanları dinamik bir şekilde kullanılır. Her
programlama dilinde olduğu gibi VB.NET’te de değişkenlerin isimlendirme kuralları vardır.
Bunlar;
¾ Değişken isminin ilk karakteri bir harf olmalıdır.
¾ Değişken ismi oluşturulurken, diğer karakterler, harf, rakam ya da alt çizgi (-)
sembolü olabilir.
¾ Kullanılan harflerin küçük ya da büyük harf olmasının önemi yoktur.
¾ Değişken isim uzunlukları 16383 karaktere kadar olabilir.
¾ Değişken isimleri içinde diğer semboller(+,-,/ ,boşluk vb) bulunmamalıdır.
¾ .NET’e özgü kelimeler olmamalıdır.
Yukarıdaki kod satırında tanımlanan str; string türündeki bir değişkendir. Bu örnekte
kullanılan Dim deyimi değişkenlere erişim düzeyini belirtmek için kullanılan bir deyimdir.
Yukarıdaki kod satırında; str1, str2 integer ve sonuc string türünde değişkenlerdir. Metin
kutularının içeriğini birbirine böler ve sonucu ekrana mesajbox dialog kutusu ile bildirir.
Örnek 3.3: Butona tıklandığında, butonun text özelliğini “Tuzla ATL” olarak değiştirilen
program.
SABİTLER
Örnek 3.4: Butona tıklandığında Form’un text özelliğini STOK TAKİP olarak değiştirilen
program.
Yukarıdaki kod satırında, “STOK TAKİP” string türünde bir sabittir. “Me“ formu temsil
etmektedir.
Bir değişkene değer atamak için genel olarak aşağıdaki ifade kullanılmaktadır;
Değişken_Adı = Değişkene Atanan Değer
Yukarıdaki tanımda yer alan eşittir (=) işareti sadece, sağdaki değerin soldaki değişkene
aktarılacağını ifade etmektedir. Örneğin maas isimli bir değişkene 15.000 değeri;
maas=15.000
FONKSİYON AÇIKLAMA
CShort Ondalık sayıları yuvarlayarak sayısal bir değeri kısa tamsayıya çevirir.
Örnek 3.5: İki adet metin kutusunun içeriğini toplayıp etiket denetiminin text özelliğine
aktaran program.
Yukarıdaki kod satırında, CInt(); metin kutusunun string türündeki içeriklerini tam sayı
türüne dönüştürmüştür.
Örnek 3.6: Ondalık (yani decimal) türdeki bir sayısal değeri, tamsayı (integer) türüne
dönüştüren program.
Visual Basic.NET'te değişken tanımları farklı erişim düzeylerinde ve farklı erişim deyimleri
ile yapılmaktadır. Değişken tanımlarının yapıldığı düzeylere göre değişkenlere erişim
sağlanmaktadır. Değişken tanımlanırken belirlenen erişim deyimleriyle;
ERİŞİM DEYİMLERİ
PRIVATE
Yerel (local) değişken tanımlarında kullanılır. Yerel değişkenler projenin hangi bölümünde
tanımlanmış ise sadece orada o sınıf tarafından kullanılır.
Yukarıdaki kod satırında; sayi, private erişim düzeyinde bir değişkendir. Form1 sınıfı
içerisinde, alt programlar haricinde herhangi bir yerde tanımlanabilir ve bu sınıf içerisinde
herhangi bir yerden bu değişkene erişim sağlanabilir.
PUBLIC
Her düzeyde erişebilecek olan değişkenlerdir. Bu tür tanımlanan değişkenlere herhangi bir
kısıtlama olmadan her düzeyden erişebilir. Public olarak tanımlanan değişkenler hem
uygulama, hem de diğer erişim düzeylerinde kullanılabilir. Bu değişkene, tanımlandığı
uygulamayı kullanan diğer uygulamalar tarafından da erişebilir. Genelde programlarda modül
tanımlarken kullanılır. Modüllerde tanımlanan bu public değişkenlere, program içerisindeki
her form, her bir formun alt programlarından erişmek mümkündür.
Aşağıda bir modülde str isimli string değişkeni tanımlanmıştır.
Örnek 3.8: Public erişim düzeyinde, string türünde, str isimli bir değişken tanımlayan
program.
Yukarıdaki kod satırında, uygulamaya modül eklenmiştir (Project -> Add Module). Bu
modülde tanımlanan str isimli değişkene, uygulamaya eklenen her formdan erişim
sağlanabilir.
Friend deyimi ile tanımlanan değişkenlere, tanımlandıkları sınıf yada modül içindeki her
yerden erişebilir. Proje dışından bu tür değişkenlere erişilemez. Bu tür deyimler sınıf, modül
ve blok düzeyinden tanımlanır. Tanımlandığı formdaki alt programdan da friend değişkenlere
erişim yapılabilir.
Örnek 3.9: Formun load alt programında kullanılacak olan OledbConnection (veri tabanı
bağlantı) nesnesini friend erişim düzeyi olarak tanımlayan program.
Yukarıdaki kod satırında, veri tabanı bağlantısını sağlayacak olan baglanti1 isimli
Oledb.OledbConneciton türündeki nesne, friend erişim düzeyinde tanımlanmıştır. Formun
bütün alt programlarından bu nesneye erişmek mümkündür.
PROTECTED
Bu tür değişkenler sınıf içinde tanımlanırlar. Protected erişim düzeyi ile tanımlanan
değişkenlere, tanımlandıkları sınıf içinden ve uygulamanın kullanıcı tarafından tanımlanmış
sınıflarından erişebilir.
ARİTMETİK OPERATÖRLER
OPERATÖRLER ANLAMI
^ Üs alma
* Çarpma
/ Bölme
\ Tamsayılarda bölme
Mod Mod işlemi. Bölme işleminde kalanı verir.
+ Toplama
- Çıkarma
Örnek 5.1: KDV oranının kullanıcıdan istenerek, Genel Toplam değerinin hesaplandığı
program.
KARŞILAŞTIRMA OPERATÖRLERİ
Bu operatörler, iki değeri karşılaştırmak ve sonucunun "doğru" ,"yanlış" veya "boş" (null)
olma durumunu göre işlemleri yapmak amacıyla kullanılır. Bu operatörlerin sonucun doğru
çıkması durumda True yani –1, yanlış çıkması durumunda False yani 0 değerini döndürürler.
OPERATÖRLER ANLAMI
= Eşittir
<> Eşit değil
< Küçük
> Büyük
<= Küçük ya da eşit
>= Büyük ya da eşit
BİRLEŞTİRME OPERATÖRLERİ
Örnek 5.2: KDV oranının kullanıcıdan istenerek, Genel Toplam değerinin hesaplandığı
program.
MANTIKSAL OPERATÖRLER
Mantıksal operatörler iki ya da daha fazla ifade arasında kullanılırlar. Sonucun " doğru" ya
da "yanlış" olması durumuna göre programın akışı yönlendirilir.
OPERATÖRLER ANLAMI
And Eşittir
Eqv Eşit değil
Imp Küçük
Not Büyük
Or Küçük ya da eşit
Xor Büyük ya da eşit
ATAMA OPERATÖRLER
OPERATÖRLER ANLAMI
+= Birinci ve ikinci değer toplanıp sonuç birinci değişkene aktarılır.
-= Çıkarma işlemi yapılarak sonuç birinci değere aktarılır.
^= Bir sayının üssü alınır ve sonuç birinci değişkene aktarılır.
*= İki değer çarpılır ve sonuç birinci değere aktarılır.
/= Birinci değişken ikinci değişkene bölünür. Sonuç birinci değişkene
aktarılır.
Örnek 5.3: Sayi1 ve Sayi2 şeklinde iki adet sabit tanımlayarak, atama operatörlerinin
kullanıldığı program.
MANTIKSAL OPERATÖRLER
İşaretler Anlamı
? Herhangi bir karakter.
* Sıfır ya da daha fazla karakter.
# Bir haneli sayısal değer.
[ liste ] Listede yer alan herhangi bir karakter.
[ !liste ] Listede yer almayan herhangi bir karakter.
Program denetim deyimleri; bir veya daha fazla deyimin belirli koşul sağlandığında
yürütülmesi için kullanılır. Birden fazla koşulun birleştirilip tek bir koşul olarak
değerlendirilmesi için mantıksal operatörler kullanılır. Program denetim deyimleri;
karşılaştırma ve döngü deyimleridir.
KARŞILAŞTIRMA DEYİMLERİ
IF…THEN…ELSE
If Koşul Then
Deyimler
Else
Deyimler
End If
şeklinde kullanılır. Bu tanıma göre, verilen koşuldan "1" değeri döndürülürse yani "doğru" ise
Then kelimesini takip eden deyimler işlem görecektir. Eğer koşul gerçekleşmez ise Else
kelimesini izleyen satırlardaki deyimler işlem görecektir.
Örnek 6.1: Vize ve Final notunu kullanıcıdan isteyen ve ortalamasını kullanıcıya bildiren
program.
If koşul Then
deyimler
Elself koşul Then
deyimler
............
Else
deyimler
End if
Yukarıdaki tanımda, birinci satırdaki if deyiminde yer alan koşulun "doğru" olması
durumunda hemen ardındaki deyimler bloğu işlenecek, eğer "yanlış" ise bu kez Elself deyimi
içindeki koşul göz önüne alınacaktır. Eğer bu koşul "doğru" ise hemen ardındaki satırlarda
yer alan deyimler işlem görecektir. Her iki koşulda "yanlış" ise bu kez en son Else deyimini
izleyen deyimler işlem görecektir.
Örnek 6.2: Vize ve Final notunu kullanıcıdan isteyen ve yıl sonu ortalamasını 5’lik sisteme
çeviren program.
SELECT…CASE
If...Then karar yapısının gelişmişidir. Sadece bir değişkenin durumunu kontrol eder.
Kontrolü yapılacak değişken birden fazla değer alabiliyorsa select…case yapısı kullanılır.
Kullanılış şekli;
Örnek 6.3: Kullanıcının girdiği sayıya göre haftanın gününü belirleyen ve bunu formun text
özelliğine aktaran program.
Yukarıdaki kod satırında; kullanıcının girdiği değere göre haftanın günü belirlenip, formun
text özelliği değiştirilmiştir.
FOR…NEXT
Visual Basic.NET programlarında bir ya da daha fazla sayıda deyimin belirli bir koşul
gerçekleşinceye kadar tekrarlanması isteniyorsa for…next deyimi kullanılır. Bu deyim;
şeklinde kullanılır.
Örnek 6.4: 1’den 10’a kadar for döngüsü ile elde edilen sayıları listbox’a ekleyen program.
Sayaç ve Artım değerleriyle; döngü sayı belirlenebilir. Döngü istenildiğinde “Exit For” ile
sonlandırılabilir.
Örnek 6.5: 2’den 20’e kadar for döngüsü ile elde edilen sayıları listbox’a ekleyen, sayaç
10’a geldiğinde Exit For ile for döngüsünden çıkılan program.
Yukarıdaki kod satırları; iki değer arasındaki sayıları toplayıp, ekrana mesajbox dialog
kutusu ile bildirmektedir.
WHILE…WEND
Belirli bir koşulun gerçekleşmesi sonucunda bazı deyimleri söz konusu ise While.. Wend
döngülerinden yararlanılır. Bu deyim;
While koşul
deyimler
Wend
DO…LOOP
Do
deyimler
Loop
Do..Loop While; Do
deyimler
Loop While Koşul
Şeklinde döngülerdir.
Örnek 6.8: “TATL” ifadesi girilene kadar kullanıcıdan isim girmesini isteyen program.
MsgBox, Visual Basic .NET’te çok sık kullanılan bir fonksiyondur. Pek çok uygulamada olduğu
gibi, VB. Net’te de ekrana yazdırılan mesaj sonucunda kullanıcının mesajı pasif olarak
izlemesinden ziyade mesaja aktif olarak cevap vermesi ve bu cevaba göre de bir işlem
yapılması söz konusu olmaktadır. Aynı zamanda kullanıcıya bir dialog kutusu içerisinde bilgi
vermek amacı ile kullanılır. Örneğin; bir hata sonrasında kullanıcıya hatanın sebebini
açıklayan bir bilgi verirken kullanılabilir. Msgbox fonksiyonu birkaç faklı yöntemle
kullanılabilir. Bunlar;
şeklindedir.
MsgBox dialog kutusundan dönen değere göre program kod satırı, kullanıcının cevabı
doğrultusunda yönlenir. Bu dönen değerler;
Programdan çıkmak için kullanıcıdan onay alırken Message Box dialog kutusundan
yararlanılır.
Örnek 7.1: Formdan çıkmak için kullanıcıdan onay alan program kodu örneği.
Aynı zamanda program kullanırken yanlış veri girilmesi ya da, veri girilmesi gereken alanın
boş bırakılması gibi durumlarda da yine Message Box dialog kutusundan yararlanılır.
Örnek 7.2: Yanlış veri gönderilmesi durumunda kullanıcıyı mesajla uyaran program kodu
örneği.
VAL
String türü bir bilgi, numerik olarak kullanılacaksa VAL fonksiyonu ile dönüştürülür.
Örneğin,
VAL burada "120" değeri tırnak içine alındığı için karakter olarak tanınmıştır ama VAL
komutu bunu sayısal bir değere çevirmiştir
STR
STR, Numerik bir ifadeyi Stringe yani karaktere çevirir. Pozitif sayıları dönüştürürken
önlerine bir boşluk yerleştirilir.
FORM NESNESİ
Her projede mutlaka bir form olmak zorundadır. Kullanıcı programı hazırlarken tek bir form
arabirimi kullanıyorsa SDI (Single Dokument Interface), birden fazla form arabirimi
kullanacaksa MDI (Multiple Dokument Interface) uygulaması hazırlamak zorundadır.
Font Yazı tipi belirlenir. Tıklandığı zaman “Yazı Tipi” penceresi açılır. Yazı
Tipi, Yazı Tipi Stili ve Boyutu bu pencerede belirlenir.
IsMdiContanier Çoklu form kullanımı ayarlanır. True ve False olmak üzere iki değer alır.
Font Yazı tipi belirlenir. Tıklandığı zaman “Yazı Tipi” penceresi açılır. Yazı
Tipi, Yazı Tipi Stili ve Boyutu bu pencerede belirlenir.
TabStop Bu nesneye Tab tuşu ile geçmesini engellemek için kullanılır. Bunun için
TabStop değeri False olması gerekir.
Kullanıcıya bilgi vermek için kullanılan denetimdir. Etiket denetiminin özellikleri aşağıda
sıralanmıştır.
Enable Etiketin aktif ya da pasif olma özeliği belirlenir. Enable değeri True ise
form üzerinde değişiklik yapmaya izin verilir. False ise değişiklik
yapmaya izin verilmez.
Metin Kutusu; kullanıcı girişinin olduğu projelerde kullanılan denetimlerdendir. Forma her
bir metin kutusu eklendiğinde TextBox1, TextBox2… olarak isimlenir.
Font Yazı tipi belirlenir. Tıklandığı zaman “Yazı Tipi” penceresi açılır. Yazı
Tipi, Yazı Tipi Stili ve Boyutu bu pencerede belirlenir.
ForeColor Metin kutusuna girilecek olan metnin yazı tipi rengi belirlenir.
ReadOnly Metin kutusuna veri girişi yapılmaz, sadece okuma özelliği atanır.
RightToLeft Metin kutusuna veri girişi yapıldığında, karakterler sağdan sola belirir.
Varsayılan değeri soldan sağa şeklindedir.
TabStop Bu nesneye Tab tuşu ile geçmesini engellemek için kullanılır. Bunun için
TabStop değeri False olması gerekir.
Appearance Onay Kutusunun görünümünü belirler. Normal ve Button olmak üzere iki
seçenek bulunur.
Font Yazı tipi belirlenir. Tıklandığı zaman “Yazı Tipi” penceresi açılır. Yazı
Tipi, Yazı Tipi Stili ve Boyutu bu pencerede belirlenir.
TabStop Bu nesneye Tab tuşu ile geçmesini engellemek için kullanılır. Bunun için
TabStop değeri False olması gerekir.
Seçenek düğmesi grup halinde kullanıldığında birden fazla seçenek işaretlenebilmesi söz
konusu değildir. Kullanıcı yalnızca bir tanesini seçebilir
Enable Seçenek düğmesinin aktif yada pasif olma özeliği belirlenir. Enable
değeri True ise form üzerinde değişiklik yapmaya izin verilir. False ise
değişiklik yapmaya izin verilmez.
Font Yazı tipi belirlenir. Tıklandığı zaman “Yazı Tipi” penceresi açılır. Yazı
Tipi, Yazı Tipi Stili ve Boyutu bu pencerede belirlenir.
TabStop Bu nesneye Tab tuşu ile geçmesini engellemek için kullanılır. Bunun için
TabStop değeri False olması gerekir.
Grup kutusu aynı özellikteki denetimlerin (option, checkbox gibi) birbiriyle grup olarak
kullanılırken bir başlık altında toplanmasını sağlar.
Enable Grup kutusunun aktif ya da pasif olma özeliği belirlenir. Enable değeri
True ise form üzerinde değişiklik yapmaya izin verilir. False ise
değişiklik yapmaya izin verilmez.
Font Yazı tipi belirlenir. Tıklandığı zaman “Yazı Tipi” penceresi açılır. Yazı
Tipi, Yazı Tipi Stili ve Boyutu bu pencerede belirlenir.
RightToLeft Grup kutusunun text özelliği sağdan sola olacak şekilde belirir.
LostFocus Başka bir nesneye tıklandığında yada Tab ile atlama yapıldığında
gerçekleşir.
PANEL DENETİMİ
GrisSize Panel denetimine ızgara stilini belirler. Varsayılan değeri 8.8 dir.
TabStop Bu denetime Tab tuşu ile geçmesini engellemek için kullanılır. Bunun
için TabStop değeri False olması gerekir.
LostFocus Başka bir denetime tıklandığında yada Tab ile atlama yapıldığında
gerçekleşir.
Liste Kutusu, kullanıcıya bir veri listesi sunmak, bu listeden seçenek seçtirmek ve bu
seçeneğe göre yönlendirmek için kullanılan denetimdir.
Enable Liste Kutusunun aktif ya da pasif olma özeliği belirlenir. Enable değeri
True ise form üzerinde değişiklik yapmaya izin verilir. False ise
değişiklik yapmaya izin verilmez.
Font Yazı tipi belirlenir. Tıklandığı zaman “Yazı Tipi” penceresi açılır. Yazı
Tipi, Yazı Tipi Stili ve Boyutu bu pencerede belirlenir.
TabStop Bu nesneye Tab tuşu ile geçmesini engellemek için kullanılır. Bunun için
TabStop değeri False olması gerekir.
Bileşik Kutu da yine Liste kutusu gibi kullanıcıya bir veri listesi sunmak, bu listeden seçenek
seçtirmek ve bu seçeneğe göre yönlendirmek için kullanılan denetimdir. Liste bu denetimde
açılabilir bir şekilde olduğu için Formda Liste Kutusunun alabileceğinden daha az yer kaplar.
Enable Bileşik kutu denetiminin aktif ya da pasif olma özeliği belirlenir. Enable
değeri True ise form üzerinde değişiklik yapmaya izin verilir. False ise
değişiklik yapmaya izin verilmez.
Font Yazı tipi belirlenir. Tıklandığı zaman “Yazı Tipi” penceresi açılır. Yazı
Tipi, Yazı Tipi Stili ve Boyutu bu pencerede belirlenir.
TabStop Bu denetime Tab tuşu ile geçmesini engellemek için kullanılır. Bunun
için TabStop değeri False olması gerekir.
Sürücü liste kutusu bilgisayarda bulunan sürücüleri listeler ve bu sürücülerden herhangi bir
tanesini seçmemizi sağlar.
Enable Sürücü liste kutusunun aktif ya da pasif olma özeliği belirlenir. Enable
değeri True ise form üzerinde değişiklik yapmaya izin verilir. False ise
değişiklik yapmaya izin verilmez.
Font Yazı tipi belirlenir. Tıklandığı zaman “Yazı Tipi” penceresi açılır. Yazı
Tipi, Yazı Tipi Stili ve Boyutu bu pencerede belirlenir.
RightToLeft Sürücü liste kutusu üzerindeki metnin karakterleri sağdan sola olacak
şekilde belirir.
TabStop Bu nesneye Tab tuşu ile geçmesini engellemek için kullanılır. Bunun için
TabStop değeri False olması gerekir.
Backcolor Dizin liste kutusunun zemin (arkaplan) rengini belirler. Sağ tarafındaki
açılabilir liste kutusu aracılığı ile kullanıcı istediği zemin rengini
belirler.
Enable Dizin liste kutusunun aktif ya da pasif olma özeliği belirlenir. Enable
değeri True ise form üzerinde değişiklik yapmaya izin verilir. False ise
değişiklik yapmaya izin verilmez.
Font Yazı tipi belirlenir. Tıklandığı zaman “Yazı Tipi” penceresi açılır. Yazı
Tipi, Yazı Tipi Stili ve Boyutu bu pencerede belirlenir.
RightToLeft Dizin liste kutusu üzerindeki metnin karakterleri sağdan sola olacak
şekilde belirir.
TabStop Bu nesneye Tab tuşu ile geçmesini engellemek için kullanılır. Bunun için
TabStop değeri False olması gerekir.
Show Dizin liste kutusunun visible özelliği true olarak ayarlandığında, Dizin
liste kutusunun gösterilmesini sağlar. DirListBox1.show
Enable Dosya liste kutusunun aktif ya da pasif olma özeliği belirlenir. Enable
değeri True ise form üzerinde değişiklik yapmaya izin verilir. False ise
değişiklik yapmaya izin verilmez.
Font Yazı tipi belirlenir. Tıklandığı zaman “Yazı Tipi” penceresi açılır. Yazı
Tipi, Yazı Tipi Stili ve Boyutu bu pencerede belirlenir.
TabStop Bu nesneye Tab tuşu ile geçmesini engellemek için kullanılır. Bunun için
TabStop değeri False olması gerekir.
Show Dizin liste kutusunun visible özelliği true olarak ayarlandığında, Dizin
liste kutusunun gösterilmesini sağlar. FileListBox1.show
TabStop Bu nesneye Tab tuşu ile geçmesini engellemek için kullanılır. Bunun için
TabStop değeri False olması gerekir.
Enable Maskelenmiş metin kutusu denetiminin aktif yada pasif olma özeliği
belirlenir. Enable değeri True ise form üzerinde değişiklik yapmaya
izin verilir. False ise değişiklik yapmaya izin verilmez.
Cursor
TabStop Bu nesneye Tab tuşu ile geçmesini engellemek için kullanılır. Bunun için
TabStop değeri False olması gerekir.
LostFocus Başka bir denetime tıklandığında yada Tab ile atlama yapıldığında
gerçekleşir.
Interval Interval değeri mili saniye cinsinden belirlenir. 1000 ile çarpılarak
saniye değeri elde edilir. Interval özelliğinde belirlenen zaman
diliminde Timer_Tick( ) prosedürü çalışır. 1-65535 mili saniye alır.
Tick Zamanlayıcı denetiminin interval özelliği ile belirlenen her bir zaman
diliminde, tick prosedüründe belirtilen kodlar çalışır.
ADO (Active-X Data Object) yani, bir Microsoft Active-X bileşenidir. VB.NET ile veri
tabanına erişimi ve bu veri tabanına ait ekleme, güncelleme gibi işlemlerin yapılabildiği bir
arabirimdir. ODBC, RDO, DAO, OLEDB gibi arabirimlerde vardır.
Veri sağlayıcı; programda, veri kaynağı ile iletişimi sağlar ve komutları çalıştırır. VB.NET’te
iki adet veri sağlayıcı vardır. Bunlar;
OLEDB .NET VERİ SAĞLAYICI : Access, Oracle, SQL Server gibi tüm veri
tabanlarına erişimi sağlar.
SQL SERVER .NET VERİ SAĞLAYICI : Yalnızca SQL Server veri tabanına erişimi sağlar.
Veri tabanına bağlantı yaptıktan sonra, yapılacak işlemler için açılması, işlemler sonrasında
da kapatılması gerekir. Bunun için kullanılan kod satırları;
OleDBConnection nesnesi ile veri tabanına bağlandıktan sonra; kayıt ekleme, kayıt silme ve
kayıt güncelleme gibi işlem komutları Command nesnesi ile tanımlanmaktadır. Örneğin SQL
deyimlerinden;
SELECT, INSERT, UPDATE, DELETE gibi komutları, command nesnesi ile çalıştırılabilir.
Veri tabından okuma, silme, kayıt eklem, güncelleme gibi SQL ifadelerinin çalıştırılması için
EXECUTE metodu kullanılır. Bu metod şu şekilde kullanılır;
Sorgudan elde edilen kayıtların okunması için aşağıdaki kod satırları kullanılır.
yada
KAYIT EKLEMEK
KAYIT GÜNCELLEMEK
Label1, TextBox1
Label2, TextBox2
RadioButton1, Button1
RadioButton2
Label3
RadioButton3
RadioButton4 , Button2
ListBox1 ListBox2
ListBox3 ListBox4
Button1 ÖNİZLEME
Button2 YAZDIR
Button3 ÇIKIŞ
Label1 Ad,Soyad
Label2 Sınıf
Label3 Numara
Label4 Dönem
Label5 Belge
PrintDomument1
PrintPreviewDialog1
'PrintPreviewDialog1 denetiminin “Document” özelliği PrintDocument olarak değiştirip Aşağıdaki kod satırlarını
yazınız;
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Me.PrintPreviewDialog1.ShowDialog()
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As
System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim Yazi_tipi1 As Font = New Font("Tahoma", 24, FontStyle.Regular)
Dim Yazi_tipi2 As Font = New Font("Tahoma", 12, FontStyle.Regular)
e.Graphics.DrawString("TUZLA TEKNİK OKULLARI", Yazi_tipi1, Brushes.Black, 200, 200)
e.Graphics.DrawString(TextBox4.Text + " Öğretim Döneminde,", Yazi_tipi2, Brushes.Black, 50,
300)
e.Graphics.DrawString(TextBox2.Text + " Sınıfı Öğrencisi", Yazi_tipi2, Brushes.Black, 310, 300)
e.Graphics.DrawString(TextBox3.Text + " Numaralı", Yazi_tipi2, Brushes.Black, 490, 300)
e.Graphics.DrawString(TextBox1.Text + ".", Yazi_tipi2, Brushes.Black, 610, 300)
e.Graphics.DrawString("Dönem İçerisindeki Başarılı Çalışmalarından Dolayı", Yazi_tipi2,
Brushes.Black, 50, 350)
e.Graphics.DrawString(TextBox5.Text + " Belgesini Almaya Hak Kazanmıştır", Yazi_tipi2,
Brushes.Black, 430, 350)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
PrintDocument1.Print()
End Sub
Label1, TextBox1
Label2, TextBox2
Label3, TextBox3
Label4, CheckBox1, Button1
End Class
DriveListBox1
DirListBox1
FileListBox1
ListBox1
PictureBox1
RadioButton1
RadioButton2
RadioButton3
Button1
End Class
Label1, TextBox1
Label2, TextBox2
Label3, TextBox3
Button1
End Sub
End Class
Örnek 11.7 : Forma Timer( ) denetimi ekleyiniz ve aşağıdaki kod satırları yazınız.
End Class
Treeview1
->root İLETİŞİM TECRÜBE EĞİTİM KİŞİSEL
->child AD SOYAD İŞ TECRÜBESİ EĞİTİM DURUMU DOĞUM TARİHİ
->child ADRES OKUL MEDENİ DURUM
->child TELEFON BÖLÜM ASKERLİK
->child E-MAIL LİSE EHLİYET
->child WEB YABANCI DİL HOBİLER
->child BİLGİSAYAR BİLGİLERİ DERNEK
->child SERTİFİKA BİLGİLERİ
TabControl1
AdSoyadText
AdresText
TelefonText
emailText
webText
Texrübe2Text
EğitimDurumuCombo(ortaöğretim,önlisans,lisans)
OkulText
BolumText
LiseText
YabanciDilText
BilgisayarBilgileriText
SertifikaBilgileriText
DogumTarihiCombo(1960…2006)
MedeniDurumCombo(evli,bekar)
AskerlikCombo(tecilli,yapıldı,yapılmadı)
EhliyetCombo(var,yok)
HobiText
Button1(ÖN İZLE-YAZDIR)
PrintDocument1
PrintPreviewDialog (Document özelliği->PrintDocument1)
End Sub
'İLETİŞİM
e.Graphics.DrawString("İLETİŞİM", Yazi_tipi1, Brushes.Black, 50, 80)
e.Graphics.DrawString("_______", Yazi_tipi1, Brushes.Black, 50, 80)
e.Graphics.DrawString("Ad, Soyad", Yazi_tipi1, Brushes.Black, 50, 120)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 120)
e.Graphics.DrawString(AdSoyadText.Text, Yazi_tipi1, Brushes.Black, 260, 120)
e.Graphics.DrawString("Adres", Yazi_tipi1, Brushes.Black, 50, 160)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 160)
e.Graphics.DrawString(AdresText.Text, Yazi_tipi1, Brushes.Black, 260, 160)
e.Graphics.DrawString("Tel", Yazi_tipi1, Brushes.Black, 50, 200)
e.Graphics.DrawString(TelefonText.Text, Yazi_tipi1, Brushes.Black, 260, 200)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 200)
e.Graphics.DrawString("e-mail", Yazi_tipi1, Brushes.Black, 50, 240)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 240)
e.Graphics.DrawString(emailText.Text, Yazi_tipi1, Brushes.Black, 260, 240)
e.Graphics.DrawString("Web Sayfası", Yazi_tipi1, Brushes.Black, 50, 280)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 280)
e.Graphics.DrawString(webText.Text, Yazi_tipi1, Brushes.Black, 260, 280)
'İŞ TECRÜBESİ
e.Graphics.DrawString("İŞ TECRÜBESİ", Yazi_tipi1, Brushes.Black, 50, 320)
e.Graphics.DrawString("____________", Yazi_tipi1, Brushes.Black, 50, 320)
e.Graphics.DrawString("İş Tecrübesi1", Yazi_tipi1, Brushes.Black, 50, 360)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 360)
e.Graphics.DrawString(Tecrube1Text.Text, Yazi_tipi1, Brushes.Black, 260, 360)
e.Graphics.DrawString("İş Tecrübesi2", Yazi_tipi1, Brushes.Black, 50, 400)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 400)
e.Graphics.DrawString(Tecrube2Text.Text, Yazi_tipi1, Brushes.Black, 260, 400)
'EĞİTİM
e.Graphics.DrawString("EĞİTİM", Yazi_tipi1, Brushes.Black, 50, 440)
e.Graphics.DrawString("______", Yazi_tipi1, Brushes.Black, 50, 440)
'KİŞİSEL
e.Graphics.DrawString("EĞİTİM", Yazi_tipi1, Brushes.Black, 50, 760)
e.Graphics.DrawString("______", Yazi_tipi1, Brushes.Black, 50, 760)
e.Graphics.DrawString("Doğum Tarihi", Yazi_tipi1, Brushes.Black, 50, 800)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 800)
e.Graphics.DrawString(DogumTarihiCombo.Text,Yazi_tipi1,Brushes.Black,260, 800)
e.Graphics.DrawString("Medeni Durum", Yazi_tipi1, Brushes.Black, 50, 840)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 840)
e.Graphics.DrawString(MedeniDurumCombo.Text,Yazi_tipi1,Brushes.Black,260, 840)
e.Graphics.DrawString("Askerlik", Yazi_tipi1, Brushes.Black, 50, 880)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 880)
e.Graphics.DrawString(AskerlikCombo.Text, Yazi_tipi1, Brushes.Black,260,880)
e.Graphics.DrawString("Ehliyet", Yazi_tipi1, Brushes.Black, 50, 920)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 920)
e.Graphics.DrawString(EhliyetCombo.Text, Yazi_tipi1, Brushes.Black, 260, 920)
e.Graphics.DrawString("Hobiler", Yazi_tipi1, Brushes.Black, 50, 960)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 960)
e.Graphics.DrawString(HobiText.Text, Yazi_tipi1, Brushes.Black, 260, 960)
e.Graphics.DrawString("Dernek", Yazi_tipi1, Brushes.Black, 50, 1000)
e.Graphics.DrawString(":", Yazi_tipi1, Brushes.Black, 250, 1000)
e.Graphics.DrawString(DernekText.Text, Yazi_tipi1, Brushes.Black, 260, 1000)
End Sub
End Class
TextBox1
TextBox2
TextBox3
LinkLabel1, TextBox4
ListBox1
PictureBox1
Timer1 (Enable=True, Interval=100)
DriveListBox1
Label1, Textbox1
Label2, Textbox2
Label3, Textbox3
Label4, Textbox4
git:
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
Exit Sub
End Sub
End Class
Name : AnaMenü
IsMdiContanier : True
Text : STOK_SOFT
MaximizeBox : False
MenuStrip1
Forma “StokEkle” ve “StokGoster” isminde iki adet form ekleyiniz. (Project->Add Windows
Form)
Label1
GropuBox1
Label1, kod (TextBox1)
Label2, ad (TextBox2)
Label3, adet(TextBox3)
Label4, alis(TextBox4)
Label5,satis(TextBox5)
Me.baglanti1.Open()
komut1 = New OleDb.OleDbCommand("select *from stok where ParcaKodu='" &
kod.Text & "'", baglanti1)
veri = komut1.ExecuteReader()
TUZLA TEKNİK LİSESİ
114
While veri.Read()
MsgBox("Kayıtlı Stok Kodu, Lütfen Başka Bir Stok Kodu Giriniz")
Me.baglanti1.Close()
Exit Sub
End While
baglanti1.Close()
baglanti1.Open()
komut1 = New OleDb.OleDbCommand("insert into
stok(ParcaKodu,ParcaAdi,Adet,AlisFiyati,SatisFiyati) values('" & kod.Text & "','" &
ad.Text & "','" & adet.Text & "','" & alis.Text & "','" & satis.Text & "')",
baglanti1)
komut1.ExecuteNonQuery()
baglanti1.Close()
Dim cevap As MsgBoxResult = MsgBox("Stok Kaydı Tamamlanmıştır Başka Kayıt
Girmek İstermisiniz...?", MsgBoxStyle.YesNo)
If cevap = MsgBoxResult.Yes Then
kod.Text = ""
ad.Text = ""
adet.Text = ""
alis.Text = ""
satis.Text = ""
Else
Me.Close()
End If
End Sub
End Class
Label1
DataGridView
GroupBox
Label2
TextBox1
Label3
TextBox2
Me.DataGridView1.DataSource = Me.DataSet11.stok
End Class