temel bilgisayar visual basic sanalsantiye com

Upload: maxunet

Post on 07-Jul-2015

277 views

Category:

Documents


0 download

TRANSCRIPT

T.C.PAMUKKALENVERSTES

NAATMHENDSLBLM

TBT110TEMELBLGSAYAR BLMLERDERS VISUALBASIC20052008

DERSNOTLARIYrd.Do.Dr.M.TamerAYVAZBu ders notlarnn her hakk Sakarya niversitesi Endstri Mhendislii Blm retim yesi Yrd. Do. Dr. Gltekin AILa aittir. Bu ders kapsamnda ilgili hocann izni dorultusunda kullanlmaktadr.

Denizli2010

BLM1

1-1

BilgisayarProgramlama Programlamanedir?Bilgisayar;YazlmveDonanmolaraktemelanlamdaikiyeayrlr.Ekran,disk,klavye,ramvbg donanmbirimleribudersinkapsamdndadr.Nekadariyidonanmasahipolursanzolun, yazlm olmadan bilgisayar bir anlam ifade etmeyecektir. Windows, Linux gibi herhangibir iletim sistemi, Word gibi bir kelimeilem veya Excel gibi bir hesap tablosu program, bu dersin konusu olan Visual Basic programlama dili yazlma verilebilecek rneklerdendir. Yazlm; "bilgisayarn donanm ksmna yaam veren komutlardr" [1] veya komutlar da ieren satrlardr eklinde tanmlanabilir. Burada vurgulanan; eer bilgisayarda bir i yapacaksak,onugerekletirmekiinprogramyazmamzgerektiidir.rnein,derslerimizin kaytlarn ve notlarmz ya da mterilerimizin kaytlarn tutmak istiyorsak bir programa gereksinimimiz vardr. Bunu Microsoft Excel gibi bir program araclyla da yapabilirsiniz. Ancakprogramyazabilmek,buileriinzelbirzmyadauygulamagelitirmekanlamna gelir.tebunedenledayazlmyerinedahaokuygulamagelitirme(development)terimi kullanlr.Program,nceliklebiriletimsistemiyadaplatformiinyazlr.rneinWindows XP iin yazlan bir program Linux iletim sisteminde almayacaktr. Platformun ardndan Visual Basic ya da C++ gibi programn yazlaca dil seilir. Bu diller, bizim programmz yazmamz salarlar. Bizim anlalabilir ekilde program gelitirmemizi ve gelitirdiimiz program bilgisayarn dorudan altrabilecei makine diline evirirler. te, kabaca bu sreceprogramlamadenir[1].

Programnaslyazlr?Konunun daha iyi anlalmas iin baz terimlerin ve ifadelerin anlalmas gerekmektedir. Konu ile mesleimiz gerei program ve programclk dnda ok detayl bilgi sahibi olmadmzdan (olmamamz gerektiinden) dolay, konunun daha iyi anlalmas iin bu terimleridahaiyianlatanbireveblm(2numaralkaynak)aayaalnmtr. Bilgisayarlarilemlerinkendianlayacadilde(makinedili)akayazlmasnisterler.Ancak bu ilemlerin makine dilinde bir programc tarafndan yaplmas yerine programlamann yapsalbiimdebirdilaraclylayaplmasnvedahasonraevrilerekbilgisayaraanlatlmas ilemini programlama dilleri stlenirler. Bu evirme ilemine derleme (compile) ya da yorumlama(interpriting)denir. Programlama;kullanclarnisteklerinikarlayacakmuhasebe,stok,oyun,iletimsistemigibi programlar oluturacak alt yapy (kodlar) hazrlamaktr. Bu alt yapy oluturan kiilere programcdenir. Bir programn almas demek, Mikroilemciye daha nceden hazrlanm bir kod ynnn gnderilmesi demektir. Bu kodlar, ilemcinin anlayaca ASM dilinde (makine dilinde)1-2

yazlm ksa kodlardr, ASM en hzl programlama dili olmakla beraber, kullanlmas en zor programlama dilidir. ASM dilinde kullanlan tm komutlar sadece ilemciye ve donanma hitap etmektedir ve program yazan kiinin tm donanm bilmesi gerekmektedir. rnek vermek gerekirse A markal bir ekran kart iin yazlm bir program B markalar bir ekran kartndaalmaz,nkdonanmsalolarakfarkllklarvardr.ASMdiliiinksacabilgisayarn anadilidiyebiliriz,nkCPU(MerkezilemBirimilemci)sadeceASMkodlarnanlayacak biryapyasahiptir. Bilgisayar ilemcilerinin ilk kt gnlerde sadece ASM dili olduu iin, program yazmak gerekten ok zordu. Her deien donanm ya da ilemci iin tekrar program yazlmas gerekiyordu, donanmsal zorluklar dnda yazlmsal zorluklarda vard, Ekrana sadece A yazmak iin bile bol miktarda kod yazlyordu. Bu tip sorunlar kaldrmak iin kullanlmas kolayaltseviyeprogramlamadillerioluturuldu(C,Basic,Pascal,Cobolv.s.). AltSeviyeprogramlamadilleriileyazlankodlarilemcitarafndananlalamayankodlardr, bu kodlar Compiler (Derleyici) tarafndan ilenerek CPUnun anlayaca kodlara (ASM) evrilir. rnek:ASMveBASICDilindeyazlmEkranaAharfiyazanprogram ASM(stSeviyeDil): 1.ORG100 2.MOVAX,CS 3.MOVDS,AX 4.MOVES,AX 5.MOVAX,B800(RenkliEkranKartnnBellekAdresi(HerEkranKartndaDeiebilir)) 6.MOVDS,AX7.MOVSI,0(AHarfininBelleeYerleeceiAlan) 8.MOVAL,41(AHarfininASCIIKoduHexolarak) 9.MOVDS:[SI],AL(EkranaAHarfininbaslmaan) BASIC(AltSeviyeDil): 1.PRINTA rnektegrldgibiAltSeviyebirdildeekranaAyazmakiintekbirkomutyeterlidir,st seviyedildeiseokdahafazlakodyazlmasgerekir.AltSeviyeDillerdeyazlanprogramlarn1-3

kodlarhernekadarksagrnsenederlenipalandurumagetirildiklerindeboyutlar,st Seviye Dilde yazlan programdan daha byk olurlar. Sebep ise ASM dili ile yazlan programdahedefedirek(okhzl)ulalrken,AltSeviyedildederlemeesnasndakodiine donanmveilemciyitespitedenv.s.kodlarneklenmesidir.Buyzdenaltseviyedeyazlan programlarASMdilindeyazlanprogramdanokdahayavaalrlar. Alt seviye programla dilleri, yukardaki rneklerden de, anlald gibi sadece bir eviri aracdr,tekprogramlamadiliASMdir.FakatASMdilineCgibiyaknolanprogramlamadilleri debazkaynaklardastseviyedilolarakgeer.

ProgramlamadillerininsnflandrlmasEntemelanlamdaprogramlamadilleri;genelvezelamalprogramlamadilleriolarakikiye ayrlr; 1zel Amal Programlama Dilleri: Bu tr programlama dilleri ile aklnza gelen her eyi programlayamazsnz, bu diller sadece retildikleri amaca uygun iler (programlar) yazmak iin kullanlabilirler. Bilgisayar ortamnda izim ilemleri iin gelitirilmi olan Autocad programgenelamalbirprogramlamadiliile(rneinCveyaVisualBasic)yazlmtr,ama Autocad programna uygun bir ilem yaptrlacaksa bu iin bu dile zg dil ile yazlmas gerekir, dolaysyla bu dil ile rnein bilgisayarnzdaki mziklerin alnabilmesi programn yazamazsnz, ama yarap verilen bir daireyi otomatik olarak izdirilmesine uygun bir program yazabilirsiniz. CNC (Saysal Kontroll Tezgah) tezgahlarnn yapaca ilerin programlar da bu ie uygun programlar ile yazlr, nk bu tr cihazlar ile delik delme, apak alma gibi zel iler yaplabilir. Yine bilgisayardaki yazma ilemleri (kelimeilem) iin kullandmz Word programna yaptrlabilecek ilemler de yine bu dil iin gelitirilmi programlamadili(VBA)ileyazlabilir.nkWordprogramsadeceyazmailemleri(rapor, dileke,kitapvbgyazmailemleri)iingelitirilmiolanbirpaketprogramdr. 2GenelAmalProgramlamaDilleri:smindendeanlalacagibibutipprogramlamadilleri ile her tr program yazlabilir. izim program, muhasebe program, bilgisayarnzdaki mzikleri alan program, ikinci dereceden bir denklemin kklerini bulan program genel amal programlama dilleri ile yazlabilecek programlara rnek olarak verilebilir. Bu tr dillerin en yaygn olarak kullanlanlar; C (si olarak okunur), C# (si arp olarak okunur), Java,VisualBasic,Fortran,Pascalvbg.olarakverilebilir. Bu derste Genel Amal Programlama Dillerinden Visual Basic Programlama Dili anlatlacakvebudililenaslprogramyazlacaanlatlmayaallacaktr.

1-4

