vb detaylı anlatım 103 sayfa

Download VB Detaylı Anlatım 103 sayfa

If you can't read please download the document

Upload: azizceylan

Post on 20-Jun-2015

711 views

Category:

Documents


19 download

TRANSCRIPT

Microsoft Visual Basic Nedir? DE KENLER MsgBox (Mesaj Kutusu) InputBox (Bilgi Giri Kutusu) Dngler If ..... Then ..... Else ...... End if Select Case For ..... Next QBCOLOR () RGB () Like Disk ve Dosya Komutlar CurDir ChDir ChDrive MkDir RmDir FileCopy FileLen FileDateTime GetAttr SetAttr Name Dir Kill End izim Yapmak Line Circle Pset Random Dosyalar Fonksiyonlar Abs Fonksiyonu Asc Fonksiyonu Chr Fonksiyonu Date Fonksiyonu DateDiff Fonksiyonu Int Fonksiyonu LCase Fonksiyonu Left Fonksiyonu Len Fonksiyonu Ltrim, Rtrim ve Trim Fonksiyonu Mid Fonksiyonu Now Fonksiyonu Round Fonksiyonu Space Fonksiyonu Shell Fonksiyonu Sqr Fonksiyonu String Fonksiyonu Time Fonksiyonu UCase Fonksiyonu Val Fonksiyonu Dizi Deikenler Dinamik Diziler Function Oluturma

Componentler (Kontrol Elemanlar) Textbox (Metin Kutusu) Label (Etiket) Command Button (Komut Dmesi) CheckBox ( aret Kutusu) Option Button (Seenek Dmesi) Horizontal & Vertical ScrollBar (Kaydrma ubuu) Shape (ekil KontrolEleman) Timer Control (Zamanlayc) Frame Control (ereve) UpDown(Yukar aa arttrma) Line (izgi) ComboBox (Alan Liste) ListBox (Listeleme Kutusu) DriveListBox (Src Listeleme Kutusu) Directory List Box (Dizin Listeleme Kutusu) FileList Box (Dosya Listeleme Kutusu) PictureBox (Resim Kutusu) Image (Resim Gsterme Kontrol) Common Dialog (Diyalog Pencereleri) MSMasked (Formatl Giri) SSTab Richtextbox Popup Men MsFlexGrid ProgressBar ( lerleme ubuu) Slider DateTimePicker MonthView Toolbar Coolbar Statusbar Veri Taban Uygulamalar DBGrid ADO ile Veri Taban DataGrid Data Report SQL Komutlar Formlar MDIFormlar

Microsoft Visual Basic

Sayfa 1

Microsoft Visual Basic Nedir?Visual Basic bir programlama dilidir. Visual Basicin bir programn yazlp altrlmasndan te, program gelitirmek iin ok sayda araca sahip olmas; kullanc arabiriminin tasarlanmas, hatalarn giderilmesi, veritaban yaratmak, farkl trde programlar retmek gibi gelimi zellikleri, onu bir programlama ortam ya da program gelitirme ortam olarak tanmlamamza neden olur. Visual Basic, ok amal ve ayn zamanda kolay bir ekilde program gelitirmenizi salayan bir programlama ortamdr. Visual olmak (grsellik), simgelerle yaplan iletiimi ifade eder. Visual Basic programlarnda ortamn tasarm ncelikli olarak yaplan ilemdir. Kod yazmak ikincil kalr. Visual Basic ile kk ilemler iin bir program gelitirilebilecei gibi, btn dnyaya uzanabilecek bir internet uygulamas yada byk firma dzeyinde kullanlabilecek gelimi bir enterprise (kurumsal) uygulamas gelitirilebilir. rnein bir cari hesap, stok, sat, imalat vb. uygulamalar, oyun program vb. Visual Basicin sahip olduu aralar: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Kullanc ara birimi gelitirmek iin ok sayda kontrol, Program derleme ve hata bulmaya ynelik ok sayda ara, Deiik veritabanlarna eriim, SQL Server ve dier enterprise dzeyindeki veritabanlarna eriim, Dier uygulamalarn fonksiyonlarn kullanmay salayan ActiveX teknolojisi, Uygulamann EXE dosya olarak retilebilmesi ve datlmas, Raporlama aralar, Veri yaps aralar, Web uygulamas gelitirme aralar, ok katmanl programlama ve Microsoft Transaction Server.

Visual Basicin zelliklerizellikle Windows ortamnda programlama gelitirme arac olarak kullanlan Visual Basic, dier klasik programlama dillerine gre farkl zelliklere sahiptir. Visual Basic ile program gelitirmek, ncelikle Windows arabiriminin kullanc etkileiminde kullanlan aralarn kullanlmas anlamna gelir. Klasik programlama dilleri ise genellikle karakter tabanl (DOS ve UN X) iletim sistemlerinde kullanlan zellikle klavye arlkl kullanc arabirimine sahiptir. Gelimi programlama ortam olan Visual Basic, Windows uygulamas gibi mnlere, dmelere sahiptir. Visual Basic sadece standart kontroller salamaz. Ayn zamanda ok sayda nc parti yazlmclarn da hazrlad kontrolleri de kullanabilir. Bu kontroller satn alnarak kolayca programlara eklenebilirler. Visual Basic, birok OCX(OLE Control Extensions) kontrol ve ActiveX kontrolleri destekler.

Bir Visual Basic Programnn KsmlarBir program belli ksmlardan oluur: Kullanc arabirimi Bilgi ileme (hesaplamalar) Bilgi saklama (veritaban ilemleri) Raporlama ilemleri

Kullanc arabirimi bir programn ekrann oluturur. Dier bir deile kullanclarn bilgi girdii etkileimli ekranlardr. yi bir kullanc arabirim gelitirmenin yntemleri unlardr.: Anlalabilir, kolay ve ok ynl kullanlabilir olmas Veriyi net bir biimde ifade etmeleri Komutlar aka sergilemeleri, Mnler, komutlar ve dmeleriyle programn dier blmleriyle uyum iinde olmalar, Mn, ara ubuklar, fare ve klavye araclla kullanlabilir olmas.

Microsoft Visual Basic

Sayfa 2

yi Bir Programn NitelikleriProgramlar belli bir iin bilgisayar tarafndan yerine getirilmesini salarken; programlarn belli niteliklere sahip olmas gerekir. yi program niteliklerine sahip olmak, ayn zamanda program gelitirme srecinin de amalarndandr. yi bir programn nitelikleri: Grsellik Kolaylk Doruluk Hzl yi bir belgeleme Kolayca deitirilebilme, gncellenebilme Etkin bir kodlama Etkin bir iletim (daha az sistem kaynana gereksinim duymas)

Bunun dnda programn analiz almalarnn ve kodlarnn iyi bir ekilde belgelenmesi gerekir (sz uar, yaz kalr). Belgeleme belli bir sistem iinde bir kitapk olarak hazrlanmal ve kod iinde de aklamalara ok nem verilmelidir.

alma OrtamVisual Basic 6.0 ortam zellikle program birimlerinin dzenlenmesi iin ok sayda blme sahiptir. Bu blmler araclyla programn tasarm yaplr ve kod yazlr. alma ortamnn hemen her alannda farenin sa tuuna baslarak ierik mnleri elde edilir. Bu mnler bulunulan yere gre ierii deiebilen zel mnlerdir. Btn olanaklar grafik yardm ile programn arabiriminin gelitirilmesini, altrlmasn ve hata dzeltmelerinin yaplmasn salar. Visual Basic program bir proje olarak gelitirilir. Bu proje iinde formlar, kontroller, modller ve komponent ler bulunur. Formlar zerine kontroller yerletirilir. Ardndan kontrollerle ilikili olarak olay yordamlar yazlr. stenirse genel yordamlarn yer ald modller yazlr ve proje altrlr.

Project ve FormlarYeni bir Visual Basic programna bir proje olarak balanr. Varsaylan proje tr standart EXE dir. Proje penceresiyle birlikte bir form ekrana gelir. Projenin balang ad Project1, formun balang ad ise Form1dir. Her Visual Basic uygulamasnda bir form bulunur. Form zerine denetimler ve grafikler eklenerek uyugulama gelitirilir. Her bir form ayn zamanda form tasarmnn yapld bir alandr. Formlar uygulamann kullanc arabirimini oluturur. Visual Basic kontrollerinden istenilen kontroller form zerine fare ile yerletirilerek uygulamann arabirimi oluturulur. Bu arabirim zerinde metin kutular (textbox), komut dmeleri(command buttons) gibi veri ilem elemanlar yer alr. Ardndan istenilen olaylara gre kodlar yazlarak programn yazlmas salanr.

Ara Kutusu (Toolbox)Grsel programlama ortamlarnda grsel kontrollerin izilmesi iin zengin bir ara kutusu kullanlr. Visual Basic ara kutusunda programn tasarm srasnda kullanlmak zere ok sayda arac ierir Bu aralar kontrol (control) olarak adlandrlr. Standart olarak Visual Basic aldnda ekrana gelen kontroller aada gsterilmitir. Ayrca dier kontrollerden de eklemek isterseniz; toolbox zerinde farenin sa tuuna basarak Component mnsnden seebilirsiniz.

Standart Kontrol leviPictureBox ............................ Label ..................................... TextBox ................................ Resim kutusu. Bitmap, Icon, GIF resimlerin gsterilmesini salar Etiket. Sadece bilgi vermek yada grnt olarak form zerinde durur. Genellikle metin kutularnn adlarn gstermek iin kullanlr. Metin Kutusu. Veri girii iin kullanlan bir kontroldr. Hemen hemen btn programlarda kullanclardan veri girii, deitirme yapmas gereken alanlar gerekir. te metin kutusu bu amala kullanlr. ereve. Kontrolleri gruplamak iin kullanlr. Komut dmesi. Bir ilemin balatlmasn salar. Genellikle fare zerine tklanarak kullanlr. aret Kutusu. Bir seim yapmay salar. Seenek Kutusu. Seim yapmay salar. Alan Kutu. Liste. Birok eleman liste biiminde gstermek iin kullanlr.Sayfa 3

Frame .................................... CommandButton ................... CheckBox .............................. OptionBox ............................. ComboBox ............................ ListBox ..................................Microsoft Visual Basic

HscrollBar .............................. VscrollBar ............................... Timer ..................................... DriveListBox .......................... DirListBox .............................. FileListBox ............................. Shape .................................... Line ....................................... Image .................................... Data ...................................... OLE ........................................

Yatay kaydrma ubuu. Yatay olarak kullanlan kaydrma ubuu Dikey kaydrma ubuu. Dikey olarak kullanlan kaydrma ubuu Zaman saati. Zamann takip edilmesini salar. Src listesi. Sistemdeki srcleri listeler. Dizin listesi. Sistemdeki dizinleri (klasrleri) listeler. Dosya listesi. Bir dizin iindeki dosyalar listeler. ekil. ekil izmeyi salar. izgi. izgi izmek iin kullanlr. Resim gsterme. Sadece resimleri gstermek iin kullanlr. Data. Verileri gstermek iin kullanlr. OLE

MNLERFile MnsNew Project ........................... Open Project .......................... Add Project ............................ Remove Project ..................... Save Project Group ................ Save Project Group As ........... Save Form1 ............................ Save Form1 As ....................... Save Selection ....................... Save Chance Script ................ Print ...................................... Print Setup ............................ Make Project1.exe ................. Make Project Group ............... Exit ........................................ Yeni bir projeye balamay salar. Daha nce kaydedilmi bir projeyi aar. Mevcut projeye yeni projeler ekler. Projeyi ve elemanlarn ortadan kaldrr. Projeleri grup kayt eder. Projelere yeni ad vererek kaydeder. Aktif durumdaki formu kaydeder. Aktif durumdaki formu deiik adla kaydeder. Seili kaydet. Transact-SQL deyimlerinin kayt edilmesini salar. Form grntlerinin veya kod sayfalarnn yazdrlmasn salar. Yazc ayarlar. Projenin EXE dosyas haline getirilmesini salar. Projeleri bir grup olarak birletirir. Visual Basicten k.

Edit MnsUndo ...................................... Son yaplan ilemi geri alr. Redo ...................................... Geri alnan son ilemi tekrarlar. Cut ........................................ Seili olanlar keserek panoya atar. Copy ...................................... Seili olanlar kopyalayarak panoya atar. Paste ..................................... Daha nce kesilmi yada kopyalanm olanlar yaptrr. Paste Link .............................. Daha nce kopyalanm olanlar balantlarn oluturur. Remove ................................. Seilen elemanlar siler. Delete .................................... Seilen elemanlar siler. Delete table from Database .... Tabloyu veritabanndan siler. Select All ................................ Form zerindeki yada kod penceresindeki btn elemanlar seilir. Select All Columns .................. Btn kolonlar seer. Table ...................................... Tablo komutlarn gsteren bir alt mn. Find ....................................... Kod penceresinde istenilen bilgiyi bulur. Find Next ................................ Bir sonrakini bulur. Replace .................................. Bulunan bir szc deitirmeyi salar. Indent ................................... Satr ierden balatr. Outdent ................................. Dar alr. Insert File ............................... Koda bir dosyadan ekleme salar. List properties / Methods ...... Yazlan nesnelerin zelliklerinin alan bir liste olarak ekrana getirilmesini salar. List Constants ....................... Bir zelliin alaca deerleri listeler. Quick Info .............................. Bir deyimin kullanm biimini gsterir. Parameter Info ...................... Bir deyimin parametrelerini gsterir.

Microsoft Visual Basic

Sayfa 4

