Suk1y3n
Forum Ustası
Visual Basic'e giriş
Visual Basic hakkında internetde sayısız doküman bulabilirsiniz. Hatta birazda ingilizceniz varsa bu kaynakların sayısının çok daha fazla artacağından emin olabilirsiniz. Ama bizim buradaki amacımız hiç Visual Basic bilgisi olmayan birinin dahi çok rahat bir şekilde anlayabileceği , tamamen bir kurs mantığıyla işlenecek ve aylık takip edilen bir ders olarak algılanacak bir yapıyı oluşturmak. Bu yüzden burada bulacağınız dökümanlar tamamen bir ders planına uyularak anlatılacak .Yani internetteki diğer kaynaklardan farklı olarak bir plan doğrultusunda her ay bir konu işlenecek ve bu konuyla alakalı örnekler anlatımlı olarak verilecektir. Ben yerinizde olsaydım bu derginin çıkacağı günü sabırsızlıkla beklerdim yani her ayın 25i.Neyse birazda Visual Basic den ve bu programla neler yapabileceğimizden bahsedelim.
Herşeyden önce Visual Basic bir programlama dilidir. Yani bu programı kullanarak iki sayıyı toplayan veya çarpan bir programda yazabilirsiniz, çok büyük bir database kullanan kurumlar arası ve internet üzerinden çalışan bir programda yazabilirsiniz. Tabii ki bunu belirleyen en büyük unsur sizin bilgi ve becerileriniz. Kendi IRC programınızdan tutunda kendi Web Browserınıza kadar, MS Access veritabanını kullanan bir programdan tutunda çok karmaşık ilişkilerle düzenlenmiş bir Oracle veritabanını kullanan bir programda yazabilirsiniz. Ayrıca Visual Basic diğer Microsoft ürünleriyle son derece uyumludur.Bu da bize çok büyük bir avantaj sağlar. Böylece siz bir Exchange formunu da Visual Basic kullanarak oluşturabilirsiniz veya bir MS SQL Serverdaki datalarada yapmış olduğunuz programla ulaşıp,bu datalar üzerinde değişiklik yapabilir,yeni datalar girebilir ,girilen dataları silebilirsiniz.
Visual Basic nesneye dayalı (Object-Oriented) bir programlama dilidir. Yani program içinde kullanılan nesneler önceden hazırlanmış bir şekilde programı yazan kullanıcının hizmetine sunulur. Bu nesnelerin en basit örneği command button dediğimiz nesnedir.(Hani Windows da bir dosyayı silmek istediğimizde bize sorduğu sorunun altındaki evet ve hayır buttonları var ya işte onlar. ;-). Biz Visual Basic kullanarak kendimize özel nesneler de yapabiliriz. Bu bizim işimize ne zaman yarar? Diyelim ki Visual Basic in bize sunmuş olduğu standart nesneler bizim işimizi tam olarak görmüyor. O zaman bizde oturur kendi nesnemizi kendimiz yazarız. Ayrıca işleri sadece bu nesneleri yazmak olan firmalarda mevcut. Bunların tasarlamış olduğu nesneleri de kendi programımızda kullanabiliriz. Bu firmalar yazmış oldukları nesneleri ya belirli bir ücret karşılığında satmakta yada freeware veya shareware olarak internet üzerinden dağıtmaktadırlar. Mesela Download.com adresinde ki ActiveX ler bu türden nesnelerin download edilebildiği bir adres.Ayrıca internetteki arama motorlarında Activex yada ocx yazarak bu tür nesnelere kolay bir şekilde ulaşabilirsiniz.
Visual Basic, olay temelli bir programlama aracıdır. Peki olay temelli (event-driven) ne anlama geliyor? Programınız kullanıcının yapmış olduğu işlemlere göre yanıt veriyor. Mesela bir formun üzerindeki bir button a tıklanması bir olaydır ve siz bu olaya ait ve sadece bu olayın meydana gelmesi sırasında çalışacak bir kod yazarsınız ve bu kod sadece o olay meydana geldiğinde çalışır. Genelde bir nesneye ait birden fazla olay tanımlanmıştır. Bu olayları her bir nesneyi incelerken ayrı ayrı anlatmaya çalışacağız.
Şimdi de sıra Visual Basicin kurulumuna geldi.Biz kodlarımızı Visual Basic in son versiyonu olan Visual Basic 6.0 kullanarak yazacağız. Ama yazacağımız kodlarımızı 5.0 , hatta 4.0 da bile çalışacak şekilde yazacağız. Malum herkeste son versiyon olmayabilir. Visual Basic 6.0 ın kurulacağı bir makinada olması gereken minimun konfigürasyona gelince;
İşletim sistemi: Win 95, Win 98, Win NT 4.0, Win 2000
İşlemci: 80486 veya daha üstü bir microişlemci
Harddisk Alanı: Minimun 50 MB
Ekran kartı: VGA yada daha yüksek çözünürlüğü destekleyen bir ekran kartı
RAM:16 MB RAM
Tabii ki yukarıdaki konfigürasyon Visual Basic in kurulması için gerekli minimum konfigürasyon.(Bir programcı olmaya karar verdiyseniz konfigürasyonunuzu mümkün olduğunca yüksek tutmanız sizin açınızdan iyi olacaktır. Mesela bir PII bilgisayar ve 64 RAM )
Birazda Visual Basicteki proje ve formlardan bahsedelim. Yeni bir Visual Basic programına bir proje olarak başlanır. Varsayılan proje türü standart EXE dir. Eğer exe haricinde bir proje üzerinde çalışmak istersek mesela yukarıda bahsettiğimiz bir ocx projesi üzerinde çalışmak istiyorsak bunu yeni proje sayfasından seçebiliriz.Proje penceresiyle birlikte bir form ekrana gelir. Projenin başlangıç adı Project1, formun başlangıç adı ise Form1dir. Her Visual Basic uygulamasında en az bir form bulunur. Form üzerine denetimler ve grafikler eklenerek uygulama geliştirilir. Her bir form aynı zamanda form tasarımının yapıldığı bir alandır. Formlar uygulamanın kullanıcı arabirimini oluşturur.Yani kullanıcını birebir muhatap olduğu kısım bu formlardır.Visual Basic kontrollerinden istenilen kontroller form üzerine fare ile yerleştirilerek uygulamanın arabirimi oluşturulur. Bu arabirim üzerinde metin kutuları (textbox), komut düğmeleri(command buttons) gibi veri işlem elemanları yer alır. Ardından istenilen olaylara göre kodlar yazılarak programın yazılması sağlanır.
Visual Basicin araç kutusuna gelince, aşağıda bu araç kutusunda bulunan standart kontrolleri ve ne işe yaradıklarını bulabilirsiniz;
PictureBox Resim kutusu Bitmap, Icon, GIF resimlerin gösterilmesini sağlar.
Label Etiket Sadece bilgi vermek yada görüntü olarak form üzerinde durur. Genellikle metin kutularının adlarını göstermek için kullanılır.
TextBox Metin Kutusu Veri girişi için kullanılan bir kontroldür. Hemen hemen bütün programlarda kullanıcılardan veri girişi, değiştirme yapması gereken alanlar gerekir. İşte metin kutusu bu amaçla kullanılır.
Frame Çerçeve. Kontrolleri gruplamak için kullanılır.
Command Button Komut düğmesi. Bir işlemin başlatılmasını sağlar. Genellikle fare üzerine tıklanarak kullanılır.
CheckBox İşaret Kutusu. Bir seçim yapmayı sağlar.
OptionBox Seçenek Kutusu. Seçim yapmayı sağlar.
ComboBox Açılan Kutu.x
ListBox ListBox Liste. Birçok elemanı liste biçiminde göstermek için kullanılır
HscrollBar Yatay kaydırma çubuğu. Yatay olarak kullanılan kaydırma çubuğu
VscrollBar Dikey kaydırma çubuğu. Dikey olarak kullanılan kaydırma çubuğu
Timer Zaman saati. Zamanın takip edilmesini sağlar.
DriveListBox Sürücü listesi. Sistemdeki sürücüleri listeler.
DirListBox Dizin listesi. Sistemdeki dizinleri (klasörleri) listeler.
FileListBox Dosya listesi. Bir dizin içindeki dosyaları listeler.
Shape Şekil. Şekil çizmeyi sağlar.
Line Çizgi. Çizgi çizmek için kullanılır.
Image Resim gösterme. Sadece resimleri göstermek için kullanılır.
Data Data. Verileri göstermek için kullanılır.
OLE OLE
File Menüsü
New Project Yeni bir projeye başlamayı sağlar.
Open Project Daha önce kaydedilmiş bir projeyi açar.
Add Project Mevcut projeye yeni projeler ekler.
Remove Project Projeyi ve elemanlarını ortadan kaldırır.
Save Project Group Projeleri grup kayıt eder.
Save Project Group As Projelere yeni ad vererek kaydeder.
Save Form1 Aktif durumdaki formu kaydeder.
Save Form1 As Aktif durumdaki formu değişik adla kaydeder.
Save Selection Seçili kaydet.
Save Chance Script Transact-SQL deyimlerinin kayıt edilmesini sağlar.
Print Form görüntülerinin veya kod sayfalarının yazdırılmasını sağlar.
Print Setup Yazıcı ayarları.
Make Project1.exe Projenin EXE dosyası haline getirilmesini sağlar.
Make Project Group Projeleri bir grup olarak birleştirir.
Exit Visual Basicten çıkış.
Edit Menüsü
Undo Son yapılan işlemi geri alır.
Redo Geri alınan son işlemi tekrarlar.
Cut Seçili olanları keserek panoya atar.
Copy Seçili olanları kopyalayarak panoya atar.
Paste Daha önce kesilmiş yada kopyalanmış olanları yapıştırır.
Paste Link Daha önce kopyalanmış olanları bağlantılarını oluşturur.
Remove Seçilen elemanları siler.
Delete Seçilen elemanları siler.
Delete table from Database Tabloyu veritabanından siler.
Select All Form üzerindeki yada kod penceresindeki bütün elemanlar seçilir.
Select All Columns Bütün kolonları seçer.
Table Tablo komutlarını gösteren bir alt mönü.
Find Kod penceresinde istenilen bilgiyi bulur.
Find Next Bir sonrakini bulur.
Replace Bulunan bir sözcüğü değiştirmeyi sağlar.
Indent Satırı içerden başlatır.
Outdent Dışarı alır.
Insert File Koda bir dosyadan ekleme sağlar
List properties / Methods Yazılan nesnelerin özelliklerinin açılan bir liste olarak ekrana getirilmesini sağlar.
List Constants Bir özelliğin alacağı değerleri listeler.
Quick Info Bir deyimin kullanım biçimini gösterir.
Parameter Info Bir deyimin parametrelerini gösterir.
Visual Basic hakkında internetde sayısız doküman bulabilirsiniz. Hatta birazda ingilizceniz varsa bu kaynakların sayısının çok daha fazla artacağından emin olabilirsiniz. Ama bizim buradaki amacımız hiç Visual Basic bilgisi olmayan birinin dahi çok rahat bir şekilde anlayabileceği , tamamen bir kurs mantığıyla işlenecek ve aylık takip edilen bir ders olarak algılanacak bir yapıyı oluşturmak. Bu yüzden burada bulacağınız dökümanlar tamamen bir ders planına uyularak anlatılacak .Yani internetteki diğer kaynaklardan farklı olarak bir plan doğrultusunda her ay bir konu işlenecek ve bu konuyla alakalı örnekler anlatımlı olarak verilecektir. Ben yerinizde olsaydım bu derginin çıkacağı günü sabırsızlıkla beklerdim yani her ayın 25i.Neyse birazda Visual Basic den ve bu programla neler yapabileceğimizden bahsedelim.
Herşeyden önce Visual Basic bir programlama dilidir. Yani bu programı kullanarak iki sayıyı toplayan veya çarpan bir programda yazabilirsiniz, çok büyük bir database kullanan kurumlar arası ve internet üzerinden çalışan bir programda yazabilirsiniz. Tabii ki bunu belirleyen en büyük unsur sizin bilgi ve becerileriniz. Kendi IRC programınızdan tutunda kendi Web Browserınıza kadar, MS Access veritabanını kullanan bir programdan tutunda çok karmaşık ilişkilerle düzenlenmiş bir Oracle veritabanını kullanan bir programda yazabilirsiniz. Ayrıca Visual Basic diğer Microsoft ürünleriyle son derece uyumludur.Bu da bize çok büyük bir avantaj sağlar. Böylece siz bir Exchange formunu da Visual Basic kullanarak oluşturabilirsiniz veya bir MS SQL Serverdaki datalarada yapmış olduğunuz programla ulaşıp,bu datalar üzerinde değişiklik yapabilir,yeni datalar girebilir ,girilen dataları silebilirsiniz.
Visual Basic nesneye dayalı (Object-Oriented) bir programlama dilidir. Yani program içinde kullanılan nesneler önceden hazırlanmış bir şekilde programı yazan kullanıcının hizmetine sunulur. Bu nesnelerin en basit örneği command button dediğimiz nesnedir.(Hani Windows da bir dosyayı silmek istediğimizde bize sorduğu sorunun altındaki evet ve hayır buttonları var ya işte onlar. ;-). Biz Visual Basic kullanarak kendimize özel nesneler de yapabiliriz. Bu bizim işimize ne zaman yarar? Diyelim ki Visual Basic in bize sunmuş olduğu standart nesneler bizim işimizi tam olarak görmüyor. O zaman bizde oturur kendi nesnemizi kendimiz yazarız. Ayrıca işleri sadece bu nesneleri yazmak olan firmalarda mevcut. Bunların tasarlamış olduğu nesneleri de kendi programımızda kullanabiliriz. Bu firmalar yazmış oldukları nesneleri ya belirli bir ücret karşılığında satmakta yada freeware veya shareware olarak internet üzerinden dağıtmaktadırlar. Mesela Download.com adresinde ki ActiveX ler bu türden nesnelerin download edilebildiği bir adres.Ayrıca internetteki arama motorlarında Activex yada ocx yazarak bu tür nesnelere kolay bir şekilde ulaşabilirsiniz.
Visual Basic, olay temelli bir programlama aracıdır. Peki olay temelli (event-driven) ne anlama geliyor? Programınız kullanıcının yapmış olduğu işlemlere göre yanıt veriyor. Mesela bir formun üzerindeki bir button a tıklanması bir olaydır ve siz bu olaya ait ve sadece bu olayın meydana gelmesi sırasında çalışacak bir kod yazarsınız ve bu kod sadece o olay meydana geldiğinde çalışır. Genelde bir nesneye ait birden fazla olay tanımlanmıştır. Bu olayları her bir nesneyi incelerken ayrı ayrı anlatmaya çalışacağız.
Şimdi de sıra Visual Basicin kurulumuna geldi.Biz kodlarımızı Visual Basic in son versiyonu olan Visual Basic 6.0 kullanarak yazacağız. Ama yazacağımız kodlarımızı 5.0 , hatta 4.0 da bile çalışacak şekilde yazacağız. Malum herkeste son versiyon olmayabilir. Visual Basic 6.0 ın kurulacağı bir makinada olması gereken minimun konfigürasyona gelince;
İşletim sistemi: Win 95, Win 98, Win NT 4.0, Win 2000
İşlemci: 80486 veya daha üstü bir microişlemci
Harddisk Alanı: Minimun 50 MB
Ekran kartı: VGA yada daha yüksek çözünürlüğü destekleyen bir ekran kartı
RAM:16 MB RAM
Tabii ki yukarıdaki konfigürasyon Visual Basic in kurulması için gerekli minimum konfigürasyon.(Bir programcı olmaya karar verdiyseniz konfigürasyonunuzu mümkün olduğunca yüksek tutmanız sizin açınızdan iyi olacaktır. Mesela bir PII bilgisayar ve 64 RAM )
Birazda Visual Basicteki proje ve formlardan bahsedelim. Yeni bir Visual Basic programına bir proje olarak başlanır. Varsayılan proje türü standart EXE dir. Eğer exe haricinde bir proje üzerinde çalışmak istersek mesela yukarıda bahsettiğimiz bir ocx projesi üzerinde çalışmak istiyorsak bunu yeni proje sayfasından seçebiliriz.Proje penceresiyle birlikte bir form ekrana gelir. Projenin başlangıç adı Project1, formun başlangıç adı ise Form1dir. Her Visual Basic uygulamasında en az bir form bulunur. Form üzerine denetimler ve grafikler eklenerek uygulama geliştirilir. Her bir form aynı zamanda form tasarımının yapıldığı bir alandır. Formlar uygulamanın kullanıcı arabirimini oluşturur.Yani kullanıcını birebir muhatap olduğu kısım bu formlardır.Visual Basic kontrollerinden istenilen kontroller form üzerine fare ile yerleştirilerek uygulamanın arabirimi oluşturulur. Bu arabirim üzerinde metin kutuları (textbox), komut düğmeleri(command buttons) gibi veri işlem elemanları yer alır. Ardından istenilen olaylara göre kodlar yazılarak programın yazılması sağlanır.
Visual Basicin araç kutusuna gelince, aşağıda bu araç kutusunda bulunan standart kontrolleri ve ne işe yaradıklarını bulabilirsiniz;
PictureBox Resim kutusu Bitmap, Icon, GIF resimlerin gösterilmesini sağlar.
Label Etiket Sadece bilgi vermek yada görüntü olarak form üzerinde durur. Genellikle metin kutularının adlarını göstermek için kullanılır.
TextBox Metin Kutusu Veri girişi için kullanılan bir kontroldür. Hemen hemen bütün programlarda kullanıcılardan veri girişi, değiştirme yapması gereken alanlar gerekir. İşte metin kutusu bu amaçla kullanılır.
Frame Çerçeve. Kontrolleri gruplamak için kullanılır.
Command Button Komut düğmesi. Bir işlemin başlatılmasını sağlar. Genellikle fare üzerine tıklanarak kullanılır.
CheckBox İşaret Kutusu. Bir seçim yapmayı sağlar.
OptionBox Seçenek Kutusu. Seçim yapmayı sağlar.
ComboBox Açılan Kutu.x
ListBox ListBox Liste. Birçok elemanı liste biçiminde göstermek için kullanılır
HscrollBar Yatay kaydırma çubuğu. Yatay olarak kullanılan kaydırma çubuğu
VscrollBar Dikey kaydırma çubuğu. Dikey olarak kullanılan kaydırma çubuğu
Timer Zaman saati. Zamanın takip edilmesini sağlar.
DriveListBox Sürücü listesi. Sistemdeki sürücüleri listeler.
DirListBox Dizin listesi. Sistemdeki dizinleri (klasörleri) listeler.
FileListBox Dosya listesi. Bir dizin içindeki dosyaları listeler.
Shape Şekil. Şekil çizmeyi sağlar.
Line Çizgi. Çizgi çizmek için kullanılır.
Image Resim gösterme. Sadece resimleri göstermek için kullanılır.
Data Data. Verileri göstermek için kullanılır.
OLE OLE
File Menüsü
New Project Yeni bir projeye başlamayı sağlar.
Open Project Daha önce kaydedilmiş bir projeyi açar.
Add Project Mevcut projeye yeni projeler ekler.
Remove Project Projeyi ve elemanlarını ortadan kaldırır.
Save Project Group Projeleri grup kayıt eder.
Save Project Group As Projelere yeni ad vererek kaydeder.
Save Form1 Aktif durumdaki formu kaydeder.
Save Form1 As Aktif durumdaki formu değişik adla kaydeder.
Save Selection Seçili kaydet.
Save Chance Script Transact-SQL deyimlerinin kayıt edilmesini sağlar.
Print Form görüntülerinin veya kod sayfalarının yazdırılmasını sağlar.
Print Setup Yazıcı ayarları.
Make Project1.exe Projenin EXE dosyası haline getirilmesini sağlar.
Make Project Group Projeleri bir grup olarak birleştirir.
Exit Visual Basicten çıkış.
Edit Menüsü
Undo Son yapılan işlemi geri alır.
Redo Geri alınan son işlemi tekrarlar.
Cut Seçili olanları keserek panoya atar.
Copy Seçili olanları kopyalayarak panoya atar.
Paste Daha önce kesilmiş yada kopyalanmış olanları yapıştırır.
Paste Link Daha önce kopyalanmış olanları bağlantılarını oluşturur.
Remove Seçilen elemanları siler.
Delete Seçilen elemanları siler.
Delete table from Database Tabloyu veritabanından siler.
Select All Form üzerindeki yada kod penceresindeki bütün elemanlar seçilir.
Select All Columns Bütün kolonları seçer.
Table Tablo komutlarını gösteren bir alt mönü.
Find Kod penceresinde istenilen bilgiyi bulur.
Find Next Bir sonrakini bulur.
Replace Bulunan bir sözcüğü değiştirmeyi sağlar.
Indent Satırı içerden başlatır.
Outdent Dışarı alır.
Insert File Koda bir dosyadan ekleme sağlar
List properties / Methods Yazılan nesnelerin özelliklerinin açılan bir liste olarak ekrana getirilmesini sağlar.
List Constants Bir özelliğin alacağı değerleri listeler.
Quick Info Bir deyimin kullanım biçimini gösterir.
Parameter Info Bir deyimin parametrelerini gösterir.