ProgramlamaDilleriArasndakiFarklarProgramlamadilleriaynenkonutuumuzdilebenzer.C,VisualBasicveyaFortranbilgisayar programlama dilleri arasndaki fark, Trke, ngilizce, Arapa, Hinte konuma dilleri arasndakifarkabenzer.Konumadilleriarasndakifarklaruekildeaklayabiliriz;herdilin kendine has zellikleri vardr. Baz diller baz zel durumlar aklayabilmek iin kendilerini gelitirmilerdir,dolaysylabudilleroolaylardahakolayanlatrlar.rneinAfrikadillerinde av, hayvan, tarm gibi o dillerin gelitii yerlere zg ifade, atasz, deyim gibi konuma diline has zellikler daha fazla gelimitir. Ayn ekilde Avrupa dilleri, teknoloji trevi sz, atasz ve deyimlere daha fazla gelimitir ve bu diller bu tr olaylar daha kolay ifade edebilirler.Bu,dierdilleringelimemitaraflarnaklayamazanlamndaanlalmamaldr. Aklayabilir, ama ayn ilemi daha fazla cmle kurarak yapabilir. Halbuki o dilin zellikle kendialannahasdurumlaranlatmasdahakolayvedahaksaolabilir,nkszkonusudil avantajl olduu olaylara gre kendisini gelitirmitir. Ataszlerinin anlatlmak istenen durumu daha etkili anlatmay baarabildii, daha fazla cmle kurmaya gerek brakmad aikardr. Bu durumu u ekilde rneklendirebiliriz; bildiiniz gibi millet olarak biz (Trkler) misafirperverlikleri ile tannrz, dolaysyla konuma dilimizde Tanr misafiri denilen bir deyim vardr, bu deyim anlatmak istediini fazla cmleye gerek brakmadan anlatabilir. Bu deyim Trkeye has bir deyimdir, ayn anlam bir baka dilde, rnein ngilizcede birka cmleveyaparagrafileaklayabilirsiniz. Ayndurumuprogramlamadilleriasndanuekildednebiliriz:herprogramlamadilinin daha baarl olduu, daha kolay yapabildii, kabiliyetli olduu taraflar vardr. rnein Fortran programlama dili matematiksel ilemleri daha kolay yapabilmektedir, dolaysyla matematik youn (rnein matris ilemleri) ilemleri Fortran ok daha kolay yapabilir. C programlama dili hazr ktphaneleri ile daha ne kmaktadr, dolaysyla bir dier programlamadilininsayfalarlayapabildiiaynii,Cdilihazrprogramlarileokdahaazsatr ile gerekletirebilir. C dilinin bu zelliini, konuma dilindeki ataszlerine benzetebiliriz. Konu ile ilgili son rneimizi Visual Basic dilinden verelim. Bu dil renmesi ve retilmesi dierdilleregredahakolayolanbirdildir,dolaysylabuanlamdangilizcekonumadiline benzetilebilir.

HangiProgramlamaDilinirenmeliyiz?Busoruya,neolmakistediinizekararvererekcevapvermenizdahadoruolur.nkbilgi ve renmek gzeldir, ama insann ksa mrnde her eyi renmesi mmkn deildir, zellikledahasonrakullanmayacabireyi,sadeceherkesreniyor,okieyaryormu diyerek renmesi tamamen zaman kaybdr. Bilgisayar programlama, bilgisayar ile ilgili yaplacakilerinenzorolanlarndanbirisidir.Buihazrbirprogram(Word,Excelvbg.hazr birprogram)kullanmayabenzemez,onunyerinebilgisayaraderdinizianlatmailemidirki, bir anlamda bilgisayara problemi retmek, onu o ii yapabilir hale getirmek demektir. Yani karnzda elektrik ile alan ve her eyi yerli yerinde noksansz isteyen makineye1-5

(bilgisayara) bir ey retmek demektir, bu makinenin herhangi bir esneklii yoktur, virgl koymanzgerekenyerdebunuunuttuunuzdaoradaonudzelmenizibekleyenvebiradm daha ileriye gitmeyen bir makine ile muhatapolduunuzu bilmeniz gerekir. Dolaysyla kii, zekibileolsa,programlamayakarmerakvekabiliyetiyoksabilgisayarprogramcsolamaz. Bilgisayar programcl kendi bana bir meslektir, ayn zamanda zellikle mhendislerin kendimeslekleriniyrtebilmeleriiinbilmelerindefaydasolacakbirartzelliktir.Pekiher mhendis mutlaka herhangi bir programlama dilini bilmelimidir?. Buna u ekilde cevap verebiliriz, mhendis olarak iki tr yerde alabilirsiniz; Her eyin yerli yerinde olduu, herkesinyetkivesorumluluklarnnbelli,kurumsalbiriletmede(rneinToyota,Vestelvbg) alabilirveyaheriiherkesinyapt,yetkivesorumlulukkarmaasnnolduuvelkemiz sanayisininbykounluununiindebulunduubiriletmede. alanlarn ne ile sorumlu olduunun belli olduu birinci tr iletmelerde, ok byk bir ihtimalle Bilgi lem Departmalar da vardr. Dolaysyla istediiniz bir program mhendis olarak(gerekirse)sistemanalistliiniyaparakBilgilemDepartmanndanistersiniz.Onlarda gerekirse sz konusu program yazarak veya piyasadan satn alarak problemi giderirler. Bu ekildekialanbirmhendisingenelanlamda(genelmantile,dilayrmolmadan,oveya u programlama dili demeden) programcl bilmesi bu tr ilerini grebilmesi asndan yeterlidir.Belkibazkkaplprogramlaryazabilmesiiintemelanlamdabirprogramlama dilinibilmesiiyiolacaktr.VisualBasicyukardaanlatmayaaltmzmhendisin(alann) iini fazlas ile grecektir. Visual Basic daha nce de bahsedildii gibi genel amal programlamadillerindenbirisidir,yanibudilileprogramclkanlamndahereyibilgisayara programlayabilirsiniz.renmesidierdilleregre(zellikleCdilinegre)okdahakolaydr, ama(yineCdilinegre)birazyavaalmaktadr. Herkesinheriiyapabildiibiriletmedealyorsanz,hereyibilmenizpatronungznden dmemeniz asndan iyi olacaktr, ayn zamanda programclktan da anlamanz, gerekirse yazdrlmas(veyasatnalnmas)gerekenprogramnsizintarafnzdanyazlabilmesidemektir ki, ite byle durumlarda en az bir tane programlama dilini iyi derecede (program yazabilecekderecede)bilmenizsizinanzdaniyiolacaktr. Bilgisayar mhendislii dndaki mhendislerden zellikle Endstri mhendisleri, kendi alanlar dnda bilgisayar programcl da yapabilmektedirler. Bu ekilde almay dnenlerin zellikle C dilini bilmelerinin ortaya koyacaklar rnn daha kolay ve hzl almas asndan avantajl olduunu, C# gibi u anda popular olan bir dili iyi derecede bilmenindeilerinikolaylatracanunutmamalargerekir. Bu konuda son olarak en temel anlamda Visual Basic ile C dilini kyaslamak gerekirse unu syleyebiliriz; Visual Basic renmesi C diline gre daha kolaydr, C dili ile daha fazla ayrntlarainilebilir,renmesiokdahazordur,VisualBasicdilinegre,makinedilinedaha yaknolduuiindahahzlalr.Yaplanbiraratrmamhendisleriniortamndaenok1-6

Excel programn kullandklarn gstermitir. Visual Basic, Excel programnn makro programlama dilidir, yani Visual Basic bilerek hem kendi bana bir programlama dilini renmi hem de Excel ortamnda program yazarak Exceli daha fonksiyonel kullanm olursunuz.

ZamanmznveGeleceinMesleiOlarakProgramclkGeleceinMesleklerianahtarcmlesiileinternettearamayaptnzdasonulardanbyk bir ksmnn bilgisayar programcl, biliim tr meslekler olduunu greceksiniz. Bilgisayar programcln; zeki, akll ve birok yetenei olan kiilerin bile bu konuda istei merakvekabiliyetiyoksabaaramayacandahancesylemitik.Bugnbatltoplumlarda en fazla ihtiya duyulan i kollardan birisi biliim sektrdr. Almanya, Kanada, Avustralya gibi gelimi lkeler bu kabiliyete sahip olan kiileri vatanda olarak kabul etmektedir. Bu yeteneesahipolanlararayanelemanyerinearananelemanolmaktadrlar.

almaSorular1. Makinelerin,rneinbirotomobilveyabirsaatinnaslaltnmerakedermisiniz?, bunun iin bir saatin iini ap kartrr msnz?. Bu tr zellie sahip bir kii ile bilgisayarprogramclarasndasizcebirortakyanvarmdr?,aklamayaalnz. 2. C, Visual Basic, C# isimlerini daha nce duydunuz mu?, yapabiliyorsanz bu ifadeleri aklayabilirmisiniz? 3. Word program ile Bilgisayar Programcln ksaca karlatrn, sizce aralarndaki farklarnelerdir? 4. leride ne olacanza karar verdiniz mi?, gelecekte almak istediiniz meslekte bilgisayarvebilgisayarprogramclnnneminivearlnanlatmayaalnz.

Kaynaklar[1]http://www.bilgisayarogren.com/basic1.doc [2]http://tr.wikibooks.org/wiki/Programlama_Nedir

1-7

BLM2

2-1