View MnsKod penceresini grntler. Formu grntler. Kod. Bir nceki konuma gidilmesini salar. Mevcut proje yada Visual Basic nesnelerinin seilmesini salayan grsel yardmc. Immediate Window ................ Programn kesilmesi yada hata bulunduunda (Debug durumunda) istenilen deikenlerin deerlerinin izlenebildii pencere. Locals Window ...................... Yine debug durumunda yerel deikenlerin deerlerinin izlenmesini salar Watch Window ..................... Bir ifadenin durumunun izlenmesini salar. Call Stacks ............................ arlm ama tamamlanmam procedureleri gsterir. Project Explorer .................... Proje iinde yer alan elemanlar grntlenir. Properties Window ............... zellikler penceresi grntlenir. Form Layout Window ............ Formun ekrandaki grntsn gsterir. Property Pages ..................... zellikler tablosunu gsterir. Table ..................................... Veritaban, query gibi ortamlarda seilen penceresinin alp kapanmasn salar. Zoom .................................... Bytme. Show Panes .......................... Blmleri gster. Toolbox ................................ Ara kutusunun grntlenmesi / grntlenmemesi salanr. Data View Window ............... Color Palette ........................ Form zerinde renklendirme yapmak iin kullanlan renk paleti ekrana gelir. Toolbars ............................... Ara ubuklarnn grntlenmesi iin kullanlr. Visual Component Manager .. Code ...................................... Object .................................... Definition ............................... Last Position .......................... Object Browser ......................

Project MnsAdd Form .............................. Add MDI Form ....................... Add Module .......................... Add Class Module .................. Add User Control .................. Add Property Page ............... Add User Document .............. Add ActiveX Desingner ......... Add File ................................ Remove ................... References ............................ Components ......................... Properties ............... Projeye yeni bir form ekler. Projeye yeni bir MDI form ekler. Projeye yeni bir modl ekler. Projeye yeni bir modul ekler. Projeye yeni bir kullanc kontrol ekler. Projeye yeni bir property ekler. Projeye yeni bir user document ekler. Projeye yeni bir ActiveX Designer ekler. Projeye dosya ekler. stenilen eleman kaldrlr. eitli ktphanelerin yklenmesi salanr. Ara kutusuna eklenecek bileenleri gsterir. Projenin zellikleri dzenlenir.

Format MnsAlign ..................................... Make Same Size .................... Size to Grid ........................... Horizontal Spacing ................ Form zerindeki birden ok elemann birbirine hizalanmasn salar. Form zerindeki birden ok elemann birbirine gre ayn boyuta getirilmesini salar. Form zerindeki elemanlarn form zerindeki zgaraya gre boyutlarn ayarlar. Form zerinde birden ok eleman arasndaki yatay boluu ayarlamak iin kullanlr. Form zerinde birden ok eleman arasndaki dikey boluu ayarlamak iin kullanlr. Form zerindeki elemanlarn forma dikey yada yatay olarak ortalanmasn salar. Form zerinde st ste duran elemanlarn srasn belirler. Form zerindeki elemanlarn kilitlenerek yerlerinin oynamamasn salar.

Vertical Spacing .................... Center in Form....................... Order .................................... Lock Controls ........................

Microsoft Visual Basic

Sayfa 5

Debug MnsStep Into.............................. Step Over.............................. Step Out .............................. Run to Cursor ...................... Add Watch ........................... Edit Watch ........................... Quick Watch ......................... Toggle Breakpoint ................ Clear All Breakpoints ............. Set Next Statements ............ Show Next Statements ......... Programn satr satr almasn salar. F8 tuu. Programn procedure olarak almasn salar. Programn Program bulunulan satra kadar altr. Program alrken deikenlerin deerlerini kayt eder ve izlenmesini salar. stenilen izleme satrn dzenler. Deikenlerin seildikleri andaki deerleri grntlenir. Bir satra kesme noktas iareti vererek programn bu satra durmas salanr. Btn kesme noktalarn kaldrr. jkh

Run MnsStart .................................... Start With Full Compile ......... Break ................................... End ...................................... Restart ................................ Program Program Program Program Program altrr. F5 tuu. derler / altrr. keser. sonlandrr. yeniden balatr.

Query MnsRun ...................................... Clear Results ........................ Verify SQL Syntax ................ Group By .............................. Change Type ........................ Add to Output ..................... Sort Ascending .................... Sort Descending ................... Remove Filter ........................ Select All Rows From ... ........ Sorguyu altrr. Sorguyu temizler. SQL deyimini denetler. Guruplar. Sorgu tipini deitirir. Seilen kolonu giri bilgisine ekler. Artan srada sralar. Azalan srada sralar. Filtreyi kaldrr. Btn satrlar seer.

Diagram MnsNew Text Annotation .......... Set Text Font ...................... Add related Tables ............... Show Relationship Labels .... Modify Custom View ............ View Pages Breaks ............... Recalculate Page Breaks ....... Arrange Selection ................ Arrange Tables ..................... Autosize Selected Tables ...... Metin aklama ekler. Metin yaz tiplerini dzenler. likili tablolar ekler. liki etiketlerini ekler. zel grnm deitirir. Sayfa aralarn (sonlarn) gster. Sayfa aralarn (sonlarn) yeniden hesaplar. Yeniden dzenler. Tablolar dzenler. Tablolar yeniden boyutlandrr.

Tools MnsAdd Procedure ..................... Procedure Attribute ............. Menu Editr ......................... Options ................................ Kod penceresinde yeni bir prodecure yaratmak iin kullanlr. zellik ve metotlar dzenler. Bir mny tasarlayan iletiim kutusu., Visual Basic ortamn dzenlemek iin kullanlr.

Add-Ins MnsVisual Data Manager ............ Add-In Manager .................. Veritaban dzenleme arac. Ek programlar ekleme/kaldrma.

Microsoft Visual Basic

Sayfa 6

Window MnsTile Horizontally ................... Tile Vertical .......................... Cascade ............................... Arrange Icons Yatay deme. Dikey deme. Basamaklama.

Help MnsContents ............................. Indx .................................... Search ................................. Technical Support ................ Microsoft on the Web .......... About Microsoft Visual Basic. erikler. ndeks. Arama. Teknik destek seenekleri. Microsoft un Web sitesine balant. Visual Basic programnz hakknda bilgiler.

Options Mns Editr SekmesiAuto Syntax Check ............. Require Variable Declaration Auto List Members .............. Auto Quick Info ................... Auto Data Tips ..................... Auto Indent ......................... Drag-and-Drop Text Editing . Default to Full Module View . Procedure Separator ............ Yazlan kodlarn otomatik olarak yazm denetiminin yaplmasn salar. Kod iinde kullanlan btn deikenlerin tanmlanmasn zorunlu klar. Nesnelerin zelliklerinin otomatik olarak listelenmesini salar. Bir deyimin yazlmas durumunda parametrelerinin ekrana gelmesini salar. Program kesildikten sonra (debug modda) fare ile zerine gidilen deikenin deerini gsterir. erden balamay salar. Kod satrlar zerinde fare ile seip srkleme ileminin yaplmasn salar. Bir procedure yada btn procedurelarn grlmesini salar. Procedurelar aras ayra.

Editr Format SekmesiNormal Text ........................... Selection Text ....................... Syntax Error Text .................. Foreground ........................... Background .......................... Indicator ............................... Normal kod satrlarnn rengini dzenler. Seilen kod satrlarnn rengini dzenler. Szdizimi hatas olan kod satrlarnn rengini dzenler. Yaz rengi. Zemin rengi. Gstergenin rengi.

General SekmesiShow Grid ............................. Align Controls to Grid ........... Break on All Errors ................ Break in Class Module ........... Break on Unhandled Errors ... Compile on Demand ............. Background Compile ............. Show Tooltips ...................... Collapse Proj.Hide Window ... Form zerinde kareleme yaplarak kontrollerin hizalanmasna yardmc olur. Form zerindeki kontrollerin hizalarnn gridlere dayanmasn salar. Derleyici herhangi bir hata ile karlatnda program keser. Class modulnde programn kesilmesi. Bulunamayan hatalar olutuunda da programn kesilmesini salar. stendiinde derleme. Derleme arka planda yaplr. Fare ieretisinin herhangi bir kontrol eleman zerine gelmesi ile o kontrol hakknda bilgi verici bir metnin grntlenmesi salanr. Pencerelerin dierleri arasna yuvalanarak almasn salar. aretlenmezse pencere dierlerinin zerinde bir yerde alr.

Docking SekmesiImmediate Window ............... Locals Window ...................... Watch Window ..................... Project Explorer .................... Properties Window ............... Object Browser ..................... Form Layout ..........................Microsoft Visual Basic

Anlk grnm penceresi. Yerel deikenleri penceresi zleme penceresi. projenin elemanlarn gsteren pencere. zellikler penceresi. Nesne gsterici. Formun ekrandaki grnm.Sayfa 7

Toolbox ................................ Color Palette ........................

Ara kutusu. Renk Paleti.

Environment SekmesiVisual Basic baladnda Prompt for project ............... Create default project .......... Bir program baladnda Save Changes ....................... Prompt to Save Changes ...... Dont Save Changes ............. ablonlar gster Froms ................................... MDI Forms ........................... Modules ............................... Classs Modules ..................... User Controls ....................... Property Pages .................... User Document ..................... Template Directory ............... Visual Basicin almasnn ardndan hangi tip proje yaratlaca sorulur. AutoLoad dosyasna kayt edilmi dosyalardan oluan bir proje balatlr.

Program altrlmadan nce yaplan deiiklikler kayt edilir. Program altrlmadan nce yaplan deiiklikler kayt edilmesi iin soru sorulur. Program altrlmadan nce yaplan deiiklikler kayt edilmez.

Formlar. MDI Formlar. Modller. Class Modller. Kullanc Kontrol Modlleri. zellik Sayfalar. Kullanc Dokument Modlleri. ablonlarn saklanaca klasr.

Matematiksel aretler^ * / \ + = < , , >= s alma arpma Blme Tam Blme (Blme sonucunun tam ksmn alr) Toplama karma Eittir Kk, kk eit Byk, byk eit Eitdeil

Microsoft Visual Basic

Sayfa 8

lk ProgrammBir form alr. Kod sayfasn amak iin formun zerine ift tklanr, Project Explorer penceresinden View Code tklanr veya F7 tuuna baslr. Bir yordamn balama ve bitirme deyimleri vardr. Private Sub Form_Load() End Sub

SHOWSadece Form_Load yordamnda kullanlr ve form yklendii anda ekrana yazdmz yaznn gelmesi iin kullanlr.

PRINTEkrana sabit bir bilgiyi yazmak iin kullanlr.

RNEK1Show Print Microsoft Visual Basic Dersine Ho Geldiniz a. Fontbold=False b. Fontitalic=True Print Visual Basic retmeni Print Oguz KUTLU a. Fontsize=24 b. Fontname=Times New Roman Print PRESTIGE EDUCATION CENTER a. Fontunderline=True b. Fontname=Arial Print Bilgisayar Teknik Eitim Merkezi Forecolor=RGB(214,124,35) Print ngilizce Eitim Merkezi

2. 3.

4.

5. 1.

NOT : Dikkat edilecei gibi kodlar yordam ierisinde yukardan aaya doru ilerler. Yukarda yaplan bir yaz bykl veya yaznn rengi komutu aa kodlarda deitirilmezse aynen uygulanr. Ayn kodlar bir Command butonunun Click yordamna yazarsak bataki Show komutunu yazmamza gerek kalmaz. Yazdrdmz yazlar formumuzun herhangi bir noktasna yazdrabiliriz. Bunun iin kullanlacak deyim TWIP komutudur. Twip komutu aslnda Formun bir zellii olan Form1.scalewidth ve Form1.scaleheight komutlarn kullanarak yapar. 1 inch = 1440 Twip 1 inch = 2,54 cm. 1 Twip = 0,0018 cm. imdi yukardaki rneimize u satrlar ekleyelim. a. b. CurrentX = 2500 CurrentY = 2500

Formun en stteki mavi bant hari twip cinsinden ekran boyutlar yaklak olarak 640 X 480 9600 7200 800 x 600 12000 9000 1024 X 768 16000 12000

Form1.scalewidth Form1.scaleheight

Microsoft Visual Basic

Sayfa 9

DE KENLERVisual Basic program iersine yazlacak olan deikenleri tanmlama zorunluluu vermemektedir, ama byk programlarda tanmlanmayan deikenler bir sorun yaratabilirler. Bunun iin Visual Basicin tand deikenler aada gsterilmitir. Bir procedure iinde tanmlanan deikene local (yerel) deiken denir. Bu deiken bu procedure aktif olduu zaman aktif olur. Bir deikenin tm modllerde de geerli klmak iin deiken tanm Declarations kesiminde tanmlanr. Bunun iin deikeni PUBLIC deyimi kullanlarak tanmlamak gerekir. Yerel deikenleri de STAT C deyimi ile tanmlarsak uygulama boyunca aktif olurlar. Public (Deiken) As (Deiken Tipi) Yalnz Declarations ksmnda tanmlanabilir. Static (Deiken) As (Deiken Tipi) Dim (Deiken) As (Deiken Tipi) Deikenlerin zellikleri 1. 2. 3. 4. 5. 6. Bir harf ile balar En ok 255 karakterden oluur. aretler iermez. Yazld yordam iinde tek olmal Deiken ad olarak Visual Basic in kulland herhangi bir kod kullanlamaz. Eer deiken Declatations yordamna yazlrsa tm procedure iinde geerli olur. Veri Tipi aretsiz tam say Tamsay Uzun tamsay Saysal deiken Saysal deiken Para birimi Evet-Hayr Olumlu-Olumsuz Tarih formatlarnda Saysal ierii olmayan deiken Saysal ierii olmayan deiken Resim ve imageler iin kullanlr. Alabilecei En Byk Deer 0 - 255 32.767 2.147.483.647 3,4 X 1038 1,7 X 10308 922..337.203.685.447 kuru blmnde 4 hane gsterir 01/01/100 31/12/9999 65.000 karakter Boyutu (Byte) 1 2 4 4 8 8 2 8 Her karakter 1 Byte 16 + Her karakter 1 Byte 4 Deiken Tipi Karekter Yok % & ! # @ Yok Yok $ Yok Yok

