declaracion de variables2-2015

Upload: carlos

Post on 06-Jul-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Declaracion de Variables2-2015

    1/22

    DECLARACION DE VARIABLES2-2015

    Instrucción Dim (Visual Basic)Visual Studio 2015Otras versiones

    Declara y asigna espacio de almacenamiento para una o varias variables.

    Sintaxis

    [ ] [ accessmodifier ] [[ Shared ] [ Shadows ] | [ Static ]]

    [ ReadOnly ]

    Dim [ WithEvents ] variablelist

    Elementos

    Término Definición

    attributelist  Opcional.Vea la Lista de atributos.

    accessmodifier 

    Opcional.Puede ser una de las siguientes:

    • Public

    • Protected

    • Friend

    • Private

    • Protected Friend

    Vea iveles de acceso en Visual !asic.

    http://void%280%29/http://void%280%29/https://msdn.microsoft.com/es-bo/library/543zhtf7.aspxhttps://msdn.microsoft.com/es-bo/library/9dc6we3z.aspxhttps://msdn.microsoft.com/es-bo/library/8050kawf.aspxhttps://msdn.microsoft.com/es-bo/library/08w05ey2.aspxhttps://msdn.microsoft.com/es-bo/library/wx059ey1.aspxhttps://msdn.microsoft.com/es-bo/library/76453kax.aspxhttps://msdn.microsoft.com/es-bo/library/76453kax.aspxhttp://void%280%29/http://void%280%29/https://msdn.microsoft.com/es-bo/library/543zhtf7.aspxhttps://msdn.microsoft.com/es-bo/library/9dc6we3z.aspxhttps://msdn.microsoft.com/es-bo/library/8050kawf.aspxhttps://msdn.microsoft.com/es-bo/library/08w05ey2.aspxhttps://msdn.microsoft.com/es-bo/library/wx059ey1.aspxhttps://msdn.microsoft.com/es-bo/library/76453kax.aspx

  • 8/17/2019 Declaracion de Variables2-2015

    2/22

    Shared Opcional.Vea "#ared.

    Shados Opcional.Vea "#ado$s.

    Static Opcional.Vea "tatic.

    !ead"nl# Opcional.Vea %eadOnly.

    $ithE%entsOpcional.&specifica 'ue éstas son variables de ob(eto 'ue #acen referencia ainstancias de una clase 'ue puede provocar eventos.Vea )it#&vents.

    variablelist  %e'uerido.Lista de variables 'ue se declara en esta instrucción.

    variable * + variable ... ,

    -ada variable tiene la sintais y las partes siguientes:

    variablename * / * boundslist , 0 , * 1s * e$ , datatype* )it# 2 * .propertyname 3 propinitiali4er * + ... , , 5 , , * 3 initiali4er ,

    Parte Descripción

    variablename%e'uerido.ombre de la variable.Vea  ombres de elementosdeclarados /Visual !asic0.

    boundslist Opcional.Lista de l6mites de cada dimensión de una variable dematri4.

    &eOpcional.-rea una nueva instancia de la clase cuando see(ecuta la instrucción Dim.

    datatype Opcional.Tipo de datos de la variable.

    https://msdn.microsoft.com/es-bo/library/zc2b427x.aspxhttps://msdn.microsoft.com/es-bo/library/zc2b427x.aspxhttps://msdn.microsoft.com/es-bo/library/1h3wytf6.aspxhttps://msdn.microsoft.com/es-bo/library/1h3wytf6.aspxhttps://msdn.microsoft.com/es-bo/library/z2cty7t8.aspxhttps://msdn.microsoft.com/es-bo/library/z2cty7t8.aspxhttps://msdn.microsoft.com/es-bo/library/z2b2c2ka.aspxhttps://msdn.microsoft.com/es-bo/library/aty3352y.aspxhttps://msdn.microsoft.com/es-bo/library/81ed9a62.aspxhttps://msdn.microsoft.com/es-bo/library/81ed9a62.aspxhttps://msdn.microsoft.com/es-bo/library/81ed9a62.aspxhttps://msdn.microsoft.com/es-bo/library/zc2b427x.aspxhttps://msdn.microsoft.com/es-bo/library/1h3wytf6.aspxhttps://msdn.microsoft.com/es-bo/library/z2cty7t8.aspxhttps://msdn.microsoft.com/es-bo/library/z2b2c2ka.aspxhttps://msdn.microsoft.com/es-bo/library/aty3352y.aspxhttps://msdn.microsoft.com/es-bo/library/81ed9a62.aspxhttps://msdn.microsoft.com/es-bo/library/81ed9a62.aspx

  • 8/17/2019 Declaracion de Variables2-2015

    3/22

  • 8/17/2019 Declaracion de Variables2-2015

    4/22

    na variable 'ue se declara en el nivel de módulo+ fuera de cual'uier procedimiento+ es unavariable miembro o campo.Las variables miembro est8n en 8mbito a lo largo de su clase+estructura o módulo.na variable 'ue se declara dentro de un procedimiento es una variablelocal .Las variables locales sólo est8n en 8mbito dentro de su procedimiento o blo'ue.

    Los siguientes modificadores de acceso se utili4an para declarar variables fuera de un procedimiento: PulicProtected+ Friend+ Protected Friend y Pri%ate.Para obtener m8sinformación+ vea iveles de acceso en Visual !asic.

    La palabra clave Dim es opcional y se suele omitir si especifica cual'uiera de los siguientesmodificadores: PulicProtected+ Friend+ Protected Friend+ Pri%ate+ Shared+ Shados+Static+ !ead"nl# o $ithE%ents.

    V!)ublic ma$imumllowed s Double

    )rotected &riend current*ser(ame s Strin"

    )rivate salary s Decimal

    Static runnin"+otal s !nte"er

    "i "*tion Ex*licit est8 activado /valor predeterminado0+ el compilador re'uiere unadeclaración para cada variable 'ue utili4a.Para obtener m8s información+ vea Option &plicit/7nstrucción+ Visual !asic0.

    Es*eci+ica un %alor inicial

    Puede asignar un valor a una variable cuando se crea.&n un tipo de valor+ un inicializador  seutili4a para proporcionar una epresión 'ue se va a asignar a la variable.La epresión se debeevaluar como una constante 'ue se puede calcular en tiempo de compilación.

    V!Dim ,uantity s !nte"er - ./

    Dim messa"e s Strin" - 01ust started0

    "i se especifica un iniciali4ador y no se especifica un tipo de datos en una cl8usula ,s+ lainferencia de tipos se utili4a para inferir el tipo de datos del iniciali4ador.&n el e(emplosiguiente+ num; y num< est8n fuertemente tipados como enteros.&n la segunda declaración+ lainferencia de tipos deduce el tipo del valor =.

    V!2 *se e$3licit ty3in"%

    Dim num. s !nte"er - 4

    2 *se local ty3e inference%

    Dim num5 - 4

    La inferencia de tipos se aplica en el nivel de procedimiento.o se aplica fuera de un procedimiento en una clase+ estructura+ módulo o interfa4.Para obtener m8s información sobre

    https://msdn.microsoft.com/es-bo/library/76453kax.aspxhttps://msdn.microsoft.com/es-bo/library/y9341s4f.aspxhttps://msdn.microsoft.com/es-bo/library/y9341s4f.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/76453kax.aspxhttps://msdn.microsoft.com/es-bo/library/y9341s4f.aspxhttps://msdn.microsoft.com/es-bo/library/y9341s4f.aspxhttp://void%280%29/

  • 8/17/2019 Declaracion de Variables2-2015

    5/22

    la inferencia de tipos+ vea Option 7nfer /instrucción0 y 7nferencia de tipo de variable local/Visual !asic0.

    Para obtener información acerca de lo 'ue sucede cuando un tipo de datos o iniciali4ador no seespecifica+ consulte Valores y tipos de datos predeterminados m8s adelante en este tema.

    Puede utili4ar un inicializador de objeto para declarar instancias de tipos anónimos y connombre.&l código siguiente crea una instancia de una clase "tudent y utili4a a un iniciali4adorde ob(eto para iniciali4ar las propiedades.

    V!Dim student. s (ew Student With 6%&irst - 07ichael08

    %'ast - 0+uc9er0:

    Para obtener m8s información sobre los iniciali4adores de ob(eto+ vea -ómo: Declarar unob(eto usando un iniciali4ador de ob(eto /Visual !asic0+ 7niciali4adores de ob(eto: Tipos connombre y anónimos /Visual !asic0 y Tipos anónimos /Visual !asic0.

    Declarar %ariales m-lti*les

    "e pueden declarar varias variables en una instrucción de declaración si se especifica elnombre de variable de cada una+ y se sigue cada nombre de matri4 con paréntesis.Lasvariables m9ltiples se separan con comas.

    V!Dim last+ime8 ne$t+ime8 all+imes; s Date

    "i declara m8s de una variable con una cl8usula ,s+ no puede proporcionar un iniciali4ador

     para ese grupo de variables.

    "e pueden especificar tipos de datos diferentes para variables diferentes utili4ando unacl8usula ,s independiente para cada variable declarada.Todas las variables toman el tipo dedatos especificado en la primera cl8usula ,s 'ue se encuentre después de su partevariablename correspondiente.

    V!Dim a8 b8 c s Sin"le8 $8 y s Double8 i s !nte"er

    2 a8 b8 and c are all Sin"le= $ and y are both Double

    .atricesPuede declarar una variable para contener una matriz + 'ue puede almacenar variosvalores.Para especificar 'ue una variable contiene una matri4+ incluya un paréntesisinmediatamente después de variablename.Para obtener m8s información sobre las matrices+vea >atrices en Visual !asic.

    https://msdn.microsoft.com/es-bo/library/bb384665.aspxhttps://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/7ee5a7s1.aspx#defaulthttps://msdn.microsoft.com/es-bo/library/bb531244.aspxhttps://msdn.microsoft.com/es-bo/library/bb531244.aspxhttps://msdn.microsoft.com/es-bo/library/bb385125.aspxhttps://msdn.microsoft.com/es-bo/library/bb385125.aspxhttps://msdn.microsoft.com/es-bo/library/bb385125.aspxhttps://msdn.microsoft.com/es-bo/library/bb384767.aspxhttp://void%280%29/http://void%280%29/https://msdn.microsoft.com/es-bo/library/wak0wfyt.aspxhttps://msdn.microsoft.com/es-bo/library/bb384665.aspxhttps://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/7ee5a7s1.aspx#defaulthttps://msdn.microsoft.com/es-bo/library/bb531244.aspxhttps://msdn.microsoft.com/es-bo/library/bb531244.aspxhttps://msdn.microsoft.com/es-bo/library/bb385125.aspxhttps://msdn.microsoft.com/es-bo/library/bb385125.aspxhttps://msdn.microsoft.com/es-bo/library/bb384767.aspxhttp://void%280%29/http://void%280%29/https://msdn.microsoft.com/es-bo/library/wak0wfyt.aspx

  • 8/17/2019 Declaracion de Variables2-2015

    6/22

    "e puede especificar el l6mite inferior y superior de cada dimensión de una matri4.Para ello+incluya boundslist  dentro de los paréntesis.&n cada dimensión+ boundslist  especifica el l6mitesuperior y+ opcionalmente+ el l6mite inferior.&l l6mite inferior siempre es cero+ tanto si seespecifica como si no.-ada 6ndice puede variar de cero #asta el valor de su l6mite superior.

    Las dos instrucciones siguientes son e'uivalentes.-ada instrucción declara una matri4 de

  • 8/17/2019 Declaracion de Variables2-2015

    7/22

    V!Dim lon"rray; s 'on" - 6/8 .8 58 4:

    &n las matrices multidimensionales+ la iniciali4ación de cada dimensión est8 entre llaves en ladimensión eterior.Los elementos se especifican en orden de importancia de filas.

    V!Dim twoDimensions;8 s !nte"er - 66/8 .8 5:8 6./8 ..8 .5::

    Para obtener m8s información sobre los literales de matri4+ vea >atrices en Visual !asic.

    Valores # ti*os de datos *redeterminados

    La tabla siguiente describe los resultados de varias combinaciones de especificar el tipo dedatos y el iniciali4ador en una instrucción Dim.

    ETipo de datosespecificado

    E7niciali4adorespecificado

    &(emplo %esultado

     o o Dim 'ty

    "i Option strict est8 desactivado /valor predeterminado0+ la variable se establece en&othin.

    "i "*tion Strict est8 activada+ se produce unerror en tiempo de compilación.

     o "iDim 'ty 3C

    "i Option infer  est8 activado /valor predeterminado0+ la variable tiene el tipo dedatos de iniciali4adores.Vea 7nferencia de tipode variable local /Visual !asic0.

    "i "*tion In+er y "*tion Strict est8ndesactivadas+ la variable toma el tipo de datosde "ect.

    "i "*tion In+er est8 desactivada y "*tionStrict est8 activada+ se produce un error entiempo de compilación.

    "i o Dim 'ty 1s7nteger 

    La variable se iniciali4a con el valor predeterminado para el tipo de datos.-onsulte

    https://msdn.microsoft.com/es-bo/library/wak0wfyt.aspxhttps://msdn.microsoft.com/es-bo/library/wak0wfyt.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/zcd4xwzs.aspxhttps://msdn.microsoft.com/es-bo/library/bb384665.aspxhttps://msdn.microsoft.com/es-bo/library/bb384665.aspxhttps://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/wak0wfyt.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/zcd4xwzs.aspxhttps://msdn.microsoft.com/es-bo/library/bb384665.aspxhttps://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/bb384937.aspx

  • 8/17/2019 Declaracion de Variables2-2015

    8/22

    la tabla m8s adelante en esta sección.

    "i "iDim 'ty 1s7nteger 3 C

    "i el tipo de datos del iniciali4ador no es

    convertible al tipo de datos especificado+ se produce un error en tiempo de compilación.

    "i especifica un tipo de datos pero no especifica un iniciali4ador+ Visual !asic iniciali4a lavariable con el valor predeterminado de su tipo de datos.&n la tabla siguiente se muestran losvalores de iniciali4ación predeterminados.

    Tipo de datos Valor predeterminado

    Todos los tipos numéricos /incluso B#te y SB#te0 ?

    'har !inario ?

    Todas las referencias de tipo /incluidas "ect+Strin y todas las matrices0.

    &othin

    Boolean False

    date;

  • 8/17/2019 Declaracion de Variables2-2015

    9/22

    Declaración de procedimiento

    La variable se iniciali4a La variable de(a de eistir  

    &n un módulo La primera ve4 'ue se llama al procedimiento -uando el programa detienela e(ecución

    &n una clase o estructura+el procedimiento esShared

    La primera ve4 'ue se llama al procedimiento en una instanciaespec6fica o en la propia clase oestructura

    -uando el programa detienela e(ecución

    &n una clase o estructura+

    el procedimiento no esShared

    La primera ve4 'ue se llama al

     procedimiento en una instanciaespec6fica

    -uando la instancia se libera

     para la recolección deelementos no utili4ados

    ,triutos # modi+icadores

    "ólo se pueden aplicar atributos a las variables miembro+ no a las variables locales.n atributo proporciona información a los metadatos del ensamblado+ 'ue no son significativos para elalmacenamiento temporal como las variables locales.

    &n el nivel de módulo+ no se puede utili4ar el modificador Static para declarar variables

    miembro.&n el nivel de procedimiento+ no se puede utili4ar Shared+ Shados+ !ead"nl#+$ithE%ents ni un modificador de acceso para declarar variables locales.

    Puede especificar 'ué código puede tener acceso a una variable+ suministrando unaccessmodifier .Las variables miembro de clase y módulo /fuera de cual'uier procedimiento0tienen como valor predeterminado el acceso privado y las variables miembro de estructuratienen como valor predeterminado el acceso p9blico.Puede a(ustar sus niveles de acceso conlos modificadores de acceso.o puede utili4ar modificadores de acceso en variables locales/dentro de un procedimiento0.

    "olo se puede especificar $ithE%ents en variables miembro+ no en variables locales dentro de

    un procedimiento."i especifica $ithE%ents+ el tipo de datos de la variable debe ser un tipo declase concreto+ no "ect.o se puede declarar una matri4 con $ithE%ents.Para obtener m8sinformación sobre los eventos+ vea &ventos /Visual !asic0.

    &ota

    &l código eterno a una clase+ estructura o módulo debe calificar el nombre de una variablemiembro con el nombre de esa clase+ estructura o módulo.&l código eterno a un

    http://void%280%29/https://msdn.microsoft.com/es-bo/library/ms172877.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/ms172877.aspx

  • 8/17/2019 Declaracion de Variables2-2015

    10/22

     procedimiento o blo'ue no puede #acer referencia a ninguna variable local dentro de ese procedimiento o blo'ue.

    3ierar recursos administrados&l recolector de elementos no utili4ados de .&T Frame$orI dispone de recursosadministrados sin ninguna codificación adicional en la partición."in embargo+ puede for4ar laeliminación de un recurso administrado en lugar de esperar el recolector de elementos noutili4ados.

    "i una clase consume un recurso determinado valioso y suficiente /como una coneión de basede datos o un identificador de arc#ivos0+ puede 'ue no desee esperar #asta la siguienterecolección de elementos no utili4ados para limpiar una instancia de clase 'ue ya no seutili4a.na clase puede implementar la interfa4 7Disposable para proporcionar una manera de

    liberar recursos antes de una recolección de elementos no utili4ados.na clase 'ue implementaepone de esa interfa4 un método Dis*ose 'ue se puede llamar para obligar a los recursosvaliosos 'ue se producir8n liberar inmediatamente.

    La instrucción 4sin automati4a el proceso de ad'uirir un recurso+ de e(ecutar un con(unto deinstrucciones+ y después de eliminar de recursos."in embargo+ el recurso debe implementar lainterfa4 7Disposable .Para obtener m8s información+ vea sing /7nstrucción+ Visual !asic0.

    &n el e(emplo siguiente se declaran variables mediante la instrucción Dim con diversasopciones.

    V!2 Declare and initiali?e a 'on" variable%Dim startin"mount s 'on" - //

    2 Declare a variable that refers to a #utton obAect8

    2 create a #utton obAect8 and assi"n the #utton obAect

    2 to the variable%

    Dim switch#utton s (ew System%Windows%&orms%#utton

    2 Declare a local variable that always retains its value8

    2 even after its 3rocedure returns to the callin" code%

    Static totalSales s Double

    2 Declare a variable that refers to an array%

    Dim hi"h+em3erature;4. s !nte"er

    2 Declare and initiali?e an array variable that

    2 holds four #oolean chec9 values%

    Dim chec9Balues; s #oolean - 6&alse8 &alse8 +rue8 &alse:

    &l e(emplo siguiente muestra los n9meros primos entre ; y =?.&l 8mbito de las variableslocales se describe en comentarios de código.

    http://void%280%29/https://msdn.microsoft.com/es-bo/library/system.idisposable.aspxhttps://msdn.microsoft.com/es-bo/library/system.idisposable.aspxhttps://msdn.microsoft.com/es-bo/library/system.idisposable.aspxhttps://msdn.microsoft.com/es-bo/library/htd05whh.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/system.idisposable.aspxhttps://msdn.microsoft.com/es-bo/library/system.idisposable.aspxhttps://msdn.microsoft.com/es-bo/library/htd05whh.aspx

  • 8/17/2019 Declaracion de Variables2-2015

    11/22

    V!)ublic Sub 'ist)rimes;

      2 +he sb variable can be accessed only

      2 within the 'ist)rimes 3rocedure%

      Dim sb s (ew System%+e$t%Strin"#uilder;

      2 +he number variable can be accessed only

      2 within the &or%%%(e$t bloc9% different

      2 variable with the same name could be declared

      2 outside of the &or%%%(e$t bloc9%

      &or number s !nte"er - . +o 4/

      !f Chec9!f)rime;number - +rue +hen

      sb%33end;number%+oStrin" 0 0

      End !f

      (e$t

      Debu"%Write'ine;sb%+oStrin"

      2 Out3ut 5 4 F .. .4 .F .G 54 5G

    End Sub

    )rivate &unction Chec9!f)rime;#yBal number s !nte"er s #oolean

      !f number < 5 +hen

      Return &alse

      Else

      2 +he root and hi"hChec9 variables can be accessed

      2 only within the Else bloc9% Different variables

      2 with the same names could be declared outside of

      2 the Else bloc9%

      Dim root s Double - 7ath%S,rt;number

      Dim hi"hChec9 s !nte"er - Convert%+o!nt45;7ath%+runcate;root

      2 +he div variable can be accessed only within

      2 the &or%%%(e$t bloc9%

      &or div s !nte"er - 5 +o hi"hChec9

      !f number 7od div - / +hen

      Return &alse

      End !f

      (e$t

      Return +rue

      End !f

    End &unction

    &n el siguiente e(emplo+ se declara la variable speedValue en el nivel de clase.La palabra clavePri%ate se utili4a para declarar la variable.La variable es accesible a través del cual'uier

     procedimiento de la clase -ar .

    V!

      2 Create a new instance of a Car%

    Dim theCar s (ew Car;

    theCar%ccelerate;4/

    theCar%ccelerate;5/

    theCar%ccelerate;H

  • 8/17/2019 Declaracion de Variables2-2015

    12/22

    Debu"%Write'ine;theCar%S3eed%+oStrin"

    2 Out3ut @

    V!

      )ublic Class Car

      2 +he s3eedBalue variable can be accessed by

      2 any 3rocedure in the Car class%

      )rivate s3eedBalue s !nte"er - /

      )ublic ReadOnly )ro3erty S3eed; s !nte"er

      Iet

      Return s3eedBalue

      End Iet

      End )ro3erty

      )ublic Sub ccelerate;#yBal s3eed!ncrease s !nte"er

      s3eedBalue J- s3eed!ncrease

      End Sub

    End Class

    Vea tamin

    7nstrucción -onst /Visual !asic07nstrucción %eDim /Visual !asic0Option &plicit /7nstrucción+ Visual !asic0Option 7nfer /instrucción0Option "trict /7nstrucción0P8gina -ompilación+ DiseGador de proyectos /Visual !asic0Declaración de variable en Visual !asic

    >atrices en Visual !asic7niciali4adores de ob(eto: Tipos con nombre y anónimos /Visual !asic0Tipos anónimos /Visual !asic07niciali4adores de ob(eto: Tipos con nombre y anónimos /Visual !asic0-ómo: Declarar un ob(eto usando un iniciali4ador de ob(eto /Visual !asic07nferencia de tipo de variable local /Visual !asic0

    Declaración de %ariale en Visual BasicVisual Studio 2015

    Otras versiones

    na variable se declara para especificar su nombre y sus caracter6sticas.La instrucción dedeclaración para variables es 7nstrucción Dim /Visual !asic0."u ubicación y contenidodeterminan las caracter6sticas de la variable.

    http://void%280%29/https://msdn.microsoft.com/es-bo/library/cyxe49xw.aspxhttps://msdn.microsoft.com/es-bo/library/w8k3cys2.aspxhttps://msdn.microsoft.com/es-bo/library/y9341s4f.aspxhttps://msdn.microsoft.com/es-bo/library/bb384665.aspxhttps://msdn.microsoft.com/es-bo/library/zcd4xwzs.aspxhttps://msdn.microsoft.com/es-bo/library/fs91s003.aspxhttps://msdn.microsoft.com/es-bo/library/ke6sh835.aspxhttps://msdn.microsoft.com/es-bo/library/wak0wfyt.aspxhttps://msdn.microsoft.com/es-bo/library/bb385125.aspxhttps://msdn.microsoft.com/es-bo/library/bb384767.aspxhttps://msdn.microsoft.com/es-bo/library/bb385125.aspxhttps://msdn.microsoft.com/es-bo/library/bb531244.aspxhttps://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/7ee5a7s1.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/cyxe49xw.aspxhttps://msdn.microsoft.com/es-bo/library/w8k3cys2.aspxhttps://msdn.microsoft.com/es-bo/library/y9341s4f.aspxhttps://msdn.microsoft.com/es-bo/library/bb384665.aspxhttps://msdn.microsoft.com/es-bo/library/zcd4xwzs.aspxhttps://msdn.microsoft.com/es-bo/library/fs91s003.aspxhttps://msdn.microsoft.com/es-bo/library/ke6sh835.aspxhttps://msdn.microsoft.com/es-bo/library/wak0wfyt.aspxhttps://msdn.microsoft.com/es-bo/library/bb385125.aspxhttps://msdn.microsoft.com/es-bo/library/bb384767.aspxhttps://msdn.microsoft.com/es-bo/library/bb385125.aspxhttps://msdn.microsoft.com/es-bo/library/bb531244.aspxhttps://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/7ee5a7s1.aspx

  • 8/17/2019 Declaracion de Variables2-2015

    13/22

    Para las reglas de denominación de variables y consideraciones+ consulte ombres deelementos declarados /Visual !asic0.

    &i%eles de declaración

    Valor local # %ariales miemros

    na variable local es a'uella 'ue se declara dentro de un procedimiento.na variablemiembro es un miembro de un tipo de Visual !asicJ se declara en el nivel de módulo+ dentrode una clase+ estructura o módulo+ pero no dentro de ning9n procedimiento interno de esaclase+ estructura o módulo.

    Variales com*artidas # de instancias

    La categor6a de una variable miembro+ en una clase o estructura+ depende de 'ue la variableesté o no compartida. "i una variable se declara con la palabra clave "#ared+ es una variablecompartida+ y eiste en una 9nica copia compartida por todas las instancias de la clase oestructura.

    De lo contrario+ es una variable de instancia+ y se crea una copia independiente de ella paracada instancia de la clase o estructura.na copia determinada de una variable de instancia sóloest8 disponible en la instancia de la clase o estructura en 'ue se creó.&s independiente de unacopia de la variable de instancia en cual'uier otra instancia de la clase o estructura.

    Declarar el ti*o de datos

    La cl8usula 1s de la instrucción de declaración permite definir el tipo de datos o de ob(etos dela variable 'ue se est8 declarando."e puede especificar cual'uiera de los siguientes tipos parauna variable:

    • n tipo de datos b8sico+ como Boolean+ 3on o Decimal.

    • n tipo de datos compuesto+ como una matri4 o una estructura.

    • n tipo de ob(eto o clase+ definido en su aplicación o en otra aplicación

    • -lase de .&T Frame$orI+ como Label o Tet!o

    • n tipo de interfa4+ como 7-omparable o 7Disposable

    Puede declarar varias variables en la misma instrucción sin necesidad de repetir el tipo dedatos. &n las instrucciones siguientes+ las variables i+ (y I se declaran como tipo Inteer+ l y mcomo 3on+ y e y como Sinle:

    Dim i8 A8 9 s !nte"er

    https://msdn.microsoft.com/es-bo/library/81ed9a62.aspxhttps://msdn.microsoft.com/es-bo/library/81ed9a62.aspxhttps://msdn.microsoft.com/es-bo/library/81ed9a62.aspxhttp://void%280%29/http://void%280%29/http://void%280%29/https://msdn.microsoft.com/es-bo/library/zc2b427x.aspxhttps://msdn.microsoft.com/es-bo/library/zc2b427x.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/97f49yhb.aspxhttps://msdn.microsoft.com/es-bo/library/system.windows.forms.label.aspxhttps://msdn.microsoft.com/es-bo/library/system.windows.forms.textbox.aspxhttps://msdn.microsoft.com/es-bo/library/system.windows.forms.textbox.aspxhttps://msdn.microsoft.com/es-bo/library/system.icomparable.aspxhttps://msdn.microsoft.com/es-bo/library/system.idisposable.aspxhttps://msdn.microsoft.com/es-bo/library/81ed9a62.aspxhttps://msdn.microsoft.com/es-bo/library/81ed9a62.aspxhttp://void%280%29/http://void%280%29/http://void%280%29/https://msdn.microsoft.com/es-bo/library/zc2b427x.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/97f49yhb.aspxhttps://msdn.microsoft.com/es-bo/library/system.windows.forms.label.aspxhttps://msdn.microsoft.com/es-bo/library/system.windows.forms.textbox.aspxhttps://msdn.microsoft.com/es-bo/library/system.icomparable.aspxhttps://msdn.microsoft.com/es-bo/library/system.idisposable.aspx

  • 8/17/2019 Declaracion de Variables2-2015

    14/22

    2 ll three variables in the 3recedin" statement are declared as !nte"er%

    Dim l8 m s 'on"8 $8 y s Sin"le

    2 !n the 3recedin" statement8 l and m are 'on"8 $ and y are Sin"le%

    Para obtener m8s información acerca de tipos de datos+ consulte Tipos de datos en Visual!asic.Para obtener m8s información sobre ob(etos+ consulte Ob(etos y clases de Visual !asic y

    Programming $it# -omponents.

    In+erencia de ti*o de %ariale local

    La inferencia de tipos se usa para determinar los tipos de datos de las variables locales 'ue se#an declarado sin ninguna cl8usula ,s.&l compilador deduce el tipo de la variable a partir deltipo de la epresión de iniciali4ación.&sto permite declarar variables sin especificar un tipo deforma epl6cita.&n el e(emplo siguiente+ num; y num< est8n fuertemente tipados comoenteros.

    V!)ublic Sub inferenceE$am3le;

      2 *sin" e$3licit ty3in"%

      Dim num. s !nte"er - 4

      2 *sin" local ty3e inference%

      Dim num5 - 4

    End Sub

    "i desea utili4ar la inferencia de tipo de variable local+ "*tion In+er debe estar establecido en"n.Para obtener m8s información+ vea 7nferencia de tipo de variable local /Visual !asic0 y

    Option 7nfer /instrucción0.

    'aracter6sticas de %ariales declaradas

    &l período de duración de una variable representa el tiempo durante el cual la variable est8disponible para 'ue pueda ser utili4ada.&n general+ una variable eiste mientras el elemento'ue lo declara /como un procedimiento o clase0 siga eistiendo."i la variable no necesitaseguir eistiendo m8s all8 de la duración de su elemento contenedor+ no necesita #acer nadaespecial en la declaración."i la variable debe seguir eistiendo durante m8s tiempo 'ue suelemento contenedor+ puede incluir la palabra clave Static o Shared en su instrucción Dim.Para obtener m8s información+ vea Per6odo de duración en Visual !asic.

    &l ámbito de una variable est8 formado por todo código 'ue puede #acer referencia a lavariable sin tener 'ue calificar su nombre.&l 8mbito de una variable est8 determinado por laubicación en la 'ue se #aya declarado la variable.&l código de una región determinada puedeutili4ar las variables definidas en dic#a región sin necesidad de especificar los nombres de lasvariables.Para obtener m8s información+ vea Kmbito en Visual !asic.

    https://msdn.microsoft.com/es-bo/library/ffsdktda.aspxhttps://msdn.microsoft.com/es-bo/library/ffsdktda.aspxhttps://msdn.microsoft.com/es-bo/library/527aztek.aspxhttps://msdn.microsoft.com/es-bo/library/0ffkdtkf.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/bb384665.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/35styb3a.aspxhttps://msdn.microsoft.com/es-bo/library/1t0wsc67.aspxhttps://msdn.microsoft.com/es-bo/library/ffsdktda.aspxhttps://msdn.microsoft.com/es-bo/library/ffsdktda.aspxhttps://msdn.microsoft.com/es-bo/library/527aztek.aspxhttps://msdn.microsoft.com/es-bo/library/0ffkdtkf.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/bb384937.aspxhttps://msdn.microsoft.com/es-bo/library/bb384665.aspxhttp://void%280%29/https://msdn.microsoft.com/es-bo/library/35styb3a.aspxhttps://msdn.microsoft.com/es-bo/library/1t0wsc67.aspx

  • 8/17/2019 Declaracion de Variables2-2015

    15/22

    &l nivel de acceso de una variable es la etensión de código 'ue tiene permiso para teneracceso a ella.&l modificador de acceso /como Public /Visual !asic0 o Private /Visual !asic00'ue utili4a en la instrucción Dim es 'uien determina esto.Para obtener m8s información+ vea iveles de acceso en Visual !asic.

    claración de variables (integer, single, boolean...) Visual Basic. Dim. Ejemplos.

    Ejercicio resuelto (CU000!") 

    &scrito por >ario %. %ancel

    Resumen: Entrega nº8 de !urs" A#render a #r"gramar en V$sua Bas$! desde !er"%

    Codifcación aprenderaprogramar.com: CU00309A

    DECLARACI&N DE VARIABLES EN VIS'AL BASIC

    1 la #ora de declarar variables conviene seguir las pautas indicadas en el curso !ases de la programación nivel 7M de aprenderaprogramar.com y+ resumidamente:

    N &legir siempre el tipo de variable m8s sencillo posible.

    -onsideraremos 'ue el grado de sencille4 viene definido por la memoria re'uerida /a menormemoria re'uerida mayor es la sencille40. &sto redunda en un menor consumo de recursos delsistema y en una mayor rapide4 de las operaciones 'ue reali4a el ordenador.

    # $eali%ar declaraciones ordenadas & claras.

     

    # Evitar el uso del tipo Variant u 'bject en la medida de lo posible.

     

    https://msdn.microsoft.com/es-bo/library/9dc6we3z.aspxhttps://msdn.microsoft.com/es-bo/library/wx059ey1.aspxhttps://msdn.microsoft.com/es-bo/library/76453kax.aspxhttp://aprenderaprogramar.com/index.php?option=com_content&view=article&id=145:declaracion-de-variables-integer-single-boolean-visual-basic-dim-ejemplos-ejercicio-resuelto-cu00309a&catid=37:curso-aprender-a-programar-visual-basic-desde-cero&Itemid=61http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=145:declaracion-de-variables-integer-single-boolean-visual-basic-dim-ejemplos-ejercicio-resuelto-cu00309a&catid=37:curso-aprender-a-programar-visual-basic-desde-cero&Itemid=61https://msdn.microsoft.com/es-bo/library/9dc6we3z.aspxhttps://msdn.microsoft.com/es-bo/library/wx059ey1.aspxhttps://msdn.microsoft.com/es-bo/library/76453kax.aspxhttp://aprenderaprogramar.com/index.php?option=com_content&view=article&id=145:declaracion-de-variables-integer-single-boolean-visual-basic-dim-ejemplos-ejercicio-resuelto-cu00309a&catid=37:curso-aprender-a-programar-visual-basic-desde-cero&Itemid=61http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=145:declaracion-de-variables-integer-single-boolean-visual-basic-dim-ejemplos-ejercicio-resuelto-cu00309a&catid=37:curso-aprender-a-programar-visual-basic-desde-cero&Itemid=61

  • 8/17/2019 Declaracion de Variables2-2015

    16/22

    Visual Basic permite declarar variables en mltiples lneas una por lnea pero

    tambi*n varias variables en una lnea. Veamos ejemplos+

     

    E(#res$)n a*re+$ada E,u$+aente

    a) Dim i, j, -a) Dim i "s /nteger, j "s /nteger, -

    "s /nteger

    b) Dim i + Dim j +

    Dim -

    b) Dim i "s /nteger + Dim j "s

    /nteger + Dim - "s /nteger

    c) Dim i, j, - "s

    /nteger

    c) Dim i "s /nteger, j "s /nteger, -

    "s /nteger

    d) Dim i

      Dim j

      Dim -

    d) Dim i "s /nteger

      Dim j "s /nteger

      Dim - "s /nteger

    e) Dim i "s /nteger

      Dim j, -

    e) Dim i "s /nteger

      Dim j "s /nteger, - "s /nteger

    Las opciones a0+ b0+ c0+ d0+ e0 dan lugar a un mismo resultado. "e declaran tres variables tipo7nteger denominadas i+ (+ I. Las opciones a e0+ escritas de forma etendida+ también sonv8lidas y con el mismo resultado. osotros nos decantamos por usar opciones como la c0+donde en una misma l6nea apare4can variables de un tipo de forma abreviada+ ecepto la

    9ltima 'ue se pone etendida de forma aclaratoria+ y en las 'ue las variables de una mismal6nea tienen alg9n tipo de relación. Por e(emplo tratarse de contadores para bucles.

    Ten en cuenta 'ue la declaración Dim i+ (+ I 1s 7nteger no declara tres variables de tipo enterode forma correcta. &sta sintais es imprecisa y por tanto no debemos utili4arla. "eg9n laversión de Visual !asic 'ue estemos usando esto puede generar errores o problemas. -onvienetener cuidado a la #ora de reali4ar declaraciones de variables para evitar pr8cticas de este tipo.

  • 8/17/2019 Declaracion de Variables2-2015

    17/22

    na epresión como Dim i+ (Q+ IR e'uivale a Dim i 1s "ingle+ ( 1s 7nteger+ I 1s Long. &staepresión es v8lida+ aun'ue como #emos dic#o preferimos no declarar distintos tipos devariables en una misma l6nea.

     

    EERCICIO

     

    $eali%ar una declaración de variables para las siguientes propuestas de

    programas.

     

    a) Un programa ue muestra un mensaje de bienvenida.

     

    b) Un programa ue nos pide nuestra edad & nos muestra el a1o en ue nacimos.

     

    c) Un programa ue nos muestra el valor medio de tres magnitudes.

     

    d) Un programa ue trabaja con+ tres contadores para bucles, tres valores de

    tensión en una viga (de magnitud no conocida), valores de longitud de la viga,

    canto & anc2o & un valor interruptor ue permite o impide ue se muestren

    resultados.

     

    S"34'I7&

    a) Dim mensaje "s 3tring. 4ambi*n es v5lida la e6presión abreviada Dimmensaje7.

     

    b) Dim edad "s /nteger. 4ambi*n podemos usar la e6presión abreviada Dim edad

    .

     

  • 8/17/2019 Declaracion de Variables2-2015

    18/22

    3e podra de8nir otra variable llamada a1onacimiento segn el programador lo

    estime oportuno o no.

     

    c) Dim magnitud9:, magnitud;:, magnitud "s 3ingle

      Dim media "s 3ingle

     

    Semos utili4ado el tipo "ingle para cubrirnos las espaldas. o sabemos con 'ué tipo devalores vamos a traba(ar y por ello cogemos un tipo de variables bastante amplio como es el"ingle. Preferimos no coger Double si no es estrictamente necesario.

    Semos utili4ado dos l6neas pero sólo un tipo de variable EPor 'ué &l programador ordena ladeclaración de variables como estime m8s conveniente. &n este caso ordenamos valores parael c8lculoM en una l6nea y resultadosM en otra. %esulta m8s f8cil de leer y anali4ar 'ue estandotodo en una sola l6nea.

     

    d0 Dim iQ+ (Q+ I 1s 7nteger 

      Dim tension;+ tensionuestraresultados 1s !oolean.

     

    "iempre ser8 preferible usar las epresiones tension;+ tension< y tension= antes 'ue t;+ t< y t='ue resultan m8s confusas. "in embargo+ este tipo de decisiones siempre 'uedan a criterio del programador.

     

    CON.ENIDO / ASINACI&N DE CON.ENIDO A VARIABLES

  • 8/17/2019 Declaracion de Variables2-2015

    19/22

  • 8/17/2019 Declaracion de Variables2-2015

    20/22

    Dim " "s 3ingle

     

    Dim " "s 3tring

     

    " < @Aa& uemejorar

     

    Dim " "s 3tring

     

    " < @9; coc2es

     

    Dim " "s 3tring

     

    " < @3on >,?

    euros

     

    Dim 3alario "s /nteger

     

    " < 0>00

     

    Dim 3alario "s 3ingle

     

    " < 0>00

     

    Dim 3alario "s 3tring

     

    " < @3e asignar5n

    0>00 euros

    Dim ", B, 3uma

    " < > ;

    B < ;

    3uma < " B

    3uma valdr5 !

    Dim ", B, C, D, " < >

  • 8/17/2019 Declaracion de Variables2-2015

    21/22

  • 8/17/2019 Declaracion de Variables2-2015

    22/22

     

    "upone 'ue 1 valga cero+ ya 'ue si no se asigna un valor a ! ésta tiene por contenido el valor por defecto+ es decir+ cero. U ! e'uivale en este caso a U ?+ 'ue vale cero.