Visual Basic Programlama Diline GiriVisual Studio rnleri Microsoft firmasnn rn olan Visual Studio, aadaki paketlerden olumaktadr. lk iki paket cretlidir, nc paket ilk iki pakete gre baz kstlamalara sahiptir fakat kayt register- olmak artyla cretsiz olarak indirilip kullanlabilmektedir (bir MSN hesabna sahip iseniz, msn kullanc ismi ve ifreniz ile Visual Studio Express Edition srmne kayt olabilirsiniz, aksi halde bu rn kstl bir srede kullanabilirsiniz). Not1: cretsiz olarak indirilip kurulabildiinden, bundan sonraki anlatmlar Visual Basic Express Edition esas alnarak yaplacaktr. Not2: Express Editon ile oluturulan programlar Professional ve Standart Edition srmlerinde problemsiz alabilmektedir. Not3: u anda Visual Studio 2008 srm kullanmdadr. Anlatacaklarmz asndan 2005 srm ile 2008 srm arasnda herhangi bir fark bulunmamaktadr. Bundan sonra anlatlacaklar 2005 srm zerinde yaplacaktr fakat anlatlanlarn hepsi 2008 srmnde de problemsiz kullanlabilir. Visual Studio 2005 Professional Edition Visual Studio 2005 Standard Edition Visual Studio 2005 Express Edition: Visual Studio 2005 Express rnleri, rencilerin, hobi olarak bu ii yapanlarn ve sektre yeni girenlerin Microsoft .NET Framework zerinde programlamay renebilmeleri iin gelitirilmitir. Express Edition, Windows programlar ve dinamik web siteleri yapabilmek iin, dier Visual Studio rnlerine gre kullanm kolay olan (kstl) aralar zerinde bulundurmaktadr. Web ortam Visual Web Developer 2005 Express Edition: Bu srm, yalnzca web uygulamalar zerine younlam olup Asp.NET ile birlikte Visual Basic, C#, veya J# dillerinden birini kullanabilirsiniz. Veritaban SQL Server 2005 Express Edition: Bu srm ile, balang dzeyinde veritaban uygulamalar gelitirebilirsiniz. Windows ortam: Aadaki programlama dillerinden herbiri, windows form uygulamalar (Windows ortamnda alacak programlar) gelitirmek iin kullanlabilirler. Visual Visual Visual Visual Basic 2005 Express Edition C# 2005 Express Edition C++ 2005 Express Edition J# 2005 Express Edition (Java Programlama Dili)

2-2

.NET Framework Nedir?Grafik, Visual Basic 2005 for Dummies (2006) kitabndan alnmtr. .net framework aklamalar, http://www.csharpturk.net ve http://www.ceviz.net/ adresinden alnmtr.

Bir ok uygulama gelitirme dili ve bu dillerle yazlm uygulamalar altrmak iin ise farkl platformlar vardr. .net Framework, windows tabanl uygulamalar gelitirebilmek iin farkl programlama dillerinin birlikte alabilecei ortak bir gelitirme ortamdr. Bu ortam hem yazlmlar gelitirmek hem de altrmak iin gereklidir. .net Framework bileen ynelimli uygulamalarn gelitirilmesini ve yrtlmesini destekleyen bir ortam tanmlamaktadr. Bu sayede; farkl programlama dilleri, farkl iletim sistemleri ile alabilme zelliine sahiptir. .net Framework aadaki bileenlerden oluur: The Common Language Runtime (CLR), Ortak Dil alma Zaman: Uygulamalarn alabilmesi ve ynetilmesine yardmc olan, dilden bamsz bir yazlm gelitirme ve alma ortamdr. Programlarn almasn idare eden, programlarn tanabilirliini salayan, ayn zamanda dier avantajlarnn dnda kark dilde programlamay destekleyen ve gvenlii salayan paradr. The Framework Class Libraries (FCL), Framework snf ktphaneleri: Framework ats altndaki dillerin ortak kullanabilecekleri ktphaneleri barndrr. .net Framework zellikleri Standart a protokollerine ve standartlarna destek: TCP/IP, SOAP, XML, HTTP gibi standart internet protokolleri ve standartlarna destek verir. Farkl programlama dillerine destek: Programclara istedikleri dilde gelitirme zgrl sunan .net bnyesinde bir ok programlama dilini barndrr. Farkl dillerde gelitirilen programlama ktphanelerine destek: .net Framework, farkl dillerde oluturulmu programlama dillerinde oluturulmu program ktphanelerine destek verir. Ktphaneler uygulama gelitirmeyi kolaylatran bir kere yazlm bir program parasn tekrar tekrar yazmaktan kurtaran yaplardr. Farkl platformlara destek: .net Framework btn windows platformlar iin mevcuttur. Farkl bilgi ilem platformlarndan insanlar, sistemleri ve cihazlar birbirine balar. Mesel, Windows XP gibi bir masast platformunu kullanan insanlar veya Windows CE kullanan gezgin bir platformu kullanan insanlar Windows 2003 Server gibi bir sunucu sistemine balanabilir.

Visual Basic (VB) 2005 Express Edition (VBEE) Visual Basic 2005 Express Edition bir programlama arabirimidir. Kullanclar iin arayz gelitirme, kod yazma, yazlan kodun hatalarn ayklama, derleme vb. fonksiyonlaryla yazlmclarn zm gelitirmelerini salar. Visual Basic programlama dilinin en son srm olan Visual Studio 2005 zerinde alr (yukarda da deinildii gibi u anda 2008 srm mevcuttur). Profesyonel 2-3

programclarn program gelitirme yntemi olarak kullandklar Nesne Ynelimli Programlamay tam olarak destekleyen Visual Basic 2005, profesyonel uygulamalar gelitirmek iin kullanlan bir dildir. VBEE de bu dilin tm zelliklerini destekler. Dier taraftan sihirbazlar, srkle-brak, hazr programcklar ve akll etiketler sayesinde ok ksa zamanda, ok daha az kod yazarak baarm yksek uygulamalar gelitirmeye zemin salar (Kaynak: Pcworld dergisi). VB 2008 Express Edition, Microsoft firmasnn, http://www.microsoft.com/express/vb/default.aspx internet adresinden imdilik cretsiz olarak indirilebilmektedir. ndirilen dosyann iinde; VB 2008 Express Edition, .Net Framework 3.5, MSDN Express Library 2008, Microsoft SQL Server 2008 Express Edition bulunmaktadr.

Bu programlarn istenirse hepsi ayn anda bilgisayarnza kurulabilecei gibi, sadece bir veya birka da, o anda veya daha sonra kurulabilir. VBEE altrabilmek iin bilgisayarnzda bulunmas gereken asgari artlar unlardr: lemci: 600 MHz veya daha hzl (Tavsiye edilen: 1 GHz veya daha hzl). RAM: Minimum: 192 MB (Tavsiye edilen: 256 MB, eer VBEE ile birlikte SQL Express yklendiyse, 512 MB veya daha fazlas). Hard Disk: Sabit diskinizde en az 500 MB. Bo yeriniz olmal. Tam kurulum: VBEE kurulum programnn tamamn (VB 2008 Express Edition, .Net Framework 3.5, MSDN Express Library 2008, Microsoft SQL Server 2008 Express Edition) bilgisayarnza yklemek isterseniz, sabit diskinizde 1.3 GB. Bo alana ihtiyacnz olacaktr. Uyarlar : VBEEnin bilgisayarnzda alabilmesi iin, .NET Framework 3.5 bilgisayarnza kurulu olmaldr. VBEE Hakknda Temel Bilgiler Event (Olay): VB Olay Srml (Event-Driven) bir programlama dilidir. VBde Olay iin tklama, yaz kutusuna bir harf yazma rnekleri verilebilir. Olay Srml ifadesi, olay ilemi olmadan Windowsun hibirey yapmadan kullancy beklemesi anlamndadr. Proje: VBEE programnn kodlar (program satrlar), formlar, kontrolleri, nesneleri, yardmc program paralar vbg. olan btn bileenleridir. Yani bir VB programndan bahsederken aslnda bir VB projesinden bahsetmi oluyoruz. Bir projede bulunabilecek dosyalar ve uzantlarnn anlamlar Dosya smi.uzants Solution smi.sln Solution smi.suo Proje smi.vbproj Dosyann anlam Solution dosyas Solution seimlik dosyas Proje dosyas zmdeki her bir proje iin bir tane

2-4

Proje smi.vbproj.user Form smi.Designer.vb Form smi.vb Form smi.resx

Bir baka proje dosyas zmdeki her bir proje iin bir tane Form designer dosyas her bir form iin bir tane Formu oluturan program satrlar-kod satrlar dosyas her bir form iin bir tane Form kaynaklar dosyas her bir form iin bir tane

VBEEnin altrlmas Eer VBEE kurulumunuzu problemsiz bir ekilde gerekletirdiyseniz; Balat-Programlar-Microsoft Visual Basic 2005 Express Edition yolunu takip ederek VBEEyi altrabilirsiniz. Sonradan al ile ilgili baz deiiklikler yapmadysanz (bu ilemi; VBEE editrne girdiinizde, Tools-Options (bu pencerede en alttaki Show all settings seili olmal)-Environment-Startup-At startup yolu ile deitirebilirsiniz) byk bir ihtimalle aadaki al ekran ile karlarsnz.

Bu ekrandaki; Recent Projects pencerindeki Open ifadesinin yanndaki Project seenei; daha nce zerinde altnz bir VBEE projesini tekrar amak iin kullanlr. Create ifadesinin yanndaki Project seenei; ilk defa oluturacanz (balayacanz) bir VBEE projesini amak iin kullanlr.

2-5

Dier pencerelerde, VBEE ile ilgili son haberler, yeni kullanclar iin yardm blmleri vbg. Linkler bulunmaktadr. Yeni bir projeyi balatma Al ekranndan Create Project seenei tercih edilirse, aadaki al ekran ile karlalr.