Deiken Tipi Byte Integer Long Single Double Currency Boolen Date String Variant Object

Sabit Deiken Deikenlerin aksine sabitler (constant), sahip olduklar deerler ile kullandmz bilgi tanmlamalardr. zellikle belli deerlerin kullanmn salar. Kodlamay ve kodun okunabilirliini kolaylatrr. Bir sabitin uygulama boyunca geerli olmas iin Declarations kesiminde tanmlanmal ve Const deyiminden nce Public deyimi kullanlr.

RNEKConst Pi = 3.14159265 Const Katsay = 2,5 Const KDV = 1,17

Microsoft Visual Basic

Sayfa 10

StringKarakterlerden oluan veriler String olarak tanmlanr. rnein mteri ad gibi bir bilgi String olarak tanmlanmaldr. String veriler saylar ierebilir ancak saysal ileme giremezler. String deikenlere deer atamak iin ift trnak karakteri kullanlr. Bir String deikene belli bir uzunluk da verilebilir. Bunun iin asteriks (*) karakterinden sonra uzunluk birimi girilir. Dim s As String S = Oguz KUTLU Dim Ad As String * 20

RNEK1. Show Dim a As String Dim b As String Dim c As String a = 168 b = 122 c=a+b Print c Sonu = 168122 olur. 2. Show Dim a As Integer Dim b As Integer Dim c As Integer a = 168 b = 122 c=a+b Print c 2.1 Show a% = 168 b% = 122 c% = a + b Print c Sonu = 290 olur. 1.1 Show a$ = 168 b$ = 122 c$ = a + b Print c Sonu = 168122 olur.

Sonu = 290 olur. Bazen programlarmzda deikenlerin tiplerini deitirmemiz gerekebilir. Bunun iin aadaki kodlar kullanlr. CByte CInt CLng CSng CDbl CCur CBool CDate String CVar Deikeni Deikeni Deikeni Deikeni Deikeni Deikeni Deikeni Deikeni Deikeni Deikeni Byte tipine eviriri nteger tipine eviriri Long tipine eviriri Single tipine eviriri Doble tipine eviriri Currency tipine eviriri Boolen tipine eviriri. Bu zellik pek kullanlmaz. Date tipine eviriri String tipine eviriri Varriant tipine eviriri

Kullanm ekli CCur (Deiken ad)

RNEKDim a As Single, .... .... a = CDbl (a)

NOT : Deiken tiplerini evirirken dikkat edilecek en nemli nokta zellikle byk deikenlerin kklere evrilmesi srasnda veri kaybnn olmamas veya virgll saylarn tam saylara dntrlmesi srasnda oluabilecek veri kayplar.Microsoft Visual Basic Sayfa 11

VarType () Fonksiyonu Tipi belirtilmeyen deikenlere programn iletimi srasnda Variant deiken tipini alr. VarType fonksiyonu ile Variant bir deikenin hangi tipte bilgi ierdii renilir. VarType (Variant Deiken Ad) Veri Tipi Bo Empty Null Integer Long Single Double Currency Date String Object Error Boolen Variant Data Object Saysal Deer 0 1 2 3 4 5 6 7 8 9 10 11 12 13

RNEKPrivate Sub Command1_Click() Dim ad ad = "Oguz KUTLU" FontSize = 20 ForeColor = RGB(12, 35, 142) CurrentX = 800 CurrentY = 800 veritipi = VarType(ad) Print veritipi ad = 3.254 FontSize = 30 ForeColor = RGB(101, 13, 142) CurrentX = 800 veritipi = VarType(ad) Print veritipi End Sub

MsgBox (Mesaj Kutusu)Bu deyim zellikle kullancya belli bir mesaj verme ve kullancdan belli bir yant almak iin kullanlr. MsgBox deyimi ile bir mesaj grntlenir. Bu mesaj sadece mesajda olabilir veya zerinde onay dmeleri bulunabilir. rnein kullancnn bir dosyay kayt etmesi gerektiinde Dosya Kaydedilsin mi? gibi bir soru olabilir ve msgbox zerinde de Yes No gibi yantlar alnabilir. MsgBox (mesaj, simgeler, balk)

RNEK1. 2. MsgBox Visual Basic Dersine Hogeldiniz MsgBox Prestige Educations Center

Microsoft Visual Basic

Sayfa 12

NOTMsgBox deyimini Form Load yordamna yazlrsa form ekrana yklendii anda mesaj penceresi kar. Windows uyumlu programlarda kullancy uyarmak veya mesaj vermek zere ekrana getirilen mesaj kutularnda Tamam dmesinden baka dmeler ve iaretler bulunur. rnein Excel ile alrken aktif belge kaydedilmeden kapatlmak istenirse, ekrana bir uyar mesaj kar ve size seme olana sunar. Bunun iin iki seenek vardr ve bilgisayarn sizin hangi tua bastnz anlamas iin bir deikene atamanz gerekmektedir.

RNEKDim a a = MsgBox("Visual Basic Dersine Hogeldiniz") Grld gibi herhangi bir simge belirtilmezse TAMAM dmesi belirir. Dier dmeleri kartmak iin aadaki kodlar kullanlr. S mge vbOKOnly vbOKCancel vbAbortRetryIgnore vbYesNoCancel vbYesNo vbRetryCancel Deeri 0 1 2 3 4 5 Anlam Sadece OK dmesini gsterir. OK ve Cancel dmesini gsterir. Durdur, Yeniden dene, Yoksay Yes, No, Cancel dmelerini gsterir. Yes ve No dmelerini gsterir. Retry ve Cancel dmelerini gsterir.

RNEKDim a a = MsgBox("Visual Basic Dersine Hogeldiniz", vbAbortRetryIgnore) veya a = MsgBox("Visual Basic Dersine Hogeldiniz", 2)

NOTMesaj kutusunun iine iki satr mesaj yazmak iin Enter tuunun karlna gelen ANSI 10 (Chr(10)) karakterini yazmamz gerekir.

RNEKDim a a = MsgBox("Visual Basic Dersine Hogeldiniz" & Chr(10) & "ikinci satira getim", vbYesNo) Mesaj pencerelerinde bir de uyar veya dikkat ekici ek ikonlar mevcuttur. Bunlar da aada gsterilmitir. S mge vbCritical vbQuestion vbExclamation vbInformation Deeri 16 32 48 64 X iareti Soru iareti nlem i enformasyon iareti Anlam

Microsoft Visual Basic

Sayfa 13

RNEKDim a a = MsgBox("Deiiklikler kaydedilsin mi?", vbYesNo + vbCritical) Mesaj pencereleri zerinde ki dmelerin bir zellii de aktif butonu seme zelliidir. Bunun iin aadaki kodlar yazlr. Simge vbDefaultButton1 vbDefaultButton2 vbDefaultButton3 vbDefaultButton4 Deeri 0 256 512 7682 Anlam 1.dme aktif olacak 2.dme aktif olacak 3.dme aktif olacak 4.dme aktif olacak

RNEKDim a a = MsgBox("Degisiklikler kaydedilsin mi?", vbYesNo + vbCritical + vbDefaultButton2) Son olarak mesaj penceresinin baln da deitirebiliriz. Bunun iin yazdmz kodun en sonuna ekleriz.

RNEKDim a a = MsgBox("Degisiklikler kaydedilsin mi?", vbYesNo + vbCritical + vbDefaultButton2, "Kaydet Butonu") Mesaj dmesinde hangi dmenin seildiine ilikin bir deer dndrdn belirlemek iin aadaki tablodaki deerler kullanlr. Sabit Bilgi VbOK vbCancel vbAbort vbRetry vbIgnore vbYes vbNo Deeri 1 2 3 4 5 6 7 Anlam OK dmesi seilmi. Cancel dmesi seilmi. Abort dmesi seilmi. Retry dmesi seilmi. Ignore dmesi seilmi. Yes dmesi seilmi. No dmesi seilmi.

RNEKPrivate Sub Command1_Click() Dim a, b, c a = MsgBox("Degisiklikler kaydedilsin mi?", vbYesNo + vbCritical + vbDefaultButton2, "kaydet butonu") c = 10 If a = vbYes Then b = c * 10 Else b=c*2 End If Print b End Sub Sonu = yes butonuna basnca 100, no butonuna basnca 20 olur. veya, Dim a, b, c a = MsgBox("Degisiklikler kaydedilsin mi?", 4 + vbCritical + vbDefaultButton2, "kaydet butonu") c = 10 If a = 6 Then b = c * 10Microsoft Visual Basic Sayfa 14

Else b=c*2 End If Print b Sonu = yes butonuna basnca 100, no butonuna basnca 20 olur.

InputBox (Bilgi Giri Kutusu)Giri kutusu kullancdan bir deeri almay salar. InputBox fonksiyonu bir iletiim kutusu grntleyerek kullancnn bir deer girmesini salar. InpuBox fonksiyonu kullancdan ald deeri programa geri dndrr. Deiken = InputBox (mesaj, balk, varsaym, xpoz, ypoz)

RNEK 1Private Sub Command1_Click() Dim ad As String ad = InputBox("ehir Adn Giriniz : ?") Print ad End Sub Grld gibi ekrann tam ortasnda bir bilgi giri ekran kt ve sol st kesinde projenin ad yazyor. Giri kutusunun adn deitirmek iin aadaki rnek yazlr.

RNEK 2Private Sub Command1_Click() Dim ad As String ad = InputBox("ehir Adn Giriniz : ?", " Giri Kutusu Bal") Print ad End Sub Sol st kesinde bu sefer bizim yazdmz Giri Kutusu Bal yazyor. Giri kutusunun zerinde bazen default olarak bir ey yazmasn isteriz, rnein ehir adlarn giriyoruz ve en ok girilen ehir stanbul olduu iin onun default olmasn isteyebiliriz. Bunun iin aadaki rnei yazarz.

RNEK 3Private Sub Command1_Click() Dim ad As String ad = InputBox("ehir Adn Giriniz : ?", " Giri Kutusu Bal", " stanbul") Print ad End Sub Eer aksi bir durum belirtmediysek alan InputBox kutusu ekrann tam ortasnda alr. Bazen alan bu kutular kullanclarn ekran daha iyi grebilmesi iin deiik yerlere koyabiliriz. Bunun iin aadaki rnei yazarz.

RNEK 4Private Sub Command1_Click() Dim ad As String ad = InputBox("ehir Adn Giriniz : ?", " Giri Kutusu Bal", " stanbul ", 3500, 500) Print ad End Sub

RNEK 5ki tane arka arkaya say girilerek girilen iki saynn toplam MsgBox ile bize bildirilsin. MsgBox penceresinde information da olsun. Private Sub Command1_Click() Dim a As Integer Dim b As Integer

Microsoft Visual Basic

Sayfa 15

Dim c As Integer Dim d As Integer a = InputBox("1. sayy giriniz") b = InputBox("2. sayy giriniz") c=a+b MsgBox("iki saynn toplam = " & c & ,vbinformation) End Sub

NOT : MesajBox yazmnda kullanlan & (ampersant) iareti girilen deeri mesajbox kutusuna tar.

DnglerIf ..... Then ..... Else ...... End iff deyimi belli bir ifadenin deerine gre bir deyimin iletilmesini salar. f deyiminin basitten karmaa doru deiik kalplar vardr. 1. if (koul) Then (ilem) 2. if (koul) Then (ilem1) Else (ilem2) End if 3. if (koul1) Then (ilem1) ElseIf (koul2) Then (ilem2) Else (ilem-n) End if

RNEK 1ki say girin ve Ok basnca iki saynn arpmn Cancel e basnca toplamn alsn ve sonucu MsgBox ile ekranda gstersin. Private Sub Command1_Click() Dim a As Integer, b As Integer Dim c As Integer Dim d As Integer a = InputBox("1.sayy giriniz") b = InputBox("2.sayy giriniz") c = MsgBox("Saylar toplansn m? yoksa arplsn m?", vbOKCancel) If c = 1 Then d=a*b MsgBox (" ki saynn arpm =" & d) End If If c = 2 Then d=a+b MsgBox (" ki saynn toplam =" & d) End If End Sub

RNEK 2Bir rencinin ald notu girelim ve ald not < 50 ise ekrana zayf not ald , >=50 ise ekrana geer not ald yazsn. Private Sub Command1_Click() Dim a As Integer a = InputBox("rencinin notunu giriniz") If a < 50 Then MsgBox ("Bu renci zayf not ald") End IfMicrosoft Visual Basic Sayfa 16

If a >= 50 Then MsgBox ("Bu renci geer not ald") End If End Sub

RNEK 2.1Private Sub Command1_Click() Dim a As Integer a = InputBox("rencinin notunu giriniz") If a < 50 Then MsgBox ("Bu renci zayf not ald") Else MsgBox ("Bu renci geer not ald") End If End Sub

RNEK 3Klavyeden girilen 3 saynn en byk olann bulmak. Private Sub Command1_Click() Dim a As Double Dim b As Double Dim c As Double a = InputBox("birinci sayy giriniz") b = InputBox("ikinci sayy giriniz") c = InputBox("nc sayy giriniz") If a > b Then If a > c Then MsgBox "En Byk say birinci saydr." ElseIf c > b Then MsgBox "En Byk say nc saydr" Else MsgBox "En byk say ikinci saydr." End If End Sub

