Lección 22: Trabajar Trabajar con botones de opción Hemosapr endi docómout i l i zarelcont r oldecasi l l adever i ficaci ónenl al ecci ón a n t e r i o r .Enest al ecci ón,vamo mosaapr endercómoescr i bi rcódi gopar aot r ocont r ol enVi sualBasi c2015,elcont r olbot ónder adi oest aest r echament er el aci onado conelcont r oldecasi l l adever i ficaci ón,l osbot onesder adi of unci onandemaner a di f er ent edel ascasi l l asdever i ficaci ón.Ladi f er enci aescasi l l asdever i ficaci ón t r abaj an de f or ma i ndependi ent e yper mi t en alusuar i o sel ecci onaruno o más el ement os,l osbot onesder adi osól oper mi t enalusuar i osel ecci onarunel ement o deunaser i edeopci ones. Si gni ficabot onesder adi osonmu mut uament eexcl uyent es. Ej emp mpl os deluso de l os bot ones de r adi o son pr egunt as de l a encuest a r el aci onadosconelsexo,edad,i ngr esosymásdeuni ndi vi duo. Ejemplo 22.1
Enest eej empl o,elusuar i osól opuedeel egi runacami set adelcol or .Par adi señar l ai nt er f az,agr egue t r es bot ones de r adi o y nomb mbr ar l os como mo Radi oRed, Radi oGr Gr eenyRadi oYel l ow r espect i vame ment e.Ademásdeeso,añadi runbot ónpar a confir marelcol orel egi doyuncont r oldeet i quet apar amost r arelcol orel egi do.El nomb mbr e delbot ón como mo Bt nConfir m yl a et i quet a como mo Lbl Di spl ay .Nosot r os usamosl aest r uct ur aI f. . .Then. . .El separ at omardeci si ones.Elest adodelbot ón deopci ónest ái ndi cadaporsucar act er í st i caseacompr obada. Elcódi go: Pr i vat e Sub Bt nConfir m_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nConfir m. Cl i ck Di m Tcol orAsSt r i ng I fRadi oRed. Checked Then Tcol or=“ RedCol or ” Lbl Di spl ay. For eCol or=Col or . Red El seI fRadi oGr Gr een. Checked Then Tcol or=“ Gr eenCol or ” Lbl Di spl ay. For eCol or=Col or . Gr een El se
Tcol or=“ Yel l owCol or ” Lbl Di spl ay. For eCol or=Col or . Yel l ow EndI f Lbl Di spl ay. Text=Tcol or EndSub
I nt er f az
Fi gur a2 2. 1 Ejemplo 22.2
Apesardequeelusuar i osól opuedesel ecci onarunel eme ment oal avez,sepuede hacermásdeunasel ecci ónsiesosel ement osper t enecenadi f er ent escat egor í as. Porej empl o,elusuar i odeseael egi rl acami set at amañoycol or ,quenecesi t apar a sel ecci onaruncol oryunt amaño,l oquesi gni ficaunasel ecci ónencadacat egor í a. Enest ecaso,hayqueagr uparl osbot onesder adi oenconj unt odeacuer doal as cat egor í as.Est oseconsi guef áci l ment eenVi sualBasi c2013ut i l i zandoelcont r ol Cuadr odegr upoenl ascat egor í ascont enedor es. EnelI DEdeVi sualBasi c2015,despuésdei nser t arelCuadr odegr upodel acaj a de her r ami ent asen elf or mul ar i o,sepuedepr ocederai nser t arl osbot onesde
opci ónenelcuadr odegr upo.Sól ol osbot onesdeopci óndent r odelCuadr ode gr uposonmut uament eexcl uyent es,quenosonmut uament eexcl uyent esconl os bot onesder adi of uer adelCuadr odegr upo.Enest eej empl o,elusuar i opuede sel ecci onaruncol oryunat al l adel acami set a.Par adi señarl ai nt er f az,i nser t edos cuadr osdegr upo.Enelpr i mercuadr odegr upo,agr eguecuat r obot onesder adi o ynombr ar l os como mo Radi oXL,r adi ol ,Radi om yRadi oS,r espect i vame ment e.Enel segundocuadr odegr upo,agr eguet r esbot onesder adi oyl esnomb mbr arRadi oRed, Radi oBl ueyRadi oBei ger espect i vame ment e.Ademá másdeeso,i nser t edoscont r olde et i quet apar amost r arelt amañoyelcol orel egi do,nombr ar l osyLbl Si zeLbl Col or r espect i vame ment e.Porúl t i mo,añadi runbot ónyelnombr ecomo moBt nCo Confir m.Enel códi godeVi sualBasi c2015,vamo mosadecl ar ardosvar i abl es,TSi zepar ai ndi carel t amañodel acami set ayr oTCol ori ndi canelcol ordel acami set a.
Elc ódi go
Pr i vat e Sub Bt nConfir m_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nConfir m. Cl i ck Di m TSi ze,TCol orAsSt r i ng I fRadi oXL. CheckedThen TSi ze=“ XL ” El seI fRadi oL. CheckedThen TSi ze=“ L ” El seI fRadi oM. M. CheckedThen TSi ze=“ M” El se:TSi ze=“ S” EndI f I fRadi oRed. CheckedThen TCo Col or=“ Roj o” El seI fRadi oBl ue. CheckedThen TCol or=“ Azul ” El se:TCo Col or=“ Cr ema ma” EndI f Lbl Si ze. Text=TSi ze Lbl col or . Text=TCol or EndSub I nt er f az
Fi gur a22. 2
Lección 23: Creación de un navegador Web ¿Qu Qué navegadorque ut i l i za par a navegarporI nt er net ? Bási came ment et odos l es gust anavegarporI nt er netat r avésdeGoogl eChr ome,I nt er netExpl or er ,Fi r ef ox, Saf ar i ,Oper aymu muchomás.Si nembar go,¿l eguast ar í a aust edcr earsupr opi o navegadorwebquesepuedeper sonal i zarasugust o?Sí ,sepuedehaceresoen Vi sualBasi c2015,ybast ant ef áci lt ambi én.Enest al ecci ón,vamo mosaapr endera cr earunsi mpl enavegadorwebyponer l oenmar chaenunospocosmi nut os. Enpr i merl ugar ,i ni ci arunnuevopr oyect oenVi sualBasi c2015yelnombr econ cual qui ernombr equeust edl egust e,est amo mosusandoelnombr eMy MyWe WebBr owser . Camb mbi arelt ama maño de For m1 a 800, 600 en su vent ana de pr opi edades.A cont i nuaci ón,esnecesar i oagr egarunmot orpar aqueelnavegadorwebpuede conect ar seaI nt er net ,yest emi smo momot oreselcont r olWebBr owser ,seencuent r a enl acaj adeher r ami ent asenell adoi zqui er do,est abl ezcasupr opi edadDocka None,elt ama maño ( Si ze)de600, 400 ycamb mbi arsunomb mbr ea MyWe WebBr owser .A cont i nuaci ón,i nser t arun cuadr o de t ext o ycol ocar l o en l a par t e super i ordel cont r olWebBr owser ,est ovaaserser vi dorcomo mol abar r adedi r ecci onesdondeel usuar i o puede i nt r oduci rl a URL.A cont i nuaci ón,col oque un bot ón all ado del cuadr odet ext oycamb mbi arsut ext ocomo moGO ycamb mbi arsunombr eaBt nGo Go.Por
úl t i mo,añadi runos cuant osmás bot onesycambi arsust ext os a I ni ci o,At r ás, Adel ant e,Act ual i zaryBúsquedar espect i vame ment e. Elcont r olWebBr owsercomp mpr ende di ver sos mét odos como mo I ni ci o( GoHome me) , Agt r ás( GoBack) ,Adel ant e( GoFor war d) ,Buscar( Sear ch) ,Act ual i zar( Ref r esh) , Navegar( Navi gat e)ymá más. Puedenserut i l i zadospar aescr i bi rpr ocedi mi ent osbasadosenevent ospar al os di st i nt osbot onesde navegaci ón que col ocamo mosen elnavegadorweb.Par a el mét odoNavi gat e,t enemosqueut i l i zarl asi gui ent esi nt axi s: WebBr owser . Navi gat e( URL) Elc ódi go
Pr i vat eSubBt nGO_Cl Cl i ck( senderAsObj ect ,eAsEvent Ar gs)Handl esBt nGO GO. Cl i ck MyWe WebBr owser . Navi gat e( Txt URL. Text ) EndSub Pr i vat e Sub Bt nSear ch_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nSear ch. Cl i ck MyWe WebBr owser . GoSear ch( ) EndSub Pr i vat e Sub Bt nHome me_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nHome me. Cl i ck MyWebBr owser . GoHome me( ) EndSub Pr i vat e Sub Bt nBack_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nBack. Cl i ck MyWe WebBr owser . GoBack( ) EndSub Pr i vat e Sub Bt nFor war d_Cl i ck( sender As Obj ect ,e As Event Ar gs) Handl es But t on1. Cl i ck MyWe WebBr owser . GoFor war d( ) EndSub
Pr i vat e Sub Bt nRef r esh_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nRef r esh. Cl i ck MyWe WebBr owser . Ref r esh( ) EndSub I nt er f azgr áfica
Lección 24: Tratamiento de errores Elmanej odeer r or esesunpr ocedi mi ent oesenci alenVi sualpr ogr ama maci ónBasi c 2015.Códi go l i br e de er r or esno sól o per mi t e que elpr ogr ama mase ej ecut e si n pr obl ema mas y efici ent eme ment e,si no que t amb mbi én puede pr eveni rt odo t i po de pr obl ema massucedacomo moer r or esenelpr ogr ama maobl oqueos.Er r or esdesi st ema masa menudosepr oducendebi do al aent r adai ncor r ect aporpar t edelusuar i o.Por ej empl o,elusuar i opodr í acomet ereler r ordet r at ardei nt r oduci rt ext o( cadenade car act er es)aunacaj aqueest ádi señadopar amanej arsól oval or esnumér i cos t al escomo moelpesodeunaper sona,elequi ponoser ácapazder eal i zarcál cul os ar i t mét i cospar a elt ext o,porl ot ant ol o har á cr earun er r or .Est oser r or esse conocencomo moer r or essi ncr óni cos. Porl ot ant o un buen pr ogr ama madordeber í a est armá más al er t aal as par t es del pr ogr amaquepodr í anpr ovocarer r or esyl oser r or esdemani pul aci óndebeescr i bi r códi gopar aayudaralusuar i oenl agest i óndel oser r or es.Er r or esdegr abaci ónde Códi go yel manej oesuna buena pr áct i capar al ospr ogr ama mador esde Vi sual Basi c2015,l oser r or espuedent er mi narunpr ogr amar ápi doalomi t i rl oser r or es de códi go de manej o.Si n emb mbar go,no deber í a haberdema masi adoser r or es de mani pul aci óndecódi goenelpr ogr ama ma,yaquepodr í acr earpr obl ema maspar ael pr ogr ama madordemant enerysol uci onarpr obl ema masdelpr ogr ama mamá másadel ant e. Vi sualBasi c2015hamej or adomu muchoensubasedeer r or es,como mocapaci dades de manej oencomp mpar aci ón conVi sualBasi c6.Porej emp mpl o,cuandoelusuar i o i nt ent adi vi di runnúmer oporcer o,Vi sualBasi c2015nodevol ver áunmensaj ede er r or ,per ol edaal' i nfini t o'comol ar espuest a( aunqueest oesmat emát i cament e i ncor r ect a,yaquedebeseri ndefini do) 24.2 Uso de On Error GoTo Sintaxis
Vi sualBasi c2015si gueadmi t i endol oser r or esVB6manej odel asi nt axi s,esdeci r l aest r uct ur apr ogr am_ m_l abelOnEr r orGoTo.A pesardequet i eneunmét odode gest i óndeer r or esmá másavanzada,nosocupar emo mosdequel at er . Weahor adeber á apr enderaescr i bi rl oser r or esdemani pul aci óndecódi goenVi sualBasi c2015.La si nt axi sdel oser r or esdemani pul aci ónes
OnEr r orGoT opr ogr am m_ _l abel
Donde pr ogr am_ m_l abeles l a secci ón de códi go que est á di señado por el pr ogr ama madorpar a gest i onareler r orcome met i do porelusuar i o.Una vezque se det ect a un er r or ,elpr ogr ama ma sal t ar áal a secci ón pr ogr am_ m_l abelpar a el t r at ami ent odeer r or es. Ej empl o24. 1:Er r or esDi vi si ón Enest eej empl o,vamo mosat r at arconeler r ordei nt r oduci rdat osnonumér i cosen l os cuadr os de t ext o que suponen par a cont ener val or es numé mér i cos. El pr ogr am_l abelaquíesgest or _er r or es.Cuandoelusuar i oi nt r oduceunar chi vode val or esnonumér i cosenl oscuadr osdet ext o,elmensaj edeer r orsemo most r ar áel t ext o" Unaoamb mbasdel asent r adases/noesnumér i co! " .Sisepr oduceni ngún er r or ,semost r ar ál ar espuest acor r ect a.Pr uébel oust edmi smo mo. Elc ódi go
Pr i vat eSubBt nCal _Cl i ck( senderAsOb Obj ect ,eAsEvent Ar gs)Handl esBt nCal . Cl i ck Lbl _Er r Msg. Vi si bl e=Fal se Di m fir st Num, m,secondNum AsDoubl e OnEr r orGoToer r or _handl er Lbl _Er r Msg. BackCol or=Co Col or . Yel l ow Lbl _Er r Msg. Text=” ¡ Dat oscor r ect os! ” fir st Num =Txt Num1 m1. Text secondNum =Txt Num2 m2. Text Lbl _Answer . Text=fir st Num /secondNum Exi tSub ' Topr eventer r orhandl i ngevent hei nput sar eval i d er r or _handl er : Lbl _Answer . Text=“ Er r or ” Lbl _Er r Msg. Vi si bl e=Tr ue
Lbl _Er r Msg. BackCol or=Col or . Red Lbl _Er r Msg. Text=” ¡ Unooamb mbosnúmer osnosonnumér i cos!I nt ent ede nuevo!” EndSub
I nt er f azgr áfica
Fi gur a24. 1 *Tengaencuent aquel adi vi si ónporcer oenVi sualBasi c2015yanosedaun mensaj edeer r or ,per omuest r al ar espuest acomoi nfini t o. 24.3 Tratamiento de errores utilizando Try…..Cat!….End Try Struture
Vi sualBasi c2015haadopt adounnuevoenf oqueenelmanej odeer r or es,omás bi en elmanej o de excepci ones.Se supone que esmásefici ent e que elvi ej o mét odo de Got o On Er r or ,donde manej a var i os t i posde er r or es dent r o de l a est r uct ur aTr y. . .Cat ch. . .Tr yEnd. Laest r uct ur asepar eceaest o: Tr y st at ement s Cat chexcept i on_var i abl easExcept i on st at ement st odealwi t hexcept i ons EndTr y
Elc ódi go
Pr i vat eSubBt nCal _Cl i ck( senderAsOb Obj ect ,eAsEvent Ar gs)Handl esBt nCal . Cl i ck Lbl _Er r Msg. Vi si bl e=Fal se Di m fir st Num, m,secondNum, m,answerAsDoubl e Tr y fir st Num =Txt Num1 m1. Text secondNum =Txt Num2 m2. Text answer=fir st Num /secondNum Lbl _Answer . Text=answer Cat chexAsExcept i on Lbl _Answer . Text=“ Er r or ” Lbl _Er r Msg. Vi si bl e=Tr ue Lbl _Er r Msg. Text=”Oneoft heent r i esi snotanumber !Tr yagai n! ” EndTr y EndSub I nt er f azgr áfica
Fi gur a24. 3
Lección 25: rogramación !rientada a !bjetos Ent odasl asl ecci onesant er i or es,ust edhaapr endi docómoescr i bi relcódi godel pr ogr ama maenVi sualBasi c2015,per ot odaví at enemo mosquedi scut i rl osconcept os del apr ogr ama maci ónor i ent adaaobj et osquef or manl abasedeVi sualBasi c2015. Enest al ecci ón,vamo mosabaj aralapr endi zaj eal gunosconcept osbási cosde l a pr ogr amaci ónor i ent adaaobj et os. Par a que un l enguaj e de pr ogr ama maci ón par a cal i ficarcomo mo un l enguaj e de pr ogr amaci ónor i ent adoaobj et os,debet enert r est ecnol ogí asbási casasaber , encapsul aci ón ( encapsul at i on) , her enci a ( i nher i t ance) y pol i mor fismo mo ( pol ymo mor phi sm) m) .Est ost r est ér mi nosseexpl i canacont i nuaci ón: "a enapsulai#n
Laencapsul aci ónser efier eal acr eaci óndemódul osi ndependi ent esqueseunen l asf unci onesdepr ocesami ent odel osdat os.Est ost i posdedat osdefini dosporel usuar i osel l ama man cl ases.Cadacl ase cont i enedat os,asícomo moun conj unt ode mét odosquemani pul anl osdat os.Loscomp mponent esdedat osdeuna cl asese l l aman var i abl esde i nst anci a yuna i nst anci a de una cl ase es un obj et o.Por ej emp mpl o,en un si st ema made bi bl i ot eca,unacl ase podr í asermi mi emb mbr o,yJohn y Shar onpodr í ahaberdosi nst anci as( dosobj et os)del acl asebi bl i ot eca. $erenia
Lascl asessecr eande acuer do conl asj er ar quí as,yl aher enci aper mi t e al a est r uct ur ayl osmét odosdeunacl aseaserpasadosabaj oenl aj er ar quí a.Est o si gni ficaqueser equi er emenospr ogr amaci ónyalañadi rf unci onesal ossi st emas comp mpl ej os.Sise añade un paso en l a par t ei nf er i orde una j er ar quí a,a cont i nuaci ón,sól ot i enequeserañadi doalt r at ami ent oyl osdat osasoci adoscon esepasoúni co.Todol odemá másenesepasoseher eda. %olimor&smo
Lapr ogr ama maci ónor i ent adaaobj et osper mi t eal ospr ocedi mi ent osacer cadel os obj et osquesecr eencuyot i poexact onoseconocehast aelt i emp mpodeej ecuci ón. Porej emp mpl o,uncur sordel apant al l apuedecamb mbi arsuf or madeunaflechaauna l í nea en f unci ón delmodo de pr ogr ama ma.La r ut i na par a moverelcur soren l a pant al l a en r espuest a almovi mi ent o delr at ón se escr i bi r í a par a" cur sor " ,yel pol i mor fismo moper mi t equeelcur sordeasumi rcual qui erf or maqueser equi er een t i empodeej ecuci ón.Tambi énper mi t enuevasf or maspar ai nt egr ar seconf aci l i dad. Vi sualBasi c2015per mi t eal osusuar i osescr i bi rpr ogr ama masquesedescomponen
enmódul os.Est osmódul osr epr esent anl osobj et osdelmundor ealysonconoce como mocl asesot i pos.Unobj et opuedesercr eado apar t i rde unacl ase ysel e conoce como mouna i nst anci ade l acl ase.Una cl aset amb mbi én puede comp mpr ender subcl ase.Porej emp mpl o,elmanzanoesunasubcl asedel acl asedepl ant asyl a manzanaensupat i ot r aser oesunai nst anci adel acl asemanzano.Ot r oej emp mpl o esl acl asedelest udi ant eesunasubcl asedel acl asehumana,mi ent r asquesu hi j oJohnesunai nst anci adel acl asedel osest udi ant es. Unacl asesecomponedemi mi emb mbr osdedat os,asícomo momé mét odos.EnVi sualBasi c 2015,l aest r uct ur adelpr ogr amapar adefini runacl asehumanasepuedeescr i bi r del asi gui ent emaner a: Ej emp mpl o:
Publ i cCl assHuma man ‘ Mi emb mbr osdedat os Pr i vat eNombr eAsSt r i ng Pr i vat eFecha_naci mi ent oAsSt r i ng Pr i vat eSexoAsSt r i ng Pr i vat eEdadAsI nt eger ' Mét odos SubOver r i dabl eShowI nf o( ) MessageBox. Show( Nomb mbr e) MessageBox. Show ( Fecha_naci mi ent o) MessageBox. Show( Sexo) MessageBox. Show( Edad) EndSub EndCl ass Ot r oej emp mpl o:
Publ i cCl assCar ‘ Mi emb mbr osdedat os
Pr i vat eMar caAsSt r i ng Pr i vat eMo Model oAsSt r i ng Pr i vat eAño_pr oducci ónasSt r i ng Pr i vat eCapaci dadAsI nt eger " Mét odos SubOver r i dabl eShowI nf o( ) MessageBox. Show( Mar ca) MessageBox. Show( Model o) MessageBox. Show ( Año_pr oducci ón) MessageBox. Show( Capaci dad) EndSub EndCl ass Veamosunej emp mpl odecómo mocr earunacl ase.Elsi gui ent eej emp mpl omuest r acómo mo cr earunacl asequepuedecal cul arsuI MC( Í ndi cedeMasaCor por al ) . Par a cr earl acl ase,i ni ci arVi sualBasi c2015,como decost umbr eyel egi rl as apl i caci onesdeWi ndows ws.Enel2015Vi sualBasi cI DE,hagacl i cenPr oyect oenl a bar r ademenúysel ecci oneAgr egarcl ase,como mosemu muest r aenl aFi gur a25. 1.
Fi gur a25. 1 Despuésde hacercl i cen elel eme ment o Agr egarcl ase,elcomp mpl eme ment oapar ece di ál ogoNuevoel eme ment o,comosemuest r aenl aFi gur a25. 2 Lasi nt er f acesquedar í ancomo mosemuest r aacont i nuaci ón:
Fi gur a25. 2 Hagacl i cenelel ement odel acl aseyl acl asepordef ect oCl ass1. vbapar ecer á como mounanuevapest añaconunavent anadecódi go.Camb mbi arelnomb mbr edel a cl asecomo moMy MyCl ass. vb.Camb mbi eelnombr edelf or mul ar i ocomoMy MyFi r st Cl ass. vb. Ahor a,en l a vent ana MyCl ass. vb,i nt r oduzca elsi gui ent e códi go y se cr ear á Mi cl ase. Publ i cCl assMi cl ase Publ i cFunct i onBMI ( ByValhei ghtAsSi ngl e,ByValwei ghtAsSi ngl e) BMI=For mat ( ( wei ght )/( hei ght^2) ,“ 0. 00” ) EndFunct i on EndCl ass Ahor a que ha cr eado una cl ase ( un obj et o)l l ama mada Mi cl ase1 con un mét odo conoci docomo moI MC. Conelfindeut i l i zarl acl aseI MC,i nser t arunbot ónenelf or mul ar i oyhagacl i cen elbot ónpar aent r arenelsi gui ent ecódi go: Pr i vat e Sub Bt nBMI _Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nBMI . Cl i ck Di m MyObj ectAsObj ect Di m h,wAsSi ngl e MyObj ect=NewMyCl ass1( ) h=I nput Box( “ Whati syourhei ghti nmet er ” ) w=I nput Box( “ Whati syourwei ghti nkg” ) MessageBox. Show( MyObj ect . BMI ( h,w) ,“ YourBMI ” ) EndSub Cuando se ej ecut a est e pr ogr ama ma y hace cl i c en elbot ón,elusuar i o se l e pr esent ar á con dos cuadr os de ent r ada par ai nt r oduci rsu al t ur a y peso, post er i or ment e,yelval ordelí ndi cedemasacor por alsemuest r aenuncuadr ode mensaj eeme mer gent e,como mosemu muest r aenl asfigur assi gui ent es: Lasi nt er f acessemuest r anacont i nuaci ón:
Fi gur a25. 3
Fi gur a25. 4 Fi gur a25. 5
Fi gur a25. 6
Lecci ón26:Cr eaci óndeGr áficos-I nt r oducci ón 26. 1I nt r oducci ón Lacr eaci óndegr áficosesr el at i vament ef áci lenl asver si onesant er i or esdeVi sual Basi cpor quesehani ncor por adoenl asher r ami mi ent asdedi buj o.Porej emp mpl o,en Vi sualBasi c6,l asher r ami ent asdedi buj osei ncl uyenenl acaj adeher r ami ent as dondeelpr ogr amadorsól ot i enequear r ast r arl oscont r ol esdel af or maenl af or ma decr earr ect ángul o,cuadr ado,el i pse,cí r cul oymás.Si nembar go,susi mpl i ci dad t i ene l os def ect os, no t i ene muchas opci ones en l a cr eaci ón de di buj os per sonal i zados. Desde Vi sualBasi cse convi r t i ó en un l enguaj e de pr ogr ama maci ón or i ent ado a obj et osenelmar coVB. net ,darf or maal oscont r ol esyanoest ádi sponi bl e.Ahor a elpr ogr amadort i enequeescr i bi rcódi gopar acr eardi f er ent esf or masydi buj os.A pesardequel acur vadeapr endi zaj eesmáspr onunci ada,elpr ogr ama madorpuede escr i bi rcódi go de gr an al cance par a cr eart odo t i po de gr áficos.Ust ed puede i ncl uso di señarsus pr opi os cont r ol es.Vi sualBasi c 2015 RC of r ece di ver sas capaci dadesgr áficasqueper mi t enal ospr ogr ama mador esescr i bi rcódi goquepuede cr eart odo t i po de f or mas e i ncl uso f uent es.En est al ecci ón,apr ender á cómo mo escr i bi rcódi gopar adi buj arl í neasyf or masenelI DEdeVi sualBási co2015RC. 26. 2Cr Cr eaci óndeunobj et odegr áficos Ant esdequepuedadi buj arcual qui ercosaenunf or mul ar i o,esnecesar i ocr earel obj et o Gr aphi csen Vi sualBasi c2015.Un obj et o gr áfico se cr ea ut i l i zando el mét odoCr eat eGr Gr aphi cs( ).Puede cr earun obj et ode gr áficosquedi buj an al a f or maensíouncont r ol . Par adi buj argr áficosenelf or mul ar i opr edet er mi nado,puedeut i l i zarl asi gui ent e decl ar aci ón: Di m myGr aphi csAsGr Gr aphi cs=me me. Cr eat eGr aphi cs
Par adi buj arenuncuadr odei magen,puedeut i l i zarl asi gui ent edecl ar aci ón:
Di m myGr aphi csAsGr aphi cs=Pi ct ur eBox1. Cr eat eGr aphi cs
Tambi énpuedeut i l i zarelcuadr odet ext ocomounasuper fici ededi buj o,l a decl ar aci ónes: Di m myGr aphi csAsGr Gr aphi cs=Text Box1. Cr eat eGr aphi cs
2'.3 Creai#n de una pluma
Unapl uma masepuedecr earusandoelsi gui ent ecódi go: myPen=NewPen( Br ushes. Col or ,Li neWi dt h) DondemyPenesunavar i abl edel apl uma ma.Sepuedeusarcual qui ernomb mbr ede var i abl eenl ugardemyPen.Elpr i merar gument odelobj et opl uma madefineelcol or del al í neadedi buj oyelsegundoar gument odefineelanchodel al í neadedi buj o. Porej emp mpl o,elcódi gosi gui ent ecr eaunapl uma maquesepuedet r azarunal í neade col ormagent aoscur oyelanchodel al í neaesde10pí xel es: myPen=NewPen( Br ushes. Dar kM Ma agent a,10)
Tambi énpuedecr earunapl umaut i l i zandol asi gui ent edecl ar aci ón: Di m myPenAsPen myPen=New Pen( Dr awi ng. Col or . Bl ue,5)
Donde elpr i merar gument o define elcol or( en est e caso esde col orazul ,se puedecamb mbi arpar aqueelr oj ool oquequi er as)yelsegundoar gument oesel anchodel al í neadedi buj o. Despuésdehabercr eadol osgr áficosyl osobj et osdel apl uma ma,queahor aest á l i st opar adi buj argr áficosenl apant al l aquel emost r amosenl asi gui ent esecci ón. 26. 4Di buj odeunar ect a
Enest asecci ón,l emost r ar emoscómodi buj arunal í near ect aenelf or mul ar i o. Enpr i merl ugar ,i ni ci arVi sualbási co2015RC.Enl apági nadei ni ci o,ar r ast r eun bot ónenelf or mul ar i o.Hagadobl ecl i cenelbot ónei nt r oduzcaelcódi gosi gui ent e. Pr i vat e Sub Bt nDr aw_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nDr aw. Cl i ck Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs Di m myPenAsPen
myPen=NewPen( Br ushes. Dar kMa Magent a,20) myGr aphi cs. Dr awLi ne( myPen,60,180,220,50) EndSub Lasegundacr eadoelobj et oGr aphi csyl at er cer aycuar t al í neadecr earelobj et o de l a pl uma.Elqui nt o di buj aruna l í nea en elf or mul ar i o ut i l i zando elmét odo Dr awL wLi ne.Elpr i merar gument out i l i zarelobj et oPencr eadoporust ed,elsegundo ar gument oyelt er cerar gument osdefini rl ascoor denadasdelpunt oi ni ci aldel a l í nea,elcuar t oyl osúl t i mosar gume ment osdefinenelfinalde coor denadasde l a l í nea.Lasi nt axi sdelar gument oesdr awLi ne. obj ect . Dr awLi ne( Pen,x1,y1,x2,y2) Par a elej emp mpl o ant er i or ,l a coor denada de par t i da es ( 60, 180)y elfin de coor denadases( 220, 50) Lafigur a26. 1mu muest r al al í neacr eadaporelpr ogr ama.
Fi gur a26. 1
Lección 2": Creación de los rect#ngulos 2(.1 Creai#n del ret)n*ulo
Par adi buj arunr ect ángul oenelf or mul ar i opr edet er mi nadoenVi sualBasi c2015, haydosmaner as: ( i ) La pr i mer a consi st e en di buj arun r ect ángul o di r ect ament e ut i l i zando el Dr awRect angl e mét odo medi ant el a especi ficaci ón de su esqui na super i or i zqui er da de coor denadasyanchur ayal t ur a.Tamb mbi én esnecesar i ocr earuna gr áficayunobj et odel apl umapar amanej areldi buj or eal .Elmét ododelobj et o Gr aphi cspar adi buj arelr ect ángul oesl asi nt axi s. ElDr awRect angl ees: myGr Gr apphi cs. Dr awRect angl e( myPen,X,Y,wi dt h,hei ght ) DondemyGr Gr aphi cseselnombr edel avar i abl edelobj et oGr Gr aphi csymy myPenesel nombr edel avar i abl edelobj et oPencr eado port i .Sepuedeut i l i zarcual qui er nombr edevar i abl evál i dosysi gni ficat i vos.X,Y esl acoor denadadel aesqui na super i ori zqui er dadelr ect ángul o,mi ent r asquel aanchur ayl aal t ur aseexpl i can porsí ,esdeci r ,l aanchur ayl aal t ur adelr ect ángul o. Elcódi goeselsi gui ent e: Di m myPenAsPen myPen=NewPen( Dr awi ng. Col or . Bl ue,5) Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs myGr aphi cs. Dr awRect angl e( myPen,0,0,100,50)
2(.2 %ersonalizai#n de estilo de l+nea del o,jeto de la pluma
Laf or manosacer camo moshast aelmome ment ohansi dodi buj adosconl í neacont i nua, en r eal i dad podemo mosper sonal i zarelest i l o de l í nea delobj et o de l a pl uma ma de maner aquehemo mosLí neadepunt os,l í neassecomp mponedegui onesymá más.Por ej empl o,semuest r aacont i nuaci ónl asi nt axi spar adi buj arconl í neadepunt os: myPen. DashSt yl e=Dr awi ng. Dr awi ng2D. DashSt yl e. Dot Cuandoelúl t i moar gument odelpunt oespeci ficaunval ordel í neaDashSt yl een par t i cul ar ,unal í neaquecomp mponedepunt osaquí .Ot r osval or essonDashSt yl es Dash,DashDot ,DashDot DotySol i d.Elsi gui ent ecódi godi buj aunr ect ángul ocon l í neapunt eadaazul . Pr i vat e Sub But t on1_Cl Cl i ck( ByVal sender As Syst em. m. Obj ect , ByVal e As Syst em. Event Ar gs)Handl esBut t on1. Cl i ck Di m myPenAsPen myPen=NewPen( Dr awi ng. Col or . Bl ue,5) Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs myPen. DashSt yl e=Dr awi ng. Dr awi ng2D. DashSt yl e. Dot myGr aphi cs. Dr awRect angl e( myPen,100,100,100,50) EndSub Lai magendesal i daescomosemuest r aenl aFi gur a27. 1
Sicambi aelval ordeDashSt yl eDashDot Dot ,obt endr áelr ect ángul osi gui ent e:
Fi gur a27. 2
Lección 2$: La creación de elipses % c&rculos 2-.1 i,ujo Elipse
Hemo mos apr endi do cómo di buj arr ect ángul os con di f er ent es est i l os de l í nea en Vi sualBasi c2015enl al ecci ónant er i or .Ahor avamosaapr enderadi buj arel i psey ci r cul os.Pr i mer oant esquet odol oquenecesi t amospar aent enderelpr i nci pi o det r ás de di buj aruna el i pse en Vi sualBasi c2015.La est r uct ur a bási ca de l a mayor í adel asf or masesunr ect ángul o,el i psenoesunaexcepci ón.El i pseesuna f or maovalqueest ádel i mi t adoporunr ect ángul o,comosemuest r aenl aFi gur a 28.1
Fi gur a28. 1 Porl ot ant o,t enemo mosquecr earunobj et oRect ángul o( Rect angl e)ant esdeque podamo mosdi buj arunael i pseenVi sualBasi c2015.Est er ect ángul osi r vecomoun r ect ángul odel i mi t adordel ael i pse.Si nembar go,t odaví aesnecesar i out i l i zarel mét odo dr awEl l i pse par at er mi narelt r abaj o.Porot r ol ado,t amb mbi én podemos di buj arunael i pseconeldr awE wEl l i psemét odosi ncr earpr i mer ounr ect ángul o.Les most r ar emo most ant oscami nos.Enelpr i mermét odo,di gamosqueust edhacr eado un obj et or ect angul arconoci do como mo myRect angl e y un obj et o pl uma ma como mo myPen,a cont i nuaci ón,se puede di buj ar una el i pse medi ant el a si gui ent e i n s t r u c c i ó n : myGr aphi cs. Dr awEl l i pse( myPen,myRect angl e)
*Supongaquet i enet ambi ényacr eadoelobj et oGr Gr aphi csmy myGr Gr aphi cs. Ej empl o28. 1( a) Pr i vat e Sub Bt nDr aw_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nDr aw. Cl i ck Di m myPenAsPen
myPen=New Pen( Dr awi ng. Col or . Dar kTur quoi se,5) Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs Di m myRect angl eAsNewRect angl e myRect angl e. X=40 myRect angl e. Y=30 myRect angl e. Wi dt h=200 myRect angl e. Hei ght=100 myGr aphi cs. Dr awEl l i pse( myPen,myRect angl e) EndSub Lai magendesal i dasemuest r aenl aFi gur a28. 2
Fi gur a28. 2 Elsegundomét odout i l i zaeldr awEl l i psemét odosi ncr earunobj et oder ect ángul o. Offcour seust edt odaví at i enequecr earl osgr áficosyl osobj et osdel apl uma.La si nt axi sesl asi gui ent e: myGr Gr aphi cs. Dr awE wEl l i pse( myPen,X,Y,anchur a,al t ur a) Donde( X,Y)sonl ascoor denadasdel aesqui nasuper i ori zqui er dadelr ect ángul o del i mi t ador ,elanchoeselanchodel ael i pseyl aal t ur aesl aal t ur adel ael i pse.
Ej empl o28. 1( b) Pr i vat e Sub Bt nDr aw_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nDr Dr aw. Cl i ckDi m myPenAsPen myPen=New Pen( Dr awi ng. Col or . Dar kTur quoi se,5) Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs myGr Gr aphi cs. Dr awEl l i pse( myPen,40,30,200,100) EndSub
Fi gur a28. 1( b)
2-.2 i,ujar un +rulo
Despuésde haberapr endi do cómo modi buj arunael i pse,di buj ando un cí r cul ose vuel vemuysenci l l o.Ut i l i zamosexact ament el osmi smo mosmét odosut i l i zadosenl a secci ón ant er i or ,per o modi ficarl a anchur a yal t ur a de modo que sean de l os mi smo mosval or es.
Lossi gui ent esej empl ossebasanenelmi smo mocí r cul o. Ej empl o28. 2( a) Di m myPenAsPen myPen=New Pen( Dr awi ng. Col or . Dar kTur quoi se,5) Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs Di m myRect angl eAsNewRect angl e myRect angl e. X=90 myRect angl e. Y=30 myRect angl e. Wi dt h=100 myRect angl e. Hei ght=100 myGr aphi cs. Dr awEl l i pse( myPen,myRect angl e)
Fi gur a28. 2( a) Ej empl o28. 2( b) Di m myPenAsPen myPen=New Pen( Dr awi ng. Col or . Dar kTur quoi se,5) Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs myGr Gr aphi cs. Dr awEl l i pse( myPen,90,30,100,100)
Fi gur a28. 2( b)
Lección 2': Te(to )ibujo Hemo mos apr endi do cómo di buj arr ect ángul o,el i pse yelcí r cul o en Vi sualBasi c 2015,enl asl ecci onesant er i or es,ahor avamo mosaapr enderadi buj art ext oen l a pant al l a.Si ,enl ugardeut i l i zarelcomandodei mpr esi ón,t ambi énpuededi buj ar t ext oenl apant al l a. 2/.1 i,ujo de texto
Conelfindedi buj art ext oenl apant al l a,podemosut i l i zarelmét ododecor dón.El f or mat oeselsi gui ent e: myGr Gr aphi cs. Dr awSt r i ng( myText ,myFont ,mybr ush,X,Y) DondemyGr Gr aphi cseselobj et oGr Gr aphi cs,myTexteselt ext oquedeseamo most r aren l apant al l a,myFonteselobj et odef uent ecr eadoporust ed,myBr usheselest i l o de pi ncelcr eado porust ed yX,Y son l ascoor denadasdel aesqui na super i or i zqui er dadelt ext o. Puede cr earelobj et o de f uent e en Vi sualBasi c 2015 ut i l i zando l a si gui ent e decl ar aci ón: myFont=Ne NewSyst em. m. Dr awi ng. Font(" Ver dana" ,20) Dondeelpr i merar gument odel af uent eeselt i podel et r a,yelsegundoar gument o eselt ama mañodel af uent e.Sepuedeañadi runt er cerar gument ocomo moest i l ode f uent e,yaseaennegr i t a,cur si va,subr ayado. Aquíest ánl osej empl os: myFont=New Syst em. m. Dr awi ng. Font ( “ Ver dana” ,20,Font St yl e. Bol d) myFont=New Syst em. Dr awi ng. Font ( “ Ver dana” ,20,Font St yl e. Under l i ne) myFont=NewSyst em. Dr awi ng. Font ( “ Ver dana” ,20,Font St yl e. I t al i c) myFont=New Syst em. m. Dr awi ng. Font ( “ Ver dana” ,20,Font St yl e. Regul ar )
Tocr eat eyourBr ushobj ect ,youcanuset hef ol l owi ngst at ement : Di m myBr ushAsBr ush myBr ush=NewDr awi ng. Sol i dBr ush( Col or . Br ushCol or ) Además de l os si et e col or es,al gunosde l os col or es delcepi l l o comu munes son Al i cebl ue,AquaMa Mar i ne bei ge,Dar kMa Magent a,Dr ar kOl i veGr een,SkyBl ue y más. Ust ednot i enequer ecor darl osnombr esdet odosl oscol or es,elI nt el l i Sensel e per mi t i r ánavegarat r avésde l oscol or esenun menúdespl egabl e,unavezse escr i beelpunt odespuésdel apal abr aencol or . Ahor a pr oceder emo mos a di buj ar l af uent e ut i l i zando elcódi go de ej emp mpl oa cont i nuaci ón: Ej empl o29. 1 Pr i vat e Sub Bt nDr aw_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nDr aw. Cl i ck Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs Di m myFontAsFont Di m myBr ushAsBr ush myBr ush=NewDr awi ng. Sol i dBr ush( Col or . Dar kOr chi d) myFont=New Syst em. m. Dr awi ng. Font ( “ Ver dana” ,20,Font St yl e. Under l i ne) myGr Gr aphi cs. Dr awS wSt r i ng( “ Vi sualBasi c2015” ,myFont ,myBr ush,10,10) EndSub
Fi gur a29. 1
Elej empl oant er i orsepuedemodi ficarsinodeseacr earl af uent eyl osobj et osde pi ncel .Puedeut i l i zarl af uent edeunobj et oexi st ent e,comol af or mayl oscol or es desi st ema.Vuel vaacol ocarl aúl t i mal í neaenelej empl oant er i orconest al í nea ( es necesar i o el i mi narl as l í neas que cr ean elcepi l l o y obj et os de l af uent e t amb mbi én) myGr aphi cs. Dr awSt r i ng ( " Vi sual Basi c Syst em. m. Dr awi ng. Br ushes. Dar kOr chi d,10,10)
2015" ,
me. Font ,
Tamb mbi én puede añadi run I nput Box y per mi t i ó que elusuar i oi nt r oduzca su mensaj eacont i nuaci ón,most r arelmensaj eenl apant al l a. Est osemuest r aenelEj emp mpl o29. 2 Ej empl o29. 2 Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs Di m myFontAsFont Di m myBr ushAsBr ush Di m user MsgAsSt r i ng user Msg=I nput Box( “ ¿Cu Cuálest umensaj e?” ,“ For mademensaj e” ,“ I nt r oduzcasu mensaj eaquí ” ,100,200) myBr ush=NewDr awi ng. Sol i dBr ush( Col or . Dar kOr chi d) myFont=New Syst em. Dr awi wi ng. Font ( “ Ver dana” ,20,Font St yl e. Under l i ne) myGr aphi cs. Dr awSt r i ng( user Msg,myFont ,myBr ush,10,10)
Fi gur a29. 2
Lección 3*: )ibujo de pol&gonos % ies Hemo mos apr endi do cómo mo cr earl os gr áficos y l a pl uma ma par a di buj arobj et os r ect ángul o,el i pse,cí r cul oyelt ext oenl asl ecci onesant er i or es,ahor avamosa apr enderadi buj arpol í gonosypast elenI DEdeVi sualBasi c2015. 301 i,ujo de pol+*onos
Pol í gonoesunafigur apl anacer r adadel i mi t adaport r esomásl adosr ect os.Con elfindedi buj arunpol í gonoenl apant al l a,esnecesar i odefini rl ascoor denadasde t odosl ospunt os( t ambi énconoci doscomovér t i ces)queseuni er onpar af or marel pol í gono.Lasi nt axi spar adefinel ospunt osdeunpol í gonoconvér t i cesA1,A2, A3,A4. . . . . .Unaeselsi gui ent e; Di m A1AsNewPoi nt ( X1, Y1) Di m A2AsNewPoi nt ( X2, Y2) Di m A3AsNewPoi nt ( X3, Y3) Di m A4AsNewPoi nt ( X4, Y4) Di m AnasNewPoi nt ( Xn, Yn)
Despuésdedecl ar arl ospunt os,necesi t amosdefini runaest r uct ur adepunt osque agr upan t odosl ospunt os j unt osut i l i zando l a si gui ent e si nt axi s:Di m myPoi nt s Comopunt o( )={ .A1,A2,A3,. . . ,An}. Porúl t i mo,cr earelobj et ogr áficoyut i l i zar elmét ododr awPol ygonpar adi buj arelpol í gonout i l i zandol asi gui ent esi nt axi s: myGr aphi csDi m como mogr áficos=M Me e. Cr eat eGr Gr aphi cs myGr aphi cs. Dr awPol ygon( myPen,myPoi nt s) dondemyPeneselobj et odel apl umacr eadousandol asi gui ent esi nt axi s: myPen=NewPen( Dr awi ng. Col or . Bl ue,5) Ej empl o30. 1:Di buj odeunt r i ángul o Tr i ángul oAesunpol í gonocont r esvér t i ces.Aquíest áelcódi go: Pr i vat e Sub Bt nDr aw_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nDr aw. Cl i ck Di m myPenAsPen Di m AAsNewPoi nt ( 10,10) Di m BAsNewPoi nt ( 100,50) Di m CAsNewPoi nt ( 60,150) Di m myPoi nt sAsPoi nt ( )={ A,B,C} myPen=NewPen( Dr awi ng. Col or . Bl ue,5) Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs myGr aphi cs. Dr awPol ygon( myPen,myPoi nt s) EndSub
Fi gur a30. 1 Ej empl o30. 2:Di buj odeuncuadr i l át er o Uncuadr i l át er oesunpol í gonof or madoporcuat r ol ados,porl oquenecesi t apar a defini rcuat r ovér t i ces.Elcódi goeselsi gui ent e: Pr i vat e Sub Bt nDr aw_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nDr aw. Cl i ck Di m myPenAsPen Di m AAsNewPoi nt ( 10,10) Di m BAsNewPoi nt ( 100,50) Di m CAsNewPoi nt ( 120,150) Di m DAsNewPoi nt ( 60,200) Di m myPoi nt sAsPoi nt ( )={ A,B,C,D}
myPen=NewPen( Dr awi ng. Col or . Bl ue,5) Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs myGr aphi cs. Dr awPol ygon( myPen,myPoi nt s) EndSub Lai magendesal i daescomosemuest r aenl aFi gur a29. 2
Fi gur a29. 2 30.2 i,ujo de una empanada
Conelfindeel abor arunpast el ,sepuedeut i l i zarelmét odoDr awP wPi edelobj et o gr áfico.Comodecost umb mbr e,esnecesar i ocr earl osgr áficosyl osobj et osde l a pl uma.Lasi nt axi spar al ael abor aci óndeunpast eles:
myGr Gr aphi cs. Dr awP wPi e( myPen,X,Y,anchur a,al t ur a,st ar t Angl e,SweepAngl e) DondeX eY sonl ascoor denadasdelr ect ángul odel i mi t ador ,ot r osar gument os son f áci l es de ent ender .Tant o st ar t Angl e ySweepAngl e se mi den en gr ados. SweepAngl epuedet omarval or esposi bl esonegat i vos.Sielval oresposi t i vo,se bar r e at r avésde l a di r ecci ónhaci al ader echami ent r asnegat i vosi gni fica que bar r enat r avésdedi r ecci ónhaci al ai zqui er da. Ej empl o30. 3:Di buj odeunpast elquecomi mi enzacon0gr adosensent i dohor ar i oy bar r i doat r avésde60gr ados. Pr i vat e Sub Bt nDr aw_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nDr aw. Cl i ck Di m myPenAsPen myPen=NewPen( Dr awi ng. Col or . Bl ue,5) Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs myGr Gr aphi cs. Dr awPi e( myPen,50, 50,150, 150, 0, 60) EndSub Lai magendesal i daescomosemuest r aenl aFi gur a30. 3
Fi gur a30. 3
Lección 3+ visuales: ,ellenar -ormas con Color Enl ecci onesant er i or es,hemosapr endi docómodi buj arr ect ángul o,el i pse,cí r cul o, pol í gonoyelpast elconsól ocont or nos.Enest al ecci ón,vamo mosamost r ar l ecómo l l enarl asf or masconcol or es,f or masosi mpl ement esól i dosenBasi c2015.Tr es mét odosvi sual esqueseut i l i zanpar al l enarf or massonFi l l Rect angl e,Fi l l El l i pse, Fi l l Pol ygonyFi l l Pi efindel l enarl asf or masant er i or escon. Encol or ,t enemosque cr earelobj et odelcepi l l oconl asi gui ent esi nt axi s: myBr ush=NewSol i dBr ush( Col or . myCol or ) DondemyCol orpuedeserdecual qui ercol orcomoelr oj o,azul ,ama mar i l l oymá más.
Ust ednot i enequepr eocupar seacer cadel osnombr esdel oscol or esdebi doa queelI nt el l i Sensemost r ar ál oscol or esdel apal abr acl avedecol or . 31.1 elleno y di,ujo de un ret)n*ulo on olor
EnVi sualBasi c2015,l asi nt axi spar al l enarunr ect ángul oconelcol ordefini dopor elobj et ocepi l l oes:myGr Gr aphi cs. Fi l l Rect angl e( myBr ush,0,0,150,150) Ej empl o31. 1 Pr i vat e Sub Bt nDr aw_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nDr aw. Cl i ck Di m myPenAsPen Di m myBr ushAsBr ush Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs myPen=NewPen( Dr awi ng. Col or . Bl ue,5) myBr ush=NewSol i dBr ush( Col or . Cor al ) myGr aphi cs. Dr awRect angl e( myPen,65,50,150,150) myGr Gr aphi cs. Fi l l Rect angl e( myBr ush,65,50,150,150) EndSub Lasal i daescomosemuest r aenl aFi gur a31. 1
Fi gur a31. 1 *Tengaencuent aquesiseomi mi t el al í neamyGr aphi cs. Dr awRect angl e( myPen, 65,50,150,150) ,obt endr áunr ect ángul osól i dosi ncont or no,comosemuest r aen l aFi gur a31. 2
Fi gur a31. 2 31.2 de relleno y di,ujo de una elipse on olor
Lasi nt axi spar al l enarunael i pseconelcol ordefini doporelobj et ocepi l l oes: myGr Gr aphi cs. Fi l l El l i pse( myBr ush,0,0,150,150) Pr i vat e Sub Bt nDr aw_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nDr aw. Cl i ck Di m myPenAsPen Di m myBr ushAsBr ush Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs myPen=NewPen( Dr awi ng. Col or . Bl ue,5) myBr ush=NewSol i dBr ush( Col or . Cor al ) myGr Gr aphi cs. Dr awEl l i pse( myPen,50,50,180,100) myGr Gr aphi cs. Fi l l El l i pse( myBr ush,50,50,180,100)
EndSub Lai nt er f azdesal i daescomosemuest r aenl aFi gur a31. 3
Fi gur a31. 3 *Siseomi t eelmyGr Gr aphi cs. Dr awEl l i pse( myPen,50,50,180,100) ,obt endr áuna el i psesól i dasi ncont or no.
31.3 de relleno y di,ujo un pol+*ono de olor
Lasi nt axi spar al l enarunpol í gonoconelcol ordefini doporelobj et ocepi l l oes: myGr Gr aphi cs. Fi l l Pol ygon( myBr ush,myPoi nt s) Ej empl o31. 3 Pr i vat e Sub Bt nDr aw_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nDr aw. Cl i ck Di m myPenAsPen Di m myBr ushAsBr ush Di m AAsNewPoi nt ( 70,10)
Di m BAsNewPoi nt ( 170,50) Di m CAsNewPoi nt ( 200,150) Di m DAsNewPoi nt ( 140,200) Di m myPoi nt sAsPoi nt ( )={ A,B,C,D} myPen=NewPen( Dr awi ng. Col or . Bl ue,5) myBr ush=NewSol i dBr ush( Col or . Cor al ) Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs myGr aphi cs. Dr awPol ygon( myPen,myPoi nt s) myGr Gr aphi cs. Fi l l Pol ygon( myBr ush,myPoi nt s) EndSub Lai nt er f azdesal i daescomosemuest r aenl aFi gur a31. 4
Fi gur a31. 4 *Siseomi mi t el al í neamyGr aphi csdr awPol ygon ( myPen,myPoi nt s) ,obt endr áun pol í gonosi ncont or no
31.4 de relleno y di,ujo una empanada
Lasi nt axi spar al l enarunaempanadaconelcol ordefini doporelobj et ocepi l l oes: myGr Gr aphi cs. Fi l l Pi e( myBr ush,X,Y,wi dt h,hei ght ,St ar t Angl e,SweepAngl e) Ej empl o31. 4 Pr i vat e Sub Bt nDr aw_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nDr aw. Cl i ck Di m myPenAsPen Di m myBr ushAsBr ush Di m myGr aphi csAsGr aphi cs=Me Me. Cr eat eGr Gr aphi cs myPen=NewPen( Dr awi ng. Col or . Bl ue,5) myBr ush=NewSol i dBr ush( Col or . Cor al ) myGr Gr aphi cs. Dr awPi e( myPen,30,40,150,150,0,60) myGr Gr aphi cs. Fi l l Pi e( myBr ush,30,40,150,150,0,60) EndSub
Lasal i daescomosemuest r aenl aFi gur a31. 5
Fi gur a31. 5
Lección 32: tili/ación del tempori/ador Ti meresuncont r oli nt er esant eyút i lenVi sualBasi c2015.Puedeserut i l i zado par a cr earapl i caci ones bási cas que est án r el aci onados t i emp mpo.Porej emp mpl o, puedeut i l i zarelt empor i zadorpar acr earun r el oj ,un cr onómet r o,undadocon ani maci ónymu muchomás.Ti meresuncont r olocul t oen t i emp mpo de ej ecuci ón,al i gualque elmot orde un coche.I l ust r ar emo mos eluso de t emp mpor i zadorusando al gunosej emp mpl os. 32.1 Creai#n de un reloj di*ital
Par acr earelr el oj ,enpr i merl ugari ni ci arunnuevopr oyect oenVi sualBasi c2015y sel ecci oneunanuevaapl i caci ónpar aWi ndows.Puededar l ealpr oyect ocual qui er nombr equedesee,per ovamo mosal l ama mar l oMyCl ock.Camb mbi eelt ext odelFor m1 par aMyCl ockenl avent anadepr opi edades.Añadi relcont r olTi meralf or mul ar i o haci endodobl ecl i cenélenl acaj adeher r ami ent as.A cont i nuaci ón,i nser t eun cont r oldeet i quet aenelf or mul ar i o.Cambi arelt amañodef uent edel aet i quet aa cual qui ert amañoquedeseeyest abl ecerl aal i neaci óndef uent epar asercent r o medi o.Ant es de que nos ol vi demos,t amb mbi én deber á est abl ecerl a pr opi edad I nt er valdelcont r olTi mera1000,l oquer eflej auni nt er val odeunsegundo( 1 uni dad es 1 mi l i segundo) . Recuer de que debe est abl ecer l a pr opi edad Maxi mi zeBoxdeFor m1enf al separ aqueelusuar i onopuedeamp mpl i arelr el oj .Por úl t i mo,est abl ecerl apr opi edadEnabl eddelcont r olTi merenTr uepar aqueelr el oj comi mi enzaaf unci onart anpr ont ocomo mosecar gue. Ahor a,ust edest ál i st opar al acodi ficaci ón.Enr eal i dadser í aunasor pr esaquel o que necesi t apar acr earun r el ojessol ame ment eun códi go de unasol al í nea,es d e c i r : Label 1. Text=Ti meOf Of Day *Ti meOf Day( )esunaf unci ónbási cadeVi sual2015i ncor por adaquedevuel vel a hor aact ualhoyenbaseal ahor adelsi st emadelor denador .
Haga cl i cen elcont r oldelTempor i zadorei nt r oduzca elcódi go de segur i dad, como mosemuest r aacont i nuaci ón: Pr i vat e Sub Ti mer 1_Ti ck( ByVal sender As Syst em. m. Obj ect , ByVal e As Syst em. m. Event Ar gs)Handl esTi mer 1. Ti ck Lbl Rel oj . Text=Ti meOf Day EndSub
Fi gur a32. 1 32.2 Creai#n de un ron#metro
Podemo moscr earun cr onóme met r o si mpl e usando elcont r olTi meren Vi sualBasi c 2015.I ni ci arunnuevopr oyect oyelnombr edecr onómet r o.Cambi eelt í t ul oFor m1 par aCr onómet r o.I nser t arelcont r oldet empor i zadorenelf or mul ar i oyest abl ezca sui nt er val ode1000queesi gualaunsegundo.Ademásdeeso,est abl ecerl a pr opi edadEnabl edaFal set emp mpor i zadorpar aquenocome menzar áacont arcuando se i ni ci a elpr ogr ama.I nser t et r esbot onesycambi arsus nombr es a Bt nSt ar t , Bt nSt op y bt nResetr espect i vame ment e.Cambi arsus t ext os a " I ni ci o" ," St op"y " Reset "enconsecuenci a.Ahor a,i nt r oduzcaelcódi godel asi gui ent emaner a: Pr i vat e Sub Bt nSt ar t _Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nSt ar t . Cl i ck Ti mer 1. Enabl ed=Tr ue EndSub Pr i vat eSubTi mer 1_Ti ck( senderAsOb Obj ect ,eAsEvent Ar gs)Handl esTi mer 1. Ti ck Lbl Rel oj . Text=Val ( Lbl Rel oj . Text )+1 EndSub Pr i vat e Sub Bt nSt op_Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nSt op. Cl i ck
Ti mer 1. Enabl ed=Fal se EndSub Pr i vat e Sub Bt nReset _Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nReset . Cl i ck Lbl Rel oj . Text=0 EndSub
Fi gur a32. 2 32.3 Creai#n de un ado i*ital
Podemoscr earundadodi gi t al ef áci l ment eut i l i zandoelr el ojpr ogr amador .Par a cr earundado,l oquenecesi t apar agener arnúmer osal eat or i osusandol af unci ón Rnd.Rndgener anúmer osent r e0y1.Lasi gui ent ei nst r ucci ón gener anúmer os al eat or i osde1a6 n=I nt( 1+Rnd( )*6) Enelcódi go,sei nt r oducel avar i abl em par acont r ol arl al ongi t uddet i empodel pr ocesodel ami mi naci ón.Sim esma mayorque1000,ent onceselpr ocesodel ami mi nado sedet endr ámedi ant eelest abl eci mi ent odel apr opi edadenabl edt empor i zadoren Fal so.Aj ust eeli nt er val odelt emp mpor i zadora10,demodoqueelnúmer ocambi a cada0, 01segundos.
Elcódi go Publ i cCl assFor m1 Di m n,m AsI nt eger Pr i vat e Sub Ti mer 1_Ti ck( senderAs Obj ect ,e As Event Ar gs)Handl es Ti mer 1. Ti ck m =m +10 I fm <1000Then n=I nt ( 1+Rnd( )*6) Lbl Di ce. Text=n El se Ti mer 1. Enabl ed=Fal se m =0 EndI f EndSub Pr i vat e Sub Bt nRol l _Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nRol l . Cl i ck Ti mer 1. Enabl ed=Tr ue EndSub EndCl ass Ej ecut arelpr ogr ama mapr oduceundadoconl osnúme mer oscamb mbi andor ápi dament e quesedet i eneenunnúmer odet er mi nado.Lai nt er f azescomo mosemu muest r aenl a Fi gur a31. 3
Fi gur a32. 3
Lección 33: Creación de animaciones Aunque Vi sualBasi c2015 es un l enguaj e de pr ogr ama maci ón di señado par al a cr eaci óndeot r asapl i caci onesi ndust r i al esdenegoci oy,quepuedeserut i l i zado par acr earl aani maci ón.Enl al ecci ónant er i or ,enr eal i dadhemosapr endi doa cr earl aani maci ónusandoelt emp mpor i zador .Dehecho,l ospr ogr ama masquehemos cr eadoenl al ecci ónant er i or ,t al escomoelcr onómet r oyl osdadosdi gi t al esson pr ogr ama masani mados.Enest al ecci ón,vamo mosademost r arquel ospr ogr ama masde ani maci ónmá másavanzados. 33.1 Creai#n de moimiento
Podemo moscr earunobj et ocont empor i zadordemovi mi ent ocont i nuo.Elmovi mi ent o puedeserdei zqui er daader echaodear r i baaabaj oodemovi mi ent odi agonal . Pr i mer o,i nser t arun cuadr o de i magen en elf or mul ar i o.En l a vent ana de pr opi edadesdelcuadr odei magen,sel ecci onel apr opi edaddel ai magenyhaga cl i cpar ai mpor t arun ar chi vode i magende l osdi sposi t i vosde al macenami mi ent o t al escomo moeldi scodur o,l auni daddel apl uma maodeDVD.Hemo mosi nser t adouna i magen.Después,i nser t e un cont r olTi meren elf or mul ar i o y est abl ezca su pr opi edaddei nt er val oa100,l oqueequi val ea0, 1segundos.Porúl t i mo,agr egue dosbot onesal af or ma,elnombr ede unode el l oscomo moAni mat eBt nyelot r o como mo St opBt n,y camb mbi arpar a que muest r et ext o par a ani mary det ener r espect i vame ment e. Hacemo mos uso de l a pr opi edad i zqui er da delcuadr o de i magen par a cr earel movi mi ent o.Pi ct ur eBox.Lef tsi gni fical adi st anci adelcuadr odei magendesdeel bor dei zqui er dodelf or mul ar i o.Ahor ahaga cl i cenelcont r olTi meryescr i bael si gui ent ecódi go: Publ i cCl assFor m1 Pr i vat e Sub Ti mer 1_Ti ck( senderAs Obj ect ,e As Event Ar gs)Handl es Ti mer 1. Ti ck I fPi ct ur eBox1. Lef t
EndSub Pr i vat e Sub Ani mat eBt n_Cl i ck( senderAsObj ect ,e AsEvent Ar gs)Handl es Ani mat eBt n. Cl i ck Ti mer 1. Enabl ed=Tr ue EndSub Pr i vat e Sub St opBt n_Cl i ck( senderAs Obj ect ,e As Event Ar gs)Handl es St opBt n. Cl i ck Ti mer 1. Enabl ed=Fal se EndSub EndCl ass Lai nt er f azdet i empodeej ecuci ón.
Fi gur a33. 1 Enelcódi goant er i or ,Me. Wi dt hr epr esent aelanchodelf or mul ar i o.Sil adi st anci a delcuadr odei magendel ai zqui er daesmenorquel aanchur adel af or ma,se añadeunval orde10par al adi st anci adelcuadr odei magendelbor dei zqui er do cadavezqueelpasodelt emp mpor i zador ,ocada0, 1segundosenest eej emp mpl o. Cuandol adi st anci adelcuadr odei magendesdeelbor dei zqui er doesi gualal a anchur adel af or ma,l adi st anci adesdeelbor dei zqui er doseest abl eceen0,el cualsemueveelobj et oPi ct ur eBoxalbor dei zqui er doyl uegomoveral ai zqui er da denuevo,porl ot ant ocr eaunmovi mi ent oosci l ant edei zqui er daader echa.Hay quei nser t arunbot ónpar adet enerelmovi mi ent o.Elcódi goes: Ti mer 1. Enabl ed=Fal se Par a ani marelobj et o Pi ct ur eBox,i nser t amo mos un bot ón e i nt r oduzca elcódi go siguiente: Ti mer 1. Enabl ed=Tr ue 33.2 Creai#n de una *r)&a de los dados
Enl ecci onesant er i or es,hemosapr endi docómocr eargr áficosydi buj arobj et osen elf or mul ar i o.Ahor a vamosa ut i l i zarl osconoci mi ent ospr evi ospar a cr earuna ani maci óndadosgr áficasut i l i zandot empor i zador . Enest epr ogr ama,hayquei nser t arunt emp mpor i zadorypongasui nt er val ode100, l oquesi gni ficaquel osdi buj osseact ual i zacada0, 1segundos.A cont i nuaci ón, i nser t aruncuadr odei magenqueseut i l i zacomo mol asuper fici edeundado.Por úl t i mo,añadi runbot ónycambi arsut ext oconRol l .Enelmar codelpr ocedi mi ent o det empor i zadorsub,cr eamoselobj et oGr aphi csyelobj et odel apl umasi gui endo l ospr ocedi mi ent osquehemosapr endi doenl ecci onesant er i or es.Acont i nuaci ón, ut i l i zamosunbucl eDoyl aest r uct ur aSel ectCasepar adespl azar seat r avésde l assei ssuper fici esde l osdados.Par a cr earsei scasosalazar ,ut i l i zamosl a si nt axi sn=I nt( 6*Rnd( ) )+1.Podemosdet enerelbucl emedi ant el ai nt r oducci ón de unavar i abl etyelbucl ehast aquel acondi ci ón.La condi ci ón est abl ecemo mos aquíest >1000,puedeut i l i zarcual qui erfigur aquedesea. Elcódi go
Pr i vat e Sub Bt nRol l _Cl i ck( sender As Obj ect , e As Event Ar gs) Handl es Bt nRol l . Cl i ck Ti mer 1. Enabl ed=Tr ue EndSub Pr i vat eSubTi mer 1_Ti ck( senderAsOb Obj ect ,eAsEvent Ar gs)Handl esTi mer 1. Ti ck Di m tAsI nt eger t=0 Do MyPi cBox. Ref r esh( ) Di m nAsI nt eger Di m myPenAsPen myPen=New Pen( Dr awi ng. Col or . Dar kTur quoi se,10) Di m myGr aphi csAsGr aphi cs=My MyPi cBox. Cr eat eGr Gr aphi cs n=I nt ( 6*Rnd( ) )+1 Sel ectCasen Case1 myGr Gr aphi cs. Dr awEl l i pse( myPen,80,80,10,10) Case2 myGr Gr aphi cs. Dr awEl l i pse( myPen,40,40,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,120,120,10,10) Case3 myGr Gr aphi cs. Dr awEl l i pse( myPen,40,40,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,80,80,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,120,120,10,10) Case4
myGr Gr aphi cs. Dr awEl l i pse( myPen,40,40,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,120,40,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,40,120,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,120,120,10,10) Case5 myGr Gr aphi cs. Dr awEl l i pse( myPen,40,40,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,120,40,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,80,80,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,40,120,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,120,120,10,10) Case6 myGr Gr aphi cs. Dr awEl l i pse( myPen,40,40,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,120,40,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,40,80,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,120,80,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,40,120,10,10) myGr Gr aphi cs. Dr awEl l i pse( myPen,120,120,10,10) EndSel ect t=t+1 LoopUnt i lt>1000 Ti mer 1. Enabl ed=Fal se EndSub Lai nt er f azdet i emp mpodeej ecuci ónescomosemuest r aenl aFi gur a33. 2
Fi gur a33. 2 33.3 Creai#n de una m)5uina tra*aperras
Enest epr ogr ama,añadi most r escuadr osdei magen,unt emp mpor i zador ,unbot óny unaet i quet a.Aj ust eeli nt er val odelt empor i zadora10,l oquesi gni fica quel as i mágenesseact ual i zar áncada0, 01segundos.Enelcódi go,hemosdei nt r oduci r cuat r ovar i abl esm, m,a,byc,dondeseut i l i zam par adet enerelt empor i zadorya,b, cseut i l i zanpar agener ari mágenesalazarut i l i zandoelI ntsi nt axi s( 1+Rnd( )*3) .Par acar garl asi mágenes,seut i l i zal asi gui ent esi nt axi s: Pi ct ur eBox. I mage=I mage. Fr omFi l e( Rut adelar chi vodei magen) Empl eamoselSi. . .Ent oncesest r uct ur apar acont r ol arelt empor i zadoryelSel ect Case . . .. . End Sel ecci one l a est r uct ur a par a gener arl asi mágenesalazar .La et i quet aseut i l i zapar amost r arelmensaj edel osr esul t ados.
Elcódi go Publ i cCl assFor m1 Di m m,a,b,cAsI nt eger Pr i vat eSubBt nSpi n_Cl i ck( senderAsObj ect ,eAsEvent Ar gs)Handl esBt nSpi n. Cl i ck Ti mer 1. Enabl ed=Tr ue EndSub Pr i vat eSubTi mer 1_Ti ck( senderAsObj ect ,eAsEvent Ar gs)Handl esTi mer 1. Ti ck m =m +10 I fm <1000Then a=I nt ( 1+Rnd( )*3) b=I nt ( 1+Rnd( )*3) c=I nt ( 1+Rnd( )*3) Sel ectCasea Case1 Pi ct ur eBox1. I mage=I mage. Fr omFi l e( “ C: \ User s\ JuanAyal a\ Pi ct ur es\ Fr esa. j pg” ) Case2 Pi ct ur eBox1. I mage=I mage. Fr omFi l e( “ C: \ User s\ JuanAyal a\ Pi ct ur es\ Uvas. j pg” ) Case3 Pi ct ur eBox1. I mage=I mage. Fr omF mFi l e(“ C: \ User s\ JuanAyal a\ Pi ct ur es\ Manzana. j pg” ) EndSel ect
Sel ectCaseb Case1 Pi ct ur eBox2. I mage=I mage. Fr omFi l e( “ C: \ User s\ JuanAyal a\ Pi ct ur es\ Fr esa. j pg” ) Case2 Pi ct ur eBox2. I mage=I mage. Fr omFi l e( “ C: \ User s\ JuanAyal a\ Pi ct ur es\ Uvas. j pg” ) Case3 Pi ct ur eBox2. I mage=I mage. Fr omF mFi l e(“ C: \ User s\ JuanAyal a\ Pi ct ur es\ Manzana. j pg” ) EndSel ect Sel ectCasec Case1 Pi ct ur eBox3. I mage=I mage. Fr omFi l e( “ C: \ User s\ JuanAyal a\ Pi ct ur es\ Fr esa. j pg” ) Case2 Pi ct ur eBox3. I mage=I mage. Fr omFi l e( “ C: \ User s\ JuanAyal a\ Pi ct ur es\ Uvas. j pg” ) Case3 Pi ct ur eBox3. I mage=I mage. Fr omF mFi l e(“ C: \ User s\ JuanAyal a\ Pi ct ur es\ Manzana. j pg” ) EndSel ect
El se Ti mer 1. Enabl ed=Fal se m =0 I fa=bThen Lbl Msg. Text=“ Buenasuer t e!Ganast e$200! ” El seI fa=cThen Lbl Msg. Text=“ Buenasuer t e!Ganast e$500! ”
El seI fb=cThen Lbl Msg. Text=“ Buenasuer t e!Ganast e$1000! ” El seI fa=bAndb=cThen Lbl Msg. Text=“ Bot e!Ganast e$1, 000, 000! ” El se Lbl Msg. Text=“ Si nsuer t e,I nt ént al odenuevo” EndI f EndI f EndSub EndCl Cl ass
Lai nt er f azdet i empodeej ecuci ónsemuest r aenl aFi gur a33. 3
Fi gur a33. 3
Lección 34: Creación de bases de datos 34.1 6ntrodui#n a la ,ase de datos en 7isual 8asi 2019
Ennuest r avi dacot i di ana,nosocupamo mosde var i osdat ost al escomo monombr es, di r ecci ones,eldi ner o,l af echa,cot i zaci onesdebol sa,est adí st i casymuchomás. Siust ed est á en elnegoci oot r abaj arcomo un pr of esi onal ,ust ed t i ene que manej araún más dat os.Porej emp mpl o,un médi co necesi t a par ar eal i zarun segui mi ent ode l ai nf or maci ón per sonalymédi cade l os paci ent es,t al escomo mo nombr es,di r ecci ones,númer os de t el éf ono,asícomo mo l ect ur as de l a pr esi ón ar t er i al ,l ect ur asdeazúcarenl asangr e,ant ecedent esqui r úr gi cos,medi cament os pr escr i t osenelpasadoymá más.Porot r ol ado,l asemp mpr esasnor mal ment et i enen quegest i onargr ancant i daddedat osr el at i vosal ospr oduct osycl i ent es.Todos est os dat os deben seror gani zadosen unabasede dat ospar al af aci l i dadde gest i óndedat os. Enelpasado,l agent eporl ogener alt r at anl osdat osdef or mamanualcomo moel usodet ar j et asycar pet as.Si nembar go,enelact ualent or nogl obalr i t mor ápi doy er adel ai nf or maci ón,yanoesf act i bl epar agest i onarl osdat osdef or mamanual . Lamayor í adel osdat ossegest i onanut i l i zandol ossi st emasdegest i óndebases de dat os basadas en l ai nf or mát i ca.Si st ema mas de gest i ón de bases de dat os basados en comp mput ador as pueden manej armuchos dat os más r ápi do y más efici ent equel osser eshumanoshacen.Conl al l egadadel ar edyl ast ecnol ogí as deI nt er net ,l osdat ossepuedengest i onarani vell ocalyr emot o.Las compañí as gener al ment er eal i zan gr andesi nver si onesensi st emasdegest i ónde basesde dat osconelfindeej ecut arl asor gani zaci onesdema maner aefici ent eyeficaz. Si st ema mas de gest i ón de bases de dat os se ut i l i zan por l o gener alen el f unci onami mi ent odesi st ema madenómi na,si st ema madei nvent ar i o,si st emadepago,el si st ema ma de gest i ón de pedi dos,si st ema ma de gest i ón de r el aci ones con cl i ent es ( CRM)ymá máscont abi l i dad.Al gunosdel ossi st ema masdegest i óndebasesdedat os comer ci al es( DBMS)sonOr acl e,Mi cr osof tSQLSer veryMi Mi cr osof tAccess.
34.2 Creai#n de una apliai#n de ,ase de datos en 7isual 8asi 2019
Unsi st ema madegest i óndebasededat osnor mal ment eseocupa deal macenar , modi ficaryext r aeri nf or maci óndeunabasededat os.Tamb mbi énsepuedeañadi r , edi t aryel i mi narr egi st r osdel abasededat os.Si nemb mbar go,unDBMSpuedeser muydi f í ci ldemanej arporgent ecomú mún uhombr esde negoci osqueno t i enen ant ecedent es t ecnol ógi cos.Af or t unadame ment e,podemos cr earapl i caci ones de bases de dat os f áci l es de usar par a manej ar l os t r abaj os menci onados ant er i or ment e con elDBMS ej ecut an en segundo pl ano.Uno de l os mej or es pr ogr ama masquepuedencr earest asapl i caci onesdebasededat osnoesot r oque Vi sualBasi c2015. Vi sualBasi c2015ut i l i zaADO. NETpar amanej arbasesdedat os.ADO. NETesl a úl t i mat ecnol ogí adebasededat osdeMi cr osof t ,quepuedet r abaj arconmuchos ot r os si st ema masde gest i ón de basesde dat osavanzadas,t al escomo mo Mi cr osof t SQL Ser ver .En est al ecci ón,vamo mos a desar r ol l arcódi gosque hacen uso de Mi cr osof tSQLSer ver2015,porl ot ant o,esnecesar i ot enerMi cr osof tSQLSer ver 2012i nst al ado ensuPC,puededescar garMi cr osof tSQLSer ver2012Expr ess par a conexi ón de ht t ps: / / www. mi cr osof t . com/ esmx/ downl oad/ det ai l s. aspx? i d=29062. Par acomenzaraconst r ui relpr oyect odebasededat osenVi sualBasi c2015,el l anzami mi ent odeVi sualBasi c2015.Sepuedenombr arasupr oyect ocomo mobasede dat osdelpr oyect o1ol oqueseaelnombr equedeseal l ama mar .A cont i nuaci ón, camb mbi el a pr opi edad Textdelf or mul ar i o pr edet er mi nado a cont act os ya que est ar emo mosconst r uyendo unabasede dat osde l al i st ade cont act os.Hayunos pocosobj et osde ADO. NET queser equi er en par aconst r ui rl abasede dat os. Exi st en:
•
Sql Connect i on -par aconect ar seaunaf uent ededat osenSQLSer ver Da t a T abl e-a l macenardat ospar apar al anavegaci ónyl amani pul aci ón
•
Dat aAdapt er -par al l enarunDat aReader
•
Losobj et osant esme menci onadosper t enecenalespaci odenomb mbr esSyst em. m. Dat ay Syst em. Xml .Porl ot ant o,t enemosque hacerr ef er enci aael l osen elpr i nci pi o
ant es de que podamos t r abaj arcon el l os.Par a hacerr ef er enci a alobj et o ADO. NET,el i j apr oyect odelmenúacont i nuaci ón,sel ecci onePr oyect o,después pr opi edadesde basede dat os… par amost r arl aspr opi edadesdelpr oyect o.A cont i nuaci ón,enl afichaRef er enci aspar amost r arl asr ef er enci asact i vaspar ael pr oyect o,comosemuest r aenl aFi gur a34. 1
Fi gur a34. 1 En vi r t ud de l os espaci os de nomb mbr es i mpor t ados,asegúr ese syst em. m. dat a, Syst em. Dat a.SQLCl i entse sel ecci onan,del ocont r ar i ol osr evi se.Despuésde haberhecho est o debe hacercl i c en elbot ón Guar dart odo en l a bar r a de her r ami ent asyl uegovol veralI DEdeVi sualBasi c2015. Sepr ocedeacr earl aconexi ónconelar chi vodeor i gendebasededat osenl a si gui ent el ecci ón.
Lección 35: Creación de la cone(ión de bases de datos 39.1 Creai#n de la onexi#n a una ,ase de datos on :O.;ET : O.;ET
EnVi sualBasi c2015,t enemo mosquecr earunaconexi ónaunabaseant esdepoder accederasusdat os.Ant esdeempezar ,vamo mosacr earunanuevabasededat os. Puest oqueest amo mosut i l i zandoSQLSer ver2012como moelmot ordebasededat os, vamo mosaut i l i zarMi cr osof tManagementSt udi oexpr esodecr earunabasededat os conl aext ensi óndemdf .Vamo mosal l ama maraest ear chi vodebasededat oscomo mo t est . mdf .Despuésdecr earl abasededat os,const r ui runat abl adel l amadasde cont act os y cr eardos camp mpos y nomb mbr ar l os Nomb mbr eCont act o y elEst ado, r espect i vame ment e.I nt r oduci runospocosdat osenl at abl ayhagacl i cenGuar dar t odopar aguar darl osdat os.Ahor aest amo mosl i st ospar aconect ar seaest enuevo dat abase.ADO. NET of r ece una ser i e de obj et os de conexi ón,t al es como mo Ol eDbConnect i on ,Sql Connect i on y más.Ol Ol eDbConnect i on se ut i l i za par a accederal osdat osOLEDB como moMi cr osof tAccessmi mi ent r asSql Connect i on se ut i l i za par a accedera l osdat ospr opor ci onadosporelser vi dorMi cr osof tSQL. Puest oquevamo mosat r abaj arconl abasededat osSQLennuest r oej emp mpl o,vamo mos aut i l i zarelobj et oSql Connect i on. Par ai ni ci al i zarl avar i abl eaunnuevoobj et oSql Connect i on,seut i l i zal asi gui ent e si nt axi s: Pr i vat eMy MyCnAsNewSql Connect i on Despuésdehabercr eadol ai nst anci adelobj et oSql Connect on,elsi gui ent epaso es est abl ecer una conexi ón con l af uent e de dat os ut i l i zando el SQL Connect i onSt r i ngpr opi edad.Lasi nt axi sesl asi gui ent e: MyCn. Connect i onSt r i ng = “ Dat a Sour ce=TOSHI HI BAPC\ C\ SQL QL2012; At t achDbFi l ename=C: \ Pr ogr am Fi l es\ Mi cr osof t SQL QL Ser ver \ MSSQL11. SQL2012\ MSSQL\ DATA\ Test . mdf ;”&_ “ UserI nst ance=Tr ue; I nt egr at edSecur i t y=SSPI ” *
Ti enequecamb mbi arl ar ef er enci aalser vi dorSQL( TOS OSHI BAPC \SQL2012) ,así como mo l ar ut a alar chi vo de base de dat os Test . mdf .Después de est abl ecer conexi ón con l abasede dat os,puedeabr i rl abasede dat oscon l a si gui ent e si nt axi s: MyCn. Open( ) 39.2 atos %o,lando en :O.;ET
Elest abl eci mi ent o de l a conexi ón a una basede dat os en Vi sualBasi c2015 ut i l i zando Sql Connect i on porsísol a no va a pr esent arcual qui ercosa cosas t angi bl es alusuar i o mani pul ar l os dat os hast a que añadi mos obj et os más per t i nent esyescr i bi rl oscódi gosper t i nent espar aelpr oyect o. Elsi gui ent epasoescr earunai nst anci adel aSql Dat aAdpat erennuest r ocódi go par a que podamo mos l l enarelDat aTabl e con l os dat os de l af uent e de dat os. Además,t ambi énesnecesar i opar acr earunai nst anci adel aDat aTabl e.Apar t e deeso,t ambi éndebecr earunai nst anci adel aSql CommandBui l derqueseut i l i za par amani pul arl osdat oscomo moact ual i zarybor r ardat osen l at abl ade dat osy envi arl oscambi osal af uent ededat os.Losest adosson: Pr i vat eMy MyDat AdpAsNewSql Dat aAdapt er Pr i vat eMy MyCmdBl dAsNewSql Comm mmandBui l der Pr i vat eMy MyDat aTblAsNewDat aTabl e Ademásdeeso,t enemosquedecl ar arunavar i abl epar ar eal i zarunsegui mi ent o del afil aact ualdelusuar i odent r odel at abl adedat os.Ladecl ar aci ónes: Pr i vat eMy MyRowPosi t i onAsI nt eger=0 Después de habercr eado elant er i orde l os obj et os,es necesar i oi ncl ui rl as si gui ent esdecl ar aci onesenelevent oFor m_LoadSubpar acome menzaral l enarel Dat aTabl econl osdat osdel af uent ededat os.Losest adossonl ossi gui ent es: MyDat Adp = New Sql Dat aAdapt er( " SELECT CT * FROM Cont act os" ,MiCN) MyCmdBl d=NuevaSql Comm mmandBui l der( MyDat Adp)MyDat Adp. Fi l l( MyDat aTbl )
Despuésdel l enarelDat aTabl e,t enemosqueescr i bi rcódi gopar aaccederal os dat os.Par aaccederal osdat osenelDat aTabl esi gni ficaquenecesi t amo mospar a accederal asfil asdel at abl a.Podemosl ogr arest omedi ant eelobj et oDat aRo Row. Porej empl o,podemosescr i bi rl osi gui ent epar aaccederal apr i mer afil ade l a t abl a y pr esent arl os dat os a t r avés de dos cuadr os de t ext o con elnombr e t xt Nameyt xt St at er espect i vament e: Di m MyDat aRowAsDat aRow=My MyDat aTbl . Rows( 0) Di m st r Name meAsSt r i ng Di m st r St at eAsSt r i ng st r Name me=My MyDat aRow( “ Cont act Name me” ) st r St at e=MyDat aRow( w( “ St at e” ) t xt Name. Text=st r Name. ToSt r i ng t xt St at e. Text=st r St at e. ToSt r i ngMe. showRecor ds( ) *Seest áhaci endor ef er enci aLosdoscamp mposaquísonNomb mbr eCont act oyel Est ado.Í ndi ceNot a0si gni ficapr i mer afil a. showRecor ds( )esun pr ocedi mi ent osub cr eado par amost r arl osdat osen l os cuadr osdet ext o.Elcódi goeselsi gui ent e: Pr i vat eSubshowRecor ds( ) I fMyDat aTbl . Rows. Count=0Then t xt Name. Text=“ ” t xt St at e. Text=“ ” Exi tSub EndI f t xt Name. Text=MyDat aTbl . Rows( MyRowPosi t i on) ( “ Cont act Name me” ) . ToSt r i ng t xt St at e. Text=MyDat aTbl . Rows( MyRowPosi t i on) ( “ St at e” ) . ToSt r i ng EndSub Elcódi go Publ i cCl assFor m1 Pr i vat eMy MyDat AdpAsNewSql Dat aAdapt er Pr i vat eMy MyCmdBl dAsNewSql Comm mmandBui l der
Pr i vat eMy MyDat aTblAsNewDat aTabl e Pr i vat eMy MyCnAsNewSql Connect i on Pr i vat eMy MyRowPosi t i onAsI nt eger=0 Pr i vat e Sub For m1_Load( sender As Obj ect , e As Event Ar gs) Handl es MyBase. Load MyCn. Connect i onSt r i ng = “ Dat a Sour ce=TOSHI HI BAPC\ C\ SQL QL2012; At t achDbFi l ename=C: \ Pr ogr am Fi l es\ Mi cr osof t SQL QL Ser ver \ MSSQL11. SQL2012\ MSSQL\ DATA\ Test . mdf ;”&_ “ UserI nst ance=Tr ue; I nt egr at edSecur i t y=SSPI ” MyCn. Open( ) MyDat Adp=NewSql Dat aAdapt er ( “ Sel ect *f r om Cont act s” ,MyCn) MyCmdBl d=NewSql Comm mmandBui l der ( MyDat Adp) MyDat Adp. Fi l l ( MyDat aTbl ) Di m MyDat aRowAsDat aRow=My MyDat aTbl . Rows( 0) Di m st r Name meAsSt r i ng Di m st r St at eAsSt r i ng st r Name me=My MyDat aRow( “ Cont act Name me” ) st r St at e=MyDat aRow( w( “ St at e” ) Txt Name me. Text=st r Name. ToSt r i ng Txt St at e. Text=st r St at e. ToSt r i ng Me. showRecor ds( ) EndSub Pr i vat eSubshowRecor ds( ) I fMyDat aTbl . Rows. Count=0Then t xt Name. Text=“ ” t xt St at e. Text=“ ” Exi tSub EndI f t xt Name me. Text=MyDat aTbl . Rows( MyRowPosi t i on) ( “ Cont act Name me” ) . ToSt r i ng
Txt St at e. Text=MyDat aTbl . Rows( MyRowPosi t i on) ( “ St at e” ) . ToSt r i ng EndSub EndCl ass Lai nt er f azdesal i da
Fi gur a35. 1 isutiremos #mo nae*ar por la ,ase de datos y manipular datos en la si*uiente lei#n.
Lección 30: 1avegación % edición de datos En leiones anteriores usted !a aprendido #mo onetarse a una ,ase de datos as+ omo llenar la ta,la on los datos en 7isual 8asi 2019 a!ora de,er) aprender a manipular los datos en la ,ase de datos. "a manipulai#n de los datos si*ni&a a
ltimo re*istro y de uelta al primer ,ot#n primera reord.T!e neesitamos neesitamos rear es para el usuario nae*ar nae*ar por el primer re*istro. re*istro. %odemos %odemos utiliza utilizarr el texto texto del ,ot#n ,ot#n ?? para para indiar indiar al usuario usuario 5ue es el el ,ot#n ,ot#n para desplazarse al primer re*istro y el texto del ,ot#n @@ para moer al >ltimo re*istro. :dem)s podemos utilizar el texto del ,ot#n ,ot#n ? para moer al re*istro anterior y el texto del ,ot#n@ para moer al si*uiente re*istro. El #di*o para moer al primer re*istro es Ayo=%osition Ayo=%osition B 0 Ae.s!o=eordsD El #di*o para moer al re*istro anterior es 6 Ayo=%osition Ayo=%osition @ 0 T!en T !en Ayo=%osition Ayo=%osition B Ayo=%osition Ayo=%osition F 1 Ae.s!o=eordsD End 6 El #di*o para pasar al si*uiente re*istro es 6 Ayo=%osition ? AyataT,l.o=s.Count F 1D T!en Ayo=%osition Ayo=%osition B Ayo=%osition Ayo=%osition 1 Ae.s!o=eordsD End 6 El #di*o para moer al >ltimo re*istro es 6 AyataT,l.o=s.Count @ 0 T!en Ayo=%osition Ayo=%osition B AyataT,l.o=s.Count F 1 Ae.s!o=eordsD End 6 3'.2 Edii#n *uardar a
%uede editar ual5uier re*istro aya !asta el re*istro y am,iar los alores de los datos. Sin em,ar*o es neesario *uardar los datos despuHs de la edii#n de ellos. Es neesario utilizar el mHtodo de atualizai#n de la S5lata:dapter para *uardar los datos. El #di*o es 6 AyataT,l.o=s.Count ?@ 0 T!en AyataT,l.o=sAyo=%ositionDIContat;ameJD B txt;ame.Text AyataT,l.o=sAyo=%ositionDIstateJD B txtState.Text Ayat:dp.UpdateAyataT,lD End 6 Usted puede tam,iHn altimo el usuario podr+a 5uerer ,orrar los datos. El #di*o para eliminar los datos es 6 AyataT,l.o=s.Count ?@ 0 T!en AyataT,l.o=sAyo=%ositionD.eleteD Ayat:dp.UpdateAyataT,lD Ayo=%osition Ayo=%osition B 0 Ae.s!o=eordsD End 6 "a interaz del pro*rama ,)sio de 7isual 2019 la ,ase de datos se muestra a ontinuai#n El #di*o %u,li Class Korm1 %riate Ayat:dp :s ;e= S5lata:dapter %riate AyCmd8ld :s ;e= S5lCommand8uilder %riate AyataT,l :s ;e= ataTa,le ataTa,le %riate AyCn :s ;e= S5lConnetion %riate Ayo=%osition Ayo=%osition :s 6nte*er B 0 %riate Su, Korm1LKormClosedsender :s O,jet e :s KormClosedEent:r*sD $andles Ae.KormClosed Ae.KormClosed AyCn.CloseD AyCn.isposeD
End Su, %ri %riat ate e Su, Su, Korm1 orm1L" L"oa oad dse send nder er :s O,je O,jet t e :s Een Eent: t:r* r*sD sD $and $andle les s Ay8ase."oad AyCn.C n.Conne nnetionS ionSttrin* in* B Iat ata Sour ureBTOS$6 S$68:M%C M%CNS" S"2012P :tta!,KilenameBCN%ro*ram KilesNAirosot S " SererNASS"11.S"2012NASS"N:T:NTest.mdP J Q L IUser 6nstaneBTrueP6nte*rated 6nstaneBTrueP6nte*rated SeurityBSS%6J AyCn.OpenD Ayat:dp B ;e= S5lata:dapterISeletR S5l ata:dapterISeletR rom ContatsJ AyCnD AyCmd8ld B ;e= S5lCommand8uilderAyat:dpD Ayat:dp.KillAyataT,lD im Ayatao= :s atao= atao= B AyataT,l.o=s0D im str;ame :s Strin* im strState :s Strin* str;ame B Ayatao=IContat;ameJD Ayatao=IContat;ameJD strState B Ayatao Ay atao=IStateJD =IStateJD Txt;ame.Text Txt;ame.Text B str;ame.ToStrin* str;ame.ToStrin* TxtState.Text TxtState.Text B strState.ToStrin* strState.ToStrin* Ae.s!o=eordsD End Su, %riate Su, s!o=eor s! o=eordsD dsD 6 AyataT,l.o=s.Count B 0 T!en txt;ame.Text B IJ txtState.Text B IJ Exit Su, End 6 txt;ame.Text B AyataT,l.o=sAyo=%ositionDIContat;ameJD.ToStrin* TxtState.Text TxtState.Text B AyataT,l.o=sAyo=% AyataT,l.o=sAyo=%ositionDIStateJD.T ositionDIStateJD.ToStrin* oStrin* End Su, %riat %riate e Su, 8tnAo 8tnAoeK eKirst irstLCl LCli isen sender der :s O,jet O,jet e :s Eent:r Eent:r*sD *sD $andle $andles s 8tnAoeKirst.Cli Ayo=%osition Ayo=%osition B 0 Ae.s!o=eordsD End Su, %riat %riate e Su, 8tnAo 8tnAoe% e%re reLC LCli lise sende nderr :s O,jet O,jet e :s Eent:r Eent:r*sD *sD $andle $andles s 8tnAoe%re.Cli 6 Ayo=%osition Ayo=%osition @ 0 T!en T !en Ayo=%osition Ayo=%osition B Ayo=%osition Ayo=%osition F 1 Ae.s!o=eordsD End 6 End Su,
%riat %riate e Su, 8tnAo 8tnAoe;e e;extL xtLCli Clis sende enderr :s O,jet O,jet e :s Eent:r Eent:r*sD *sD $andles $andles 8tnAoe;ext.Cli 6 Ayo=%osition ? AyataT,l.o=s.Count F 1D T!en Ayo=%osition Ayo=%osition B Ayo=%osition Ayo=%osition 1 Ae.s!o=eordsD End 6 End Su, %riat %riate e Su, 8tnAo 8tnAoe"a e"astL stLCli Clis sende enderr :s O,jet O,jet e :s Eent: Eent:r*s r*sDD $andle $andles s 8tnAoe"ast.Cli 6 AyataT,l.o=s.Count @ 0 T!en Ayo=%osition Ayo=%osition B AyataT,l.o=s.Count Ay ataT,l.o=s.Count F 1 Ae.s!o=eordsD End 6 End Su, %ri %riat ate e Su, Su, 8tn: 8tn:dd ddLC LCli li s sen ende derr :s O,je O,jet t e :s Een Eent: t:rr*sD *sD $and $andle les s 8tn:dd.Cli im Ay;e=o= :s atao= atao= B AyataT,l.;e=o=D AyataT,l.o=s.:ddAy;e=o=D Ayo=%osition Ayo=%osition B AyataT,l.o=s.Count Ay ataT,l.o=s.Count F 1 Ae.s!o=eordsD End Su, %riate %riate Su, 8tneleteLC 8tneleteLCli8 li8y7 y7al al sender :s O,jet O,jet 8y7al 8y7al e :s Eent:r*sD Eent:r*sD $andles 8tnelete.Cli 6 AyataT,l.o=s.Count ?@ 0 T!en AyataT,l.o=sAyo=%ositionD.eleteD Ayo=%osition Ayo=%osition B 0 Ayat:dp.UpdateAyataT,lD Ae.s!o=eordsD End 6 End Su, %riat %riate e Su, 8tnSa 8tnSaeLC eLCli li8 8y7 y7al al sender sender :s O,jet O,jet 8y7al 8y7al e :s Eent: Eent:r*s r*sDD $andles 8tnSae.Cli 6 AyataT,l.o=s.Count ?@ 0 T!en AyataT,l.o=sAyo=%ositionDIContat;ameJD B Txt;ame.Text AyataT,l.o=sAyo=%ositionDIstateJD B TxtState.Text Ayat:dp.UpdateAyataT,lD End 6 End Su, End Class
Ki*ura 3'.1
Lección 3": arte del edicio de aplicación de consola + En 7isual 8asi 2019 se puede onstruir apliai#n de onsola adem)s de aplia apliaio iones nes de indo= indo=s s Korms Korms.. %ara %ara empezar empezar a rear rear una aplia apliai# i#n n de onsola iniie 7isual 8asi 2019 y ele*ir apliai#n de onsola en la nuea entana del proyeto omo se muestra en la Ki*ura 3(.1 a ontinuai#n
Ki*ura 3(.1 :pliai#n de onsola Conserar Conserar el nom,re nom,re omo apliai#n apliai#n de onsola onsola 1 o am,iarlo por el nom,re de su elei#n. :!ora !a*a li en :pliai#n de onsola para 5ue apareza la entana de #di*o omo se muestra en la Ki*ura 3(.2 a ontinuai#n
Ki*ura 3(.2 El C#di*o de la entana
La vent ana de códi go consol a comp mpr ende módul os,en l osque elmódul o pr i nci palesel módul o1. %ara omenzar omenzar a esri,i esri,irr #di*o #di*o para para la aplia apliai# i#n n de onsola onsola esri,a esri,a su #di*o en el medio Su, Aain D y End su, omo se muestra a ontinuai#n Su, Aain D Tu Tu odi*o End Su, Ejemplo 3(.1 7isualizai#n de un mensaje El si*uie si*uient nte e pro* pro*ra rama ma mostr mostrar ar) ) un mens mensaj aje e 8ien 8iene enid nido o a 7isua 7isuall 8asi 8asi %ro*ramai#n 2019 onsola. "a uni#n para mostrar un uadro de mensaje es As*8ox D. 6ntrodue el #di*o de la si*uiente manera
Ki*ura 3(.1 Ejeutar el pro*rama y la salida es omo se muestra en la Ki*ura 3(.9 a ontinuai#n
Ki*ura 3(.9 "a salida salid a Ejemplo 3(.2 Un pro*rama en "azo %uede esri,ir un pro*rama mediante el ,ule o Until ... .loop estrutura omo se muestra a ontinuai#n
Su, AainD im x :s Sin*le o Until x @ 10 xBx1 "oop As*8oxIT!e alue o x isJ Q xD End Su,
"a salida es El alor de x es 11 7amos amos a apren aprender der m)s m)s de pro* pro*ra rama mai i#n #n de la onso onsola la en las las pr# pr#xima ximas s leiones.
Lección 3$: arte del edicio de aplicación de consola 2 En esta lei#n amos a aprender a rear 2019 apliaiones de onsola de 7isual 8asi utilizando el ... Else 6K..T$E; estrutura de ontrol y el Selet Case estrutura de ontrol. 3-.1 Uso de Si ... .T!en ... .Else El Si ... Entones ... .Else estrutura es la si*uiente 6 ondii#n T!en 78 expressions Else 78 expressions End 6 Ejemplo 3$.+
El si*uiente #di*o utiliza ... Si ... ."ue*o estrutura de ontrol .Else para ealuar la respuesta introduida por el usuario. Su, AainD im x y z total :s Sin*le im &rstnum :s Strin* im seondnum :s Strin* im sum :s Strin* &rstnum B 6nput8oxI6ntroduza primer ;>meroJD ;>meroJD seondnum B 6nput8oxI6ntroduza se*undo ;>meroJD sum B 6nput8oxI"a respuesta esJD total B 7al&rstnumD 7alseondnumD 6 total B 7alsumD T!en As*8oxICorretoJD Else As*8oxI6norretoJD End 6 End Su,
Ki*ura 3-.1 Ki*ura 3-.3 3-.2 Uso de Selet Case "a estrutura de ontrol Selet Case eal>a una expresi#n para arios alores. Selet Case se pre&ere uando existen m>ltiples ondiiones. Seleione la estrutura de ontrol de asos es mostrar a ontinuai#n Case alue1 8lo5ue de una o m)s instruiones 78 Case alue2 8lo5ue de una o m)s instruiones 78 . Case Else 8lo5ue de una o m)s instruiones End Selet Ejemplo 3-.2 Esta apliai#n permite al usuario introduir una ali&ai#n del examen y se most mostra rar) r) el resu resulta ltado do en un uad uadro ro de mens mensaj aje e omo omo se mues muestra tra en las las &*uras si*uientes
Ejemplo 3$.2
El #di*o Aodule Aodule1 Su, AainD im Cali&ai#n :s Strin* Cali&ai#n B 6nput8oxI6ntroduza 6nput8oxI6ntroduza la ali&ai#n 0M10DJD Selet Case Cali&ai#n Case 10 As*8oxIExelenteJD Case / As*8oxIAuy ,ienJD Case As*8oxI8ienJD Case ( As*8oxIe*ularJD Case 0 To ' As*8oxI$H!ale As*8oxI$H!ale pero mu!as mu!as *anasJD End Selet End Su, End Aodule "a salida
Ki*ura 3-.2