Windows Applications: Bu derste Windows Uygulamalar zerinde allacandan, Tempalates ksmndan Windows Applications seenei tercih edilmeli ve pencerenin altndaki Name kutusunda (istenirse) projeye bir isim verilmelidir (projeye isim verme ilemini bu pencerede yapmak zorunda deilsiniz, isterseniz sonraki admlarda da bu ilemi gerekletirebilirsiniz). VBEE alma Ortam alma ortamnda halde bulunabilirsiniz; 1-Design modu: projenizi gelitirme, tasarlama durumunda altnz ortamdr (aadaki ekran grntsndeki; Form1.vb [Design] sekmesine dikkat edin, bu ifade kullancnn u anda tasarm (design) durumunda olduunu gstermektedir). 2-Run modu: tasarladnz projeyi altrdnz durumdur. 3-Debug modu: projenizi altrma srasnda, sonlandrmadan (proje sonlanmadan) hatalar ayklamak (bulmak) iin bulunulan durumdur (projenizin sonlanmadan hangi satrda duracan siz belirlersiniz, bu durum projenizden uygun deerleri elde edemediiniz durumlarda ve zellikle programn hangi aamasnda hangi deerler elde ediliyor sorusu iin ok kullanldr).

2-6

Form Penceresi: Projemizi tasarladmz penceredir (nesne-kontrol-objedir), dolaysyla projeyi oluturan nesneleri zerinde bulundurur. Aksi belirtilmedii srece projemizi altrdmzda karmza gelecek ilk ekrandr. Bundan dolay bu pencerenin zerine yerletirilenler ayn zamanda balang grntmz olur. Form penceresine, ekrann sandaki Solution Explorer penceresindeki Form1.vb ifadesine tklanarak da ulalabilir. Toolbox Penceresi: Projemizi tasarlarken kullanabileceimiz nesneleri zerinde bulunduran penceredir. Toolbox zerinde bulunan nesneler form penceresine tanarak projeler oluturulur. Yeri gelmiken unu da belirtelim; Nesne-ObjeKontrol ifadeleri VBEEde benzer ifadelerdir ve VBEE nesne ynelimli (object-oriented language) bir programlama dilidir. Properties Penceresi: Form penceresine tanan nesnelerin zelliklerini ve olaylarn (event) zerinde bulunduran penceredir. Bu pencere sayesinde projemizde kullanacamz nesnelerin; boyutlar, rengi, zerinde bulunmasn istediimiz yaz, bykl, resmi vbg. zelliklerini deitirebiliriz ve szkonusu nesnenin hangi olaylarnn kullanlabilir olduu ve hangilerinin kullanldn Properties penceresi sayesinde grebiliriz. Solution Explorer: Projeyi oluturan btn program paralarn zerinde bulunduran ve bu programlara istediimiz anda ulamamz salayan penceredir. Projede ka tane form, module, snf vs. kullanlm, bu pencere sayesinde renebiliriz.

2-7

En sk kullanlan nesneler

Button: Windows ortamnda herhangi bir tua basma ilemi iin kullanlabilecek durumlarda dnlebilir. rnein; gster, gizle, programdan giri, k, bitir, son, hesapla vbg. ilemler. CheckBox: Birden fazla seenein olduu ve bu birden fazla seenein de ayn anda seilebildii durumlarda kullanlabilir. rnein; Lokantada onlarca yemek seeneinden birka tanesini (birden fazlasn) seebilme durumunda bu nesne kullanlabilir. RadioButton: Birden fazla seenein olduu fakat bu birden fazla seenein iinde sadece bir tanesinin seilebildii durumlarda kullanlr. rnein; Hangi snfta okuyorsunuz? sorusuna verilebilecek sadece bir tane cevap vardr. ComboBox: Yerden tasarruf etmek amacyla, birden fazla seenein alr bir metin kutusunda topland durumlarda kullanlr. Birden fazla seenein olduu btn uygulamalarda kullanlabilir. ListBox: ComboBox nesnesine benzer, tek fark seeneklerin bu nesne iinde bir veya birden fazla satrlk alanda listelenebilmesidir. Label: Sonu, sminiz nedir?, Sakarya niversitesi, Birinci Say gibi dier nesneleri tamamlayc (tanmlayc) ifadeleri form gibi nesneler zerinde tanmlayabilmek (yazabilmek) iin kullanlr. PictureBox: Form gibi nesneler zerinde resim gsterebilmek iin kullanlr.

2-8

TextBox: Metin ifadelerin ekranda gsterilmesi iin kullanlr. rnein; programn almas srasnda elde edilen bir sonucun gsterilmesi, program iinde kullanlacak bilinmeyenlerin sordurulmas gibi durumlar iin uygundur.

lk VB Programnn anlatlmas ve altrlmas Resim Gster-Gizle program: Bu program ile; form nesnesi zerinde tasarm yapabilme, hazrlanan projenin altrlmas, kaydedilmesi, geri arlmas, nesneler zerinde ilemler, nesnelerin properties ilemlerinin yaplabilmesi, form_load zelliinin anlatlmas, nesnelerin visible zelliinin gsterilmesi, ilk komutun tantlmas (end komutu) amalanmtr. Form nesnesinin zerinde bir adet resim (Picturebox) nesnesi ve adet komut (command) butonu olmaldr. Resim nesnesine bilgisayardaki uygun bir resim atanmaldr. Komut butonlarnn birincisinin zerinde Gster (nesnenin caption zellii) Komut butonlarnn ikincisinin zerinde Gizle Komut butonlarnn ncsnn zerinde Programdan k ifadesi yazlmaldr Form zerindeki drt nesne form penceresine uygun bir ekilde yerletirilir. Proje altrldnda (F5 tuu altrma iin kullanlabilir), ilk karlama ekrannda resim grlmemeli (resim nesnesinin visible zelliinin false yaplmas), zerinde Gster yazan komut butonu ve Programdan k butonu grnr olmaldr. Gster butonuna basldnda resim grnr hale gelmeli, Gster butonu grnmemeli, Gizle butonu grnr hale gelmelidir. Gizle butonuna basldnda resim grnmez hale gelmeli, Gster butonu grnmeli, Gizle butonu grnmez hale gelmelidir. Program birka kez Gster Gizle butonlarna baslarak altrlr Programdan k butonuna baslarak programdan Tasarm ekranna dnlr. Al ekran deitirilir; ilk karlama ekrannda resim grlmeli (resim nesnesinin visible zelliinin true yaplmas), zerinde Gizle yazan komut butonu ve Programdan k butonu grnr olmaldr. Program birka kez Gster Gizle butonlarna baslarak altrlr Programdan k butonuna baslarak programdan Tasarm ekranna dnlr.

Form_Load: zel bir yordamdr (yordamn ne olduu ileride anlatlacaktr) Aksi belirtilmedii srece, bir projenin form ekrannn form_load yordam, dier yordamlardan nce alr. Dolaysyla bir projenin ncelikle ilk al ekrann nasl olmas isteniyorsa, form_load yordamnn iine o amaca uygun satrlarn yazlmas gerekir. Bir nesnenin Visible zellii: Bir nesnenin grnp grnmeyeceini belirleyen zelliktir. ki durumu vardr; true olduunda nesne grnr, false olduu durumda nesne grnmez. Textbox1.Visible=false Textbox1 isimli nesne grnmez Commandbutton1.Visible=true Commandbutton1 isimli nesne grnr End Komutu: Projenin sonlandrlmas iin kullanlr

2-9

BLM3

3-1

Temel Veri TipleriAada VBEEde temel olarak kullanlan veri tipleri listelenmitir. VBEEde, burada verilen veri tiplerinden ok daha fazlas kullanlmaktadr, szkonusu veri tiplerine, ilgili kitaplardan ve yardm dosyalarndan ulalabilir. sim Bellekte kaplad alan (byte) Kullanld platforma gre deiir 1 2 8 8 4 Kullanld platforma gre deiir Alt ve st Snr rnek

Boolean

True veya False

True

Byte (Tamsay) Char (Tek String karakter) Date (Tarih) Double (Ondalkl Say) Integer (Tamsay) String

0 ile 255 arasnda 0 ile 65535 arasnda 1 Ocak 0001 ile 31 Aralk 9999 arasnda -1.7E+308 ile 1.7E+308 arasnda -2,147,483,648 ile 2,147,483,647 arasnda 0 2 Milyar aras

10 says R harfi veya 5 says Herhangi bir tarih 3.45 veya -24 says 234 veya -78 says Deneme ifadesi veya 345 says

pucu: Yukardaki tanmlamalarda string ve char tipindeki deerlerin, deikenlere ift trnak iareti iinde eitlendiine, ayn durumun, byte, integer, double gibi say tipindeki deerlerin trnak iareti olmadan yazldna (eitlendiine) dikkat edin. pucu: Yukardaki tabloda string tanmlama tipinin rnei iin hem say hem de isim tr deerlerin verildiine dikkat edin. Saylar hem say olarak (integer, byte, double vbg.) hem de string veri tipinde tanmlanabilir. String veri tipinde tanmlanan saylara, drt ileme girmeyen; telefon, kap, renci, emekli sicil numaras gibi rnekler verilebilir. pucu: Yukardaki durum, string tanmlama trnn alt tipi olan char tanmlama eklinde de geerlidir. pucu: Double tipi, ondalkl saylarn tanmlanmasnda kullanlr. Ondalkl saylar yaplar gerei tamsaylar da kapsar. rnein 2 saysnn karl olacak bir deiken, hem byte, hem integer hem de double olarak tanmlanabilir. Fakat 2 saysnn alaca bir deerin tanmlanaca deikeni byte tipi olarak tanmlamak daha uygundur. nk 2 says double olarak tanmlanrsa hafzada 8, integer olarak tanmlanrsa 4, byte olarak tanmlanrsa 1 bytelik yer tutar. Bundan dolay 2 deerinin karl olabilecek bir deikenin byte olarak tanmlanmas gerekir. rnek: 70 rencisi olan bir snftaki rencilerin saysn hafzada tutacak deikenin, hangi veri tipinde tanmlanmas en uygundur?

3-2

rnek: 8200 rencisi olan bir fakltedeki rencilerin saysn hafzada tutacak deikenin, hangi veri tipinde tanmlanmas en uygundur? rnek: Dnya nfusunu hafzada tutacak deikenin, hangi veri tipinde tanmlanmas en uygundur?