RNEK 4Elektrik faturas hesaplayan bir program 150 kw kadar 44.000 TL. 150 300 kw aras iin 66.000 TL. 300 den sonras iin 75.000 TL. olsun. Private Sub Command1_Click() Dim tketim As Double Dim para As Double tketim = InputBox("Tketim Deerini Girin") If tketim > 0 And tketim < 151 Then para = tketim * 44000 ElseIf tketim > 150 And tketim < 301 Then para = (150 * 44000) + ((tketim - 30) * 66000) ElseIf tketim > 301 Then para = (150 * 44000) + (150 * 66000) + ((tketim - 300) * 75000) End If MsgBox ("deyeceiniz para =" & para) End Sub

Microsoft Visual Basic

Sayfa 17

RNEK 53 bu rnek de 1.vize ,2. vize ve final notlar girilecek ve puan 50den bykse msgbox la getiniz deilse btnleme notunu istet ve sonuc yine 50 den kkse kalsn deilse gesin. Vizenin %40 Finalin % 60 Dim a As Integer ,b As Integer ,c As Integer, d As Double, e As Double, f As Double, g As Integer, but As Double a: a = InputBox("Birinci vize notu giriniz") If a < 0 Or a > 100 Then MsgBox ("Ltfen 0 - 100 arasnda bir say giriniz") GoTo a Else b: b = InputBox("ikinci vize notu giriniz") If b < 0 Or b > 100 Then MsgBox ("Ltfen 0 - 100 arasnda bir say giriniz") GoTo b Else c: c = InputBox("Final notunu giriniz") If c < 0 Or c > 100 Then MsgBox ("Ltfen 0 - 100 arasnda bir say giriniz") GoTo c Else d = ((a + b) / 2) * 0.4 e = (c * 0.6) + d If e > 50 Then MsgBox ("Getiniz") FontBold = True FontSize = 12 FontName = "tahoma" ForeColor = RGB(15, 65, 85) Print "Ortalama Notunuz =" & e Else ' her if muhakkak end if le kapatlmal i ie ok sayda if konabilir. if tek satrda bitirilebilir. MsgBox ("Kaldnz") f: f = InputBox("Btnleme notunu giriniz") If f < 0 Or f > 100 Then MsgBox ("Ltfen 0 - 100 arasnda bir say giriniz") GoTo f Else but = (f * 0.6) + d If but > 50 Then MsgBox ("getiniz") Else MsgBox ("artk sizi kimse kurtaramaz") End If Print "Son notunuz ="; but End If End If End If End If End If

RNEK 6Private Sub Command1_Click() 'or ve and kullanma Dim a As Integer Dim b As Integer Dim c As IntegerMicrosoft Visual Basic Sayfa 18

Dim Dim Dim Dim

d As Double e As Double f As Double but As Double

a = InputBox("Birinci vize notu giriniz") b = InputBox("ikinci vize notu giriniz") c = InputBox("Final notunu giriniz") d = ((a + b) / 2) * 0.4 e = (c * 0.6) + d If e < 50 Then MsgBox ("Kaldnz") ElseIf e >= 50 And e < 65 Then MsgBox ("Birinci gruptasnz") ElseIf e >= 65 And e < 80 Then MsgBox ("ikinci gruptasnz") ElseIf e >= 70 And e < 100 Then MsgBox ("Ben birtaneyim") End If Print "Son notunuz ="; e End Sub

Select CaseKullanm Kalb 'select case deiken ' case ' case 'end select

RNEK 1Klavyede 0 - 5 arasnda bir rakam girilecek ve ne girildiini msgbox la bize gstersin 'birinci blm Dim a As Integer a = InputBox("1 - 5 arasnda bir say giriniz") Select Case a Case 1 MsgBox Case 2 MsgBox Case 3 MsgBox Case 4 MsgBox Case 5 MsgBox

("girilen say 1'dir") ("girilen say 2'dir") ("girilen say 3'dr") ("girilen say 4'dr") ("girilen say 5'dir")

Microsoft Visual Basic

Sayfa 19

'ikinci blm 'mesala 8 rakamini girin Case Else MsgBox ("boyle bir sayi girilemez") 'nc blm '5-100 arasndaki tm saylar iin Case 5 To 100 'yazlr End Select

RNEK 2Dim a As Integer ,b As Integer, c As Integer, d As Double, e As Double, f As Double, but As Double a = InputBox("Birinci vize notu giriniz") b = InputBox("ikinci vize notu giriniz") c = InputBox("Final notunu giriniz") d = ((a + b) / 2) * 0.4 e = (c * 0.6) + d Select Case e 'Case e >= 0, e 100 MsgBox ("girdiin not yalntr ltfen kontrol ediniz.") End Select Print e

RNEK 3Private Sub Command13_Click() Dim a Dim b Dim c a = InputBox("bir harfe basnz") Select Case a Case "A" To "G" c = "A ile G arasnda bir harfe bastnnz" Case "H" To "K" c = "H ile K arasnda bir harfe bastnnz" Case "L" To "Z" c = "L ile G arasnda bir harfe bastnnz"Microsoft Visual Basic Sayfa 20

Case Else c = "yanl bir tua bastnz" End Select MsgBox c End Sub

For ..... NextBir grup deyimi belli sayda altrarak bir dng oluturur. Dng bir kez iledikten sonra artrm deeri eklenir. Eer herhangi bir artrm deeri kullanlmadysa o zaman bir arttrlr. Saya deeri biti deerinden byk olduu zaman dng sona erdirilir ve program Next deyiminden itibaren devam eder. Dng deimleri ama deikenlerin deerlerini belli aralklarla yaptrmak. Belli aralklardaki saylarn toplam , kartmak,arpmak Kalp FOR deiken=1 TO 70 ' ' ' ' NEXT

RNEK 1Private Sub Command1_Click() '1 den 10 a kadar olan saylar toplatalm Dim a As Integer Dim b As Integer For a = 1 To 10 b = b + a 'buradaki yeni b= kavram mat. = deil Next Print b End Sub

RNEK 2Private Sub Command1_Click() '1 den 10 a kadar olan saylar toplatalm print e dikkat Dim a As Integer Dim b As Integer For a = 1 To 10 b = b + a 'buradaki yeni b= kavram mat. = deil Print b Next ' olayn farkn anlat End Sub

Microsoft Visual Basic

Sayfa 21

RNEK 3Private Sub Command1_Click() 'klavyeden bir say girilecek ve 'makina o syya kadar olan saylarn toplamn alacak Dim a As Double Dim b As Double Dim c As Double a = InputBox("birinci sayy girin") For b = 1 To a c=c+b Next Print ("1 den ") & a & ("ya kadar olan saylarn toplam"), c End Sub

RNEK 4Private Sub Command1_Click() ' Belli bir sayya kadar toplama yapmak Bir atlatarak toplatmak iin ' step komutu kullanlarak Dim a As Double Dim b As Double Dim c As Double a = InputBox("birinci sayy girin") For b = 1 To a Step 2 c=c+b Next Print c End Sub

RNEK 5Private Sub Command11_Click() ' 1 den girilen bir sayya kadar olan saylan arpm ' en fazla 170 ! e kadar yapablirsiniz. Dim a As Double, b As Double, c As Double a = InputBox("birinci sayy girin") c=1 For b = 1 To a c=c*b Next Print a; "! ="; c End Sub

Microsoft Visual Basic

Sayfa 22

RNEK 6Private Sub Command12_Click() ' boyutlu bir yaz yazlmas Dim t, i, x1, y1, x, y x = 200 y = 200 t = "Oguz Kemalettin KUTLU" FontName = "tahoma" FontSize = 30 For i = 0 To 15 x1 = x + i * 5 ' 10 birim saa kayar y1 = y + i * 10 ' 10 birim aaya kayar ForeColor = QBColor(i) 'QBColor (0 - 15 ) ARASI ZEL RENKLER 'forecolor=rgb(red,green,blue) ' qbcolor kullanlacaksa eer to 16 olamaz CurrentX = x1 CurrentY = y1 Print t Next ' dngy anlatmay unutma End Sub

RNEK 7'Private Sub Form_Resize() ' formun boyutu deise bile yaz ona uygun hale gelir. 'Cls ' nce ekrann temizlnmesi lazm 'Show 'Dim t, i 't = "Oguz KUTLU Visual Basic retmeni" 'FontName = "tahoma" 'For i = 1 To 10 'FontSize = i * 5 'CurrentX = (ScaleWidth - TextWidth(t)) / 2 ' yazy tam merkezden balatmak iin yazy 10 kere byterek aaya doru yazarak iner 'Print t 'Next 'End Sub

QBCOLOR ()0 1 2 3 4 5 6 7 Siyah Mavi Yeil Cyan Krmz Eflatun Sar Beyaz 8 9 10 11 12 13 14 15 Gri Ak Ak Ak Ak Ak Ak Ak Mavi Yeil Cyan Krmz Eflatun Sar Beyaz

RGB ()Renk Siyah Mavi Yeil Cyan Krmz Eflatun Sar Beyaz Krmz 0 0 0 0 255 255 255 255 Yeil 0 0 255 255 0 0 255 255 Mavi 0 255 0 255 0 255 0 255

Microsoft Visual Basic

Sayfa 23

Disk ve Dosya KomutlarProgram ierisinde kullanacamz baz kodlar sayesinde alma annda geerli klasr veya dizinin adn renebilir, baka bir dizine geebilir, istediiniz dizini veya dosyay silebilir, yeni bir dizin oluturabiliriz.

CurDirAktif dizini gsterir. Private Sub Command1_Click() MsgBox CurDir End Sub

ChDirAktif dizini deitirir. Private Sub Command1_Click() ChDir "c:\" MsgBox CurDir End Sub

ChDriveGeerli srcy deitirir. Private Sub Command1_Click() ChDrive "c" ChDir "c:\program files" MsgBox CurDir End Sub

MkDirHerhangi bir srcde dizin oluturmak iin kullanlr. Private Sub Command1_Click() MkDir "c:\deneme klasr" End Sub

RmDirHerhangi bir srcde ki ii bo olan bir dizini silmek iin kullanlr. Private Sub Command1_Click() RmDir "c:\deneme klasr" Dikkat edilecei gibi silinen klasr p kutusuna gitmedi. eer dizinin iinde bir dosya kaldysa yine hata verir. Hatay nlemek iin On Local Error GoTo hata RmDir "c:\deneme klasr" Exit Sub hata: MsgBox ("Dizin silinemedi " & Error) End Sub

FileCopyBir klasrden baka bir klasre kopyalamak iin kullanlr. ncelikle c:\belgelerim e bir tane kopya.txt dosyas jazrlanr. Private Sub Command4_Click() FileCopy "c:\belgelerim\kopya.txt", "c:\deneme klasr\kopya.txt" : End SubMicrosoft Visual Basic Sayfa 24

FileLenBir dosyann byte olarak bykln verir. Private Sub Command5_Click() MsgBox (FileLen("c:\deneme klasr\kopya.txt")) ikinci olarak dosyaya bir eyler yazp tekrar deneyin End Sub

FileDateTimeBir dosyann en son deitirildii tarihi renmek iin kullanlr. Private Sub Command6_Click() MsgBox (FileDateTime("c:\deneme klasr\kopya.txt")) End Sub

GetAttrBir dosyann zelliklerini renmek iin kullanlr. Bu komut normalde geriye bir rakam dndrr.

rnek 1Private Sub Command7_Click() MsgBox (GetAttr("c:\deneme klasr\kopya.txt")) End Sub VbNormal vbReadOnly VbHidden VbSystem VbDirectory VbArchive 0 1 2 4 16 32 zellii olmayan dosya Salt okunur dosya Gizli dosya Sistem dosyas Klasr Ariv dosyas

rnek 2Private Sub Command8_Click() Cls Dim dosya dosya = GetAttr("c:\deneme klasr\kopya.txt") Print "kopya.txt" If dosya And 0 Then Print "Normal Dosya" If dosya And 1 Then Print "Salt Okunur" If dosya And 2 Then Print "Gizli Dosya" If dosya And 4 Then Print "Sistem Dosyas" If dosya And 16 Then Print "Klasr" If dosya And 32 Then Print "Ariv Dosyas" End Sub

SetAttrBir dosyann zelliklerini deitirmek iin kullanlr.

rnek 1Private Sub Command9_Click() SetAttr "c:\deneme klasr\kopya.txt", 1 + 2 + 4 + 32 End Sub

rnek 2Private Sub Command9_Click() SetAttr "c:\deneme klasr\kopya.txt", vbNormal + vbReadOnly + vbHidden + vbSystem + vbArchive End Sub

Microsoft Visual Basic

Sayfa 25

Namestediimiz bir klasrn veya bir dosyann adn deitirmek iin kullanlr.

rnek 1Private Sub Command11_Click() Name "c:\belgelerim\kopya.txt" As "c:\deneme klasr\kopya2.txt" End Sub NOT: Program ikinci kez altrldnda dikkat edilecei gibi hata komutu verir. Bunu nlemek iin,

rnek 2Private Sub Command12_Click() On Error GoTo k Name "c:\belgelerim\kopya.txt" As "c:\deneme klasr\kopya2.txt" Exit Sub k: MsgBox ("Byle bir dosya bulunamad") End Sub

Dirstediimiz bir klasrdeki dosyalarn listesini gstermek iin kullanlr.

rnek 1Private Sub Command10_Click() Cls Dim dosya dosya = Dir("c:\*.*") Print dosya: End Sub

rnek 2Private Sub Command10_Click() Cls Dim dosya dosya = Dir("c:\*.*") While dosya "" Baka dosya kalmayncaya kadar devam et. Print dosya dosya = Dir Wend End Sub

Killstediimiz bir klasrn veya bir dosyann silinmesi iin kullanlr. Bu ilemi yaparken ok dikkatli olmamz lazm nk silinen dosya p kutusuna gitmez.

rnek 1Private Sub Command13_Click() Kill "c:\deneme klasr\kopya.txt" End Sub

rnek 2Private Sub Command14_Click() On Error GoTo k Kill "c:\deneme klasr\kopya.txt" Exit Sub k: MsgBox ("Byle bir dosya bulunamad") End SubMicrosoft Visual Basic Sayfa 26

rnek 3Private Sub Command15_Click() On Error GoTo k Dim c c = MsgBox("dosya silinecek mi ?", vbYesNo) If c = vbYes Then Kill "c:\deneme klasr\kopya.txt" MsgBox ("dosya silindi") Exit Sub k: MsgBox ("Byle bir dosya bulunamad") End If End Sub

EndBir formu sonlandrmak iin kullanlr. Private Sub Command17_Click() End End Sub

izim YapmakBir form zerine izim yapmak iin daha nce belirttiimiz gibi ScaleWidth(X) ve ScaleHeight(Y) koordinatlarndan ve twip l birimlerinden yararlanacaz. Form zerinde izeceimiz bir noktann koordinatn belirtirken formun st sol kesi (0,0) dr ve X deeri saa doru Y deeri ise aaya doru artar. Formun stndeki mavi bar bu deerler dndadr.

Linestenilen koordinatlar arasnda izgi izmek veya kutu izmek iin kullanlr. Line(Xbaslang,Ybaslang)-(Xbitis,Ybitis),izgi rengi ,BF BF = Otomatik kutu yapmak iin kullanlr.

rnek 1Private Sub Command1_Click() Cls Line (500, 500)-(2500, 2500) End Sub

rnek 2Private Sub Command2_Click() Cls Line (500, 500)-(2500, 2500), RGB(200, 25, 12) End Sub

rnek 3Private Sub Command3_Click() Cls Line (500, 500)-(2500, 2500), QBColor(5) End Sub

rnek 4Private Sub Command4_Click() Line (500, 500)-(2500, 2500), RGB(200, 25, 12), B End Sub

Microsoft Visual Basic

Sayfa 27

rnek 5Private Sub Command4_Click() Line (500, 500)-(2500, 2500), RGB(200, 25, 12), BF End Sub

rnek 6 Klavyeden girilen rakamlarla bir kutu izmek.Private Sub Command5_Click() Dim a, b, c, d, e, f, g a = InputBox("xbas") b = InputBox("ybas") c = InputBox("xbit") d = InputBox("xbit") e = InputBox("R rengi iin 255 e kadar bir say gir") f = InputBox("G rengi iin 255 e kadar bir say gir") g = InputBox("B rengi iin 255 e kadar bir say gir") Line (a, b)-(c, d), RGB(e, f, g), BF End Sub

rnek 7 BF kodunu kullanmadan bir kutu izmek.Private Sub Command6_Click() Cls Line (500, 500)-(500, 2000), RGB(250, 12, 35) Line (2000, 500)-(2000, 2000), RGB(250, 12, 135) Line (500, 2000)-(2000, 2000), RGB(25, 12, 235) Line (500, 500)-(2000, 500), RGB(35, 112, 35) End Sub NOT= DrawWidth zelliini anlat

rnek 8Private Sub Form_Resize() Show Cls Dim i, stp Form1.Width = Form1.Height stp = Form1.ScaleWidth / 20 For i = 0 To Form1.ScaleHeight / 2 Step stp ForeColor = i * 12 Line (i, i)-(Form1.ScaleWidth - i, Form1.ScaleHeight - i), , BF Next End Sub

rnek 9Bir gen izmek iin Private Sub Command2_Click() Cls DrawWidth = 3 Line (500, 500)-(2000, 2000) Line -(500, 2000) Line -(500, 500) End Sub

Microsoft Visual Basic

Sayfa 28

Circlestenilen koordinatlar arasnda daire izmek iin kullanlr. Circle(Xbaslang,Ybaslang),Yar ap, izgi rengi

rnek 1Private Sub Command1_Click() DrawWidth = 3 Circle (1000, 1000), 1000 End Sub

rnek 2Private Sub Command1_Click() DrawWidth = 3 Circle (1000, 1000), 1000, RGB(125,32,14) End Sub

rnek 3Private Sub Command1_Click() DrawWidth = 3 Circle (1000, 1000), 1000, QBColor(2) End Sub

rnek 4Private Sub Command2_Click() Cls Dim i, j For j = 1 To 15 For i = 750 To 3550 Step 200 Circle (i + 2000, 2500), Qbcolor(j) Next Next End Sub

rnek 5Private Sub Command15_Click() Dim a, b, xort, yort DrawWidth = 3 xort=scalewidth/2 yort=scaleheight/2 b = 500 For a = 0 To 15 Circle (xort,yort), b, QBColor(a) '16 ana renk iin b = b + 1000 Next End Sub

rnek 6Private Sub Form_Load() Show Cls Dim x, y DrawWidth = 2 x = ScaleWidth / 2 y = ScaleHeight / 2 Circle (x, y), x / 2 End Sub Bu rnei Form_Resize yordamna yazarsak formun boyutu deitii anda oda deiir.

Microsoft Visual Basic

Sayfa 29

rnek 7Aslnda Circle deyiminin alaca iki parametre daha vardr. 4. parametredeki rakam 0 olursa tam ember 6 olursa da emberin bir ksm izilir. 4. parametre 0-6 arasnda deer alabilir. Private Sub Command1_Click() DrawWidth = 4 Circle (2500, 2500), 1000, RGB(255, 0, 0), 1 NOT=rakam deitirilerek denemeler yaplr. End Sub

rnek 85. parametredeki rakam 6.27 olursa tam ember 0-6.27 arasnda rakam alrsa 5.parametrenin tersi ilem yapar. Private Sub Command1_Click() DrawWidth = 4 Circle (2500, 2500), 1000, RGB(255, 0, 0), 0, 6.27 End Sub

rnek 97.parametredeki rakam 0-1 arasnda olursa ember enine basklar. 1 den byk rakam verirsek bu sefer dikine basklar. Private Sub Command1_Click() DrawWidth = 4 Circle (2500, 2500), 1000, RGB(255, 0, 0), 0, , 0.4 NOT = denemeler yap End Sub

rnek 10Private Sub Form_Resize() Cls Dim x As Integer Dim y As Integer DrawWidth = 3 x = ScaleWidth / 2 y = ScaleHeight / 2 Circle (x, y), x / 2, RGB(0, 0, 255) Line (x - x / 2,y)-(x + x / 2,y) Line (x, y+ x / 2)-(x, y- x / 2) End Sub

PSetFormun herhangi bir noktasna nokta koymak iin kullanlr. PSet (Xbaslang,Ybaslang), izgi rengi

rnek 1PSet (500, 500),RGB(35,24,111)

rnek 2Private Sub Command1_Click() Dim i DrawWidth = 4 For i = 500 To 2500 Step 10 PSet (i, i), QBColor(4) Next End Sub

Microsoft Visual Basic

Sayfa 30

rnek 3Private Sub Command1_Click() Cls Dim a, b, r, t, x, y For t = -100 To 100 Step 0.01 a = ScaleWidth / 2 b = ScaleHeight / 2 r = Sin(6 * t) * Cos(6 * t) x = r * Cos(t) y = r * Sin(t) PSet (a + x * 3800, b - y * 3800) Next End Sub

rnek 4Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = 1 Then ForeColor = RGB(255, 0, 0) DrawWidth = 3 PSet (x, y) End If End Sub

Random Dosyalar'1. 6 tane label ciz '2. 6 tane text ciz '3. adlarn yaz. Kayt No, Adnz, Soyadnz, Telefon, Adres, ehir '3.1 Modl ekle '4. Kaydet butonu ekle '5. nceki kayt '6. Sonraki kayt '7. lk kayt '8. Son kayt '9. Kayt bul '10. Degistir '11. Kayt ekle '12. Sil '13. Toplam ve bulunan kayt says sras yine command srasyla '14. ikis Private Sub Form_Load() Open "oguz.dat" For Random As #1 Len = Len(alanlar) form yklendii anda bir dosya amak iin kullanlr. oguz.dat dosya isim kayitno = LOF(1) / Len(alanlar) kayitno = kayitno + 1 topkayit.Caption = kayitno - 1 suankayit.Caption = kayitno kayitno.Enabled = False End Sub 'For Random dosyann random dosya olduunu gsterir. As 1 dosya numaras 255 e kadar verilebilir. 'balangta verdiimiz dosya numaras sonra kullanlacak. Len (alanlar) alanlarn uzunluunu len deikenine atamamz gerekmektedir. 'len alanlar toplam uzunluu 'lof ise 1 numaralar dosyann toplam uzunluu 'toplam uzunluu alanlar uzunluuna blersek kayit no yu gsterir. 'kayitno=kayitno+1 ilk anda kayt bo olduu zaman hata vermemek iin 'ilk altrdmzda oguz.dat bulamayaca iin ilk altrma annda kendisi oluturur. 'Random dosyalarn bir zellii de her kayda ayn oranda uzunluk ayrr. 'rnein 5 dosya var ve hepsine 10 uzunluk ayrdn dnelimMicrosoft Visual Basic Sayfa 31

'50 / 10 = 5 kar ama +1 yapar ve 6 dosyay bulur. 'artk aktif dizinde oguz.dat dosyas bulunur. ' Deikenlerin tm procedr iinde geerli olmas iin modlde bir tip tanmlamas yapmak zorundayz. ' Type baslar ve End Type biter. Type bilgileri Text Kutular icin yaplr. Oluturulacak textleri makineye tanttk. General _Declarations Option Explicit Type kayitbilgisi ad As String * 10 soyad As String * 15 telefon As String * 10 'tel. numaralarnn (216)4755054 gstermek iin maskedit component inde anlatacagiz. adres As String * 30 sehir As String * 10 End Type Global alanlar As kayitbilgisi ' kayitbilgisi tipini tm modl ve formlara tantmak iin kullanlr. alanlar. koyduumuz anda tanmladmz typeler otomatik olarak ekrana gelir modulden global yazs kaldrlnca ekrana gelmez. 'text kutularna yazdmz yazlar dikkat ederseniz programdan klp tekrar girildii zaman yazdmz yazlarn kaydedilmediini grrz. Kaydetmek iin bir kaydet butonu hazrlar ve ierisine aadaki kod yazlr. Private Sub kaydet_Click() Dim c As Integer alanlar.ad = form1.ad alanlar.soyad = form1.soyad alanlar.telefon = form1.telefon alanlar.adres = form1.adres alanlar.sehir = form1.sehir 'dikkat edilirse form1 den sonra ad,ehir gelmesinin kolayl grlm oldu c = MsgBox("Degisiklikler kayddilsin mi ?", vbYesNo) If c = vbYes Then 'yes e basld zaman verilerin dosyaya yazlmasn istiyorum bunun iin PUT deimi kullanlr. Put #1, kayitno, alanlar 'bunun anlam yeni kayd alanlar iine kayitno ya gre kaydetmeyi salar 1 rakam ilk bata verdiimiz dosya noyla ayn olmasi lazm bu ilemden sonra text kutularn boaltp kayitno yu arttrp ekrana getirsin. form1.ad = " " form1.soyad = " " form1.telefon = " " form1.adres = " " form1.sehir = " " 'text kutular boaldktan sonra yeni kayda geince kayitno artmas gerekir kayitno = kayitno + 1 ad.SetFocus 'imlecin ad dan balamas iin kullanlr. End If topkayit.Caption = LOF(1) / Len(alanlar) suankayit.Caption = kayitno End Sub Private Sub onceki_Click() If kayitno= 1 Then MsgBox (Zaten lk Kayttasnz) Else Kayitno=kaytno-1 Get #1, kayitno, alanlar form1.ad = alanlar.ad form1.soyad = alanlar.soyad form1.telefon = alanlar.telefon form1.adres = alanlar.adres form1.sehir = alanlar.sehirMicrosoft Visual Basic Sayfa 32

End if Form1.ad.SetFocus End Sub Private Sub sonraki_Click() Dim a as integer a=LOF(1) / Len (alanlar) If kayitno>= a Then MsgBox (Zaten Son Kayttasnz) Else Kayitno=kaytno+1 Get #1, kayitno, alanlar form1.ad = alanlar.ad form1.soyad = alanlar.soyad form1.telefon = alanlar.telefon form1.adres = alanlar.adres form1.sehir = alanlar.sehir End if Form1.ad.SetFocus End Sub Private Sub bul_Click() Dim bul As Integer bul = InputBox("Bulmak istediiniz Kayit No yu giriniz") kayitno = LOF(1) / Len(alanlar) If bul 7000 Then a = 3500 If b > 7000 Then b = 2700 Command1.Left = a Command1.Top = b End Sub

OYUNSay bulma oyunu, 4 Label ,1 TextBox, 2 Commond Buton Private Sub Command1_Click() Command2.Enabled = True Command1.Enabled = False Label1 = Int(Rnd * 100) Label4 = 1000 Label3 = 0 Label2 = "0 ile 100 arasnda bir say girin" Text1.SetFocus End Sub Private Sub Command2_Click() Label3 = Label3 + 1 Label4 = Label4 - Label3 * 10 If Label1 < Text1 Then Label2 = "Klt" Else If Label1 > Text1 Then Label2 = "Bylt" Else Label2 = "Tebrikler " + Label3 + " defada bildiniz " + Label4 + " puan aldnz " Command1.Enabled = True Command2.Enabled = False End If End If Text1 = "" Text1.SetFocus End Sub Private Sub Form_Load() Command1.Default = True Text1 = "" Command2.Enabled = False Label1.Visible = False End Sub