Deikenler ve TanmlanmalarDeikenler, program iinde deeri deiebilen/deitirilebilen ifadelerdir. Visual Basicte deiken tanmlanrken; Dim komutundan faydalanlr. Genel kullanl Dim deiken ad [ as deiken tipi ]

Deikenin tanmlanmas, ayrlacak hafza miktarnn belirli olmasn salar. Yukardaki yazlta keli parantez iindeki ksma dikkat edin. Bu ksm yazmak zorunlu deildir. Yazlrsa deiken tipi mutlaka belirtilmelidir, yazlmazsa szkonusu deikenin Variant tipinde olduu kabul edilir, bu durum hafzada gereksiz yer kaybna sebep olur. nk variant veri tipi, deiken tipinin belirtilmedii durumlarda VB tarafndan deikene atanan bir tiptir ve deikenin ald deere gre dorudan ilgili deiken tipine benzetilir (rnei aadadr). Dolaysyla Variant tanmlama (yani dim satrndaki deiken tipi ksmna hibirey yazmama) iyi bir programclk teknii deildir. pucu: Deikenlerin byk veya kk harf ile yazlmalar nemli deildir ve ayn ekilde ileme girer. rnein abc deikeni aadaki yazllarn hepsinde ayn ekilde ileme girecektir. Abc (bataki harf byk), aBc (ikinci harf byk) abC (son harf byk) aBC (son iki harf byk) .. rnekler Dim A as char A deikeni char veri tipinde ilem grecektir. A deikeni sadece tek harf veri kabul edecektir, birden fazla karakteri olan bir deer girildiinde soldaki ilk karakter bu deikenin hafzadaki karl olur. A=K hafzadaki karl K A=SAU hafzadaki karl ilk karakter olan S karakteridir A deikeni integer veri tipinde ileme girecektir. Bu deikene atanabilecek deer snrlar, yukardaki tabloda da belirtildii gibi -2,147,483,648 ile 2,147,483,647 arasndadr. Bu snrlar dnda bu deikene atanacak bir deer programn hata vermesine neden olur. Ayrca integer olarak tanmlanm bir deikene ondalkl bir deer girilirse, bu deer tamsayya dntrlr. A deikeni double veri tipinde ileme girecektir. Double say tanmlamalar arasnda en geni tanmlama araldr, nk ondalkl saylar tamsaylar kapsar. Dolaysyla hafzada hangi deiken ne kadar yer igal etmektedir? diye bir dnce olmadan program yaplacaksa, btn saylar double olarak tanmlanabilir. A deikeni variant veri tipinde ileme girecektir. Bunun anlam udur; programn almas srasnda A deikenine hangi deer

Dim A as integer

Dim A as double

Dim A

3-3

atanrsa, VB bu deikene, hafzada, atand tipin en yksek araln tahsis eder. rnein A deikenin ald deer 5 ise integer olarak ileme sokar, halbuki kullanc 5 deerinin atand deikeni byte olarak belirtilebilirdi. Dim A as string, B as string, C as integer Bu satrda 3 farkl deiken sadece bir Dim satrnda tanmlanmak istenmitir. Ayn ama, aadaki gibi 3 farkl Dim satr yazlarak da gerekletirilebilirdi. Dim A as string Dim B as string Dim C as integer

Veri Tiplerine (deikenlere) balang deeri atamastenirse deikenlere, Dim komutu ile tanmlama srasnda, aadaki ekilde balang deerleri atanabilir. Genel kullanl Dim deiken ad [ as rnekler Dim A as double=3.5 Dim A=5 Dim A as string=deneme A deikeni double veri tipinde ve 3.5 balang deeri ile ileme girecektir. A deikeni variant veri tipinde ve 5 (integer-neden integer olduu yukardaki rneklerde anlatld) ileme girecektir. A deikeni string veri tipinde ve deneme balang deeri ile ileme girecektir. deiken tipi ]=Balang deeri

Veri Tiplerine (deikenlere) balang deeri atanmamsa !!!Say deiken tipleri iin (byte, integer, double vbg.) sfr (O says). String deiken tipleri iin (char, string vbg.) "" deeridir, bu deerin yaz olarak ifadesi udur: ift trnak iareti alr ve arada boluk olmadan kapatlr. Boolean mantksal deiken tanmlama tipinde False deeridir. Date deiken tanmlama tipinde "00:00:00" deeridir.

Option Explicit KomutuOption Explicit komutu, deikenlerin tanmlanmasn zorunlu hale getirmek veya deikenleri tanmlama zorunluluunu ortadan kaldrmak iin kullanlr. Bu komutun kullanlma mecburiyeti yoktur, kullanlmazsa, deikenleri mutlaka tanmlamak zorundasnz demektir (option explicit on), aksi durumda, yani deikenlerin kullanlma zorunluluu ortadan kaldrlmak istenirse kullanlmas mecburidir. Kullanl ekli; Option Explicit On (Kullandnz deikenleri tanmlamak zorundasnz). Option Explicit Off (Kullandnz deikenleri tanmlamak zorunda deilsiniz)

3-4

General Declerations BlmOption Explicit komutu kullanlmak istenirse, VB editrnn sadece General Declerations blmne yazlmas gerekir, aksi halde VB hata mesaj verir. General Declerations blm; btn yordamlarn ve program satrlarnn en stndeki satrdr, aadaki rnekte bu blmn yeri gsterilmektedir.

Option Explicit komutunun yazld yere dikkat edin, bu komutun bu programda yazld yer General Declerations yeridir, ayrca bu rnekte (option explicit komutu) on durumunda olduundan kullanlmasa da olurdu.

pucu: VB program satrlar genel olarak yordamlarn arasna yazlr. Bu durumun istisnalarndan birisi General Declerations ksmna yazlan satrlardr.

Giri k Komutlar inputbox KomutuBilgisayar programlamada problemi zen bilgisayardr, dolaysyla zenin bilmediklerini renmesi gerekir. inputbox komutu problemin zlmesi iin bilinmeyenlerin kullancya sordurulmas ve bu bilinmeyenleri problemi zen olarak bilgisayarn renmesi iin kullanlr. Basit gsterimiyle inputbox komutunun kullanm aadaki gibidir (bu komutun daha ayrntl kullanm ekli vardr, ayrnt iin daha geni aklamalarn gsterildii kaynaklara bakabilirsiniz) Deiken ismi=inputbox(.) Yukardaki gsterimde . olarak gsterilen yere deikenin ekranda grlmesi istenen aklamas yazlmaldr. rnek: sim=inputbox (sminizi veriniz)

Msgbox KomutuProgramn almas srasnda veya sonunda, elde edilen sonularn veya ifadelerin ekranda gsterilmesi iin kullanlr. Basit gsterimiyle msgbox komutunun kullanm aadaki gibidir (bu komutun daha ayrntl kullanm ekli vardr, ayrnt iin daha geni aklamalarn gsterildii kaynaklara bakabilirsiniz) Msgbox(.) veya Msgbox (deiken ismi)

3-5

Yukardaki gsterimde . olarak gsterilen yere, ekrana zerinde ilem yaplmadan gsterilecek ey (say veya ifadeler) yazlmaldr. kinci gsterimdeki deiken ismi ifadesi, program iinde bir deer alan deikene karlk gelir ve bu deer ekranda gsterilir. kinci gsterimdeki deiken ismi ifadesinin ift trnak iinde yazlmam olmasna dikkat edin. rnek: Msgbox (Endstri Mhendislii) Msgbox isim Birinci rnekte ekrana Endstri Mhendislii yazlr, ikinci rnekte ekrana, isim deikeninin hafzadaki karl yazlr (isim yazlmaz, karl ne ise o yazlr, dikkat !!!).

Deikenlerin tanmlandklara yere gre durumlarDeikenler iki yere gre tanmlanrlar: Genel tanmlamalar: Yordamlarn zerinde yaplan tanmlamadr. Bu ekilde yaplan tanmlar yordamlar st olduu iin, Class iindeki bir veya birden fazla yordam iinde bu tanmlar geerli olacaktr. zel tanmlar: Yordamlarn iinde yaplan tanmlardr. Bu ekilde yaplan tanmlar yordam iinde olduundan, sadece tanmland yordamlarda geerli olacaktr, program ak ilgili yordamn dna ktnda, yordam iinde yaplan tanmlar geersiz olacaktr. Aadaki rnek, iki tr tanmlamay da iermektedir. ncelikle bu programn Option Explicit On satrndan dolay almayacan belirtmek gerekir. Bu programn hatasz almas iin Option Explicit On satrnn Option Explicit Off haline getirilmesi gerekir. nk bu rnek tanmlamalar gstermek iin zellikle bu ekilde dnlmtr.

Bu satr, program iinde kullanlan btn deikenlerin tanmlanmasn zorunlu hale getiriyor Bu satrda a deikeni genel olarak ve 12 balang deeri ile tanmlanmtr. Genel tanmlamas, CLASS satrndan sonra ve 2 SUB yordamn zerinde olmasndan anlalmaktadr. Bu tanma gre a deiken deerine Sub Form1_Load ve Sub Button1_Click yordamlarndan ulalabilir.

Bu yordamdaki b deiken tanmlamas sadece bu yordam iinde geerlidir. Bu yordamn iinde a ve b deiken deerleri tanmldr, c deiken deeri tanmsz olarak ilem grr.

Bu yordamdaki c deiken tanmlamas sadece bu yordam iinde geerlidir ve deneme balang deeri ile tanmlanmtr. Bu yordamn iinde a ve c deiken deerleri tanmldr, b deiken deeri tanmsz olarak ilem grr.