PASSWORDPrivate Sub Command1_Click() Text1 = "" : Text2 = "" End Sub Private Sub Command2_Click() If Text1 = "oguz" And Text2 = "kutlu" Then MsgBox ("Merhaba") Exit Sub End If If Text1 "oguz" Then Text1.SetFocus

Microsoft Visual Basic

Sayfa 52

Text1.SelStart = 0 Text1.SelLength = Len(Text1) Exit Sub End If If Text2 "kutlu" Then Text2.SetFocus Text2.SelStart = 0 Text2.SelLength = Len(Text2) Exit Sub End If : End Sub Private Sub Text2_Change() If Text1 "" Then Command2.Enabled = True If Text2 = "" Then Command2.Enabled = False End Sub Private Sub Text1_Change() If Text2 "" Then Command2.Enabled = True If Text1 = "" Then Command2.Enabled = False End Sub

CheckBox ( aret Kutusu)Belli seeneklerin seilmesini salar.

zellikleri :AlignmentCheck iaretinin solda veya sada olmasn salar.

ValueCheck iaretinin zelliklerini belirler. 0 : aretsiz 1 : aretli 2 : Belirsiz If Check1.Value = 0 Then Text1.Text = " aretsiz" If Check1.Value = 1 Then Text1.Text = " aretli" If Check1.Value = 2 Then Text1.Text = "Belirsiz"

rnek 11 tane text ve 3 tane checkbox iz ve style =1 yap sonra \common\graphics\bitmaps\tlbr_w95 dizininden gerekli resimleri zerine koy (bold, underline, italic) Private Sub Check1_Click() Text1.FontBold = Check1.Value End Sub Private Sub Check2_Click() Text1.FontItalic = Check2.Value End Sub Private Sub Check3_Click() Text1.FontUnderline = Check3.Value End Sub

Microsoft Visual Basic

Sayfa 53

Option Button (Seenek Dmesi)rnek 13 tane text ve 2 tane optionbox izin, Private Sub Form_Load() Show Text1.SetFocus Option1 = False Option2 = False End Sub Private Sub Option1_Click() Text2.Text = Val(Text1.Text) * 0.17 Text3.Text = Val(Text1.Text) + Val(Text2.Text) Text3 = Format(Text3, "###,###") End Sub Private Sub Option2_Click() Text2.Text = Val(Text1.Text) * 0.25 Text3.Text = Val(Text1.Text) + Val(Text2.Text) Text3 = Format(Text3, "###,###") End Sub

Horizontal & Vertical ScrollBar (Kaydrma ubuu)ValueKaydrma ubuunun ald deeri gsterir. Bu deer min. - max. Arasnda olabilir.

Min. Max.Kaydrma ubuunun alabilecei deerleri gsterir.

Large ChangeKaydrma ubuunun zerine tkland zaman scroll.valuenin urayaca deiimi gsterir.

Small ChangeKaydrma ubuunun zerine oklara tkland zaman scroll.valuenin urayaca deiimi gsterir.

ScrollKaydrma ubuunun zerindeki scrollun deitii zaman bir olayn olmasn istiyorsak bu yordama yazarz.

rnek 11 textbox, 3 hscroll , 3 label iz. Private Sub Form_Load() HScroll1.Max = 255 HScroll2.Max = 255 HScroll3.Max = 255 End Sub Private Sub HScroll1_Change() Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) Label1.Caption = HScroll1.Value End Sub Private Sub HScroll2_Change() Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) Label2.Caption = HScroll2.Value End SubMicrosoft Visual Basic Sayfa 54

Private Sub HScroll3_Change() Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) Label3.Caption = HScroll3.Value End Sub

Shape (ekil KontrolEleman)Formlara dikdrtgen, kare, daire gibi geometrik ekiller izmemize yarar.

BorderStyleizilecek olan eklin kenar izgi zelliklerini belirtir. 0 1 2 3 4 5 6 izgi yok Dz izgi Uzun kesikli izgi Nokta izgi Kesikli + noktal izgi Kesikli + noktal izgi+ noktal nside solid (ekil ile ereve kenarlar akk ekilde)

BorderWidthizilecek olan eklin kenar izgi kalnln deitirir.

FillColorizilecek olan eklin i rengini deitirir.

FillStyleizilecek olan eklin i desenini belirtir. 0 1 2 3 4 5 6 7 Tam dolu Nesnenin zemin rengi Yatay izgi Dikey izgi Sola eik Saa eik Kareli apraz

Shapeizilecek olan eklin eklini belirtir. 0 1 2 3 4 5 Dikdrtgen Kare Elips ember Oval Drtgen Oval Kare

rnek 1Scrool lar kullanarak Shape zelliklerini gsteren program yap. 4 Vscrool, 1 Shape

Microsoft Visual Basic

Sayfa 55

Timer Control (Zamanlayc)EnabledTrue olursa zaman almaya balar. False olursa durur.

ntervalSaatin alma periyodunu belirtir. 0 65535 arasnda deer alr. 1000 olursa 1 saniye olur. Private Sub Form_Load() Label1.Caption = Now End Sub Private Sub Timer1_Timer() Label1.Caption = Now End Sub

rnek 1Saat Private Sub Form_Load() Label1.Caption = Time End Sub Private Sub Timer1_Timer() Label1.Caption = Time End Sub

rnek 2Kronometre Option Explicit Dim saat, dakika, saniye As Integer Private Sub basla_Click() saat = 0 dakika = 0 saniye = 0 End Sub Private Sub durdur_Click() Label2.Caption = saat & " : " & dakika & " : " & saniye End Sub Private Sub Form_Load() Timer1.Interval = 1000 Label1.Visible = False End Sub Private Sub Timer1_Timer() Label1.Caption = Time saniye = saniye + 1 If saniye = 59 Then dakika = dakika + 1 saniye = 0 End If If dakika = 59 and saniye = 59 Then saat = saat + 1 dakika = 0 End If End Sub

Microsoft Visual Basic

Sayfa 56

rnek 3Private Sub Form_Load() Label1.Caption = Time Label2.Caption = Year(Now) & Month(Now) & Day(Now) & Hour(Now) & Minute(Now) & Second(Now) Timer2.Enabled = False End Sub Private Sub Timer1_Timer() Label1.Caption = Time If Hour(Now) = 20 And Minute(Now) = 59 Then Timer2.Enabled = True End Sub Private Sub Timer2_Timer() Label2.Caption = Second(Now) End Sub

rnek 4Ekran Koruyucu Private Sub Form_Load() Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() Dim x, y, a, b a = Form1.ScaleWidth b = Form1.ScaleHeight x = Int(Rnd * a) y = Int(Rnd * b) Line -(x, y) DrawWidth = Int(Rnd * 20) + 1 ForeColor = Int(Rnd * 16000000) End Sub

rnek 5Top oyunu Form_KeyPrewiev = True Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyRight Then Command1.Left = Command1.Left + 100 If Command1.Left + Command1.Width >= Form1.ScaleWidth Then Command1.Left = Form1.ScaleWidth Command1.Width If KeyCode = vbKeyLeft Then Command1.Left = Command1.Left - 100 If Command1.Left Form1.ScaleWidth Then sx = -sx: Beep 'sa kenara gelince geri dn If Y < 0 Then sy = -sy: Beep 'ste gelince geri dn If (Y >= Command1.Top) And (Y < (Command1.Top + Command1.Height)) And X + Option1.Width > Command1.Left And X < (Command1.Left + Command1.Width) Then sy = -sy 'command butona arpnca geri dn If Y >= Form1.ScaleHeight Then 'top altta gelince oyunu bitir. MsgBox ("oyun bitti") Timer1.Interval = False End End If X = X + sx Y = Y + sy Option1.Left = X Option1.Top = Y End Sub

rnek 6Parlayan yaz : 2 label, 1 textbox, 1 timer, Timer1. nterval = 10 Private Sub Form_Load() Label2.Left = Label1.Left + Label2.Width End Sub Private Sub Text1_Change() If Len(Text1) = 0 Then Exit Sub Label1 = Left(Text1, Len(Text1) - 1) Label2 = Right(Text1, 1) Label1.FontSize = 15 Label2.Left = Label1.Left + Label2.Width End Sub Private Sub Timer1_Timer() Static a, b If IsEmpty(a) Then a = Label1.FontSize b=5 End If If a > 50 Or a < 5 Then b = -b a=a+b Label2.FontSize = a kinci rnek olarak Labe1 yazlr. End Sub

Frame Control (ereve)erdii kontrolleri gruplamak iin kullanlr. Genellikle Option Buttonlarda kullanlr. Enabled veya Visible zellii kullanlr.

Microsoft Visual Basic

Sayfa 58

UpDown(Yukar aa arttrma)Textbox lara bilgi girii yaparken kontroll bir ekilde yaplmasn istiyorsak kullanrz. Bunun iin Components mensnden Microsoft Windows Common Controls-2 seilerek ekrana getirilir.

AlignmentBuddyControl ile herhangi bir kontrole balant kurulmusa UpDown o nesnenin sanda m solunda m olacan ayarlar.

AutoBuddyUpDown kontrolnn herhangi bir kontrole otomatik olarak atanmasn salar genellikle kullanlmaz.

BuddyControlUpDown kontrolnn hangi kontrole atanmasn salar.

BuddyPropertyUpDown kontrolnn baland kontroln hangi zelliine balanacan belirlenir.

IncrementUpDown kontrolnn her tklamada ne kadar deieme urayacan belirtiriz.

Min - MaxUpDown kontrolnn alt ve st snrlarn belirtiriz.

OrientationUpDown kontrolnn yatay veya dikey olarak yerletirilmesini salar.

SyncBuddyUpDown kontrolnn herhangi bir kontrole atasanz bile bu zellii False yaparak ilemi durdurabilirsiniz.

ValueUpDown kontrolnn ald deer.

rnek 1UpDown kullanarak bir text kutusunun fontsize ve forecolor zelliklerini, checkbox kullanarak textin Alignment, Bold, talic, Underline zelliklerini Vscrool kullanarak Backcolor zelliini deitirelim. Ekranda bir saat ve ToolTipte tarih olsun. Form bytld zaman Text ona gre davransn.

Line (izgi) ComboBox (Alan Liste)IntegralHeightBu zellik True ise alan kutuda en alttaki yaznn tam olarak grnmesi iin kendisini otomatik olarak boyutlar.

ListCombo iine direk veri girii iin kullanlr.

ListIndexCombo iindeki yazan textlerden seim yapmay salar. lk veri 0 son veri ise ListCount 1 dir.

Microsoft Visual Basic

Sayfa 59

SortedCombo iindeki yazlarn sral olmasn salar.

StyleCombo tipini ve alma biimini dzenler. 0 1 2 Aa doru alan ve ierii deitirilebilen combo. Aa doru almayan ama ieri deitirilebilen combo. Aa doru alan ama veri girii yaplamayan combo.

TextCombonun aktif olan texti. Private Sub Combo1_Click() Text1.Text = Combo1.Text End Sub Ayn zamanda seilen texte grede program iletebiliriz. Private Sub Combo1_Click() If Combo1.Text = "krmz" Then Text1.BackColor = RGB(255, 0, 0) If Combo1.Text = "yeil" Then Text1.BackColor = RGB(0, 255, 0) If Combo1.Text = "mavi" Then Text1.BackColor = RGB(0, 0, 255) End Sub

rnek 1Yaz sitilini ve bykln deitiren program. Private Sub Combo1_Click() Text2.FontName = Combo1.Text End Sub Private Sub Form_Load() Dim i UpDown1.BuddyControl = Combo1 UpDown1.BuddyProperty = "listindex" UpDown2.BuddyControl = Text1 UpDown2.BuddyProperty = "text" For i = 0 To Screen.FontCount - 1 Combo1.AddItem Screen.Fonts(i) Next Combo1.ListIndex = 0 UpDown1.Min = 0 UpDown1.Max = Combo1.ListCount - 1 UpDown1.Increment = 1 UpDown2.Min = 0 UpDown2.Max = 100 UpDown2.Increment = 5 End Sub Private Sub Text1_Change() Text2.FontSize = Val(Text1) End Sub

Microsoft Visual Basic

Sayfa 60

AddItemCombonun listesine yeni bir text eklemek iin kullanlr. Private Sub Combo1_Click() If Combo1.Text = "krmz" Then Text1.BackColor = RGB(255, 0, 0) If Combo1.Text = "yeil" Then Text1.BackColor = RGB(0, 255, 0) If Combo1.Text = "mavi" Then Text1.BackColor = RGB(0, 0, 255) End Sub Private Sub Form_Load() Combo1.AddItem "krmz" Combo1.AddItem "mavi" Combo1.AddItem "yeil" Combo1.ListIndex = 0 End Sub

RemoveItemCombonun listesinden bir text kartmak iin kullanlr. Private Sub Command1_Click() Combo1.RemoveItem 0 End Sub

ListBox (Listeleme Kutusu)Elemanlarn gsterilmesini salayan komponentdir.

ColumnsListbox n iine kolon koymamza yarar.

MultiSelectListbox ierisindeki verilerin seilmesini salar. 0 1 2 Seim yaplamaz Fare ile zerine gidilen text seilebilir. Klavyeden Shift veya Ctrl tuuyla seim yapmamz salar.

StyleListbox ierii bir checkbox gibi olur.

AddItemListBoxn ieriine bir veri girii yapmak iin kullanlr. Private Sub Form_Load() List1.AddItem "krmz" List1.AddItem "mavi" List1.AddItem "yeil",1 Buradaki 1 rakam yeil yazsn 2.srada grnmesini salar. End Sub