3-6

Aadaki rnekte a deikeni nce genel olarak integer say tipinde ve 12 balang deeri ile tanmlanm, ancak daha sonra Form1_Load yordamnn iinde ayn deiken zel tanmlamaya, string deiken tipine ve Ali balang deerine dndrlmtr. Buna gre Form1_Load yordamnn iinde a deiken deeri, tipi stringe ve balang deeri de Ali ifadesine dndrlr, bu kullanmda Form1_Load yordamnn iinde a deiken deeri Ali olarak ileme girer. Ama buna karn deneme yordamnn iinde a deikeni ile ilgili bir deiiklik yaplmad iin bu yordamn iinde a deiken deeri integer ve 12 olarak ileme girer.

Deikenlere sim Verme KurallarDeikenleri isimlendirirken daha sonra baktnzda aklda kalabilecek ve anlaml bir isim veriniz. rnein kalem says ile bir deer iin, kalem deikenini kullanmanz program daha sonra incelediinizde anlamanz iin daha mantkl olacaktr. Tanmlanacak deikenlerin ilk karakteri mutlaka bir harf (byk veya kk harf olmas nemli deildir) ile balamaldr ( a.... veya h.... gibi). Geri kalan karakterler; harflerden, rakamlardan, alt izgi karakterinden ( _ ) oluabilir. Deiken isimlerinde noktalama iaretlerini (. , ; : ? vbg.), matematiksel (+ - * / \ vbg.) ve mantksal ve karlatrma operatrleri (< > = vbg.) kullanmayz. Deiken isimleri 40 karaktere kadar olabilir. Deiken ismi Visual Basic deyimlerinden birisi olamaz (inputbox, msgbox, vbg.). Deiken isimlendirirken Trke karakterler (i, ) kullanmaynz.

Geerli deiken isimleri iin rnekler: Adi, yasi , Maas98a , SANAT_DALI Geersiz deiken isimleri iin rnekler: 2ADI , ad soyad , Mal+Bildirimi 2ADI : lk karakter bir say ile balam. Ad soyad : Deiken isminde boluk kullanlm. Mal+Bildirimi : Deiken isminde geersiz bir karakter kullanlm.

3-7

Yanl deiken tanmlama srasnda Visual Basic kullancy bir uyarr.

hata mesaj ile

Yordamlar (Prosedrler)Programlama ilemlerini kk mantksal paralara blerek kolaylatrabilirsiniz. Yordamlar, youn olarak yinelenen ve ortak kullanlan; hesaplamalar, metin ve veri girileri gibi grevler iin kullanldr. Yordam kullanarak program yazmann iki nemli zellii vardr: Yordamlar program kodunu daha kk paralara bler, bylece hata ayklama daha kolay olur. Bir program iin yazlan yordam, farkl programlar iin de kullanlabilir. Visual Basicde kullanlan Yordam trlerinden bazlar: SUB Yordamlar: Deer retmezler. FUNCTION Yordamlar: Deer retirler.

SUB YordamlarGenel yazl Sub YordamAd ([argman listesi]) .............. (Yordam iindeki satrlar) End Sub YordamAd Sub yordamn addr, argman listesi yordamn ald, yani arldnda yordama geirilebilen argmanlar listesidir. Argman listesi seimliktir, nk baz yordamlar hi argman almazlar. Ancak yordam adn izleyen parantezler ( ) seimlik deildir; yordam argman alsa da almasada parantezlerin kullanlmas zorunludur. Argman listesindeki argmanlarn herbiri iin yazm kural yledir: Deiken ismi [as deiken tipi] rnek: Private Sub Form1_Load() Yenioyun (2, 3) End Sub Sub Yenioyun(oyuncu_sayisi as integer, seviye) MsgBox (Bu oyunda & oyuncu_sayisi & oyuncu var) MsgBox (Oyunun seviyesi: & seviye) End Sub Yenioyun yordam iki argman alr; oyuncu_sayisi (integer) ve seviye (variant).

3-8

Bir Sub Yordamn arlmasGenel yazl YordamAd [Argmanlar]

YordamAd Sub yordamn addr, Argmanlar yordama yolladnz argmanlardr ve kullanlmas zorunlu deildir. Eer yordam argman almadan alacak ekilde tasarlanmsa bu durumda sadece Yordamad yazlmaldr. Birden fazla argman varsa, bu argmanlar birbirinden virgl ile ayrlmaldr. rnek: Yukardaki rnekte yazlm olan yordam u ekilde arlabilir. Yenioyun (2,5) Bu program satr Yenioyun isimli yordam arr (altrr) ve ona iki argman yollar; 2, oyuncu_sayisi deikeniyle gsterilen oyuncu saysdr, 5 ise oyunun seviyesini temsil etmektedir. rnek: Sonucubul()

Bu program satr Sonucubul yordamn altrr ve ona argman yollamaz. Bir Sub Yordamn Nesne ile Kullanlmas (likilendirilmesi)Form ekrannda oluturulmu herhangibir nesnenin zerine ift tklanrsa; bu nesne ile ilgili olay ve olaya bal olarak yaplacaklarn programlanaca satrlarn yazlabilmesi iin VB tarafndan bir alt yordam oluturulur. rnein Button nesnesi form ekrannda oluturulur (Resim a) ve Button nesnesinin zerine ift tklanrsa (Resim b), hazrlanan Form altrldnda, Button dmesine bir kez basldnda yaplmas istenenlerin arasna yazlabilecei bir Sub ve End Sub yordam otomatik olarak VB tarafndan alr.

Resim a

Resim b

Nesne ile ilikilendirilmi bir Sub yordamn genel yazl aadaki gibidir. [Private] Sub Nesne smi_Olay smi(Nesne ile ilgili argmanlar) Nesne ile ilgili olay gerekletiinde yaplmas istenenler (VB program satrlar) End Sub Yukardaki genel yazlda Private (zel) ifadesi seimliktir ve szkonusu yordamn sadece ilgili form iinde kullanlabileceini ifade etmektedir.

3-9

rnek: Private Sub Button1_Click() A=5 End Sub Yukardaki Genel Yazla gre aklamalar: Nesne smi: Button1 Olay smi: Click Nesne ile ilgili olay gerekletiinde yaplmas istenenler (VB program satrlar): A deikenine 5 say deerinin atanmas Ama: Button1 nesnesine bir kez tklanrsa, A deikenine 5 say deerini atanmasn salayan bir yordamdr.

Laboratuar Uygulamas 1: Bilgisayar ile tanma programnn yazlmas. Program; inputbox, msgbox komutular ve deiken kullanmna ait bir rnektir. Bilgisayar kendisini tantmal daha sonra kullancya adn sormal ve son olarak memnun oldum (kullancnn ismi) demelidir. Laboratuar Uygulamas 2: ki saynn textbox nesnesinin iine yazlaca, iki saynn arasnda label nesnesi ile + iaretinin olaca ve sonu deerinin hesapla butonu ile nc textbox nesnesinin iine yazlaca programn tasarlanmas ve yazlmas. Bu program sayesinde kademeli olarak hesap makinesi yazma programna gidilmesi amalanmaktadr.

3-10

BLM4

4-1

Matematiksel OperatrlerGenel olarak matematiksel ilemlerde kullanlan operatrlerdir. Operatr ^ Anlam s Alma rnek C^3 Aklama Matematikdeki s operatrdr. Verilen ilk saynn ikinci say kadar kuvvetini (ssn) alr. Matematikdeki arpma operatrdr Matematikdeki blme operatrdr. Verilen ilk sayy ikinci sayya bler Matematikdeki blme operatrdr. Verilen ilk sayy ikinci sayya bler. Ancak sonuc mutlaka bir tam say deeridir. Blm ksratl ise saynn kusuratn atar (int komutunun pozitif saylardaki sonucunu bulur) Bu operatr ile verilen iki veya daha fazla ifade toplanabilir. Eer A ve B string trnde veriler ise + operatr kaynatrma yapar. Yani B yi Ann sonuna ekler. + operatr say ile sayy veya string ile string ifadeyi toplar veya kaynatrr (ayn veri tiplerini toplar, farkl veri tiplerinde hata verir). Say + string hatal sonu verir. a+5 dorudur, a+5 yanltr. Matematikde kullanlan karma operatrdr lk saynn modunu ikinci sayya gre almak iin kullanlr String tr ifadelerle matematiksel ifadeleri kaynatrmada kullanlabilir Ayn veya farkl veri tipleri kaynatrlabilir. Say & String Say & Say String & String Problemsiz kullanlabilir.

* / \

arpma Blme Tamsay Blme A=10/3

2*A 3.33333 3 2

B=10\3 C=13.5\5

+

Toplama veya Kaynatrma in kullanlr

Toplama olarak: A+B veya 5+3 Kaynatrma olarak: A="Ebru" K= Kaya N=Ad+Soyad ise sonu u ekilde olur: N=Ebru Kaya

Mod &

karma Matematikteki mod alma ilemidir Kaynatrma

A-10 5 Mod 2 4 Mod 6 1 4

S=34 & 9 349 D= 60 & 2 602 A=5.4 & 57 5.457 E="Hakan" & " Aye" "Hakan Aye"

4-2

Matematiksel ilemlerin ncelik sralar1. 2. 3. 4. 5. s alma ilemi (^) arpma (*) ve Blme ilemi (/) Tam blme ilemi (\) Mod alma ilemi Toplama (+) ve karma (-) ilemi