RemoveItemListBoxn ieriinden bir veriyi silmek iin kullanlr. Private Sub Command1_Click() List1.RemoveItem 2 End Sub

Microsoft Visual Basic

Sayfa 61

TextListBoxn ieriinden bir veriyi gstermek iin kullanlr. Private Sub List1_Click() Text1.Text = List1.Text End Sub

ClearListBoxn ieriini tamamen silmek iin kullanlr. Private Sub Command1_Click() List1.Clear End Sub

ListIndexListBoxn ierisinde seilmi olan veriyi veya seilecek olan verinin index numaras. Ayn zamanda yan yana 2-3 ListBox olduunda birbirlerine balamak iinde kullanlr. Private Sub Command1_Click() List1.RemoveItem List1.ListIndex End Sub

ListCountListBoxn ierisindeki veri saysn verir. List1.ListCount 1 son eleman verir. Private Sub Command1_Click() MsgBox ("listede " & List1.ListCount & " eleman var") End Sub

SelCountMultiSelect zellii 1 veya 2 olan Listbox larda seili eleman saysn verir. Private Sub Command1_Click() MsgBox ("listede " & List1.SelCount & " eleman var") End Sub

SelectedMultiSelect zellii 1 veya 2 olan Listbox larda index numarasna gre seim yapmay salar.

rnek 1Private Sub Command1_Click() Dim i List2.Clear For i = 0 To List1.ListCount - 1 If List1.Selected(i) Then List2.AddItem List1.List(i) End If Next End Sub Private Sub Form_Load() List1.AddItem "1" List1.AddItem "2" List1.AddItem "3" List1.AddItem "4" List1.AddItem "5" List1.AddItem "6" List1.AddItem "7" List1.AddItem "8"Microsoft Visual Basic Sayfa 62

List1.AddItem List1.AddItem List1.AddItem List1.AddItem End Sub

"5" "6" "7" "8"

rnek 2Tm listeyi semek iin bir program. Private Sub Command2_Click() Dim a For a = 1 To List1.ListCount List1.Selected(a - 1) = True Next End Sub

rnek 3Listeye yazlan rakamlar sraya dizen program. Private Sub Form_Load() Randomize Dim i For i = 1 To 10 List1.AddItem Int(Rnd * 100) Next End Sub Private Sub za_Click() Dim i, j, c ReDim x(List1.ListCount - 1) For i = 0 To List1.ListCount - 1 x(i) = List1.List(i) Next For i = 0 To List1.ListCount - 1 For j = 0 To List1.ListCount - 1 If Val(x(j)) < Val(x(i)) Then c = x(i) x(i) = x(j) x(j) = c End If Next Next For i = 0 To List1.ListCount - 1 List1.List(i) = x(i) Next End Sub

rnek 4Ctrl-A Ksayolunun alt program. Private Sub List1_KeyDown(KeyCode As Integer, Shift As Integer) Dim a If Shift And vbCtrlMask Then Select Case KeyCode Case vbKeyA For a = 0 To List1.ListCount - 1 List1.Selected(a) = True Next End Select End If End Sub

Microsoft Visual Basic

Sayfa 63

rnek 5Adres defteri FORM1 Private Sub Command1_Click() Me.Hide Load Form2 Form2.Show End Sub Private Sub Command2_Click() Me.Hide Load Form3 Form3.Show End Sub Private Sub Command3_Click() Me.Hide Load Form4 Form4.Show End Sub Private Sub Command4_Click() Me.Hide Load Form5 Form5.Show End Sub Private Sub Command5_Click() End End Sub FORM2 Private Sub cikis_Click() Unload Form2 Form1.Show End Sub Private Sub Form_Load() Combo1.AddItem "1" Combo1.AddItem "2" Combo1.AddItem "3" Combo1.AddItem "4" Combo2.AddItem "Lisans" Combo2.AddItem "Yksek Lisans" Combo2.AddItem "Doktora Lisans" Combo3.AddItem " stanbul" Combo3.AddItem "Ankara" Combo3.AddItem " zmir" Combo3.AddItem "Eskiehir" Combo3.AddItem "Erzincan" Combo1.ListIndex = 0 Combo2.ListIndex = 0 Combo3.ListIndex = 0 List1.Visible = False List2.Visible = False List3.Visible = False List4.Visible = False List5.Visible = False List6.Visible = False List7.Visible = False List8.Visible = False Dim ad, sad, sin, bol, adres, ilc, il, pkodMicrosoft Visual Basic Sayfa 64

If Dir("ogren.dat") "" Then 'daha nce kayddilmi dosya varsa onu a yoksa Open "ogren.dat" For Input As #1 While Not EOF(1) 'dosyann sonuna kadar Input #1, ad, sad, sin, bol, adres, ilc, il, pkod List1.AddItem ad List2.AddItem sad List3.AddItem sin List4.AddItem bol List5.AddItem adres List6.AddItem ilc List7.AddItem il List8.AddItem pkod Wend Close #1 End If End Sub Private Sub Form_Unload(Cancel As Integer) Dim ad, sad, sin, bol, adres, ilc, il, pkod, i Open "ogren.dat" For Output As #1 For i = 0 To List1.ListCount - 1 ad = List1.List(i) sad = List2.List(i) sin = List3.List(i) bol = List4.List(i) adres = List5.List(i) ilc = List6.List(i) il = List7.List(i) pkod = List8.List(i) Write #1, ad, sad, sin, bol, adres, ilc, il, pkod Next Close #1 End Sub Private Sub kaydet_Click() List1.AddItem Text1 List2.AddItem Text2 List3.AddItem Combo1.Text List4.AddItem Combo2.Text List5.AddItem Text3 List6.AddItem Text4 List7.AddItem Combo3.Text List8.AddItem Text5 End Sub FORM3 Private Sub Command1_Click() Unload Form3 Form1.Show End Sub Private Sub Form_Load() Dim ad, sad, sin, bol, adres, ilc, il, pkod If Dir("ogren.dat") "" Then 'daha nce kayddilmi dosya varsa onu a yoksa Open "ogren.dat" For Input As #1 While Not EOF(1) 'dosyann sonuna kadar Input #1, ad, sad, sin, bol, adres, ilc, il, pkod List1.AddItem ad List2.AddItem sad List3.AddItem sin List4.AddItem bol List5.AddItem adres List6.AddItem ilc List7.AddItem il List8.AddItem pkod WendMicrosoft Visual Basic Sayfa 65

Close #1 End If List2.Enabled = List3.Enabled = List4.Enabled = List5.Enabled = List6.Enabled = List7.Enabled = List8.Enabled = End Sub

False False False False False False False

Private Sub List1_Click() List2.ListIndex = List1.ListIndex List3.ListIndex = List1.ListIndex List4.ListIndex = List1.ListIndex List5.ListIndex = List1.ListIndex List6.ListIndex = List1.ListIndex List7.ListIndex = List1.ListIndex List8.ListIndex = List1.ListIndex List2.TopIndex = List1.TopIndex List3.TopIndex = List1.TopIndex List4.TopIndex = List1.TopIndex List5.TopIndex = List1.TopIndex List6.TopIndex = List1.TopIndex List7.TopIndex = List1.TopIndex List8.TopIndex = List1.TopIndex End Sub FORM4 Private Sub cikis_Click() Unload Form5 Form1.Show End Sub Private Sub degis_Click() Dim a If List1.ListIndex < 0 Then MsgBox ("Ltfen bir eleman seiniz") Exit Sub End If a = List1.ListIndex List1.List(a) = Text1 List2.List(a) = Text2 List3.List(a) = Combo1.Text List4.List(a) = Combo2.Text List5.List(a) = Text3 List6.List(a) = Text4 List7.List(a) = Combo3.Text List8.List(a) = Text5 Dim ad, sad, sin, bol, adres, ilc, il, pkod, i Open "ogren.dat" For Output As #1 For i = 0 To List1.ListCount - 1 ad = List1.List(i) sad = List2.List(i) sin = List3.List(i) bol = List4.List(i) adres = List5.List(i) ilc = List6.List(i) il = List7.List(i) pkod = List8.List(i) Write #1, ad, sad, sin, bol, adres, ilc, il, pkod Next Close #1

Microsoft Visual Basic

Sayfa 66

End Sub Private Sub Form_Load() Combo1.AddItem "1" Combo1.AddItem "2" Combo1.AddItem "3" Combo1.AddItem "4" Combo2.AddItem "Lisans" Combo2.AddItem "Yksek Lisans" Combo2.AddItem "Doktora Lisans" Combo3.AddItem " stanbul" Combo3.AddItem "Ankara" Combo3.AddItem " zmir" Combo3.AddItem "Eskiehir" Combo3.AddItem "Erzincan" Combo1.ListIndex = 0 Combo2.ListIndex = 0 Combo3.ListIndex = 0 Dim ad, sad, sin, bol, adres, ilc, il, pkod If Dir("ogren.dat") "" Then 'daha nce kayddilmi dosya varsa onu a yoksa Open "ogren.dat" For Input As #1 While Not EOF(1) 'dosyann sonuna kadar Input #1, ad, sad, sin, bol, adres, ilc, il, pkod List1.AddItem ad List2.AddItem sad List3.AddItem sin List4.AddItem bol List5.AddItem adres List6.AddItem ilc List7.AddItem il List8.AddItem pkod Wend Close #1 End If List2.Enabled = False List3.Enabled = False List4.Enabled = False List5.Enabled = False List6.Enabled = False List7.Enabled = False List8.Enabled = False End Sub Private Sub Form_Unload(Cancel As Integer) Dim ad, sad, sin, bol, adres, ilc, il, pkod, i Open "ogren.dat" For Output As #1 For i = 0 To List1.ListCount - 1 ad = List1.List(i) sad = List2.List(i) sin = List3.List(i) bol = List4.List(i) adres = List5.List(i) ilc = List6.List(i) il = List7.List(i) pkod = List8.List(i) Write #1, ad, sad, sin, bol, adres, ilc, il, pkod Next Close #1 End Sub Private Sub List1_Click() List2.ListIndex = List1.ListIndex List3.ListIndex = List1.ListIndex List4.ListIndex = List1.ListIndexMicrosoft Visual Basic Sayfa 67

List5.ListIndex = List1.ListIndex List6.ListIndex = List1.ListIndex List7.ListIndex = List1.ListIndex List8.ListIndex = List1.ListIndex List2.TopIndex = List1.TopIndex List3.TopIndex = List1.TopIndex List4.TopIndex = List1.TopIndex List5.TopIndex = List1.TopIndex List6.TopIndex = List1.TopIndex List7.TopIndex = List1.TopIndex List8.TopIndex = List1.TopIndex Text1.Text = List1.Text Text2.Text = List2.Text Combo1.Text = List3.Text Combo2.Text = List4.Text Text3.Text = List5.Text Text4.Text = List6.Text Combo3.Text = List7.Text Text5.Text = List8.Text End Sub

rnek 6renci takip program FORM1 3 Command Buton iz,

Private Sub cikis_Click() End End Sub Private Sub Kayit_Click() Load Form2 Form2.Show End Sub Private Sub Listele_Click() Load Form3 Form3.Show End Sub FORM2 Kayt 17 Label, 5 textbox, 11 Listbox, 8 option button, 3 command Private Sub cikis_Click() Dim a a = MsgBox("Kaydetmek istiyormusunuz", 4) If a = 6 Then Unload Form2 Else End End If End Sub Private Sub Form_Load() Combo1.AddItem 1 Combo1.AddItem 2 Combo1.AddItem 3 Combo1.AddItem 4 Combo1.AddItem 5 Combo1.AddItem 6 Combo1.ListIndex = 0 Dim a, b, c, d, e, f, g, h, m, n If Dir("kurs.dat") "" ThenMicrosoft Visual Basic Sayfa 68

Open "kurs.dat" For Input As #1 While Not EOF(1) Input #1, a, b, c, d, e, f, g, h, m, n List1.AddItem a List2.AddItem b List3.AddItem c List4.AddItem d List5.AddItem e List6.AddItem f List7.AddItem g List8.AddItem h List9.AddItem m List10.AddItem n Wend Close #1 End If Option1 = False List11.Clear List11.FontName = "tahoma" List11.FontSize = 8 List11.FontBold = True List11.ForeColor = RGB(255, 0, 0) List11.BackColor = RGB(255, 255, 0) Label12 = "1.200.000.000 TL." Label13 = "700.000.000 TL." Label14 = "130.000.000 TL." Label15 = "90.000.000 TL." Label16 = "150.000.000 TL." Label17 = "120.000.000 TL." End Sub Private Sub Form_Unload(Cancel As Integer) Dim a, b, c, d, e, f, g, h, m, n, i Open "kurs.dat" For Output As #1 For i = 0 To List1.ListCount - 1 a = List1.List(i) b = List2.List(i) c = List3.List(i) d = List4.List(i) e = List5.List(i) f = List6.List(i) g = List7.List(i) h = List8.List(i) m = List9.List(i) n = List10.List(i) Write #1, a, b, c, d, e, f, g, h, m, n Next Close #1 End Sub Private Sub kaydet_Click() List1.AddItem Text1 List2.AddItem Text2 List3.AddItem Text3 List4.AddItem Text4 List5.AddItem Text5 If Option1 Then List6.AddItem "Windows 2000" If Option2 Then List6.AddItem "Programclk" If Option3 Then List6.AddItem "Office 2000" If Option4 Then List6.AddItem "Grafik" If Option5 Then List6.AddItem "Muhasebe" If Option6 Then List6.AddItem " ngilizce" If Option7 Then List7.AddItem "Pein" If Option8 Then List7.AddItem "Taksitle" List8.AddItem Combo1.Text List9.AddItem Label8 List10.AddItem Label11 End SubMicrosoft Visual Basic Sayfa 69

Private Sub Option1_Click() List11.Clear List11.AddItem "Windows 2000 Server" List11.AddItem "Windows 2000 Professional" Label8 = "168 Saat" End Sub Private Sub Option2_Click() List11.Clear List11.AddItem "Visual Basic 6.0" List11.AddItem "Delphi" List11.AddItem "Visual C" List11.AddItem "Java Script" List11.AddItem "ASP" Label8 = "300 Saat" End Sub Private Sub Option3_Click() List11.Clear List11.AddItem "Windows 2000" List11.AddItem "Word 2000" List11.AddItem "Excel 2000" List11.AddItem "Outlook 2000" List11.AddItem "Access 2000" List11.AddItem "Powerpoint 2000" List11.AddItem " nternet" Label8 = "96 Saat" End Sub Private Sub Option4_Click() List11.Clear List11.AddItem "Corel Draw" List11.AddItem "Photoshop" List11.AddItem "Freehand" Label8 = "60 Saat" End Sub Private Sub Option5_Click() List11.Clear List11.AddItem "Genel Muhasebe" List11.AddItem "Eta" List11.AddItem "Logo" List11.AddItem "Mikro" Label8 = "160 Saat" End Sub Private Sub Option6_Click() List11.Clear List11.AddItem "Yerli ve Yabanc Eitmenler Eliinde" Label8 = "125 Saat" End Sub Private Sub Option7_Click() Combo1.Enabled = False Combo1.Text = "-----" End Sub Private Sub Option8_Click() Combo1.Enabled = True Combo1.ListIndex = 0 End Sub FORM3 Listele ve Sil 10 Listbox, 10 Label, 3 Command Button Private Sub Command1_Click() Dim kay kay = MsgBox("Kaydetmek istiyormusunuz", 4) If kay = 6 Then Dim a, b, c, d, e, f, g, h, m, n, i Open "kurs.dat" For Output As #1 For i = 0 To List1.ListCount - 1Microsoft Visual Basic Sayfa 70

a = List1.List(i) b = List2.List(i) c = List3.List(i) d = List4.List(i) e = List5.List(i) f = List6.List(i) g = List7.List(i) h = List8.List(i) m = List9.List(i) n = List10.List(i) Write #1, a, b, c, d, e, f, g, h, m, n Next Close #1 Unload Form3 Else Unload Form3 End If End Sub Private Sub Form_Load() Dim a, b, c, d, e, f, g, h, m, n If Dir("kurs.dat") "" Then Open "kurs.dat" For Input As #1 While Not EOF(1) Input #1, a, b, c, d, e, f, g, h, m, n List1.AddItem a List2.AddItem b List3.AddItem c List4.AddItem d List5.AddItem e List6.AddItem f List7.AddItem g List8.AddItem h List9.AddItem m List10.AddItem n Wend Close #1 End If End Sub Private Sub List1_Click() List2.ListIndex = List1.ListIndex List3.ListIndex = List1.ListIndex List4.ListIndex = List1.ListIndex List5.ListIndex = List1.ListIndex List6.ListIndex = List1.ListIndex List7.ListIndex = List1.ListIndex List8.ListIndex = List1.ListIndex List9.ListIndex = List1.ListIndex List10.ListIndex = List1.ListIndex List2.TopIndex = List1.TopIndex List3.TopIndex = List1.TopIndex List4.TopIndex = List1.TopIndex List5.TopIndex = List1.TopIndex List6.TopIndex = List1.TopIndex List7.TopIndex = List1.TopIndex List8.TopIndex = List1.TopIndex List9.TopIndex = List1.TopIndex List10.TopIndex = List1.TopIndex End Sub Private Sub sil_Click() Dim sl If List1.ListIndex < 0 Then MsgBox ("Bir eleman seiniz") Exit SubMicrosoft Visual Basic Sayfa 71

Else sl = List1.ListIndex List1.RemoveItem sl List2.RemoveItem sl List3.RemoveItem sl List4.RemoveItem sl List5.RemoveItem sl List6.RemoveItem sl List7.RemoveItem sl List8.RemoveItem sl List9.RemoveItem sl List10.RemoveItem sl End If End Sub

DriveListBox (Src Listeleme Kutusu)Sistemdeki src listesini gstermeye yarar. Private Sub Drive1_Change() Dir1.Path = Drive1.Drive ChDrive Drive1.Drive End Sub

Directory List Box (Dizin Listeleme Kutusu)Private Sub Dir1_Change() File1.Path = Dir1.Path ChDir Dir1.Path End Sub

FileList Box (Dosya Listeleme Kutusu)Private Sub Combo1_Click() File1.Pattern = Combo1.Text End Sub Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then File1.Pattern = Combo1.Text End If End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path ChDir Dir1.Path Text1.Text = Dir1.Path + \ + File1.FileName End Sub Private Sub Drive1_Change() Dir1.Path = Drive1.Drive ChDrive Drive1.Drive Text1.Text = Dir1.Path + \ + File1.FileName End Sub Private Sub File1_Click() Text1.Text = Dir1.Path + \ + File1.FileName End Sub Private Sub File1_KeyDown(KeyCode As Integer, Shift As Integer) Dim ac If KeyCode = 13 Then ac = Shell(File1.FileName, vbNormalFocus) End If End Sub

Microsoft Visual Basic

Sayfa 72

Private Sub Form_Load() Combo1.AddItem "*.*" Combo1.ListIndex = 0 Text1.Text = Dir1.Path + \ + File1.FileName End Sub

PictureBox (Resim Kutusu)Programnza resim eklemek iin kullanlr.

Align0 1 2 3 4 yok ste hizal Aaya hizal Sola hizal Saa hizal

Image (Resim Gsterme Kontrol)StrechOtomatik boyutlandrma.

Common Dialog (Diyalog Pencereleri)Microsoft Common Dialog 6.0 Componenti seilir. A, Kaydet, Renk, Help, Yazdr ve Font diyalog kutularnn kartlmasn salar. CommonDialog1.Action CommonDialog1.Action CommonDialog1.Action CommonDialog1.Action CommonDialog1.Action CommonDialog1.Action = = = = = = 1 2 3 4 5 6 A Yeni Adla Kaydet Renk Font Yazdr Help

CommonDialog1.Action = 1 A

CancelErrorDosya a kutusunda iptal dmesine baslnca uyar vermez. CancelError = False

FlagsDosya ama zelliklerini etkiler. Flags Flags Flags Flags Flags Flags = 1 A kutusu zerinde tek eleman seilebilir ve salt okunur kutusu seili. = 2 A kutusu zerinde tek eleman seilebilir ve salt okunur kutusu seili deil. = 4 A kutusu zerinde tek eleman seilebilir ve salt okunur kutusu olmaz = 256 A kutusu zerinde tek eleman seilebilir. = 512 A kutusu zerinde birden fazla eleman seilebilir. Win 3.1 gibi olur. = 4096 Klasrde olmayan bir dosya alrsa hata kodu verir.

DialogTitleDosya a kutusunun ismini deitirir. DialogTitle = Dosya A

Microsoft Visual Basic

Sayfa 73

DefaultExtDosya uzants belirtilmezse bile otomatik olarak uzanty ekler. DefaultExt = dat

FileNameDosya a kutusunda almasn istediiniz dosyalar. FileName = *.txt

FilterDosya a kutusunda almasn istediiniz dosyalar. Filter= Text dosyalar (*.txt)|*.txt|Bitmap(*.bmp)|*.bmp|Tm resimler(*.jpg;*.wmf;*.ico)| *.jpg;*.wmf;*.ico|Tm dosyalar(*.*)|*.*|

Filter ndexDosya a kutusunda almasn istediiniz dosyalardan defult olarak gelmesini istediinizi yazarsnz. lk sradaki 1 numaradr. CommonDialog1.FilterIndex = 2

nitDirDosya a kutusunda default olarak almasn istediiniz diyrectory. CommonDialog1.InitDir = "c:\program files" CommonDialog1.Action = 2 Kaydet Flags = 2 Kaydet kutusunda ayn isimli dosyalar kaydederken uyar verir.

CommonDialog1.Action = 3 Color Flags = Flags = 2 Color kutusunda ayrntlarda alr. 4 Ayrntlar gizlenir.

CommonDialog1.Action = 4 Font Flags Flags Flags Flags Flags Flags Flags Flags = 1 = 2 = 3 = 257 = 258 = 8192 =131074 =131330 Screen Fontslar gelir. Printer Fontslar gelir. Tm Fontlar gelir. Font kuusunda zellikli gelir. Font kuusunda zellikli gelir. Min-Max arasnda bir deer girilmezse uyar verir. Font kutusunda yalnz TTF fontlar gzkr. Font kutusunda yalnz TTF fontlar gzkr ve zelliklidir.

CommonDialog1.Min = Minimum deer CommonDialog1.Max = Maxsimum deer CommonDialog1.Action = 5 Print PrinterDefault Copies Flags Flags Flags Flags Flags Flags = = = = = = 1 2 4 8 16 32 = True ise varsaylan printerin ayarlar aktif olur. = Kopya says verilir. Yazdr Yazdr Yazdr Yazdr Yazdr Yazdr kutusunda Seili seili olur. kutusunda sayfalar seili olur. kutusunda Seili ksm pasif olur. kutusunda Sayfalar pasif olur ve harmanla alr. kutusunda Tm seili olur ve harmanlama ekli alr. kutusunda Dosyaya yazdr seili olur.Sayfa 74

Microsoft Visual Basic

Flags Flags Flags Flags

= = = =

64 2048 524288 1048576

Yazdr kutusunda Yazc ayarlar grnr. Yazdr kutusunda Help mensde grnr. Yazdr kutusunda Dosyaya yazdr kutusu pasif olur. Yazdr kutusunda Dosyaya yazdr ekranda olmaz.

Orientation = 1 Dikey 2 Yatay olur.

rnek 1A,Kaydet, Renk , Print, Font Private Sub ac_Click() On Local Error Goto hata Dim a CommonDialog1.Filter = "metin|*.txt|" CommonDialog1.ShowOpen Open CommonDialog1.FileName For Input As #1 Text1.Text = "" While Not EOF(1) Line Input #1, a Text1 = Text1.Text + a + Chr(13) + Chr(10) Wend Close #1 Exit Sub Hata: Exit Sub End Sub Private Sub font_Click() CommonDialog1.FontName = Text1.FontName CommonDialog1.FontSize = Text1.FontSize CommonDialog1.FontBold = Text1.FontBold CommonDialog1.FontItalic = Text1.FontItalic CommonDialog1.FontUnderline = Text1.FontUnderline CommonDialog1.FontStrikethru = Text1.FontStrikethru CommonDialog1.Color = Text1.ForeColor 'Bu kodlar font CommonDialog1 aldnda 'Text kutusunun zelliklerinin otomatik olarak gelmesini salar. CommonDialog1.Flags = 257 CommonDialog1.ShowFont Text1.FontName = CommonDialog1.FontName Text1.FontSize = CommonDialog1.FontSize Text1.FontBold = CommonDialog1.FontBold Text1.FontItalic = CommonDialog1.FontItalic Text1.FontUnderline = CommonDialog1.FontUnderline Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.ForeColor = CommonDialog1.Color End Sub Private Sub color_Click() CommonDialog1.Flags = cdlCCPreventFullOpen CommonDialog1.ShowColor Text1.BackColor = CommonDialog1.Color End Sub Private Sub print_Click() CommonDialog1.Flags = &H40 CommonDialog1.ShowPrinter Printer.Print Text1 Printer.EndDoc End SubMicrosoft Visual Basic Sayfa 75

Private Sub kay_Click() Dim a CommonDialog1.DialogTitle = "Kaydet" CommonDialog1.DefaultExt = "txt" CommonDialog1.Flags = 2 CommonDialog1.ShowSave Open CommonDialog1.FileName For Output As #1 a = Text1 Print #1, a Close #1 End Sub

MSMasked (Formatl Giri)Microsoft Masked Edit Control 6.0 Bu kontrol sayesinde formlarnzda zel formatl telefon, tarih, saat gibi verileri hzl bir ekilde girmesi salanr.

MaskKullancnn ne ekilde veri girilecei belirlenir.

rnekTelefon Telefon Tarih Tarih Saat Saat Rakam Harf (###) ### ## ## #.###.### ## ## ##-???-#### ##-##-## ##:## ?? ##:## ### ??? (216) 455 55 55 0.216.455 55 55 12-Ara-2000 12-12-00 09:11 PM 09:11

AppearanceMaskEdit textin 3D ve normal gzkmesini salar.

AutoTabKullancnn veri giriini tamamlamasnn ardndan setfocus un dier komponente gemesini salar.

TextKullancnn ne ekilde veri girdiyse o ekilde alnmasn salar.

ClipTextKullancnn ne ekilde veri girilmesi nemli deildir. Veriler mask zellii olmadan grnr.

ClipMode0 verilirse kopyalama ilemlerinde text zelliini 1 verilirse kopyalama ilemlerinde cliptext zelliini alr.

FormatTexte yazlan bilgilerin ekranda grnme ekillerini deitirir. Para Tam say Basamakl say Yzde say stl say Tarih,saat #,##0.00TL 0 #,##0 %0 0.00E+00 c

Microsoft Visual Basic

Sayfa 76

Tarih gg/aa/yyyy Tarih gn gg ay yyyy Tarih gg-ay-yy Saat 24 saat Saat 12 saat AM/PM Saat sa:dk:sn

ddddd dddddd dd-mmm-yy hh:mm hh:mm AM/PM tttt

MaxLengthMaskedit texte en fazla 64 karakter bilgi girilebilir.

PromptCharMaskEdit texte yazlan mask