Yukardaki sralamada, ortak ncelikte gsterilenlerin ncelikleri, solda bulunan ilemin nce yaplacak olma kuralna baldr. rnein toplama ve karma ilemi yukardaki tabloda ayn srada gsterilmitir. Buna gre ayn ilemde yan yana hem toplama ve hem de karma ilemi varsa, bunlardan solda olan nce ilem grr. Ayrca bu sralamadan farkl olarak parantez iine alnm olan ilemler her zaman nce ilem grr, parantez iine alnm yan yana iki ilem varsa, bunlardan da solda olan parantezli ilem nce ileme girer.

Matematiksel Eitliklerin Visual Basicde YazllarMatematiksel eitlikler yukarda verilen matematiksel operatrler yardmyla yazlrlar. Burada dikkat edilmesi gereken husus, alan parantezlerin mutlaka kapatlmas gerektiidir. Eitliklerin gsterilmesinde mutlaka yuvarlak parantez ( ) kullanlmaldr, keli parantez [ ] kullanlmamaldr. Matematiksel gsterim Visual Basic gsterimi A=(3*Y)/E HY=(RT^3)/23

3 xY E 3 RT HY = 23 A=Mantksal Operatrler

Mantksal Operatrler iki veya daha fazla ifade arasnda kullanlrlar. Sonucun True (Doru) veya False (Yanl) olmas durumuna gre programn ak ynlendirilir. And Operatr Mantksal (Lojik) iki ifadenin karlatrlmas iin kullanlr. Sonucun True (Doru) olmas iin iki ifadenin de mutlaka doru olmas gereklidir. fade1 False False True True fade2 False True False True fade1 And fade2 False False False True rnek 5>7 and a=b 5>7 and a=a 5>3 and a=b 5>3 and a=a False False False True

4-3

Or Operatr Mantksal iki ifadenin karlatrlmas iin kullanlr. Sonucun True (Doru) olmas iin iki ifadeden yalnzca birinin doru olmas yeterlidir. fade1 False False True True fade2 False True False True fade1 Or fade2 False True True True rnek 4>9 or 10>13 4>9 or 1013 ) Not (Not (6134) Sonuc=True Sonuc=(39>=67) Sonuc=False Sonuc=(23=G X= < 0 b katsays ? MsgBox("iki farkl kk var") x1 = (-b - delta ^ (1 / 2)) / (2 * a) x2 = (-b + delta ^ 0.5) / (2 * a) MsgBox("Birinci Kk=" & x1) c nedir? MsgBox("kinci Kk=" & x2) End Select Evet delta=0 ? Hayr delta 0 Then MsgBox("iki farkl kk var") x1 = (-b - delta ^ (1 / 2)) / (2 * a) x2 = (-b + delta ^ 0.5) / (2 * a) MsgBox("Birinci Kk=" & x1) MsgBox("kinci Kk=" & x2) End If

Bir programn nesnelerle ve ayrca basit halde (nesne kullanmadan) ayr ayr yazlmas rnek: Bilgisayara girilen iki saynn toplanp sonucunun ekrana yazdrlmas Programn basit olarak (nesne kullanmadan) yazlmas Bunun iin bilinmeyenlerin (birinci ve ikinci say) inputbox komutu ile sordurulup, bulunan toplam sonucunun msgbox komutu ile ekrana yazdrlmas yeterlidir. Sub Form1_Load() Dim birincisayi As Double, ikincisayi As Double birincisayi = InputBox("Birinci sayy verin") ikincisayi = InputBox("kinci sayy verin") MsgBox (birincisayi + ikincisayi) End Sub Programn nesne kullanlarak yazlmas Nesne kullanlarak programn yazlabilmesi iin ncelikle form ekrannda programn tasarmnn (veriler nerede nasl girilecek, ktlar nereye yazdrlacak vs.) yaplmas gerekir. Yandaki Form ekran szkonusu programn tasarm form ekrandr. Bu ekranda Label1; Birinci say ifadesi iin, Label2; kinci say ifadesi iin, Label3; Sonu ifadesi iin, Text1; Birinci saynn girilecei yer, Text2; kinci saynn girilecei yer ve Text3; girilen iki saynn toplamnn yazlaca yer olarak dnlmtr.

5-6

Daha sonra, nceki admda ekrana yerletirilen nesnelerin balklarnn (ekranda grnen isimlerinin) programa uygun olarak deitirilmesi gerekir. Bu ilemi iki ekilde yapabilirsiniz. 1. lgili nesneyi form ekrannda sadece bir kez tklayp seili duruma getirerek properties (VB ekrannn sa alt tarafnda grlen zellikler penceresi. Bu pencereyi ekranda gremiyorsanz, F4 tuuna basarak grnr hale getirebilirsiniz) penceresinde ilgili zellii bulunup deitirilmek suretiyle, nesnenin grnr bal deitirilebilir.

rneimizde Label1 nesnesi tklanarak zellikler penceresinden Text (Metin) zellii bulunur ve Text ifadesinin karl olan Label1, Birinci Say ifadesi ile deitirilir. Ayn ilem Label2 iin kinci Say ve Label3 iin Sonu olarak tekrar edilmelidir. 2. Yukardaki ilemlerin hibiri yaplamadan ayn sonu elde edilmek istenirse (istenen sonu: yukardaki ikinci form ekranndaki grnt) bu durumda form ekrannda nesnelerin istenen zelliklerinin deitirilmesi iin form ekrannn yklenmesi srasnda bu ilemler bir komut satr olarak verilmesi gerekir. Bunun iin form1_load yordamnn aadaki ekilde olmas gerekir: Private Sub Form1_Load() Label1.Text = "Birinci Say" Label2.Text = "kinci Say" Label3.Text = "Sonu" End Sub Daha sonra ilgili nesnelerin ift tklanmas ve program kodlarnn yazlmas gerekir. Bu programda saylar text nesnesine girilecei iin bu nesnede bir deiiklik olduunda ne olmas isteniyorsa onun ile ilgili satrlarn ilgili yere yazlmas gerekir. Dolaysyla birinci textbox nesnesine bir say girildiinde bu nesnede bir deiiklik olacak ve bu deiiklik textbox3 nesnesine yansyacaktr. lgili ilemin tam ifadesi u ekilde olmaldr: Textbox1 nesnesinde bir deiiklik olduunda [yani bu nesneye biz bir say girdiimizde (bu VB iin bir olay (event) dr VBce karl change ifadesidir)] bu deiiklik textbox3 nesnesine toplam olarak yansmaldr. Ayn ilem textbox2 nesnesi iin de geerlidir. Bu ilemin VB satr olarak yazlmas u ekilde olmaldr: Textbox3.Text = Val(Textbox1.Text) + Val(Textbox2.Text). Bu satr form ekrannda iken textbox1 nesnesi ift tklanarak ekrana gelen kod yazma nesnesinde

Private Sub TextBox1_TextChanged ( )End sub Satrlar arasna yazlmaldr. Yukardaki yordamn alamas: textbox1 nesnesinde bir deiiklik olduunda u satrlar ileme sok (private ile balayan ve end ile biten satrlarn arasndaki satrlar ileme sok). Not: Textbox nesnesinin kts string olduundan ve bu rneimizde saylarla uraldndan, textbox1.text satr Val komut ile ileme sokularak, textbox nesnesine girilen saynn drt ileme girer (saysal) hale getirilmesi salanmtr. Programn son hali ve rnek iki say ile altrlm form ekran aadaki gibidir:

5-7

Private Sub TextBox1_TextChanged() TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text) End Sub Private Sub TextBox2_TextChanged() TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text) End Sub

5-8

BLM6

6-1

SayalarDzenli olarak artan (+) veya azalan (-) say veya string ifadeler elde etmek iin kullanlrlar. Eitliin her iki tarafndaki deiken isminin ayn olmasna dikkat edin. Bu durum matematik olarak mmkn olmamasna ramen, bilgisayar iin dorudur. Genel Kullanl 1: [deiken ismi] = [deiken ismi] [ilem] [say veya string ifade veya deiken] Genel Kullanl 2: [deiken ismi] [ilem] = [say veya string ifade veya deiken] lem= +, veya , veya *, veya /, veya \, veya &, veya ^ olabilir rnekler Genel Kullanl 1 abc=abc+1 Genel Kullanl 2 abc +=1 Operatr Saysal Toplam Saysal Toplam karma String Toplam Aklamas Bu saya: abc deiken deerinin ilk deeri sfr olduu dnlrse; 1,2,3,4,5.... saylarnn elde edilmesinde kullanlr. Ikier ikier artan (2,4,6,8,... gibi) ardk saylar elde edilmesi iin kullanlr. er er azalan (6,3,0,-3,-6,... gibi) ardk saylar elde edilmesi iin kullanlr. ad deikeni ile verilen string ifadeleri birletirmek iin kullanlr. rnein, bu saya satr 3 defa ilem grse ve srasyla "aye", "hasan", "fatma" deerleri ad deikeninin karl olarak bilgisayara verilse; isimler deikeninin alaca son deer, bu 3 ismin birletirilmi hali olacaktr (isimler=ayehasanfatma). Not: Bu kullanmda + ilemi iin string saylar verilmelidir, aksi halde toplama ilemi yaplr. Ardk arpma Ardk blme Ardk tam blme Ardk s alma

sayi=sayi+2 sinif=sinif-3 isimler=isimler+ad veya isimler=isimler&ad

sayi +=2 sinif -=3 isimler +=ad veya isimler &=ad

a=a*b a=a/b a=a\b a=a^b

a *=b a /=b a \=b a ^=b

arpma Blme Tam Blme s alma

6-2

Herhangi bir sayacn eitlikten sonraki deikeni, deikenin o ana kadarki ilemini (toplamn, arpmn vbg.) gsterir.

DnglerDngler belirli ilemleri (satrlar, bloklar vbg.) belirli sayda veya herhangi bir art salanana kadar tekrarlamak amac ile kullanlrlar. Bu komutlar aada verilmitir. For - Next Dngs Do - Loop Dngs (artsz Do dngs) Do While - Loop Dngs Do - Loop While Dngs Do Until - Loop Dngs Do - Loop Until Dngs

For Next DngsNeredeyse btn programlama dillerinde bulunan dng yapsdr. Genel kullanl ekli aadaki gibidir.

For

deiken ad

=

deikenin balang deeri

To

deikenin biti deeri

Step

deikenin her admdaki art veya azal deeri

Dng iindeki ara ilemler

.. .. Nextdeiken ad

FOR dngs mutlaka NEXT komutu ile bitmek zorundadr, aksi halde hata mesaj ile karlalr.

6-3

Yukarda gsterilen For dngs genel yapsnda; Step ifadesi ve sonrasnda yazlmas gereken say deeri seimliktir, kullanlmazsa dngnn her admda birer birer artaca varsaylr. Next ifadesinin yanndaki deiken ismi seimliktir. Next ifadesinden sonra deiken ismi kullanlrsa, ilk satrdaki For ifadesinin yanna yazl olan deiken ismi ile ayn olmak zorundadr, aksi halde hata mesaj ile karlalr.

For dngs nasl alr? For dngsnde gizli bir IF komutu vardr. lem sras her defasnda for satrna geldiinde, deikenin o aamada alm olduu deerin, almas gerenek son deeri ap amad srekli olarak kontrol edilir. Bundan dolay for satrnda aslnda grnmeyen bir IF komutu vardr.

For komutu, step ifadesinin yanndaki artm deerinin pozitif veya negatif olmasna gre farkl alr. Step ifadesinin yanndaki say (veya say olabilecek deiken) POZTF ise; deikenin o aamada alm olduu deer almas gereken son deerden byk olup olmad kyaslamas yaplr. Amsa program next satrndan sonraki ilk satrdan almasna devam eder, Amamsa dng iindeki satrlar ilem grr.

Step ifadesinin yanndaki say (veya say olabilecek deiken) NEGATF ise; deikenin o aamada alm olduu deer almas gereken son deerden kk olup olmad kyaslamas yaplr. Kk ise, program next satrndan sonraki ilk satrdan almasna devam eder, kk deil ise dng iindeki satrlar ilem grr.

Next komutu ilem srasn tekrar for satrna ynlendirmek iin kullanlr. lem sras for satrna geldiinde, for satrnda kullanlan deiken, step ifadesinin yanndaki saynn (veya say karl olabilecek deikenin) pozitif veya negatif olup olmadna gre, almas gereken son deer ile kyaslanr. Bu kyaslama ilemi; dng iinde mi kalnacak veya dng dna m klacak kararn vermek iin yaplr.

Step ifadesinin yanndaki deer ister pozitif, isterse negatif olsun, for dngsndeki deiken mutlaka ilk deerini alr (artlar ne olursa olsun, for dngsndeki deiken balang deerini mutlaka alr).

6-4

ekil: Pozitif deere sahip step ifadesi iin genel bir For-Next dngs ak diyagram rnek: Bu rnekte step deeri verilmedii iin, i deikeni her bir dngde 1 artacaktr. For i=1 to 10 Ara ilemler Next i rnek: Bu rnekte step deeri -2 verildii iin, i deikeni her bir dngde -2 azalacaktr. For i=20 to 1 Step 2 Ara ilemler Next i

rnek: Aadaki rnek, Next deikenin for satrndaki deikenden farkl olmas dolaysyla almaz (hata verir). For i=1 to 10 Ara ilemler Next k

rnek: Aadaki rnekte hem next ifadesinin yannda deiken kullanlmamtr. Bu durum seimlik olduu iin program hatasz alr. For i=1 to 10 Ara ilemler Next

SORU

Sfr (0), saysnn iareti nedir? (sfr, pozitifmi yoksa negatifmidir?).

6-5

rnek: Aadaki rnekte, step ifadesinin yanndaki deer negatif olarak ilem grr. nk step ifadesinin yanndaki ilem negatif sonu vermektedir. Dim a As Integer = 2, k As Integer Dim b As Integer = -5 Dim c As Integer = -7 For k = 1 To 2 Step a + b + c MsgBox(k) Next MsgBox(k)

rnek: Aadaki rnekte, step ifadesinin yanndaki deer pozitif olarak ilem grr. nk step ifadesinin yanndaki ilem pozitif sonu vermektedir. Dim a As Integer = 2, k As Integer Dim b As Integer = -5 Dim c As Integer = 7 For k = 1 To 2 Step a + b + c MsgBox(k) Next MsgBox(k)

rnek: Bu rnekte programa vermi olduunuz pozitif saynn faktoriyeli hesaplanmaktadr. Dim Sayi,i as integer Dim Fact as Double Sayi=inputbox(Faktriyeli Hesaplanacak Sayy Verin) Fact=1 For i=1 To Sayi Fact= Fact * i Next i MsgBox (Sayi & Saysnnn Faktriyeli : & Fact) e For dngleri ie for dngleri aynen normal For dnglerine benzer. Ancak burada u hususa dikkat edilmelidir; en son balatlan For dngs ilk nce bitirilmelidir (dnglerin birbirini kesmemesi gerekir). For degisken1=basla1 To son1 Ara ilemler For dgisken2=basla2 To son2 Ara ilemler Next degisken2 Next degisken1 Yukardaki aklamadan dolay, aadaki ekildeki gibi bir kullanm hataldr. For degisken1=basla1 To son1 Ara ilemler For degisken2=basla2 To son2 Ara ilemler Next degisken1 Next degisken2 rnek: arpm tablosu programn hazrlanmas. arpm tablosu rnei, i ie for dngleri iin gzel bir rnektir. arpm tablosu programnn ok fazla kts olduu iin, arpm deerlerinin tek tek ekranda gsterilmesi msgbox komutu ile ok anlaml olmayacaktr (sonular iin ok fazla

6-6

enter tuuna baslmas gerekmektedir). Dolaysyla programn nesnelerle yazlmas daha doru olacaktr. Bu amala program listbox nesnesi ile yazlacak ve arpm deerleri bu nesnenin iine listelenecektir. Listbox1.items.add (Merhaba) Listbox1 nesnesinin iine Merhaba yazar. LISTBOX nesnesi: Program ktlarnn listelenmesi iin kullanlan bir nesnedir (bir anlamda msgbox komutunun nesneli halidir). Listbox1.items.clear () Listbox1 nesnesinin iindekileri temizler (siler). Listbox1.items.add (t) t deikeninin hafzadaki deerini, listbox1 nesnesine yazar.

Programn amaca uygun alabilmesi iin, form nesnesine listbox nesnesi ilave edilmelidir (rnekte listbox1 eklenmitir). Programda yaplmas istenenler (program satrlar), form1_load yordamnn iine yazlmtr. Program 1lerden, 5lere kadar almaktadr. Bundan dolay ilk for evrimi deikeni olan k iin son deer, 5 olarak alnmtr. kinci for evrimi deikeninin son deeri, arpm tablosu 10a kadar hesapland iin, 10 olarak alnmtr. Tasarm Ekran Program ktlar

Private Sub Form1_Load() Dim k, u As Byte For k = 1 To 3 ListBox1.Items.Add("---------") ListBox1.Items.Add(k & "'ler") ListBox1.Items.Add("---------") For u = 1 To 10 ListBox1.Items.Add(k & "x" & u & "=" & k * u) Next Next End Sub

6-7

BLM7

7-1

Do Loop DngsEn basit dng yapsdr. Hibir kontrol yaplmadan Do ve Loop ifadeleri arasndaki satrlarn ilem grmesi iin kullanlr. Bu yapda programn terkedilmesi iin herhangi bir kontrol olmadndan, dng iine karar verme komutlarndan birisi ile bir kontrol yaps kurulmas gerekir, aksi halde program sonsuz dngye girer. Genel kullanl;

Do Ara ilemler Loop

ekil: Do-Loop dngs iin genel bir ak diyagram

rnek Yandaki rnekte ekrana mesajbox penceresi iinde sonsuz sayda (siz programa mdahale edene kadar), Ahmet ifadesi yazlr. nk dngden k iin herhangi bir kontrol yoktur.

Do Msgbox (Ahmet) Loop

Yukardaki gibi sonsuz dngl programlara Ctrl+Break tu takm edilmesi gerekir, aksi halde program sonsuz dngye girer.

ile mdahale

rnek Yandaki rnekte ekrana mesajbox penceresi iinde sadece 5 kez Ahmet ifadesi yazlr. nk dngden k iin dngnn iine bir if blou yerletirilmitir.

Dim t as byte t=0 Do t=t+1 If t=5 then Exit do else Msgbox (Ahmet) End if Loop

Exit komutunun aklamas dng ilemlerinin sonundadr

7-2

Do While-Loop DngsDo While-Loop dngsnn genel yazm ekli u ekildedir; Do While (koul veya ifade) Ara ilemler Loop Do While dngsnde nce koula baklr. Eer koul doru ise aradaki satrlar Loop satrna kadar altrlr. Loop satrnda tekrar While satrna dnlr. Koul tekrar kontrol edilir, koul doru ise ara satrlar tekrar altrlr, yanl ise Loop satrndan sonraki ilk satrdan program almaya devam eder. ie Do While dngleri de kurulabilir. Bu durumda her Do While dngs iin mutlaka bir Loop kullanlmas gerekir.

Do While Kosul1 Ara ilemler Do While Kosul2 Ara ilemler Loop Ara ilemler Loop

ekil: Do While-Loop dngs iin genel bir ak diyagram rnek Fact=1 B=2 Do While B