Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Visualbasicpalabrasclave
Visualbasicpalabrasclave
AddressOf
Alias
And
AndAlso
As
Boolean
ByRef
Byte
ByVal
Call
Case
Catch
CBool
CByte
CChar
CDate
CDec
CDbl
Char
CInt
Class
CLng
CObj
Const
Continue
CSByte
CShort
CSng
CStr
CType
CUInt
CULng
CUShort
Date
Decimal
Declare
Default
Delegate
Dim
DirectCast
Do
Double
Each
Else
ElseIf
End
EndIf
Enum
Erase
Error
Event
Exit
False
Finally
For
Friend
Function
Get
GetType
Global
GoSub
GoTo
Handles
If
Implements
Imports
In
Inherits
Integer
Interface
Is
IsNot
Let
Lib
Like
Long
Loop
Me
Mod
Module
MustInherit
MustOverride
MyBase
MyClass
Namespace
Narrowing
New
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Next
Not
Nothing
NotInheritable
NotOverridable
Object
Of
On
Operator
Option
Optional
Or
OrElse
Overloads
Overridable
Overrides
ParamArray
Partial
Private
Property
Protected
Public
RaiseEvent
ReadOnly
ReDim
REM
RemoveHandler
Resume
Return
SByte
Select
Set
Shadows
Shared
Short
Single
Static
Step
Stop
String
Structure
Sub
SyncLock
Then
Throw
To
True
Try
TryCast
TypeOf
Variant
Wend
UInteger
ULong
UShort
Using
When
While
Widening
With
WithEvents
WriteOnly
Xor
#Const
#Else
#ElseIf
#End
#If
&
&=
*=
/=
\=
^=
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
And
Realiza una conjuncin lgica entre dos expresiones Boolean o una conjuncin bit a bit entre dos
expresiones numricas.
result = expression1 And expression2
Partes:
result
Obligatorio. Cualquier expresin numrica o de tipo Boolean. Para la comparacin
booleana, result es la conjuncin lgica de dos valores Boolean. Para las operaciones bit a
bit,result es un valor numrico que representa la conjuncin bit a bit de dos modelos de bits
numricos.
expression1
Obligatorio. Cualquier expresin numrica o de tipo Boolean.
expression2
Obligatorio. Cualquier expresin numrica o de tipo Boolean.
Descripcin:
Para la comparacin booleana, result es True si y slo si expression1 y expression2 se evalan
como True. La tabla siguiente ilustra cmo se determina el argumento result.
Si expression1 es:
Y expression2 es
El valor de result es
True
True
True
True
False
False
False
True
False
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
False
False
False
Aplicado a valores numricos, el operador And realiza una comparacin bit a bit de los bits
ubicados de manera idntica en dos expresiones numricas y establece el bit correspondiente
enresult de acuerdo con la siguiente tabla:
Si el bit de expression1 es...
Tipos de datos
Si los operandos constan de una expresin Boolean y una expresin numrica, Visual Basic
convierte la expresin Boolean a un valor numrico (1 para True y 0 para False), y realiza una
operacin bit a bit.
Para una comparacin booleana, el tipo de datos del resultado es Boolean. Para una comparacin
bit a bit, el tipo de datos del resultado es un tipo numrico adecuado para los tipos de datos
de expression1 y expression2. Vea la tabla "Comparaciones relacionales y bit a bit" en Tipos de
datos de resultados de operador.
Ejemplo 1:
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = a > b And b > c
secondCheck = b > a And b > c
Ejemplo 2:
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
AndAlso (Operador)
Realiza una conjuncin lgica "cortocircuitada" en dos expresiones.
result = expression1 AndAlso expression2
Partes:
result
Obligatoria. Cualquier expresin de tipo Boolean. El resultado ser el
resultado Boolean de comparar ambas expresiones.
expression1
Obligatoria. Cualquier expresin de tipo Boolean.
expression2
Obligatoria. Cualquier expresin de tipo Boolean.
Descripcin
Se dice que una operacin lgica se encuentra cortocircuitada si el cdigo compilado puede omitir
la evaluacin de una expresin en funcin del resultado de otra. Si el resultado de la primera
expresin evaluada determina el resultado final de la operacin, no es necesario evaluar la
segunda expresin, ya que no cambiar el resultado final. La evaluacin cortocircuitada puede
mejorar el rendimiento si la expresin omitida es compleja o si implica llamadas de procedimiento.
Si ambas expresiones se evalan como True, result es True. En la tabla siguiente se ilustra cmo
se determina el argumento result.
Si expression1 es:
Y expression2 es
True
True
True
True
False
False
False
(no se evala)
False
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
As
Introduce una clusula As, que identifica un tipo de datos en una instruccin de declaracin o una
lista de restricciones en un parmetro de tipo genrico.
Descripcin:
La palabra clave As se puede utilizar en estos contextos:
Class (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Const (Instruccin)
Declare (Instruccin)
Delegate (Instruccin)
Dim (Instruccin)
Enum (Instruccin)
Event (Instruccin)
For...Next (Instrucciones)
For Each...Next (Instrucciones)
Function (Instruccin)
Interface (Instruccin)
Operator (Instruccin)
Property (Instruccin)
Structure (Instruccin)
Sub (Instruccin)
Try...Catch...Finally (Instrucciones)
Boolean
Contiene valores que pueden ser slo True o False. Las palabras
clave True y False corresponden a los dos estados de las variables Boolean.
Utilice el tipo de datos Boolean para contener valores de dos estados como
verdadero/falso, s/no o activado/desactivado.
El valor predeterminado de Boolean es False.
Conversiones de tipo
Cuando Visual Basic convierte los valores de tipos de datos numricos en Boolean, 0 pasa a ser
False y todos los otros valores, True. Cuando Visual Basic convierte los valores Boolean en tipos
numricos, False pasa a ser 0 y True, -1.
Al convertir entre valores Boolean y tipos de datos numricos, recuerde que los mtodos de
conversin de .NET Framework no siempre producen los mismos resultados que las palabras clave
de conversin de Visual Basic. Esto se debe a que la conversin de Visual Basic conserva un
comportamiento compatible con versiones anteriores. Para obtener ms informacin, vea
Solucionar problemas de tipos de datos.
Sugerencias de programacin
Nmeros negativos.Boolean no es un tipo numrico y no puede representar un valor negativo. En
cualquier caso, no debera utilizar Boolean para contener valores numricos.
Caracteres de tipo.Boolean no tiene ningn carcter de tipo de literal o de tipo de identificador.
Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.Boolean.
Ejemplo:
Dim runningVB As Boolean
' Check to see if program is running on Visual Basic engine.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
ByRef
Indica que un argumento se pasa de tal forma que el procedimiento al que se ha llamado puede
cambiar el valor de una variable subyacente al argumento en el cdigo que realiza la llamada.
Descripcin:
El modificador ByRef se puede utilizar en estos contextos:
Declare (Instruccin)
Function (Instruccin)
Sub (Instruccin)
Byte
Contiene enteros de 8 bits sin signo (1 bytes) que se sitan en el intervalo entre 0 y 255.
Utilice el tipo de datos Byte para contener datos binarios.
El valor predeterminado de Byte es 0.
Sugerencias de programacin
Nmeros negativos. Dado que Byte es un tipo sin signo, no puede representar un nmero negativo.
Si utiliza el operador menos (-) unario en una expresin que produce un resultado del tipo Byte,
Visual Basic convierte primero la expresin a Short.
Conversiones de formato. Cuando Visual Basic lee o escribe archivos o cuando llama a archivos
DLL, mtodos y propiedades, puede convertir automticamente entre los formatos de datos. Los
datos binarios almacenados en variables Byte y matrices se conservan durante estas conversiones
de formato. No debera utilizar una variable String para datos binarios, ya que su contenido puede
daarse durante la conversin entre los formatos ANSI y Unicode.
Ampliacin. El tipo de datos Byte se ampla a Short, UShort, Integer y UInteger, Long, ULong,
Decimal, Single y Double. Esto significa que se puede convertir Byte en cualquiera de estos tipos
sin encontrar un error System.OverflowException.
Caracteres de tipo.Byte no tiene ningn carcter de tipo de literal o de tipo de identificador.
Tipo en Framework. El tipo correspondiente en .NET Framework es la estructura System.Byte.
ByVal
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Declare (Instruccin)
Instruccin Function (Visual Basic)
Operator (Instruccin)
Property (Instruccin)
Instruccin Sub (Visual Basic)
Call
Transfiere el control a un procedimiento Function, a un procedimiento Sub o a un procedimiento de
la biblioteca de vnculos dinmicos (DLL).
[ Call ] procedureName [ (argumentList) ]
Partes
procedureName
Obligatorio. Nombre del procedimiento al que se llama.
argumentList
Opcional. Lista de variables o expresiones que representan los argumentos que se pasan
al procedimiento cuando se le llama. Los argumentos mltiples se separan por comas. Si
se incluye argumentList, debe encerrarlo entre parntesis.
Descripcin:
Normalmente utiliza la instruccin Call para llamar a un procedimiento que no devuelve un valor. Si
el procedimiento devuelve un valor, la instruccin Call lo descarta.
No se exige que utilice la instruccin Call al llamar a un procedimiento. Sin embargo, mejora la
legibilidad del cdigo.
Ejemplo:
En este ejemplo se muestra cmo utilizar la instruccin Call para transferir el control a un
procedimiento Sub, a una funcin intrnseca y a un procedimiento de biblioteca de vnculos
dinmicos (DLL).
' (1) Call a Sub procedure.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
...
' The above statement passes control to the following Sub procedure.
Sub printToDebugWindow(ByVal anyString As String)
Debug.WriteLine(anyString)
End Sub
' (2) Call a Visual Basic run-time function (Shell), discard the return value.
Call Shell("C:\WINNT\system32\calc.exe", AppWinStyle.NormalFocus)
' The preceding path is for Windows 2000;
' The Windows XP path is C:\Windows\system32\calc.exe.
' (3) Call a Microsoft Windows DLL procedure. The Declare statement
' must be Private in a class, not in a module.
Private Declare Sub MessageBeep Lib "User32" (ByVal N As Integer)
Sub callBeepDll()
Call MessageBeep(-1)
End Sub
Case
Define un valor o un conjunto de valores con el que se prueba el valor de una expresin.
La palabra clave Case se puede utilizar en este contexto:
Select...Case (Instruccin)
Instruccin Try...Catch...Finally
Esta instruccin proporciona una manera de controlar algunos o todos los errores posibles que
pueden ocurrir en un bloque de cdigo determinado mientras se ejecuta el cdigo.
Partes:
tryStatements
Opcional. Instrucciones en las que puede ocurrir un error. Puede ser una instruccin
compuesta.
Catch
Opcional. Se permite utilizar varios bloques Catch. Si tiene lugar una excepcin mientras
se procesa el bloque Try, cada instruccin Catch se examina en orden textual para
determinar si controla la excepcin; el parmetro exception representa la excepcin que se
ha producido.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
CBol
Estas funciones se compilan en lnea, es decir, el cdigo de conversin forma parte del cdigo que
evala la expresin. A veces no se produce una llamada a un procedimiento para realizar la
conversin, lo que mejora el rendimiento. Cada funcin convierte una expresin a un tipo de datos
especfico.
CBool(expression)
CByte(expression)
CChar(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CObj(expression)
CSByte(expression)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Tipo de datos
devuelto
CBool
Boolean (Tipo de
datos, Visual Basic)
CByte
CChar
CDate
CDbl
Double (Tipo de
datos, Visual Basic)
CDec
Decimal (Tipo de
datos, Visual Basic)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
CInt
Integer (Tipo de
datos, Visual Basic)
CLng
de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807;
las partes fraccionarias se redondean.1
CObj
Object (Tipo de
datos)
CSByte
SByte (Tipo de
datos, Visual Basic)
CShort
CSng
CStr
String (Tipo de datos, Los valores devueltos para CStr dependen del
Visual Basic)
argumento expression. Vea Valores devueltos para la funcin
CStr.
CUInt
UInteger (Tipo de
datos)
CULng
ULong (Tipo de
datos, Visual Basic)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
CUShort
UShort (Tipo de
datos, Visual Basic)
Conversin. En general, puede utilizar las funciones de conversin de tipos de datos para
convertir el resultado de una operacin a un tipo de datos concreto en vez de al tipo de
datos predeterminado. Por ejemplo, utilice CDec para forzar la ejecucin de operaciones
con aritmtica decimal en los casos en los que se hara con precisin simple, doble precisin
o aritmtica de enteros.
Conversiones de fecha y hora. Utilice IsDate (Funcin, Visual Basic) para determinar si
un valor se puede convertir a una fecha y hora. CDate reconoce literales de fecha y de hora,
pero no valores numricos. Para convertir un valor Date de Visual Basic 6.0 en un
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Valores de fecha u hora neutrales. El tipo de datos Date (Tipo de datos, Visual
Basic) contiene siempre informacin de fecha y hora. Para la conversin de tipos, Visual
Basic considera 1/1/0001 (1 de enero del ao 1) un valor neutral de fecha y 00:00:00
(medianoche) un valor neutral de hora. Si se convierte un valor Date a una cadena, CStr no
incluye valores neutrales en la cadena resultante. Por ejemplo, si se convierte #January 1,
0001 9:30:00# en una cadena, el resultado sera "9:30:00 a.m.", ya que la informacin de
fecha se omite. No obstante, la informacin de fecha sigue estando presente en el
valor Date original y se puede recuperar mediante funciones como DatePart (Funcin, Visual
Basic).
CType (Funcin)
La funcin CType toma un segundo argumento, typename, y convierte expression en typename,
donde typename puede ser cualquier tipo de datos, estructura, clase o interfaz para la que exista
una conversin vlida.
Para una comparacin de CType con otras palabras clave de conversin de tipos,
vea DirectCast y TryCast.
Ejemplo de la funcin CBool
En este ejemplo se utiliza la funcin CBool para convertir expresiones en valores Boolean. Si una
expresin se evala en un valor distinto de cero, CBool devuelve True; en caso contrario,
devuelve False.
Dim a, b, c As Integer
Dim check As Boolean
a=5
b=5
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Contiene valores IEEE de 64 bits (8 bytes) que representan fechas comprendidas entre el 1 de
enero del ao 0001 y el 31 de diciembre de 9999, y horas comprendidas entre las 0:00:00
(medianoche) y las 11:59:59. Cada incremento representa 100 nanosegundos de tiempo
transcurrido desde el comienzo del 1 de enero del ao 1 del calendario gregoriano. El valor mximo
representa 100 nanosegundos antes del comienzo del 1 de enero del ao 10000.
Descripcin
Utilice el tipo de datos Date para albergar valores de fecha, valores de tiempo o valores de
fecha y hora.
Requisitos de formato
Debe incluir un literal Date dentro de los signos de nmero (# #). Debe especificar el valor de fecha
en el formato M/d/yyyy, por ejemplo #5/31/1993#. Este requisito es independiente de la
configuracin regional y de la configuracin de formato de fecha y hora del equipo.
El motivo de esta restriccin es que el significado del cdigo nunca debe cambiar en funcin de la
configuracin regional en que se ejecuta la aplicacin. Suponga que asigna un literal Date de
#3/4/1998# para representar 4 de marzo de 1998. En una configuracin regional que utilice el
formato mm/dd/yyyy, 3/4/1998 se compila como desee. Pero suponga que implementa la aplicacin
en varios pases. En una configuracin regional que utilice el formato dd/mm/yyyy, el literal incluido
en el cdigo se compilar como Abril 3, 1998. En una configuracin local que utilice el formato
yyyy/mm/dd, el literal podra no ser vlido (Abril 1998, 0003) y generar un error de compilacin.
Soluciones
Para convertir un literal de tipo Date al formato de la configuracin regional o a un formato
personalizado, proporcione el literal a la funcin Format (Funcin) especificando Formatos de fecha
y hora predefinidos (Funcin Format) o Formatos de fecha y hora definidos por el usuario (Funcin
Format). En el siguiente ejemplo se muestra esta operacin.
MsgBox("The formatted date is " & Format(#5/31/1993#, "dddd, d MMM yyyy"))
Si lo desea, puede utilizar tambin uno de los constructores sobrecargados de la
estructura DateTime para ensamblar un valor de fecha y hora. En el ejemplo siguiente se crea un
valor para representar Mayo 31, 1993 a las 12:14 del medioda.
Dim dateInMay As New System.DateTime(1993, 5, 31, 12, 14, 0)
Formato de hora
Puede especificar el valor de hora con un formato de 12 horas o de 24 horas, por ejemplo #1:15:30
PM# o #13:15:30#. Sin embargo, si no especifica los minutos ni los segundos, debe especificar
a.m. o p.m.
Valores predeterminados de fecha y hora
Si no se incluye una fecha en un literal de fecha/hora, Visual Basic establece la parte de fecha del
valor en Enero 1, 0001.Si no se incluye una hora en un literal de fecha y hora, Visual Basic
establece la parte de hora del valor en el inicio del da, es decir, medianoche (0:00:00).
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ejemplo
Una variable o constante del tipo de datos Date contiene tanto la fecha como la hora. Esto se
ilustra en el siguiente ejemplo:
Dim someDateAndTime As Date = #8/13/2002 12:14 PM#
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Rendimiento. El tipo de datos Decimal es el ms lento de todos los tipos numricos. Debe
considerar la importancia de la precisin frente al rendimiento antes de elegir un tipo de
datos.
Ampliacin. El tipo de datos Decimal se ampla a Single o Double. Esto significa que se
puede convertir Decimal a cualquiera de estos tipos sin encontrar un
errorSystem.OverflowException.
Ceros finales. Visual Basic no almacena los ceros finales en un literal Decimal. Sin
embargo, una variable Decimal conserva cualquier cero final adquirido de forma
computacional. Esto se ilustra en el siguiente ejemplo:
Dim d1, d2, d3, d4 As Decimal
d1 = 2.375D
d2 = 1.625D
d3 = d1 + d2
d4 = 4.000D
MsgBox("d1 = " & CStr(d1) & ", d2 = " & CStr(d2) _
& ", d3 = " & CStr(d3) & ", d4 = " & CStr(d4))
El resultado de MsgBox en el ejemplo anterior es el siguiente:
d1 = 2.375, d2 = 1.625, d3 = 4.000, d4 = 4
Intervalo
Podra necesitar utilizar el carcter de tipo D para asignar un valor grande a una variable o
constante Decimal. Esto se ilustra en el siguiente ejemplo:
Dim bigDec1 As Decimal = 9223372036854775807 ' No overflow.
Dim bigDec2 As Decimal = 9223372036854775808 ' Overflow.
Dim bigDec3 As Decimal = 9223372036854775808D ' No overflow.
El compilador interpreta un literal como Long a menos que le siga un carcter de tipo de literal. La
declaracin para bigDec1 no genera un desbordamiento porque su valor est dentro del intervalo
para Long. Sin embargo, el valor para bigDec2 es demasiado grande para Long, por lo que el
compilador genera un error. El carcter de tipo de literal D resuelve el problema
para bigDec3 obligando al compilador a que interprete el literal como Decimal.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Declare (Instruccin)
Declara una referencia a un procedimiento implementado en un archivo externo.
[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ Overloads ] _
Declare [ charsetmodifier ] [ Sub ] name Lib "libname" _
[ Alias "aliasname" ] [ ([ parameterlist ]) ]
' -or[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ Overloads ] _
Declare [ charsetmodifier ] [ Function ] name Lib "libname" _
[ Alias "aliasname" ] [ ([ parameterlist ]) ] [ As returntype ]
Partes:
attributelist
Opcional. Vea Lista de atributos.
accessmodifier
Opcional. Puede ser una de las siguientes:
Public
Protected
Friend
Private
Protected Friend
Shadows
Opcional. Ver Shadows.
charsetmodifier
Opcional. Especifica informacin sobre el juego de caracteres y la bsqueda de archivos.
Puede ser una de las siguientes:
Ansi (predeterminado)
Auto
Sub
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Reglas
Nota
En la mayora de los archivos DLL, los nombres de punto de entrada distinguen entre maysculas y
minsculas.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Tipos de datos de parmetros. Si Option Strict tiene el valor On, se debe especificar el
tipo de datos de cada parmetro en parameterlist. ste puede ser cualquier tipo de datos o
el nombre de una enumeracin, estructura, clase o interfaz. En parameterlist, se utiliza una
clusula As para especificar el tipo de datos del argumento que se va a pasar a cada
parmetro.
Nota
Si el procedimiento externo no se ha escrito para .NET Framework, debe tener cuidado de que los tipos de
datos se correspondan. Por ejemplo, si se declara una referencia externa a un procedimiento de Visual
Basic 6.0 con un parmetro Integer (16 bits en Visual Basic 6.0), el argumento correspondiente debe
identificarse como Short en la instruccin Declare, puesto que es un tipo entero de 16 bits en Visual
Basic. Igualmente, en Visual Basic 6.0 Long tiene un ancho de datos diferente y Date se implementa de
manera diferente.
Nota
El compilador de Visual Basic no comprueba si los tipos de datos son compatibles con los del
procedimiento externo. Si hay una desigualdad, Common Language Runtime genera una
excepcin MarshalDirectiveException en tiempo de ejecucin.
Nota
Como se trata de un procedimiento externo que podra haberse escrito en una plataforma diferente, es
peligroso asumir cul ser el tipo de datos o permitir que tomen los valores predeterminados. Es mucho
ms seguro especificar el tipo de datos de cada parmetro y del valor devuelto, si se devuelve alguno. De
este modo mejora la legibilidad del cdigo.
Comportamiento
mbito. Una referencia externa est en mbito a lo largo de toda su clase, estructura o
mdulo.
Perodo de duracin. Una referencia externa tiene el mismo perodo de duracin que la
clase, estructura o mdulo en las que se declara.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
En una plataforma Unicode, como Windows NT, Windows 2000 o Windows XP,
busque primero el procedimiento externo sin modificar el nombre. Si no se encuentra,
anexe "W" al final del nombre del procedimiento externo y bsquelo de nuevo.
Ejemplo
En el ejemplo siguiente se declara una referencia externa a un procedimiento Function que
devuelve el nombre de usuario actual. A continuacin se llama al procedimiento
externoGetUserNameA como parte del procedimiento getUser.
Declare Function getUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, ByRef nSize As Integer) As Integer
Sub getUser()
Dim buffer As String = New String(CChar(" "), 25)
Dim retVal As Integer = getUserName(buffer, 25)
Dim userName As String = Strings.Left(buffer, InStr(buffer, Chr(0)) - 1)
MsgBox(userName)
End Sub
El atributo DllImportAttribute proporciona otro modo de utilizar funciones en cdigo no
administrado. En el ejemplo siguiente se declara una funcin importada sin utilizar una
instruccinDeclare.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Default
Identifica una propiedad como la propiedad predeterminada de su clase, estructura o interfaz.
Descripcin:
Una clase, estructura o interfaz puede designar slo una de sus propiedades como propiedad
predeterminada, siempre que esa propiedad acepte al menos un parmetro. Si el cdigo hace
referencia a una clase o estructura sin especificar un miembro, Visual Basic resuelve esta
referencia como propiedad predeterminada.
Las propiedades predeterminadas pueden producir una pequea reduccin en los caracteres del
cdigo fuente pero pueden dificultar la lectura del cdigo. Si el cdigo de llamada no est
familiarizado con su clase o estructura, cuando hace referencia al nombre de stas, no puede estar
seguro de si esta referencia tiene acceso a la clase o estructura en s, o a una propiedad
predeterminada. Esto puede conducir a errores del compilador o a ligeros errores lgicos en tiempo
de ejecucin.
Puede reducir levemente las posibilidades de errores de propiedades predeterminadas utilizando
siempre Option Strict (Instruccin) para establecer la comprobacin de tipos del compilador en On.
Si est pensando en utilizar una clase o estructura en el cdigo, debe determinar si tiene una
propiedad predeterminada, y si es as, cmo se llama.
Debido a estas desventajas, debera considerar no definir propiedades predeterminadas. Para una
mejor lectura del cdigo, debera considerar asimismo hacer siempre una referencia explcita a
todas las propiedades, incluso a las propiedades predeterminadas.
El modificador Default se puede utilizar en este contexto:
Property (Instruccin)
Delegate (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Public Cualquier cdigo que puede tener acceso al elemento que declara el
delegado.
Puede especificar Protected Friend para permitir el acceso desde el cdigo incluido en la
clase del delegado, en una clase derivada o en el mismo ensamblado.
Shadows
Opcional. Indica que este delegado vuelve a declarar y ocultar un elemento de
programacin con el mismo nombre, o un conjunto de elementos sobrecargados, en una
clase base. Puede hacer que cualquier tipo de elemento declarado prevalezca sobre
cualquier otro tipo.
Un elemento sombreado no est disponible desde la clase derivada que lo sombrea, a
menos que el elemento que produce el sombreado no est accesible. Por ejemplo, si un
elemento Private sombrea un elemento de clase base, el cdigo que no tiene el permiso
para obtener acceso al elemento Private obtiene acceso al elemento de clase base.
Sub
Opcional, pero debe aparecer Sub o Function. Declara este procedimiento como un
procedimiento Sub delegado que no devuelve ningn valor.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Public
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Protected
Friend
Private
Protected Friend
Descripcin
variablenam
e
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
boundslist
New
datatype
initializer
Descripcin
Se deben declarar todas las variables que se utilizan en un programa para indicar al compilador de
Visual Basic el tipo de datos de la variable y otra informacin, por ejemplo qu cdigo puede tener
acceso a la misma. En el ejemplo siguiente se declara una variable que contiene un valor Integer.
Dim numberOfStudents As Integer
Slo se puede utilizar Dim en el nivel de mdulo o procedimiento. Esto significa que el contexto de
declaracin de una variable tiene que ser una clase, estructura, mdulo, procedimiento o bloque, y
no puede ser un archivo de cdigo fuente, espacio de nombres o interfaz. Para obtener ms
informacin, vea Contextos de declaracin y niveles de acceso predeterminados.
Si Option Explicit es On (el valor predeterminado), el compilador requiere una declaracin para
cada variable que se utiliza. Si se activa Option Explicit Off, las variables no declaradas tienen de
forma predeterminada el tipo de datos Object (Tipo de datos), que podra no ser lo que se desea.
Puede especificar el tipo de datos de cada variable en la instruccin Dim. Tambin puede
especificar un valor inicial. Si no lo hace, Visual Basic utiliza la configuracin predeterminada. Para
obtener ms informacin, vea "Reglas de tipos de datos" y "Valores predeterminados" en la seccin
"Informacin detallada" de esta pgina de Ayuda. En el ejemplo siguiente se declara e inicializa una
variable String.
Dim summary As String = "Summary of results"
Puede especificar qu cdigo puede tener acceso a una variable proporcionando
accessmodifier en la instruccin Dim. Para obtener ms informacin, vea "Modificadores" y "Nivel
de acceso" en la seccin "Informacin detallada" de esta pgina de Ayuda.
Puede declarar una variable para contener una matriz, que puede almacenar varios valores. Para
obtener ms informacin, vea "Reglas de matrices" en la seccin "Informacin detallada" de esta
pgina de Ayuda. Para obtener ms informacin sobre matrices, vea Matrices en Visual Basic. En
el ejemplo siguiente se declara una variable de matriz Integer.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Declaracin
Tipos de datos
Matrices
Comportamiento
Solucin de problemas
Reglas de declaracin
Atributos. Slo se pueden aplicar atributos a las variables miembro, no a las variables
locales. Un atributo proporciona informacin a los metadatos del ensamblado, que no son
significativos para el almacenamiento temporal como las variables locales.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Tipos de datos. La instruccin Dim puede declarar el tipo de datos de una variable. Se
puede especificar cualquier tipo de datos o el nombre de una enumeracin, estructura, clase
o interfaz.
Dim finished As Boolean
Dim monitorBox As System.Windows.Forms.Form
Tipos diferentes. Se pueden especificar tipos de datos diferentes para variables diferentes
utilizando una clusula As independiente para cada variable declarada. Opcionalmente, es
posible declarar varias variables que sean del mismo tipo utilizando una clusula As comn.
Todas las variables toman el tipo de datos especificado en la primera clusula As que se
encuentre despus de su parte variablename correspondiente.
Dim a, b, c As Single, x, y As Double, i As Integer
' a, b, and c are all Single; x and y are both Double
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Variables de matriz. Para especificar que una variable en variablelist es una matriz, siga
inmediatamente su variablename con parntesis. Si la matriz tiene ms de una dimensin,
debe incluir comas entre los parntesis para indicar el nmero de dimensiones.
Dim oneDimension(), twoDimensions(,), threeDimensions(,,) As Byte
Una matriz puede tener de 1 a 32 dimensiones.
Lmites de matrices en blanco. Todos los lmites de una declaracin de matriz se pueden
dejar en blanco. Si se hace esto, la matriz tiene el nmero de dimensiones especificado pero
no se inicializa, de modo que tiene un valor de Nothing hasta que se inicialicen al menos
algunos de sus elementos. La instruccin Dim debe especificar los lmites para todas las
dimensiones o para ninguna de ellas.
Dim messages() As String
Matrices vacas. Es posible utilizar 1 para declarar el lmite superior de una dimensin de
matriz. Esto significa que la matriz est vaca, pero no es Nothing, una distincin que
requieren algunas funciones del Common Language Runtime. No obstante, el cdigo de
Visual Basic no permite un acceso correcto a dicha matriz. Si se intenta el acceso, se
produce un error IndexOutOfRangeException durante la ejecucin. Para obtener ms
informacin, vea Cmo: Crear una matriz sin elementos.
Inicializacin de matrices. Los valores de una matriz se pueden inicializar rodeando los
valores de inicializacin con llaves ({}).
Dim longArray() As Long = {0, 1, 2, 3}
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Valor predeterminado
Char
Binario 0
Nothing
Boolean
False
Date
Cada elemento de una estructura se inicializa como si fuera una variable independiente. Si
se declara la longitud de una matriz pero no se inicializan sus elementos, stos se inicializan
como si fueran una variable independiente.
mbito. Las variables locales slo estn en mbito dentro de su procedimiento o bloque.
Las variables miembro estn en mbito a lo largo de su clase, estructura o mdulo.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Calificacin. El cdigo externo a una clase, estructura o mdulo debe calificar el nombre
de una variable miembro con el nombre de esa clase, estructura o mdulo. El cdigo externo
a un procedimiento o bloque no puede hacer referencia a ninguna variable local dentro de
ese procedimiento o bloque.
Perodo de duracin. Una variable local Static tiene un perodo de duracin ms largo
que el del procedimiento en el que se declara. Los lmites de la duracin de la variable
dependen de dnde se declare el procedimiento y si est o no Shared.
Declaracin de
procedimiento
La variable se inicializa
En un mdulo
En una clase o
estructura,Shared
En una clase o
estructura, noShared
Solucin de problemas
2.
3.
Cada vez que la ejecucin vuelve a la instruccin Dim de la variable, Visual Basic
la establece una vez ms en el valor proporcionado en la instruccin Dim.
Esto tiene las implicaciones siguientes cuando se utiliza una instruccin Dim para inicializar
una variable:
1.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
3.
DirectCast
Introduce una operacin de conversin de tipos basada en la herencia o la implementacin.
Descripcin
DirectCast no utiliza rutinas auxiliares para conversin de Visual Basic en tiempo de ejecucin, por
lo que puede proporcionar un mejor rendimiento que CType para convertir al tipos de
datos Object y desde l.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Tipos de
datos
Relacin de argumento
CType
(Funcin)
Cualquier
tipo de datos
La conversin de ampliacin o de
restriccin se debe definir entre
los dos tipos de datos
Produce InvalidCastExceptio
n
DirectCast
Cualquier
tipo de datos
Produce InvalidCastExceptio
n
TryCast
Slo tipos de
referencia
Ejemplo
El ejemplo siguiente muestra dos usos de DirectCast, uno con un resultado satisfactorio en tiempo
de ejecucin y otro que no lo tiene.
Dim q As Object = 2.37
Dim i As Integer = CType(q, Integer)
' The following conversion fails at run time
Dim j As Integer = DirectCast(q, Integer)
Dim f As New System.Windows.Forms.Form
Dim c As System.Windows.Forms.Control
' The following conversion succeeds.
c = DirectCast(f, System.Windows.Forms.Control)
En el ejemplo anterior, el tipo en tiempo de ejecucin de q es Double. CType tiene un resultado
satisfactorio porque Double se puede convertir en Integer. No obstante, el primerDirectCast no
tiene un resultado satisfactorio porque el tipo en tiempo de ejecucin de Double no tiene relacin
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Probar la condicin. Slo puede probar condition una vez, al principio o al final del bucle.
Puede usar While o Until para especificar condition, pero no ambas.
Nmero de iteraciones. Si prueba condition al principio del bucle (en la instruccin Do),
puede que el bucle no se ejecute ni siquiera una vez. Si prueba al final del bucle (en la
instruccin Loop), el bucle siempre se ejecuta al menos una vez.
Anidar bucles. Los bucles Do se pueden anidar colocando un bucle dentro de otro.
Tambin puede anidar distintos tipos de estructuras de control dentro de otras. Para obtener
ms informacin, vea Estructuras de control anidadas.
Transferir el control fuera del bucle. La Instruccin Exit (Visual Basic) transfiere el
control inmediatamente a la instruccin que sigue a la instruccin Loop. Puede desear salir
de un bucle si detecta una condicin que hace que sea innecesario o no se pueda continuar
la iteracin, como puede ser un valor errneo o una solicitud de finalizacin. Puede colocar
cualquier cantidad de instrucciones Exit Do en cualquier punto del bucle Do. Exit Do suele
utilizarse despus de evaluar alguna condicin, por ejemplo en una
estructuraIf...Then...Else.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ejemplo
El ejemplo siguiente ilustra las estructuras Do...Loop anidadas, as como el uso de While y Until, y
la comprobacin al principio (instruccin Do) y al final (instruccin Loop) del bucle.
Dim check As Boolean = True
Dim counter As Integer = 0
Do
Do While counter < 20
counter += 1
If counter = 10 Then
check = False
Exit Do
End If
Loop
Loop Until check = False
End Sub
En el ejemplo anterior, la estructura Do...Loop interior se ejecuta 10 veces, establece el valor del
indicador en False y sale de forma prematura utilizando la instruccin Exit Do. El bucle externo
sale inmediatamente al comprobar el valor del indicador.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Precisin. Cuando trabaje con nmeros de punto flotante, tenga presente que no siempre
tienen una representacin precisa en memoria. Esto podra provocar unos resultados
inesperados en ciertas operaciones, como comparacin de valor y el operador Mod. Para
obtener ms informacin, vea Solucionar problemas de tipos de datos.
Ceros finales. Los tipos de datos de punto flotante no tienen ninguna representacin
interna de caracteres 0 finales. Por ejemplo, no distinguen entre 4,2000 y 4,2. Por
consiguiente, los caracteres 0 finales no aparecen al mostrar o imprimir valores de punto
flotante.
...........
Each
Especifica la variable de bucle que se va a utilizar en un bucle For Each.
Descripcin
If...Then...Else (Instruccin)
Select...Case (Instruccin)
#If...Then...#Else (Directiva)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
If...Then...Else (Instruccin)
#If...Then...#Else (Directiva)
End (Instruccin)
Finaliza la ejecucin inmediatamente.
Descripcin
Puede colocar la instruccin End en cualquier lugar de un procedimiento para forzar que se
detenga la ejecucin de toda la aplicacin. End cierra los archivos abiertos mediante una
instruccin Open y borra todas las variables de la aplicacin. La aplicacin se cierra en cuanto no
detecte otros programas que mantengan referencias a sus objetos y no haya cdigo en ejecucin.
Nota
La instruccin End detiene repentinamente la ejecucin de cdigo, sin invocar el
mtodo Dispose o Finalize, o ningn otro cdigo de Visual Basic. Se invalidan las
referencias de objetos mantenidas por otros programas. Si una instruccin End se
encuentra dentro de un bloque Try o Catch, el control no pasa al
bloque Finally correspondiente.
La instruccin Stop suspende la ejecucin, pero a diferencia de End no cierra ningn archivo ni
borra variables, a menos que se encuentre en un archivo ejecutable compilado (.exe).
Dado que End finaliza su aplicacin sin tener en cuenta los recursos que podran estar abiertos,
debera intentar cerrar limpiamente antes de utilizarlo. Por ejemplo, si su aplicacin tiene
formularios abiertos, debera cerrarlos antes de que el control llegue a la instruccin End.
Debera utilizar End moderadamente, y slo cuando sea necesario detener la ejecucin
inmediatamente. Las formas normales de terminar un procedimiento (Instruccin Return (Visual
Basic) yInstruccin Exit (Visual Basic)) no slo cierran el procedimiento limpiamente, sino que
tambin dan al cdigo que lo llam la oportunidad de cerrarse limpiamente. Por ejemplo, una
aplicacin de consola puede sencillamente volver (Return) del procedimiento Main.
Nota de seguridad
La instruccin End llama al mtodo Exit de la clase Environment en el espacio de
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Public
Protected
Friend
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Private
Shadows
Opcional. Especifica que esta enumeracin vuelve a declarar y ocultar un elemento de
programacin denominado de forma idntica, o un conjunto de elementos sobrecargados,
en una clase base. Slo puede especificar Shadows en la propia enumeracin y no en
ninguno de sus miembros.
enumeration name
Requerido. Nombre de la enumeracin. Para obtener ms informacin sobre qu nombres
son vlidos, vea Nombres de elementos declarados.
data type
Requerido si OptionStrict es On. Tipos de datos de la enumeracin y de todos sus
miembros.
member list
Requerido. Lista de constantes de miembros que se declara en esta instruccin. Varios
miembros aparecen en lneas de cdigo fuente individuales.
Cada member tiene la sintaxis y las partes siguientes: [<attribute list>] member
name [ = initializer ]
Parte
Description
member
name
initializer
EndEnum
Termina el bloque Enum.
Descripcin
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Atributos. Puede aplicar los atributos a una enumeracin en conjunto, pero no a sus
miembros individualmente. Un atributo proporciona informacin a los metadatos del
ensamblado.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Comportamiento
mbito. Se puede tener acceso a las enumeraciones de miembros desde cualquier lugar
dentro de su clase, estructura, mdulo o interfaz. Las enumeraciones de miembros de
espacio de nombres son accesibles desde cualquier cdigo dentro de ese espacio de
nombres.
Calificacin. El cdigo fuera de una clase, estructura o mdulo debe calificar el nombre de
una enumeracin de miembros con el nombre de esa clase, estructura o mdulo.
Las variables de enumeracin son variables declaradas para ser del tipo Enum. Declarar una
variable de este modo le ayudar a controlar los valores que le asigne. Sin embargo, todava puede
asignar un valor que no sea un miembro de la enumeracin, siempre que su tipo de datos pueda
convertirse en el tipo de datos de la enumeracin. Esto es til cuando la enumeracin es un campo
de indicador y se asigna una combinacin de indicadores a la variable de enumeracin. El ejemplo
siguiente muestra una asignacin de varios indicadores a una variable de enumeracin.
Enum filePermissions
create = 1
read = 2
write = 4
delete = 8
End Enum
Dim file1Perm As filePermissions
file1Perm = filePermissions.create Or filePermissions.read
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Error (Instruccin)
Simula un error generado.
Error errornumber
Partes
errornumber
Obligatorio. Puede ser cualquier nmero de error vlido.
Descripcin
La instruccin Error se incluye a efectos de compatibilidad con versiones anteriores. En el nuevo
cdigo, especialmente al crear objetos, utilice el mtodo Raise del objeto Err para generar errores
en tiempo de ejecucin.
Si errornumber est definido, la instruccin Error realiza una llamada al controlador del error
despus de haber asignado a las propiedades del objeto Err los siguientes valores
predeterminados:
Propiedad
Valor
Number
Source
Description
HelpFile
El nombre completo con unidad, ruta de acceso y nombre de archivo del archivo
de Ayuda de Visual Basic.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
El id. de contexto apropiado del archivo de Ayuda de Visual Basic para el error
correspondiente a la propiedad Number.
LastDLLErro
r
Cero.
Event (Instruccin)
Declara un evento definido por el usuario.
[ <attrlist> ] [ accessmodifier ] _
[ Shared ] [ Shadows ] Event eventname[(parameterlist)] _
[ Implements implementslist ]
' -or[ <attrlist> ] [ accessmodifier ] _
[ Shared ] [ Shadows ] Event eventname As delegatename _
[ Implements implementslist ]
' -or[ <attrlist> ] [ accessmodifier ] _
[ Shared ] [ Shadows ] Custom Event eventname As delegatename _
[ Implements implementslist ]
[ <attrlist> ] AddHandler(ByVal value As delegatename)
[ statements ]
End AddHandler
[ <attrlist> ] RemoveHandler(ByVal value As delegatename)
[ statements ]
End RemoveHandler
[ <attrlist> ] RaiseEvent(delegatesignature)
[ statements ]
End RaiseEvent
End Event
Partes
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Descripcin
attrlist
accessmodifier
Opcional. Especifica qu cdigo puede tener acceso al evento. Puede ser una
de las siguientes:
Private slo el cdigo que est dentro del elemento que lo declara
puede tener acceso a l.
Shadows
eventname
parameterlist
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
implementslist
Descripcin
interface
definednam
e
Custom
delegatename
AddHandler
RemoveHandler
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
RaiseEvent
End RaiseEvent
delegatesignatur
e
statements
End Event
Descripcin
Una vez declarado el evento, utilice la instruccin RaiseEvent para provocar el evento. Un evento
tpico podra declararse y activarse como se muestra en los siguientes fragmentos de cdigo:
Public Class EventSource
' Declare an event.
Public Event LogonCompleted(ByVal UserName As String)
Sub CauseEvent()
' Raise an event on successful logon.
RaiseEvent LogonCompleted("AustinSteele")
End Sub
End Class
Nota
Los argumentos de eventos se pueden declarar como los argumentos de
procedimientos, con las siguientes excepciones: los eventos no pueden tener
argumentos con nombre, argumentos ParamArray ni argumentos Optional. Los
eventos no tienen valores devueltos.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Sub exitStatementDemo()
Dim demoNum As Single
' Set up an infinite loop.
Do
For i As Integer = 1 To 10000000
demoNum = Int(Rnd() * 100)
Select Case demoNum
Case 7 : Exit For
Case 29 : Exit Do
Case 54 : Exit Sub
End Select
Next i
Loop
End Sub
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
For...Next (Instruccin)
Comportamiento
Nivel de acceso. Todo el cdigo de un contexto de declaracin puede tener acceso a sus
elementos. El cdigo de otras clases, estructuras y mdulos que se compilan en el mismo
ensamblado puede tener acceso a todos los elementos Friend de dicho ensamblado.
El acceso de tipo amigo no es un supraconjunto ni un subconjunto del acceso protegido.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Class (Instruccin)
Const (Instruccin)
Declare (Instruccin)
Delegate (Instruccin)
Dim (Instruccin)
Enum (Instruccin)
Event (Instruccin)
Function (Instruccin)
Interface (Instruccin)
Module (Instruccin)
Property (Instruccin)
Structure (Instruccin)
Sub (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Descripcin
constantnam
e
datatype
initializer
Descripcin
Si en su aplicacin tiene un valor que nunca cambia, puede definir una constante con nombre y
usarla en lugar de un valor literal. Un nombre es ms fcil de recordar que un valor. Puede definir la
constante slo una vez y utilizarla en muchos lugares de su cdigo. Si en una versin posterior
necesita volver a definir el valor, la instruccin Const es el nico lugar donde es necesario realizar
el cambio.
Slo puede utilizar Const en el nivel de mdulo o de procedimiento. Esto significa que el contexto
de declaracin de una propiedad debe ser una clase, estructura, mdulo, procedimiento o bloque, y
no un archivo de cdigo fuente, un espacio de nombres o una interfaz. Para obtener ms
informacin, vea Contextos de declaracin y niveles de acceso predeterminados.
Las constantes locales (contenidas en un procedimiento) tienen un valor predeterminado de acceso
pblico y no puede utilizar ningn modificador de acceso en ellas. Las constantes de clases y
miembros de mdulo (externas a cualquier procedimiento) tienen como valor predeterminado el
acceso privado, y las constantes de miembro de estructura tienen como valor predeterminado el
acceso pblico. Puede ajustar sus niveles de acceso con los modificadores de acceso.
Reglas
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Atributos. Slo puede aplicar los atributos a las constantes de miembro, no a las
constantes locales. Un atributo aporta informacin a los metadatos del ensamblado, que no
son significativos para el almacenamiento temporal como constantes locales.
Tipos de datos. La instruccin Const puede declarar el tipo de datos de una variable.
Puede especificar cualquier tipo de datos o el nombre de una enumeracin.
Distintos tipos. Puede especificar distintos tipos de datos para las diferentes constantes
utilizando una clusula As independiente para cada variable que declare. Sin embargo, no
puede declarar varias constantes para que sean del mismo tipo utilizando una
clusula As comn.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
mbito. A las constantes locales slo se puede tener acceso desde dentro de sus
procedimientos o bloques. Se puede tener acceso a las constantes de miembro desde
cualquier lugar del interior de sus clases, estructuras o mdulos.
Calificacin. El cdigo fuera de una clase, estructura o mdulo debe calificar el nombre de
una constante de miembro con el nombre de esa clase, estructura o mdulo. El cdigo
situado fuera de un procedimiento o bloque no puede hacer referencia a ninguna constante
local incluida dentro de ese procedimiento o bloque.
Ejemplo
En el ejemplo siguiente se utiliza la instruccin Const para declarar constantes que se utilicen en
lugar de valores literales.
' The following statements declare constants.
Const maximum As Long = 459
Public Const helpString As String = "HELP"
Private Const startValue As Integer = 5
Si define una constante con el tipo de datos Object, el compilador de Visual Basic le asigna el tipo
de initializer, en lugar de Object. En el ejemplo siguiente, la naturalLogBase constante tiene el
tipo Decimal en tiempo de ejecucin.
Const naturalLogBase As Object = CDec(2.7182818284)
MsgBox("Run-time type of constant naturalLogBase is " & _
naturalLogBase.GetType.ToString())
El ejemplo anterior utiliza el mtodo ToString del objeto Type devuelto por el GetType (Operador),
porque Type no se puede convertir a String utilizando CStr.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Partes
attributelist
Opcional. Vea la Lista de atributos.
accessmodifier
Opcional. Puede ser una de las siguientes:
Public
Protected
Friend
Private
Protected Friend
Overloads
Overrides
Overridable
NotOverridable
MustOverride
MustOverride Overrides
NotOverridable Overrides
Shared
Opcional. Vea Shared.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Descripcin
interface
definednam
e
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Descripcin
eventvariabl
e
event
statements
Opcional. Bloque de instrucciones que se ejecutan dentro de este procedimiento.
EndFunction
Termina la definicin de este procedimiento.
Descripcin
El cdigo ejecutable debe estar en un procedimiento. Cada procedimiento se declara a su vez
dentro de una clase, estructura o mdulo, que se denominan clase contenedora, estructura o
mdulo.
Utilice un procedimiento Function cuando necesita devolver un valor al cdigo de llamada. Utilice
un procedimiento Sub cuando no necesita devolver un valor.
Slo puede utilizar Function en el nivel de mdulo. Esto significa que el contexto de la
declaracin para una funcin debe ser una clase, estructura, mdulo o interfaz y no puede ser un
archivo de cdigo fuente, espacio de nombres, procedimiento o bloque. Para obtener ms
informacin, vea Contextos de declaracin y niveles de acceso predeterminados.
Los procedimientos Function tienen como valor predeterminado el acceso pblico. Puede ajustar
sus niveles de acceso con los modificadores de acceso.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Tipo de valor devuelto. La instruccin Function puede declarar el tipo de datos del valor
que devuelve. Puede especificar cualquier tipo de datos o el nombre de una enumeracin,
estructura, clase o interfaz.
Si no especifica returntype, el procedimiento devuelve un tipo Object.
Comportamiento
Valor devuelto. Para devolver un valor de una funcin, se puede asignar el valor al
nombre de funcin o incluirlo en una instruccin Return. El ejemplo siguiente asigna el valor
devuelto al nombre de funcin myFunction y, a continuacin, utiliza la instruccin Exit
Function para volver:
Function myFunction(ByVal j As Integer) As Double
myFunction = 3.87 * j
Exit Function
End Function
Si utiliza Exit Function sin asignar un valor a name, el procedimiento devuelve el valor
predeterminado del tipo de datos especificado en returntype. Si no se especifica returntype,
el procedimiento devuelve Nothing, el valor predeterminado de Object.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Orden de ejecucin. Visual Basic reorganiza a veces las expresiones aritmticas para
aumentar la eficacia interna. Por esta razn, evite utilizar un procedimiento Function en una
expresin aritmtica cuando la funcin cambie el valor de las variables en la misma
expresin.
Ejemplo
En el siguiente ejemplo se utiliza la instruccin Function para declarar el nombre, parmetros y
cdigo que forman el cuerpo de un procedimiento Function. El modificador ParamArraypermite a
la funcin aceptar un nmero variable de argumentos.
Public Function calcSum(ByVal ParamArray args() As Double) As Double
calcSum = 0
If args.Length <= 0 Then Exit Function
For i As Integer = 0 To UBound(args, 1)
calcSum += args(i)
Next i
End Function
En el ejemplo siguiente se invoca a la funcin declarada en el ejemplo anterior.
Dim returnedValue As Double = calcSum(4, 3, 2, 1)
' The function's local variables are assigned the following values:
' args(0) = 4, args(1) = 3, and so on.
Get (Instruccin)
Declara un procedimiento de propiedad Get que se utiliza para recuperar el valor de una
propiedad.
[ <attributelist> ] [ accessmodifier ] Get()
[ statements ]
End Get
Partes
attributelist
Opcional. Vea Lista de atributos.
accessmodifier
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Protected
Friend
Private
Protected Friend
Niveles de acceso mixto. Si est definiendo una propiedad de lectura y escritura, tiene la
opcin de especificar un nivel de acceso distinto para el procedimiento Get o para el
procedimiento Set, pero no para ambos. Si as lo hace, el nivel de acceso del procedimiento
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Comportamiento
Valor devuelto. Para devolver un valor desde un procedimiento Get, puede asignar el
valor al nombre de propiedad o incluirlo en una instruccin Instruccin Return (Visual Basic).
La instruccin Return asigna simultneamente el valor devuelto por el procedimiento Get y
sale del procedimiento.
Si utiliza Exit Property sin asignar un valor al nombre de propiedad, el
procedimiento Get devuelve el valor predeterminado para el tipo de datos de la propiedad.
Para obtener ms informacin, vea "Valor devuelto" en Instruccin Function (Visual Basic).
El ejemplo siguiente muestra dos maneras en que la propiedad quoteForTheDay de slo
lectura puede devolver el valor contenido en la variable privada quoteValue.
Private quoteValue As String = "No quote assigned yet."
ReadOnly Property quoteForTheDay() As String
Get
quoteForTheDay = quoteValue
Exit Property
End Get
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
GetType (Operador)
Devuelve un objeto Type para el tipo especificado. El objeto Type proporciona informacin sobre el
tipo como sus propiedades, mtodos y eventos.
GetType(typename)
Parmetros
typename
Nombre del tipo del que se desea obtener informacin.
Descripcin
El operador GetType devuelve el objeto Type para el typename especificado. Puede pasar el
nombre de cualquier tipo definido en typename. Entre estas estructuras se incluyen las siguientes:
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Para obtener el objeto de tipo de una variable de objeto, utilice el mtodo System.Type.GetType.
El operador GetType puede ser til en las circunstancias siguientes:
Desea comparar dos referencias a objetos para ver si hacen referencia a instancias del
mismo tipo. Si es as, GetType devuelve referencias al mismo objeto Type.
Ejemplo
En el siguiente ejemplo se muestra el operador GetType en funcionamiento.
' The following statement returns the Type object for Integer.
MsgBox(GetType(Integer).ToString())
' The following statement returns the Type object for one-dimensional string arrays.
MsgBox(GetType(String()).ToString())
Global
Permite tener acceso a un elemento de programacin de .NET Framework cuando se ha
bloqueado con la estructura del espacio de nombres.
Descripcin
Si ha definido una jerarqua anidada de espacios de nombres, el cdigo dentro de esta jerarqua
puede tener el acceso bloqueado al espacio de nombres System de .NET Framework. En el
ejemplo siguiente se ilustra una jerarqua en la que el espacio de
nombres SpecialSpace.System bloquea el acceso a System.
Namespace SpecialSpace
Namespace System
Class abc
Function getValue() As System.Int32
Dim n As System.Int32
Return n
End Function
End Class
End Namespace
End Namespace
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Declare (Instruccin)
Delegate (Instruccin)
Event (Instruccin)
Operator (Instruccin)
Property (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Structure (Instruccin)
GoTo (Instruccin)
Realiza una bifurcacin incondicional a una lnea especificada de un procedimiento.
GoTo line
Parte
line
Obligatorio. Cualquier etiqueta de lnea.
Descripcin
La instruccin GoTo slo puede bifurcarse a lneas dentro del procedimiento en el que aparece. La
lnea debe tener una etiqueta de la lnea a la que puede hacer referencia GoTo. Para obtener ms
informacin, vea Cmo: Aplicar etiquetas a las instrucciones.
Nota
Las instrucciones GoTo pueden dificultar la lectura y el mantenimiento del cdigo.
Siempre que sea posible, utilice en su lugar una estructura de control. Para obtener
ms informacin, vea Flujo de control en Visual Basic.
No puede utilizar una instruccin GoTo para realizar una bifurcacin desde fuera de una
construccin For...Next, For Each...Next, SyncLock...End
SyncLock, Try...Catch...Finally, With...End With o Using...End Using a una etiqueta situada
dentro de ella.
Bifurcacin y construcciones Try
Dentro de una construccin Try...Catch...Finally, se aplican las reglas siguientes a la bifurcacin
con la instruccin GoTo.
Bloque o
regin
Bloque Try
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Nunca se permite
Si una construccin Try...Catch...Finally est anidada dentro de otra, un bloque Catch se puede
bifurcar hacia el interior del bloque Try de su propio nivel de anidacin, pero no hacia el interior de
ningn otro bloque Try. Una construccin Try...Catch...Finally anidada debe estar completamente
contenida dentro de un bloque Try o Catch de la construccin dentro de la que est anidada.
La ilustracin siguiente muestra una construccin Try anidada dentro de otra. Las distintas
bifurcaciones entre los bloques de las dos construcciones se sealan como vlidas o no vlidas.
Bifurcaciones vlidas y no vlidas en construcciones Try
Ejemplo
En este ejemplo se utiliza la instruccin GoTo para bifurcar hacia etiquetas de lnea ubicadas
dentro de un procedimiento.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Handles
Declara que un procedimiento controla un evento especificado.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ejemplo
Public Class ContainerClass
' Module or class level declaration.
WithEvents Obj As New Class1
Public Class Class1
' Declare an event.
Public Event Ev_Event()
Sub CauseSomeEvent()
' Raise an event.
RaiseEvent Ev_Event()
End Sub
End Class
Sub EventHandler() Handles Obj.Ev_Event
' Handle the event.
MsgBox("EventHandler caught event.")
End Sub
' Call the TestEvents procedure from an instance of the ContainerClass
' class to test the Ev_Event event and the event handler.
Public Sub TestEvents()
Obj.CauseSomeEvent()
End Sub
End Class
En el siguiente ejemplo se muestra cmo una clase derivada puede utilizar la
instruccin Handles para controlar un evento desde una clase base.
Public Class BaseClass
' Declare an event.
Event Ev1()
End Class
Class DerivedClass
Inherits BaseClass
Sub TestEvents() Handles MyBase.Ev1
' Add code to handle this event.
End Sub
End Class
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Interfacemember
Descripcin
Una interfaz es una coleccin de prototipos que representan los miembros (propiedades,
procedimientos y eventos) que encapsula la interfaz. Las interfaces slo contienen las
declaraciones para miembros. Las clases y estructuras implementan estos miembros.
La instruccin Implements debe incluirse inmediatamente a continuacin de las
instrucciones Class o Structure.
Cuando implementa una interfaz, debe implementar todos los miembros declarados en la interfaz.
Se considera un error de sintaxis omitir cualquier miembro. Para implementar un miembro
concreto, se especifica la palabra clave Implements (Visual Basic) (que es independiente de la
instruccin Implements) al declarar el miembro en la clase o la estructura.
Las clases pueden utilizar implementaciones Private (Visual Basic) de propiedades y
procedimientos, pero estos miembros slo son accesibles convirtiendo una instancia de la clase
que se implementa en una variable declarada para ser del tipo de la interfaz.
Ejemplo
El ejemplo siguiente muestra cmo utilizar la instruccin Implements para implementar miembros
de una interfaz. Define una interfaz denominada ICustomerInfo con un evento, una propiedad y un
procedimiento. La clase customerInfo implementa todos los miembros definidos en la interfaz.
Public Interface ICustomerInfo
Event updateComplete()
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Sub handleUpdateComplete()
' This is the event handler for the updateComplete event.
MsgBox("Update is complete.")
End Sub
Imports (Instruccin)
Importa espacios de nombres o elementos de programacin definidos en proyectos y ensamblados
a los que se hace referencia. Tambin importa espacios de nombres o elementos definidos dentro
del mismo proyecto.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Reglas
Comportamiento
Ejemplo
El ejemplo siguiente importa la clase Microsoft.VisualBasic.Strings y asigna un alias, str, que se
puede utilizar para obtener acceso al mtodo Left.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Observe que en el ejemplo anterior se importa un espacio de nombres anidado, Strings dentro
de VisualBasic dentro de Microsoft. Cuando MsgBox (Funcin, Visual Basic) tiene acceso al
mtodo Left, puede utilizar el alias str en lugar de la cadena de calificacin
completa, Microsoft.VisualBasic.Strings.
....
In (Visual Basic)
Especifica el grupo que recorre la variable de bucle en un bucle For Each.
Descripcin
Inherits (Instruccin)
Hace que la clase o interfaz actual herede los atributos, variables, propiedades, procedimientos y
eventos de otra clase o conjunto de interfaces.
Inherits basetypenames
Partes
basetypenames
Obligatorio. Nombre de la clase de la que deriva esta clase.
O bien
Nombres de las interfaces de las que deriva esta interfaz. Utilice comas para separar
varios nombres.
Descripcin
Si se utiliza, la instruccin Inherits debe ser la primera lnea no vaca, sin comentario, en una
definicin de clase o de interfaz. Debe seguir inmediatamente a la instruccin Class o Interface.
Slo puede utilizar Inherits en una clase o una interfaz. Esto significa que el contexto de
declaracin de una herencia no puede ser un archivo de cdigo fuente, espacio de nombres,
estructura, mdulo, procedimiento o bloque.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Herencia de clase. Si una clase utiliza la instruccin Inherits, slo puede especificar una
clase base.
Una clase no puede heredar de una clase anidada en ella.
Herencia de interfaz. Si una interfaz utiliza la instruccin Inherits, puede especificar una o
ms interfaces base. Puede heredar de dos interfaces incluso si cada una define un
miembro con el mismo nombre. Si lo hace as, el cdigo de implementacin debe utilizar la
calificacin del nombre para especificar qu miembro se implementa.
Una interfaz no puede heredar de otra interfaz con un nivel de acceso ms restrictivo. Por
ejemplo, una interfaz de tipo Public no puede heredar una interfaz de tipo Friend.
Una interfaz no puede heredar de una interfaz anidada en ella.
Ejemplo
En el ejemplo siguiente se utiliza la instruccin Inherits para mostrar cmo una clase
denominada thisClass puede heredar todos los miembros de una clase base denominada
anotherClass.
Public Class thisClass
Inherits anotherClass
' Add code to override, overload, or extend members
' inherited from the base class.
' Add new variable, property, procedure, and event declarations.
End Class
En el ejemplo siguiente se muestra la herencia de varias interfaces.
Public Interface thisInterface
Inherits IComparable, IDisposable, IFormattable
' Add new property, procedure, and event definitions.
End Interface
Ahora, la interfaz denominada thisInterface incluye todas las definiciones de las
interfaces IComparable, IDisposable y IFormattable. Los miembros heredados proporcionan,
respectivamente, la comparacin especfica de tipos de dos objetos, la liberacin de recursos
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ampliacin. El tipo de datos Integer se ampla a Long, Decimal, Single o Double. Esto
significa que se puede convertir Integer en cualquiera de estos tipos sin encontrar un
errorSystem.OverflowException.
Intervalo
Si intenta asignar a una variable de un tipo integral un nmero que est fuera del intervalo
correspondiente a este tipo, se produce un error. Si intenta establecerlo en una fraccin, el nmero
se redondea. Esto se muestra en el siguiente ejemplo.
' The valid range of an Integer variable is -2147483648 through +2147483647.
Dim k As Integer
' The following statement causes an error because the value is too large.
k = 2147483648
' The following statement sets k to 6.
k = CInt(5.9)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Public
Protected
Friend
Private
Protected Friend
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Anidar interfaces. Puede definir una interfaz dentro de otra. La interfaz exterior se
denomina la interfaz contenedora y la interfaz interior se denomina interfaz anidada.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Implementacin. Cuando una clase utiliza la instruccin Implements (Visual Basic) para
implementar esta interfaz, debe implementar todos los miembros definidos dentro de la
interfaz. Adems, cada firma incluida el cdigo que implementa debe coincidir exactamente
con la firma correspondiente definida en esta interfaz. Sin embargo, el nombre del miembro
del cdigo que implementa no tiene por qu coincidir con el nombre de miembro definido en
la interfaz.
Cuando una clase est implementando un procedimiento, no puede designar el
procedimiento como Shared.
Comportamiento
Nivel de acceso. Todos los miembros de interfaz tienen implcitamente acceso Public
(Visual Basic). No puede utilizar ningn modificador de acceso al definir un miembro. Sin
embargo, una clase que implementa la interfaz puede declarar un nivel de acceso para cada
miembro implementado.
Si asigna una instancia de clase a una variable, el nivel de acceso de sus miembros puede
depender de si el tipo de datos de la variable es el de la interfaz subyacente o el de la clase
implementadora. Esto se ilustra en el siguiente ejemplo:
Public Interface IDemo
Sub doSomething()
End Interface
Public Class implementIDemo
Implements IDemo
Private Sub doSomething() Implements IDemo.doSomething
End Sub
End Class
Dim varAsInterface As IDemo = New implementIDemo()
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
mbito. Una interfaz est en mbito a lo largo de su espacio de nombres, clase, estructura
o mdulo.
El mbito de cada uno de los miembros de la interfaz es la interfaz completa.
Ejemplo
El ejemplo siguiente utiliza la instruccin Interface para definir una interfaz
denominada thisInterface, que se debe implementar con una instruccin Property y una
instruccin Function.
Public Interface thisInterface
Property thisProp(ByVal thisStr As String) As Char
Function thisFunc(ByVal thisInt As Integer) As Integer
End Interface
Observe que las instrucciones Property y Function no introducen el bloques que terminan
con End Property y End Function dentro de la interfaz. Una interfaz slo define las firmas de sus
miembros. Los bloques Property y Function completos aparecen en las clases que
implementan thisInterface.
Is (Visual Basic)
Presenta una clusula Is que realiza una comparacin.
Descripcin
La palabra clave Is se utiliza con la palabra clave TypeOf en una expresin TypeOf...Is para
comprobar si el tipo en tiempo de ejecucin de una variable es compatible con un tipo determinado.
La palabra clave Is se puede utilizar en estos contextos:
Is (Operador)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Select...Case (Instruccin)
IsNot (Operador)
Compara dos variables de referencia de objeto.
result = object1 IsNot object2
Partes
result
Requerido. Valor Boolean.
object1
Requerido. Cualquier variable o expresin de tipo Object.
object2
Requerido. Cualquier variable o expresin de tipo Object.
Descripcin
El operador IsNot determina si dos referencias a objeto hacen referencia a objetos diferentes. Sin
embargo, no establece comparaciones entre valores. Si object1 y object2 hacen referencia la
misma instancia de objeto exacta, result da como resultado False; si no es as, result da como
resultado True.
IsNot es el opuesto del operador Is. La ventaja de IsNot es que puede evitar sintaxis extraa
con Not e Is, que puede ser difcil de leer.
Puede utilizar los operadores Is e IsNot para probar objetos enlazados en tiempo de compilacin y
en tiempo de ejecucin.
Ejemplo
El ejemplo de cdigo siguiente utiliza los operadores Is e IsNot para lograr la misma comparacin.
Dim o1, o2 As New Object
If Not o1 Is o2 Then MsgBox("o1 and o2 do not refer to the same instance.")
If o1 IsNot o2 Then MsgBox("o1 and o2 do not refer to the same instance.")
...............................................................................................................................................................
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Lib
Introduce una clusula Lib que identifica el archivo externo (archivo DLL o recurso de cdigo) que
contiene un procedimiento externo.
Descripcin
La palabra clave Lib se puede utilizar en este contexto:
Declare (Instruccin)
Like (Operador)
Compara una cadena respecto a un modelo.
result = string Like pattern
Partes
result
Obligatoria. Cualquier variable de tipo Boolean. El resultado ser un valor de
tipo Boolean que indicar si string satisface o no el modelo pattern.
string
Obligatoria. Cualquier expresin de tipo String.
pattern
Obligatoria. Cualquier expresin String que cumpla las convenciones de coincidencia de
modelos que se describen en la seccin "Comentarios".
Descripcin
Si el valor de string coincide con el modelo contenido en pattern, result es True. Si la cadena no
coincide con el modelo, result es False. Si tanto string como pattern son cadenas vacas, el
resultado es True.
Mtodo de comparacin
El comportamiento del operador Like depende de Option Compare (Instruccin). El mtodo de
comparacin de cadenas predeterminado para cada archivo de cdigo fuente es Option Compare
Binary.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Coincidencias en string
Cero o ms caracteres
[charlist]
[!charlist]
Listas de caracteres
Se puede utilizar un grupo de uno o varios caracteres (charlist) entre corchetes ([ ]) para hacer
coincidir cualquier carcter individual de string; este grupo podr incluir prcticamente cualquier
cdigo de caracteres, dgitos incluidos.
Un signo de exclamacin de cierre (!) situado al principio de charlist significa que se encontrar una
coincidencia si string contiene cualquier carcter no incluido en charlist. Cuando se use sin
corchetes, el signo de cerrar exclamacin coincidir consigo mismo.
Caracteres especiales
Si desea buscar caracteres especiales: corchete de apertura ([), interrogacin de cierre (?) signo
de nmero (#) y asterisco (*), escrbalos entre corchetes. No se puede usar el corchete de cierre (])
dentro de un grupo para identificar una autocoincidencia, pero s fuera de un grupo, como carcter
individual.
La secuencia [] se considera una cadena de longitud cero (""). Sin embargo, no puede formar parte
de una lista de caracteres encerrada entre corchetes. Si desea comprobar si una posicin
en string contiene un carcter de un grupo de caracteres o no contiene ninguno, puede
utilizar Like dos veces.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ejemplo
En este ejemplo se utiliza el operador Like para comparar cadenas en varios modelos. Los
resultados se introducen en una variable de tipo Boolean que indica si cada cadena satisface el
modelo.
Dim testCheck As Boolean
' The following statement returns True (does "F" satisfy "F"?)
testCheck = "F" Like "F"
' The following statement returns False for Option Compare Binary
' and True for Option Compare Text (does "F" satisfy "f"?)
testCheck = "F" Like "f"
' The following statement returns False (does "F" satisfy "FFF"?)
testCheck = "F" Like "FFF"
' The following statement returns True (does "aBBBa" have an "a" at the
' beginning, an "a" at the end, and any number of characters in
' between?)
testCheck = "aBBBa" Like "a*a"
' The following statement returns True (does "F" occur in the set of
' characters from "A" through "Z"?)
testCheck = "F" Like "[A-Z]"
' The following statement returns False (does "F" NOT occur in the
' set of characters from "A" through "Z"?)
testCheck = "F" Like "[!A-Z]"
' The following statement returns True (does "a2a" begin and end with
' an "a" and have any single-digit number in between?)
testCheck = "a2a" Like "a#a"
' The following statement returns True (does "aM5b" begin with an "a",
' followed by any character from the set "L" through "P", followed
' by any single-digit number, and end with any character NOT in
' the character set "c" through "e"?)
testCheck = "aM5b" Like "a[L-P]#[!c-e]"
' The following statement returns True (does "BAT123khg" begin with a
' "B", followed by any single character, followed by a "T", and end
' with zero or more characters of any type?)
testCheck = "BAT123khg" Like "B?T*"
' The following statement returns False (does "CAT123khg"?) begin with
' a "B", followed by any single character, followed by a "T", and
' end with zero or more characters of any type?)
testCheck = "CAT123khg" Like "B?T*"
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ampliacin. El tipo de datos Long se ampla a Decimal, Single o Double. Esto significa
que se puede convertir Byte en cualquiera de estos tipos sin encontrar un
errorSystem.OverflowException.
Loop
Finaliza un bucle presentado con una instruccin Do.
Descripcin
La palabra clave Loop se puede utilizar en este contexto:
Do...Loop (Instrucciones)
Me
Proporciona una forma de hacer referencia a la instancia especfica de una clase o estructura
donde se est ejecutando el cdigo actualmente.
Descripcin
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Class (Instruccin)
Structure (Instruccin)
...
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Sobrecarga
El operador Mod se puede sobrecargar, lo que significa que una clase o estructura pueden volver a
definir su comportamiento. Si su cdigo aplica Mod a una instancia de una clase o estructura que
incluye este tipo de sobrecarga, asegrese de conocer su comportamiento redefinido. Para obtener
ms informacin, vea Procedimientos de operador.
Ejemplo
En el ejemplo siguiente se usa el operador Mod para dividir dos nmeros y devolver nicamente el
resto. Si uno de ellos es un nmero con punto flotante, el resto resultante tambin ser un nmero
punto flotante.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Module (Instruccin)
Declara el nombre de un mdulo e introduce la definicin de las variables, propiedades, eventos y
procedimientos que incluye el mdulo.
Public
Friend
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Orientacin a objetos. Las clases estn orientadas a los objetos, pero los mdulos no.
Por tanto, slo se pueden crear instancias como objetos de las clases. Para obtener ms
informacin, vea Clases y mdulos.
Reglas
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Modificadores. Todos los miembros de mdulo son implcitamente de tipo Shared (Visual
Basic). No puede utilizar la palabra clave Shared al declarar un miembro y no puede
modificar el estado compartido de ningn miembro.
Herencia. Un mdulo no puede heredar de ningn tipo distinto de Object, del que heredan
todos los mdulos. En particular, un mdulo no puede heredar de otro.
No puede utilizar Inherits (Instruccin) en una definicin de mdulo, incluso si es para
especificar Object.
Comportamiento
Nivel de acceso. En un mdulo, puede declarar cada miembro con su propio nivel de
acceso. Los miembros de mdulo tienen como valor predeterminado acceso de tipo Public
(Visual Basic), excepto las variables y constantes, que tienen como valor predeterminado
acceso de tipo Private (Visual Basic). Cuando un mdulo tiene un acceso ms restringido
que uno de sus miembros, tiene prioridad el nivel de acceso del mdulo especificado.
mbito. Los mdulos se incluyen en el mbito de sus espacios de nombre.
El mbito de todos los miembros del mdulo es el mdulo completo. Observe que en todos
los miembros se realiza la promocin de tipos, que provoca que su mbito sea el espacio de
nombres que contiene el mdulo. Para obtener ms informacin.
Calificacin. Puede tener varios mdulos en un proyecto y puede declarar miembros con
el mismo nombre en dos o ms mdulos. Sin embargo, si la referencia procede del exterior
del mdulo debe calificar cualquier referencia a dichos miembros con el nombre del mdulo
adecuado. Para obtener ms informacin.
Ejemplo
Public Module thisModule
Sub Main()
Dim userName As String = InputBox("What is your name?")
MsgBox("User name is" & userName)
End Sub
' Insert variable, property, procedure, and event declarations.
End Module
MustInherit
Especifica que una clase slo se puede utilizar como una clase base y que no se puede crear
directamente un objeto a partir de ella.
Descripcin
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ejemplo
En el ejemplo siguiente se ilustra la herencia forzada y el reemplazo forzado. La clase
base shape define una variable acrossLine. Las clases circle y square se derivan de shape.
Heredan la definicin de acrossLine, pero deben definir la funcin area porque ese clculo es
diferente en cada tipo de forma.
Public MustInherit Class shape
Public acrossLine As Double
Public MustOverride Function area() As Double
End Class
Public Class circle : Inherits shape
Public Overrides Function area() As Double
Return Math.PI * acrossLine
End Function
End Class
Public Class square : Inherits shape
Public Overrides Function area() As Double
Return acrossLine * acrossLine
End Function
End Class
Public Class consumeShapes
Public Sub makeShapes()
Dim shape1, shape2 As shape
shape1 = New circle
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Class (Instruccin)
MustOverride
Especifica que una propiedad o procedimiento no se implementa en esta clase y debe
reemplazarse en una clase derivada para poder utilizarse.
Descripcin
Slo se pude utilizar MustOverride en una instruccin de declaracin de procedimiento o
propiedad. La propiedad o el procedimiento que especifica MustOverride debe ser un miembro de
una clase y sta se debe marcar como MustInherit.
Reglas
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Property (Instruccin)
MyBase
Proporciona una manera de hacer referencia a la clase base de la instancia de clase actual.
Descripcin
La palabra clave MyBase acta como una variable de objeto que hace referencia a la clase base
de la instancia actual de una clase. Generalmente, MyBase se utiliza para tener acceso a
miembros de la clase base que se reemplazan o sombrean en una clase derivada. En
particular, MyBase.New se utiliza para llamar explcitamente a un constructor de una clase base
desde un constructor de una clase derivada.
No se permite utilizar MyBase para llamar a mtodos base MustOverride.
MyClass
Proporciona una manera de hacer referencia a los miembros de la instancia de clase actual sin que
se reemplacen con clases derivadas.
Descripcin
La palabra clave MyClass acta como una variable de objeto que hace referencia a la instancia
actual de una clase tal como se implement originalmente. MyClass es similar a Me, pero cada
llamada a un mtodo y propiedad de MyClass se trata como si el mtodo o propiedad
fuesen NotOverridable. Por lo tanto, el mtodo o propiedad no se ve afectado por el reemplazo de
una clase derivada. En el siguiente ejemplo se comparan Me y MyClass.
Class baseClass
Public Overridable Sub testMethod()
MsgBox("Base class string")
End Sub
Public Sub useMe()
' The following call uses the calling class's version, even if
' that version is an override.
Me.testMethod()
End Sub
Public Sub useMyClass()
' The following call uses this version and not any override.
MyClass.testMethod()
End Sub
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Namespace (Instruccin)
Declara el nombre de un espacio de nombres y determina que el cdigo fuente que sigue a la
declaracin se compile dentro de ese espacio de nombres.
Namespace { name | name.name }
[ componenttypes ]
End Namespace
Partes
name
Obligatorio. Un nombre nico que identifica el espacio de nombres. Debe ser un
identificador de Visual Basic vlido. Para obtener ms informacin, vea Nombres de
elementos declarados.
componenttypes
Opcional. Elementos que forman el espacio de nombres. Entre estos elementos se pueden
citar enumeraciones, estructuras, interfaces, clases, mdulos, delegados y otros espacios
de nombres.
End Namespace
Termina un bloque Namespace.
Descripcin
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Comportamiento
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Namespace System.Collections.Generic
Class specialSortedList(Of T)
Inherits List(Of T)
' Insert code to define the special generic list class.
End Class
End Namespace
Espacio de nombres de la raz. Todos los nombres de espacios de nombres del proyecto
se basan en un espacio de nombres de raz. Visual Studio asigna el nombre de proyecto
como el espacio de nombres de raz predeterminado para todo el cdigo del proyecto. Por
ejemplo, si el proyecto se denomina Payroll, sus elementos de programacin pertenecen al
espacio de nombres Payroll. Si declara Namespace funding, el nombre completo de ese
espacio de nombres es Payroll.funding.
Si desea especificar un espacio de nombres existente en una instruccin Namespace, como
en el ejemplo de clase de lista genrica, puede establecer el espacio de nombres de raz
con un valor nulo. Para ello, elige Propiedades del proyecto en el men Proyecto men y
borra la entrada Espacio de nombres de la raz para dejar el cuadro vaco. Si no ha
realizado esto en el ejemplo de la clase de lista genrica, el compilador de Visual Basic
considera System.Collections.Generic como un nuevo espacio de nombres en el
proyectoPayroll, con el nombre completo Payroll.System.Collections.Generic.
Tambin puede utilizar la palabra clave Global para hacer referencia a los elementos de
espacios de nombres definidos fuera del proyecto. Esto permite conservar el nombre del
proyecto como espacio de nombres de la raz. As reduce la posibilidad de combinar
involuntariamente los elementos de programacin con aqullos de espacios de nombres
existentes.
Solucin de problemas
Ejemplo
En el ejemplo siguiente se declaran dos espacios de nombres, uno anidado dentro del otro.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Narrowing
Indica que un operador de conversin (CType) convierte una clase o una estructura en un tipo que
quiz no pueda incluir algunos de los valores posibles de la clase o la estructura original.
Convertir con la palabra clave Narrowing
El procedimiento de conversin debe especificar Public Shared adems de Narrowing.
Las conversiones de restriccin no son siempre satisfactorias en tiempo de ejecucin y pueden
generar errores o provocar prdida de datos. Ejemplos son Long a Integer, String a Date y un tipo
base a un tipo derivado. Esta ltima conversin es de restriccin, ya que es posible que el tipo
base no contenga todos los miembros del tipo derivado y no es, por tanto, una instancia del tipo
derivado.
Si Option Strict tiene el valor On, el cdigo que lo utiliza debe emplear CType para todas las
conversiones de restriccin.
La palabra clave Narrowing se puede utilizar en este contexto:
Operator (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Of
....
For...Next (Instruccin)
On Error (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Resume (Instruccin)
True
False
False
True
En las expresiones numricas, el operador Not invierte los valores de bits de las expresiones
numricas y establece el bit correspondiente en result de acuerdo con la siguiente tabla:
Si el bit de expression es:
Tipos de datos
En una negacin booleana, el tipo de datos del resultado es Boolean. En una negacin bit a bit, el
tipo de datos del resultado es el mismo que el de expression. Sin embargo, si la expresin
es Decimal, el resultado es Long.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
NotInheritable
Especifica que una clase que no se puede utilizar como clase base.
Descripcin
Trminos alternativos. Una clase que no se puede heredar se denomina en ocasiones
clase sellada.
El modificador NotInheritable se puede utilizar en este contexto:
...............................................................................................................................................................
NotOverridable
Especifica que una propiedad o un procedimiento no se puede reemplazar en una clase derivada.
Descripcin
NotOverridable es el valor predeterminado de un procedimiento o propiedad que no reemplaza
por s mismo a un procedimiento o propiedad de clase base.
Un elemento que no se puede reemplazar se denomina en ocasiones elemento sellado.
Reglas
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Property (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Rendimiento. Una variable que declara con el tipo Object es bastante flexible para
contener una referencia a cualquier objeto. Sin embargo, cuando invoca un mtodo o
propiedad en este tipo de variable, se produce siempre el enlace en tiempo de ejecucin.
Para forzar el enlace en tiempo de compilacin y un mejor rendimiento, declare la variable
con un nombre de clase especfico o convirtala en el tipo de datos especfico.
Cuando declara una variable de objeto, intente utilizar un tipo de clase concreto, por
ejemplo OperatingSystem, en lugar del tipo Object generalizado. Tambin es preferible
utilizar la clase ms especfica disponible, como TextBox en lugar de Control, as podr tener
acceso a sus propiedades y mtodos. Normalmente puede utilizar la
lista Clases del Examinador de objetos para buscar nombres de clase disponibles.
Ampliacin. Todos los tipos de datos y todos los tipos de referencia se amplan al tipo de
datos Object. Esto significa que se puede convertir cualquier tipo a Object sin encontrar un
error System.OverflowException.
Sin embargo, si convierte entre tipos de valor y Object, Visual Basic realiza unas
operaciones llamadas conversin boxing y conversin unboxing, que ralentizan la ejecucin.
Ejemplo
El ejemplo siguiente ilustra una variable Object que seala a una instancia de objeto.
Dim objDb As Object
Dim myCollection As New Collection()
' Suppose myCollection has now been populated.
objDb = myCollection.Item(1)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Of
Introduce una clusula Of que identifica un parmetro de tipo en una clase, estructura, interfaz,
delegado o procedimiento genricos. Para obtener informacin sobre tipos genricos.
Utilizar la palabra clave Of
El ejemplo de cdigo siguiente utiliza la palabra clave Of para definir el contorno de una clase que
acepta dos parmetros de tipo. Restringe el parmetro keyType mediante la interfazIComparable,
lo que significa que el cdigo utilizado debe proporcionar un argumento de tipo que
implemente IComparable. Esto es necesario para que el procedimiento add pueda llamar al
mtodo System.IComparable.CompareTo(System.Object). Para obtener ms informacin sobre
restricciones, vea Lista de tipos.
Public Class Dictionary(Of entryType, keyType As IComparable)
Public Sub add(ByVal e As entryType, ByVal k As keyType)
Dim dk As keyType
If k.CompareTo(dk) = 0 Then
End If
End Sub
Public Function find(ByVal k As keyType) As entryType
End Function
End Class
Si finaliza la definicin de la clase anterior, puede construir una variedad de clases dictionary a
partir de ella. Los tipos que proporciona a entryType y keyType determinan qu tipo de entrada
contiene la clase y qu tipo de clave asocia con cada entrada. Debido a la restriccin, debe
proporcionar a keyType un tipo que implemente IComparable.
El ejemplo de cdigo siguiente crea un objeto que contiene entradas String y asocia una
clave Integer a cada una de ellas. Integer implementa IComparable y satisface de este modo la
restriccin de keyType.
Dim d As New dictionary(Of String, Integer)
La palabra clave Of se puede utilizar en estos contextos:
Class (Instruccin)
Delegate (Instruccin)
Function (Instruccin)
Interface (Instruccin)
Structure (Instruccin)
Sub (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
On
Presenta una respuesta a un error en tiempo de ejecucin o activa una opcin del compilador.
Descripcin
La palabra clave On se utiliza en estos contextos:
On Error (Instruccin)
Operator (Instruccin)
Declara el smbolo de operador, los operandos y el cdigo que definen un procedimiento de
operador en una clase o estructura.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Descripcin
ByVal
operandnam
e
operandtype
Opcional a menos que Option Strict est establecido en On. Tipo de datos de
este operando.
type
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Operadores
Unario
Binary
+, -, *, /, \, &, ^, >>, <<, =, <>, >, >=, <, <=, And, Like, Mod, Or, Xor
Conversin (unario)
CType
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
= y <>
>y<
>= y <=
IsTrue y IsFalse
Ciertos operadores tienen restricciones adicionales de tipo de datos, como las siguientes:
Si define los operadores IsTrue y IsFalse, ambos deben devolver el tipo Boolean.
Si define los operadores << y >>, ambos deben especificar el
tipo Integer en operandtype y operand2.
El tipo de valor devuelto no tiene que corresponder con el tipo de un operando. Por ejemplo, un
operador de comparacin como = o <> puede devolver un valor de tipo Boolean aunque ninguno
de los operandos sea de tipo Boolean.
Operadores lgicos y bit a bit
Los operadores And, Or, Not y Xor pueden realizar operaciones bit a bit o lgicas en Visual Basic.
Sin embargo, si define uno de estos operadores en una clase o estructura, slo puede definir su
operacin bit a bit.
No puede definir directamente el operador AndAlso con una instruccin Operator. Sin embargo,
puede utilizar AndAlso si ha cumplido las condiciones siguientes:
Ha definido And en los mismos tipos de operando que desea utilizar para AndAlso.
Su definicin de And devuelve el mismo tipo que la clase o estructura donde lo ha definido.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Debe controlar cualquier retorno del error de cualquier procedimiento al que llama.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Descripcin
Las opciones del compilador pueden controlar si deben declararse de forma explcita todas las
variables, si las conversiones de ampliacin de tipos deben ser explcitas o si las cadenas deben
compararse como texto o como cantidades binarias.
La palabra clave Option se puede utilizar en estos contextos:
Declare (Instruccin)
Function (Instruccin)
Property (Instruccin)
Sub (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Y expression2 es
El valor de result es
True
True
True
True
False
True
False
True
True
False
False
False
Para operaciones bit a bit, el operador Or realiza una comparacin bit a bit de los bits ubicados de
manera idntica en dos expresiones numricas y establece el bit correspondiente enresult de
acuerdo con la siguiente tabla.
Si el bit de expression1 es...
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Tipos de datos
Si los operandos constan de una expresin Boolean y una expresin numrica, Visual Basic
convierte la expresin Boolean a un valor numrico (1 para True y 0 para False), y realiza una
operacin bit a bit.
Para una comparacin Boolean, el tipo de datos del resultado es Boolean. Para una comparacin
bit a bit, el tipo de datos del resultado es un tipo numrico adecuado para los tipos de datos
de expression1 y expression2. Vea la tabla "Comparaciones relacionales y bit a bit" en Tipos de
datos de resultados de operador.
Sobrecarga
El operador Or se puede sobrecargar, lo que significa que una clase o una estructura pueden
definir de nuevo su comportamiento cuando un operando tiene el tipo de dicha clase o estructura.
Si el cdigo utiliza este operador en una clase o estructura de este tipo, asegrese de conocer su
comportamiento redefinido. Para obtener ms informacin, vea Procedimientos de operador.
Ejemplo
En el ejemplo siguiente se usa el operador Or para realizar una disyuncin lgica inclusiva entre
dos expresiones. El resultado ser un valor de tipo Boolean que indicar si alguna de las dos
expresiones es True.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b Or b > c
secondCheck = b > a Or b > c
thirdCheck = b > a Or c > b
El ejemplo anterior genera unos resultados de True, True y False, respectivamente.
En el ejemplo siguiente se usa el operador Or para realizar una disyuncin lgica inclusiva entre
cada uno de los bits de dos expresiones numricas. El bit en el modelo resultante se establece si
uno de los bits correspondientes de los operandos se ha establecido en 1.
Dim a As Integer = 10
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
OrElse (Operador)
Realiza una disyuncin lgica inclusiva "cortocircuitada" en dos expresiones.
Y expression2 es
El valor de result es
True
(no se evala)
True
False
True
True
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
False
False
Tipos de datos
El operador OrElse slo se define para Boolean (Tipo de datos, Visual Basic). Visual Basic
convierte cada operando tal como sea necesario en Boolean y realiza toda la operacin
enBoolean. Si asigna el resultado a un tipo numrico, Visual Basic lo convierte de Boolean a ese
tipo. Esto podra generar un comportamiento inesperado. Por ejemplo, 5 OrElse 12 tiene como
resultado 1 cuando se convierte en Integer.
Sobrecarga
Or (Operador, Visual Basic) e IsTrue (Operador) se pueden sobrecargar, lo que significa que una
clase o estructura puede definir de nuevo su comportamiento cuando un operando tiene el tipo de
dicha clase o estructura. La sobrecarga de los operadores Or e IsTrue afecta al comportamiento
del operador OrElse. Si el cdigo utiliza OrElse en una clase o estructura que
sobrecarga Or e IsTrue, asegrese de conocer su comportamiento redefinido. Para obtener ms
informacin, vea Procedimientos de operador.
Ejemplo
En el ejemplo siguiente se usa el operador OrElse para realizar una disyuncin lgica entre dos
expresiones. El resultado ser un valor de tipo Boolean que indicar si alguna de las dos
expresiones es verdadera (True). Si la primera expresin es True, la segunda no ser evaluada.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b OrElse b > c
secondCheck = b > a OrElse b > c
thirdCheck = b > a OrElse c > b
El ejemplo anterior genera unos resultados de True, True y False, respectivamente. En el clculo
de firstCheck, no se evala la segunda expresin porque la primera ya es True. Sin embargo, la
segunda expresin se evala en el clculo de secondCheck.
En el ejemplo siguiente se muestra la instruccin If...Then que contiene dos llamadas a
procedimientos. Si la primera llamada devuelve True, no se llama al segundo procedimiento. Esto
puede generar resultados inesperados si el segundo procedimiento realiza tareas importantes que
se deben realizar siempre que se ejecute esta seccin del cdigo.
If testFunction(5) = True OrElse otherFunction(4) = True Then
' If testFunction(5) is True, otherFunction(4) is not called.
' Insert code to be executed.
End If
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
el nmero de parmetros
Todas las sobrecargas deben tener el mismo nombre pero cada una debe diferir de todas las
dems en una o varias de las consideraciones anteriores. Esto permite al compilador
distinguir qu versin debe utilizar cuando el cdigo llama a la propiedad o al procedimiento.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Function (Instruccin)
Operator (Instruccin)
Property (Instruccin)
Sub (Instruccin)
....
Overridable
Especifica que una propiedad o procedimiento se puede reemplazar por una propiedad o
procedimiento con nombre idntico de una clase derivada.
Descripcin
Overridable es el valor predeterminado de un procedimiento o propiedad que reemplaza a un
procedimiento o propiedad de clase base.
El sombreado y el reemplazo definen de nuevo un elemento heredado, pero hay diferencias
significativas entre los dos enfoques. Para obtener ms informacin, vea Sombrear en Visual
Basic.
Un elemento que se puede reemplazar se denomina en ocasiones elemento virtual. Si se puede
reemplazar, pero no tiene que reemplazarse, en ocasiones tambin se denomina
elementoconcreto.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Property (Instruccin)
Overrides
Establece que una propiedad o procedimiento reemplaza una propiedad o un procedimiento
especficos heredados de una clase base.
Descripcin
Reglas
El nivel de acceso
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Function (Instruccin)
Property (Instruccin)
Sub (Instruccin)
ParamArray
Especifica que el parmetro de un procedimiento toma una matriz opcional de elementos del tipo
especificado. ParamArray slo se puede utilizar como el ltimo parmetro de una lista de
parmetros.
Descripcin
ParamArray permite pasar al procedimiento un nmero arbitrario de argumentos. Un
parmetro ParamArray siempre se declara mediante ByVal.
Puede proporcionar uno o ms argumentos en un parmetro ParamArray pasando una matriz del
tipo de datos adecuado, una lista de valores separados por comas o nada en absoluto. Para
obtener ms detalles, vea "Llamar a un lista de parmetros" en Matrices de parmetros.
Nota de seguridad
Si se trabaja con matrices cuyo tamao es excesivamente grande, existe el riesgo de
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Declare (Instruccin)
Property (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Utilizacin de palabras clave. Por motivos de legibilidad, cada declaracin parcial de una
clase o estructura debera incluir la palabra clave Partial. El compilador nicamente permite
que se omita la palabra clave en una sola declaracin parcial; si se omite en dos o ms
declaraciones parciales, el compilador indicar un error.
Comportamiento
Class (Instruccin)
Structure (Instruccin)
Ejemplo
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Contexto de declaracin. Slo puede utilizar Private en el nivel de mdulo. Esto significa
que el contexto de la declaracin de un elemento Private debe ser un mdulo, una clase o
una estructura, y no un archivo de cdigo fuente, un espacio de nombres, una interfaz o un
procedimiento.
Comportamiento
Nivel de acceso. Todo el cdigo de un contexto de declaracin puede tener acceso a sus
elementos Private. Esto incluye el cdigo del tipo contenido, por ejemplo una clase anidada
o una expresin de asignacin de una enumeracin. Ningn cdigo fuera del contexto de
declaracin puede tener acceso a sus elementos Private.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Class (Instruccin)
Const (Instruccin)
Declare (Instruccin)
Delegate (Instruccin)
Dim (Instruccin)
Enum (Instruccin)
Event (Instruccin)
Function (Instruccin)
Interface (Instruccin)
Property (Instruccin)
Structure (Instruccin)
Sub (Instruccin)
Property (Instruccin)
Declara el nombre de una propiedad y los procedimientos de propiedades que se utilizan para
almacenar y recuperar el valor de la propiedad.
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
[ <attributelist> ] [ accessmodifier ] Get
[ statements ]
End Get
[ <attributelist> ] [ accessmodifier ] Set
( ByVal value As returntype [, parameterlist ] )
[ statements ]
End Set
End Property
Partes
attributelist
Opcional. Lista de atributos aplicables a esta propiedad o procedimiento Get o Set.
Vea Lista de atributos.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Public
Protected
Friend
Private
Protected Friend
Overloads
Overrides
Overridable
NotOverridable
MustOverride
MustOverride Overrides
NotOverridable Overrides
Shared
Opcional. Vea Shared (Visual Basic).
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Descripcin
interface
definednam
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Niveles de acceso mixto. Si est definiendo una propiedad de lectura y escritura, tiene la
opcin de especificar un nivel de acceso distinto para el procedimiento Get o para el
procedimiento Set, pero no para ambos. Si as lo hace, el nivel de acceso del procedimiento
debe ser ms restrictivo que el nivel de acceso de la propiedad. Por ejemplo, si la propiedad
se declara como Friend, puede declarar el procedimiento Set como Private, pero no
como Public.
Si est definiendo una propiedad ReadOnly o WriteOnly, el procedimiento de propiedad
nico (Get o Set, respectivamente) representa toda la propiedad. No puede declarar un nivel
de acceso diferente para este tipo de procedimiento, porque se estableceran dos niveles de
acceso para la propiedad.
Tipo de valor devuelto. La instruccin Property puede declarar el tipo de datos del valor
que devuelve. Puede especificar cualquier tipo de datos o el nombre de una enumeracin,
estructura, clase o interfaz.
Si no especifica returntype, la propiedad devuelve Object.
Comportamiento
Valor devuelto. Para devolver un valor desde un procedimiento Get, puede asignar el
valor al nombre de propiedad o incluirlo en una instruccin Return. El ejemplo siguiente
asigna el valor devuelto al nombre de propiedad quoteForTheDay y, a continuacin, utiliza la
instruccin Exit Property para volver.
Private quoteValue As String = "No quote assigned yet."
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Comportamiento
Nivel de acceso. Todo el cdigo de una clase puede obtener acceso a sus elementos. El
cdigo de cualquier clase que se derive de una clase base puede tener acceso a todos los
elementos Protected de la clase base. Esto se aplica en todos los niveles de derivacin, lo
que significa que una clase puede tener acceso a los elementos Protected de la clase base
de la clase base, etc.
El acceso protegido no es un supraconjunto ni un subconjunto del acceso de tipo amigo.
Class (Instruccin)
Const (Instruccin)
Declare (Instruccin)
Delegate (Instruccin)
Dim (Instruccin)
Enum (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Event (Instruccin)
Function (Instruccin)
Interface (Instruccin)
Property (Instruccin)
Structure (Instruccin)
Sub (Instruccin)
Comportamiento
Nivel de acceso. Todos los cdigos que pueden tener acceso a un mdulo, clase o
estructura pueden tener acceso a sus elementos Public.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Class (Instruccin)
Const (Instruccin)
Declare (Instruccin)
Delegate (Instruccin)
Dim (Instruccin)
Enum (Instruccin)
Event (Instruccin)
Function (Instruccin)
Interface (Instruccin)
Module (Instruccin)
Operator (Instruccin)
Property (Instruccin)
Structure (Instruccin)
Sub (Instruccin)
RaiseEvent (Instruccin)
Desencadena un evento declarado en el nivel de mdulo dentro de una clase, formulario o
documento.
RaiseEvent eventname[( argumentlist )]
Partes
eventname
Obligatorio. Nombre del evento que se va a desencadenar.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Asignar un valor. El cdigo que utiliza una propiedad ReadOnly no puede establecer su
valor. Pero el cdigo que tiene acceso al almacenamiento subyacente puede asignar o
modificar el valor en cualquier momento.
Slo puede asignar un valor a una variable ReadOnly en su declaracin o en el constructor
de una clase o estructura en la que est definida.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Dim (Instruccin)
Property (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Lmites de la matriz. Cada entrada en boundlist puede especificar los lmites inferior y
superior de la dimensin. El lmite inferior siempre es cero, tanto si lo especifica como si no.
El lmite superior es el valor superior posible para ese subndice, no la longitud de la
dimensin (que es el lmite superior ms uno). Cada subndice puede variar de cero a su
valor de lmite superior.
El nmero de dimensiones en boundlist debe coincidir con el rango original de la matriz.
Matrices vacas. Es posible utilizar -1 para declarar el lmite superior de una dimensin de
matriz. Esto significa que la matriz est vaca pero no tiene el valor Nothing (Visual Basic).
Para obtener ms informacin, vea Cmo: Crear una matriz sin elementos. No obstante, el
cdigo de Visual Basic no permite un acceso correcto a dicha matriz. Si se intenta el acceso,
se produce un error IndexOutOfRangeException durante la ejecucin.
Tipos de datos. La instruccin ReDim no puede cambiar el tipo de datos de una variable
de matriz ni de sus elementos.
Propiedades. Se puede utilizar ReDim en una propiedad que contiene una matriz de
valores.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Reemplazo de matriz.ReDim libera la matriz existente y crea una matriz nueva con el
mismo rango. La nueva matriz reemplaza la matriz liberada en la variable de matriz.
Ejemplo
El ejemplo siguiente aumenta el tamao de la ltima dimensin de una matriz dinmica sin perder
los datos existentes en la matriz y, a continuacin, reduce el tamao con una prdida parcial de
datos. Por ltimo, reduce el tamao a su valor original y reinicializa todos los elementos de la
matriz.
Dim intArray(10, 10, 10) As Integer
ReDim Preserve intArray(10, 10, 20)
ReDim Preserve intArray(10, 10, 15)
ReDim intArray(10, 10, 10)
La primera instruccin ReDim crea una nueva matriz que reemplaza la matriz existente en la
variable intArray. ReDim copia todos los elementos de la matriz existente en la nueva matriz.
Tambin agrega 10 columnas ms al final de cada fila en todas las capas e inicializa los elementos
de estas nuevas columnas con 0 (el valor predeterminado de Integer, el tipo de elemento de la
matriz).
El segundo ReDim crea otra nueva matriz, copiando todos los elementos que quepan. Sin
embargo, se pierden cinco columnas desde el final de cada fila en cada capa. Esto no es un
problema si ha terminado de utilizar estas columnas. Si se reduce el tamao de una matriz de gran
tamao, puede liberar memoria que ya no necesite.
El tercer ReDim crea otra matriz nueva, quitando otro cinco columnas del final de cada fila en cada
capa. Esta vez no copia ningn elemento existente. As se recupera el tamao original de la matriz
y se devuelven sus elementos al valor predeterminado original.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
RemoveHandler (Instruccin)
Quita la asociacin entre un evento y un controlador de eventos.
RemoveHandler event, AddressOf eventhandler
Partes
event
Nombre del evento que se va a controlar.
eventhandler
Nombre del procedimiento que controla actualmente el evento.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Resume
Especifica dnde debe continuar la ejecucin despus de controlar un error.
Descripcin
La palabra clave Resume se puede utilizar en estos contextos:
Resume (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Compatibilidad con CLS. El tipo de datos SByte no forma parte de Common Language
Specification (CLS), por lo que el cdigo compatible con CLS no puede utilizar un
componente que lo utiliza.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
expression1 To expression2
[ Is ] comparisonoperator expression
expression
Utilice la palabra clave To para especificar los lmites de un intervalo de valores que
coinciden para testexpression. El valor de expression1 debe ser menor o igual que el valor
deexpression2.
Utilice la palabra clave Is con un operador de comparacin (=, <>, <, <=, > o >=) para
especificar una restriccin de los valores coincidentes para testexpression. Si no se
escribe, la palabra clave Is se insertar automticamente antes de comparisonoperator.
La forma de especificar slo expression se trata como un caso especial de la
forma Is donde comparisonoperator es el signo igual (=). Esta forma se evala
como testexpression =expression.
Las expresiones contenidas en expressionlist pueden ser de cualquier tipo de datos,
siempre que sean implcitamente convertibles al tipo de testexpression y el
correspondientecomparisonoperator sea vlido para los dos tipos con los que se utilice.
statements
Opcional. Una o ms instrucciones posteriores a Case que se ejecutan
si testexpression coincide con cualquier clusula de expressionlist.
elsestatements
Opcional. Una o ms instrucciones posteriores a Case Else que se ejecutan
si testexpression no coincide con ninguna clusula de expressionlist de cualquiera de las
instrucciones Case.
End Select
Termina la definicin la construccin Select...Case.
Descripcin
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Protected
Friend
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Private
Protected Friend
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Comportamiento
Ejemplo
En el siguiente ejemplo se utiliza la instruccin Set para establecer el valor de una propiedad.
Class propClass
Private propVal As Integer
Property prop1() As Integer
Get
Return propVal
End Get
Set(ByVal value As Integer)
propVal = value
End Set
End Property
End Class
Shadows
Especifica que un elemento de programacin declarado vuelve a declarar y oculta un elemento
denominado de forma idntica o un conjunto de elementos sobrecargados, en una clase base.
Descripcin
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Tipos de elementos. Puede hacer que cualquier tipo de elemento declarado prevalezca
sobre cualquier otro tipo. Si sombrea una propiedad o procedimiento con otra propiedad o
procedimiento, los parmetros y el tipo de valor devuelto no tienen que coincidir con los de
la propiedad o procedimiento de la clase base.
Class (Instruccin)
Const (Instruccin)
Declare (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Delegate (Instruccin)
Dim (Instruccin)
Enum (Instruccin)
Event (Instruccin)
Function (Instruccin)
Interface (Instruccin)
Property (Instruccin)
Structure (Instruccin)
Sub (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Comportamiento
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Dim (Instruccin)
Event (Instruccin)
Function (Instruccin)
Operator (Instruccin)
Property (Instruccin)
Sub (Instruccin)
Ampliacin. El tipo de datos Short se ampla a Integer, Long, Decimal, Single o Double.
Esto significa que se puede convertir Short en cualquiera de estos tipos sin encontrar un
error System.OverflowException.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Precisin. Cuando trabaje con nmeros de punto flotante, tenga presente que no siempre
tienen una representacin precisa en memoria. Esto podra conducir a resultados
inesperados en ciertas operaciones, como la comparacin de valores y el operador Mod.
Para obtener ms informacin, vea Solucionar problemas de tipos de datos.
Ampliacin. El tipo de datos Single ampla a Double. Esto significa que puede
convertir Single en Double sin encontrar un error System.OverflowException.
Ceros finales. Los tipos de datos de punto flotante no tienen representacin interna de
caracteres 0 finales. Por ejemplo, no distinguen entre 4,2000 y 4,2. Por consiguiente, los
caracteres 0 finales no aparecen cuando muestra o imprime valores de punto flotante.
..
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Contexto de la declaracin. Slo puede utilizar Static en variables local. Esto significa
que el contexto de la declaracin para una variable Static debe ser un procedimiento o un
bloque dentro de un procedimiento y no puede ser un archivo de cdigo fuente, un espacio
de nombres, una clase, una estructura o un mdulo.
No puede utilizar Static dentro de un procedimiento de estructura.
Comportamiento
El comportamiento de cualquier variable local depende de si se declara en un
procedimiento Shared. Si el procedimiento es Shared, todas sus variables locales se comparten
automticamente, incluso las variables Static. Slo existe una copia de este tipo de variable para
toda la aplicacin. Llama a un procedimiento Shared utilizando el nombre de clase y no una
variable que seala a una instancia de la clase.
Si el procedimiento no es Shared, sus variables locales son variables de instancia, incluso las
variables Static. Existe una copia independiente de cada variable en todas las instancias de la
clase. Llama a un procedimiento no compartido utilizando una variable que seala a una instancia
concreta de la clase. Cualquier variable de esa instancia es independiente de una variable con el
mismo nombre de otra instancia. Por consiguiente, pueden contener valores diferentes.
Ejemplo
El siguiente ejemplo muestra el uso de Static.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Step
Especifica un valor de incremento para un contador de bucle.
Descripcin
La palabra clave Step se puede utilizar en este contexto:
Ejemplo
En este ejemplo se utiliza la instruccin Stop para suspender la ejecucin para cada iteracin a
travs del bucle For...Next.
Dim i As Integer
For i = 1 To 10
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Nmeros negativos. Tenga presente que los caracteres contenidos en String son sin
signo y no pueden representar valores negativos. En cualquier caso, no debera
utilizar Stringpara contener valores numricos.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Public
Protected
Friend
Private
Protected Friend
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Overloads
Overrides
Overridable
NotOverridable
MustOverride
MustOverride Overrides
NotOverridable Overrides
Shared
Opcional. Ver Shared.
Shadows
Opcional. Ver Shadows.
name
Obligatorio. Nombre del procedimiento. Vea Nombres de elementos declarados.
typeparamlist
Opcional. Lista de parmetros de tipo para un procedimiento genrico. Ver Lista de tipos.
parameterlist
Opcional. Lista de nombres de variable local que representan los parmetros de este
procedimiento. Vea Lista de parmetros.
Implements
Opcional. Indica que este procedimiento implementa uno o ms procedimientos Sub, cada
uno definido en una interfaz implementada por la clase o estructura contenedora de este
procedimiento. Vea Implements (Instruccin).
implementslist
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Descripcin
interface
definednam
e
Handles
Opcional. Indica que este procedimiento puede controlar uno o ms eventos concretos.
Vea Handles.
eventlist
Requerido si se suministra Handles. Lista de eventos que este procedimiento controla.
eventspecifier [ , eventspecifier ... ]
Cada eventspecifier tiene la sintaxis y las partes siguientes:
eventvariable.event
Parte
Descripcin
eventvariabl
e
event
statements
Opcional. Bloque de instrucciones que se ejecuta dentro de este procedimiento.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Comportamiento
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
SyncLock (Instruccin)
Adquiere un bloqueo exclusivo para un bloque de instrucciones antes de ejecutar el bloque.
SyncLock lockobject
[ block ]
End SyncLock
Partes
lockobject
Obligatorio. Expresin que se evala como una referencia a objeto.
block
Opcional. Bloque de instrucciones que se ejecuta cuando se adquiere el bloqueo.
End SyncLock
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Comportamiento
Datos protegidos. Si lockobject es una variable Shared, el bloqueo exclusivo impide que un
subproceso de cualquier instancia de la clase ejecute el bloque SyncLock mientras lo
ejecute otro subproceso. Esto protege los datos compartidos entre todas las instancias.
Si lockobject es una variable de instancia (no Shared), el bloqueo impide que un subproceso
que se ejecuta en la instancia actual ejecute el bloque SyncLock en la misma instancia a la
vez que otro subproceso. Esto protege los datos mantenidos por la instancia individual.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Llamadas del marco de trabajo. El bloque SyncLock adquiere y libera el bloqueo exclusivo
llamando a los mtodos Enter y Exit de la clase Monitor en el espacio de
nombresSystem.Threading.
Programar prcticas
La expresin lockobject se debe evaluar siempre como un objeto que pertenece exclusivamente a
su clase. Debe declarar una variable de objeto Private para proteger los datos que pertenecen a la
instancia actual o una variable de objeto Private Shared para proteger los datos comunes a todas
las instancias.
No debe utilizar la palabra clave Me para proporcionar un objeto de bloqueo para los datos de
instancia. Si existe un cdigo ajeno a su clase con una referencia a una instancia de su clase, ste
puede utilizar esta referencia como un objeto de bloqueo para un bloque SyncLock totalmente
distinto del suyo y proteger datos distintos. De esta manera, su clase y la otra clase podran impedir
que se ejecutaran sus bloques SyncLock no relacionados. Bloquear de forma similar una cadena
puede ser problemtico ya que cualquier otro cdigo del proceso, que utilice la misma cadena,
compartir el mismo bloqueo.
Asimismo, no debe utilizar el mtodo Me.GetType para proporcionar un objeto de bloqueo para
datos compartidos. Esto se debe a que GetType devuelve siempre el mismo objeto Typepara un
nombre de clase determinado. El cdigo externo podra llamar a GetType en su clase y obtener el
mismo objeto de bloqueo que est utilizando. Esto provocara el bloqueo de las dos clases entre s
desde sus bloques SyncLock.
Ejemplo
El ejemplo siguiente muestra una clase que mantiene una lista simple de mensajes. Contiene los
mensajes en una matriz y el ltimo elemento utilizado de esa matriz en una variable. El
procedimiento addAnotherMessage incrementa el ltimo elemento y almacena el nuevo mensaje.
Estas dos operaciones estn protegidas por las instrucciones SyncLock y End SyncLockporque
una vez incrementado el ltimo elemento, se debe almacenar el nuevo mensaje antes de que
cualquier otro subproceso pueda incrementar de nuevo el ltimo elemento.
Class simpleMessageList
Public messagesList() As String = New String(50) {}
Public messagesLast As Integer = -1
Private messagesLock As New Object
Public Sub addAnotherMessage(ByVal newMessage As String)
SyncLock messagesLock
messagesLast += 1
messagesList(messagesLast) = newMessage
End SyncLock
End Sub
End Class
Si la clase simpleMessageList compartiera una lista de mensajes entre todas sus instancias, las
variables messagesList y messagesLast se declararan como Shared. En este caso, la
variable messagesLock tambin debera ser Shared para que hubiera un nico objeto de bloqueo
utilizado por todas las instancias.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Then
Precede a un bloque de instrucciones que se compila o se ejecuta si una condicin probada es
verdadera.
Descripcin
La palabra clave Then se puede utilizar en estos contextos:
#If...Then...#Else (Directiva)
If...Then...Else (Instruccin)
..
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
To
Separa los valores inicial y final de un contador de bucle o de un intervalo de coincidencia de
valores.
Descripcin
La palabra clave To se puede utilizar en estos contextos:
For...Next (Instruccin)
Select...Case (Instruccin)
TryCast
Introduce una operacin de conversin de tipos que no produce una excepcin.
Descripcin
Si se produce un error al intentar llevar a cabo una conversin, CType y DirectCast producen un
error InvalidCastException. Esto puede afectar negativamente al rendimiento de la
aplicacin.TryCast devuelve Nothing (Visual Basic), de modo que en lugar de controlar una posible
excepcin, slo debe comprobar el resultado devuelto con Nothing.
Utilice la palabra clave TryCast del mismo modo que utiliza las palabras clave CType
(Funcin) y DirectCast. Proporcione una expresin como primer argumento y el tipo al que se va a
convertir como segundo argumento. TryCast slo funciona en tipos de referencia, como clases e
interfaces. Requiere que exista una relacin de herencia o implementacin entre los dos tipos. Esto
significa que un tipo debe heredarse del otro o implementar al otro.
Errores
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Tipos de
datos
Relacin de argumentos
CType
(Funcin)
Produce InvalidCastExceptio
n
DirectCast
Produce InvalidCastExceptio
n
TryCast
Slo tipos de
referencia
Ejemplo
En el ejemplo siguiente se muestra cmo utilizar TryCast.
Function PrintTypeCode(ByVal obj As Object) As String
Dim objAsConvertible As IConvertible = TryCast(obj, IConvertible)
If objAsConvertible Is Nothing Then
Return obj.ToString() & " does not implement IConvertible"
Else
Return "Type code is " & objAsConvertible.GetTypeCode()
End If
End Function
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Criterio de compatibilidad
Class
Structure
Interface
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Nmeros negativos. Dado que ULong es un tipo sin signo, no puede representar un
nmero negativo. Si utiliza el operador menos (-) unario en una expresin que produce un
resultado del tipo ULong, Visual Basic convierte primero la expresin a Decimal.
Compatibilidad con CLS.El tipo de datos ULong no forma parte de Common Language
Specification (CLS), por lo que el cdigo compatible con CLS no puede utilizar un
componente que lo utiliza.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ampliacin. El tipo de datos ULong se ampla a Decimal, Single y Double. Esto significa
que se puede convertir ULong a cualquiera de estos tipos sin encontrar un
errorSystem.OverflowException.
Caracteres de tipo. Anexar los caracteres de tipo de literal UL a un literal fuerza a que sea
de un tipo de datos ULong. ULong no tiene ningn carcter de tipo de identificador.
Utilice el tipo de datos UShort para contener datos binarios demasiado grandes para Byte.
Sugerencias de programacin
Nmeros negativos. Dado que UShort es un tipo sin signo, no puede representar un
nmero negativo. Si utiliza el operador menos (-) unario en una expresin que produce un
resultado del tipo UShort, Visual Basic convierte primero la expresin a Integer.
Compatibilidad con CLS. El tipo de datos UShort no forma parte de Common Language
Specification (CLS), por lo que el cdigo compatible con CLS no puede utilizar un
componente que lo utiliza.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Adquisicin significa crear una variable e inicializarla para hacer referencia al recurso del
sistema. La instruccin Using puede adquirir uno o ms recursos, o bien, puede adquirir
exactamente un recurso antes de entrar en el bloque y proporcionarlo a la instruccin Using.
Si proporciona una resourceexpression, debe adquirir el recurso antes de pasar el control a
la instruccin Using.
Uso significa tener acceso a los recursos y realizar acciones con ellos. Las instrucciones
entre Using y End Using representan el uso de los recursos.
Comportamiento
Un bloque Using se comporta como una construccin Try...Finally en la que el bloque Try utiliza
los recursos y el bloque Finally los desecha. Gracias a esto, el bloque Using garantiza la
eliminacin de los recursos, independientemente de cmo salga del bloque. Esto es cierto incluso
en el caso de una excepcin no controlada, excepto para una excepcinStackOverflowException.
El mbito de cada variable de recurso adquirido por la instruccin Using se limita al bloque Using.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Try...Catch...Finally (Instrucciones)
Do...Loop (Instrucciones)
Widening
Indica que un operador de conversin (CType) convierte una clase o una estructura en un tipo que
puede incluir todos los valores posibles de la clase o la estructura original.
Convertir con la palabra clave Widening
El procedimiento de conversin debe especificar Public Shared adems de Widening.
Las conversiones de ampliacin son siempre satisfactorias en tiempo de ejecucin y no provocan
nunca prdida de datos. Ejemplos son Single a Double, Char a String y un tipo derivado a su tipo
base. Esta ltima conversin es de ampliacin ya que el tipo derivado contiene todos los miembros
del tipo base y es, por tanto, una instancia del tipo base.
El cdigo que la utiliza no tiene que emplear CType para las conversiones de ampliacin, aun
cuando Option Strict tenga el valor On.
La palabra clave Widening se puede utilizar en este contexto:
Operator (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Reglas
Tipos de datos. El tipo de datos de object puede ser cualquier tipo de clase o estructura, o
incluso un tipo elemental de Visual Basic como Integer. .NET Framework admite todos los
tipos elementales con clases o estructuras, que tienen los miembros a los que puede
obtener acceso dentro de un bloque With.
Declaracin. Debe declarar object antes de escribir el bloque With. No puede declararlo
en la instruccin With.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Estructuras anidadas. Las estructuras With...End With se pueden anidar colocando una
estructura dentro de otra. Para obtener un ejemplo, vea Cmo: Realizar varias acciones en
un objeto.
Sin embargo, como los miembros de instrucciones externas estn enmascarados dentro de
las instrucciones internas, debe proporcionar una referencia de objeto completa en un
bloque With interno a cualquier miembro de un bloque With externo.
Tambin puede anidar distintos tipos de estructuras de control dentro de otras. Para obtener
ms informacin, vea Estructuras de control anidadas.
Acceso a otros objetos. Una vez escrito un bloque With, object no se puede reasignar
hasta haber pasado la instruccin End With. Por consiguiente, se puede tener acceso a los
mtodos y propiedades de slo el objeto especificado sin calificarlos. Se pueden utilizar
mtodos y propiedades de otros objetos, pero es necesario calificarlos con los nombres de
objeto.
Ejemplo
El ejemplo siguiente utiliza un bloque With para ejecutar una serie de instrucciones en un nico
objeto. El ejemplo supone que ya se ha creado el objeto testObject y expone las propiedades a las
que se hace referencia.
With testObject
.Height = 100
.Text = "Hello, World"
.ForeColor = System.Drawing.Color.Green
.Font = New System.Drawing.Font(.Font, _
System.Drawing.FontStyle.Bold)
End With
WithEvents
Especifica que una o ms variable miembro declaradas hacen referencia a una instancia de una
clase que puede provocar eventos.
Descripcin
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Tipos de elementos. Debe declarar las variables WithEvents para que sean variables de
objeto y que puedan aceptar instancias de clase. Sin embargo, no puede declararlas
comoObject. Debe declararlas como la clase especfica que puede provocar los eventos.
El modificador WithEvents se puede utilizar en este contexto: Instruccin Dim (Visual Basic)
WriteOnly
Especifica que se puede escribir pero no leer una propiedad.
Descripcin
Reglas
Contexto de la declaracin. Slo puede utilizarse WriteOnly en el nivel de mdulo. Esto significa
que el contexto de la declaracin para una propiedad WriteOnly debe ser una clase, estructura o
mdulo y no puede ser un archivo de cdigo fuente, espacio de nombres o procedimiento.
Puede declarar una propiedad como WriteOnly, pero no una variable.
Cundo se utiliza WriteOnly
A veces desea que el cdigo utilizado pueda establecer un valor pero sin descubrir lo que es. Por
ejemplo, se deben proteger los datos sensibles, como nmeros de registro social o contraseas,
para que no obtenga acceso a ellos ningn componente que no lo haya establecido. En estos
casos, puede utilizar una propiedad WriteOnly para establecer el valor.
Nota de seguridad
Cuando define y utiliza una propiedad WriteOnly, tenga en cuenta las medidas de
proteccin adicionales siguientes:
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Cifrado. Almacene todos los datos sensibles en un formulario cifrado en lugar de en texto
sin formato. Si un cdigo malintencionado obtiene acceso de algn modo a esa rea de
memoria, resulta ms difcil utilizar los datos. El cifrado tambin es til si es necesario
serializar los datos sensibles.
Persistencia. No conserve ningn dato sensible, por ejemplo en disco, si puede evitarlo.
Tampoco escriba ningn dato sensible en el Portapapeles.
Property (Instruccin)
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Descripcin
Para la comparacin booleana, result es True si y slo si uno de los
argumentos expression1 y expression2 se evala exactamente en True, es decir, s y slo si los
argumentos expression1 yexpression2 se evalan en valores Boolean opuestos. La tabla siguiente
ilustra cmo se determina el argumento result.
Si expression1 es:
Y expression2 es
El valor de result es
True
True
False
True
False
True
False
True
True
False
False
False
Para operaciones bit a bit, el operador Xor realiza una comparacin bit a bit de los bits ubicados de
manera idntica en dos expresiones numricas y establece el bit correspondiente enresult de
acuerdo con la siguiente tabla.
Si el bit de expression1 es...
Por ejemplo, 5 Xor 3 es 6. Para saber por qu, convierta 5 y 3 en sus representaciones binarias,
101 y 011. A continuacin, utilice la tabla anterior para determinar que 101 Xor 011 es 110, que es
la representacin binaria del nmero 6 decimal.
Tipos de datos
Si los operandos constan de una expresin Boolean y una expresin numrica, Visual Basic
convierte la expresin Boolean a un valor numrico (1 para True y 0 para False), y realiza una
operacin bit a bit.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
#Const (Directiva)
Permite definir constantes de compilacin condicional para Visual Basic.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
#If...Then...#Else (Directivas)
Compila de forma condicional bloques de cdigo seleccionados de Visual Basic.
#If expression Then
statements
[ #ElseIf expression Then
[ statements ]
...
#ElseIf expression Then
[ statements ] ]
[ #Else
[ statements ] ]
#End If
Partes
expression
Requerida para las instrucciones #If y #ElseIf; en caso contrario, opcional. Cualquier
expresin formada exclusivamente por una o ms constantes de compilacin condicional,
literales y operadores, que se evala como True o False.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ejemplo
En el siguiente ejemplo se utiliza el constructor #If...Then...#Else para determinar si se compilan
ciertas instrucciones.
#Const CustomerNumber = 36
#If CustomerNumber = 35 Then
' Insert code to be compiled for customer # 35.
#ElseIf CustomerNumber = 36 Then
' Insert code to be compiled for customer # 36.
#Else
' Insert code to be compiled for all other customers.
#End If
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Partes
expression1
Obligatoria. Cualquier expresin numrica.
expression2
Se requiere al menos que el operador est calculando un valor negativo. Cualquier
expresin numrica.
Resultado
El resultado es la diferencia entre expression1 y expression2 o el valor con signo negativo
de expression1.
El tipo de datos resultante es un tipo numrico adecuado para los tipos de datos
de expression1 y expression2. Vea las tablas "Aritmtica de enteros" en Tipos de datos de
resultados de operador.
Tipos admitidos
Todos los tipos numricos, incluidos los tipos de punto flotante sin signo y Decimal.
Descripcin
En la sintaxis anterior, la primera vez que se utiliza, el operador es el operador de resta
aritmtica binario que halla la diferencia entre dos expresiones numricas.
La segunda vez que se utiliza, el operador es el operador de negacin unario que halla el valor
negativo de una expresin. En este sentido, la negacin invierte el signo de expression1, por lo que
el resultado es positivo si expression1 es negativo.
Si alguna expresin se evala como Nothing, el operador la trata como si fuera cero.
Nota
El operador se puede sobrecargar, lo que significa que una clase o una estructura
pueden definir de nuevo su comportamiento cuando un operando tiene el tipo de
dicha clase o estructura. Si el cdigo utiliza este operador en una clase o estructura
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ejemplo
En el ejemplo siguiente se utiliza el operador para calcular y devolver la diferencia entre dos
nmeros; y, a continuacin, para negar un nmero.
Dim binaryResult As Double = 459.35 - 334.9
Dim unaryResult As Double = -334.9
Tras la ejecucin de estas instrucciones, binaryResult contiene 124.45 y unaryResult contiene
-334.90.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ejemplo
En este ejemplo se usa el operador & para forzar la concatenacin de cadenas. El resultado es un
valor de cadena que representa la concatenacin de ambos operandos.
Dim sampleStr As String
sampleStr = "Hello" & " World"
' The preceding statement sets sampleStr to "Hello World".
..
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Decimal
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Single
Double
variableorproperty *= expression
Partes
variableorproperty
Requerido. Cualquier propiedad o variable numrica.
expression
Requerido. Cualquier expresin numrica.
Descripcin
El elemento situado a la izquierda del operador *= puede ser una variable escalar simple, una
propiedad o un elemento de una matriz. La variable o la propiedad no pueden ser ReadOnly (Visual
Basic). El operador *= asigna el valor situado a su derecha a la variable o la propiedad situada a su
izquierda.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Tipo de datos
de resultado
Double
Decimal
Single
Double
Antes de que se realice la divisin, cualquier expresin numrica entera se ampla a Double. Si
asigna el resultado a un tipo de datos entero, Visual Basic intenta convertir el resultado deDouble a
ese tipo. Esto puede producir una excepcin si el resultado no se ajusta a ese tipo. Vea en
particular "Divisin por cero intentada" en esta pgina de Ayuda.
Si se evala expression1 o expression2 como Nothing, se trata como si fuese cero.
Divisin por cero intentada
Si se evala expression2 como cero, el operador / se comporta de manera diferente para los
distintos tipos de datos de operando. En la siguiente tabla se muestran los posibles
comportamientos.
Tipos de datos de
operando
Punto flotante
(Single oDouble)
Decimal
Produce DivideByZeroException
Ejemplo
En este ejemplo se usa el operador / para realizar una divisin de punto flotante. El resultado ser
el cociente de ambos operandos.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Partes
variableorproperty
Requerido. Cualquier propiedad o variable numrica.
expression
Requerido. Cualquier expresin numrica.
Descripcin
El elemento situado a la izquierda del operador /= puede ser una variable escalar simple, una
propiedad o un elemento de una matriz. La variable o la propiedad no pueden ser ReadOnly (Visual
Basic). El operador /= asigna el valor situado a su derecha a la variable o la propiedad situada a su
izquierda.
Esta instruccin asigna un valor Double a la variable o la propiedad del lado izquierdo. Si Option
Strict es On, variableorproperty debe ser Double. Si Option Strict es Off, Visual Basic realiza una
conversin implcita y asigna el valor resultante a variableorproperty, con un posible error en tiempo
de ejecucin. Para obtener ms informacin, vea Conversiones de ampliacin y de
restriccin y Option Strict (Instruccin).
Sobrecarga
El operador / (Operador, Visual Basic) se puede sobrecargar, lo que significa que una clase o una
estructura pueden definir de nuevo su comportamiento cuando un operando tiene el tipo de dicha
clase o estructura. La sobrecarga del operador / afecta al comportamiento del operador /=. Si el
cdigo utiliza /= en una clase o estructura que sobrecarga /, asegrese de conocer su
comportamiento redefinido. Para obtener ms informacin, vea Procedimientos de operador.
Ejemplo
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
\ (Operador)
Divide dos nmeros y devuelve un resultado de nmero entero.
expression1 \ expression2
Partes
expression1
Obligatorio. Cualquier expresin numrica.
expression2
Obligatorio. Cualquier expresin numrica.
Tipos admitidos
Todos los tipos numricos, incluidos los tipos de punto flotante, sin signo y Decimal.
Resultado
El resultado es el cociente entero de expression1 dividido por expression2 que descarta cualquier
resto y conserva slo la parte entera. Esto se conoce como truncado.
El tipo de datos resultante es un tipo numrico adecuado para los tipos de datos
de expression1 y expression2. Vea las tablas "Aritmtica de enteros" en Tipos de datos de
resultados de operador.
/ (Operador, Visual Basic) devuelve el cociente completo que conserva el resto en la parte decimal.
Descripcin
Antes de realizar la divisin, Visual Basic intenta convertir cualquier expresin numrica de punto
flotante en Long. Si Option Strict es On, se produce un error del compilador. Si Option
Strict es Off, es posible que se produzca OverflowException si el valor est fuera del intervalo
de Long (Tipo de datos, Visual Basic). La conversin a Long tambin est sujeta al redondeo
bancario. Para obtener ms informacin, vea "Partes decimales" en Funciones de conversin de
tipos.
Si se evala expression1 o expression2 como Nothing, se trata como si fuese cero.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ejemplo
En el siguiente ejemplo se usa el operador \ para realizar una divisin de entero. El resultado ser
un nmero entero que representa el cociente entero de ambos operandos, rechazando el resto.
Dim resultValue As Integer
resultValue = 11 \ 4
resultValue = 9 \ 3
resultValue = 100 \ 3
resultValue = 67 \ -3
Las expresiones en el ejemplo anterior devuelven valores de 2, 3, 33 y -22 respectivamente.
\= (Operador)
Divide el valor de una variable o una propiedad por el valor de una expresin y asigna el resultado
entero a la variable o la propiedad.
variableorproperty \= expression
Partes
variableorproperty
Requerido. Cualquier propiedad o variable numrica.
expression
Requerido. Cualquier expresin numrica.
Descripcin
El elemento situado a la izquierda del operador \= puede ser una variable escalar simple, una
propiedad o un elemento de una matriz. La variable o la propiedad no pueden ser ReadOnly (Visual
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Ejemplo
En el ejemplo siguiente se utiliza el operador ^ para elevar un nmero a la potencia del exponente.
El resultado ser el primer operando a la potencia del segundo.
Dim exp1, exp2, exp3, exp4, exp5, exp6 As Double
exp1 = 2 ^ 2
exp2 = 3 ^ 3 ^ 3
exp3 = (-5) ^ 3
exp4 = (-5) ^ 4
exp5 = 8 ^ (1.0 / 3.0)
exp6 = 8 ^ (-1.0 / 3.0)
En el ejemplo anterior los resultados son:
exp1 se establece en 4 (2 al cuadrado).
exp2 se establece en 19683 (3 al cubo; a continuacin, ese valor se eleva al cubo).
exp3 se establece en -125 (-5 al cubo).
exp4 se establece en 625 (-5 elevado a la cuarta).
exp5 se establece en 2 (raz cbica de 8).
exp6 se establece en 0,5 (1,0 dividido por la raz cbica de 8).
Observe la importancia de los parntesis en las expresiones del ejemplo anterior. Debido a
la prioridad de operadores, Visual Basic normalmente calcula el operador ^ antes de cualquier otro,
antes incluso que el operador unario . Si exp4 y exp6 se hubieran calculado sin parntesis,
habran generado los resultados siguientes:
exp4 = -5 ^ 4 se calcularan como - (5 elevado a cuatro), cuyo resultado sera -625.
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
expression1 + expression2
- or + expression1
Partes
expression1
Obligatorio. Cualquier expresin numrica o de cadena.
expression2
Obligatorio a menos que el operador + est calculando un valor negativo. Cualquier
expresin numrica o de cadena.
Resultado
Si expression1 y expression2 son ambos numricos, el resultado es su suma aritmtica.
Si expression2 est ausente, el operador + es el operador de identidad unario para el valor sin
modificar de una expresin. En este sentido, la operacin trata de conservar el signo
deexpression1, por lo que el resultado es negativo si expression1 es negativo.
Si expression1 y expression2 son ambas cadenas, el resultado es la concatenacin de sus valores.
Si expression1 y expression2 son de tipos mixtos, la accin realizada depende de sus tipos, su
contenido y la configuracin de Option Strict (Instruccin). Para obtener ms informacin, vea las
tablas en "Comentarios".
Tipos admitidos
Todos los tipos numricos, incluidos los tipos de punto flotante y sin signo, Decimal y String.
Descripcin
En general, + realiza la suma aritmtica cuando es posible y slo concatena cuando ambas
expresiones son cadenas.
Si ninguna de las expresiones es Object, Visual Basic realiza las acciones siguientes.
Tipos de datos de expresiones
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Deber concatenar.
Sumar,
con Nothing evaluado
como cero.
Concatenar,
con Nothing evaluado
como " ".
Si una de las expresiones es Object, Visual Basic realiza las acciones siguientes.
Tipos de datos de expresiones
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Si ambas son expresiones Object, Visual Basic realiza las acciones siguientes (slo Option Strict
Off).
Tipos de datos de expresiones
Deber agregar.
Deber concatenar.
Convertir implcitamente la
cadena Object en Double y sumar.
Si la cadena Object no puede convertirse en un valor
numrico, producir una
excepcin InvalidCastException.
Si una de las expresiones Object se evala como Nothing o DBNull, el operador + la trata
como String con un valor de " ".
Nota
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Descripcin
El elemento situado a la izquierda del signo igual (=) puede ser una variable escalar simple, una
propiedad o un elemento de una matriz. La variable o la propiedad no pueden ser ReadOnly (Visual
Basic). El operador = asigna el valor situado a su derecha a la variable o la propiedad situada a su
izquierda.
Nota
El operador = tambin se utiliza como operador de comparacin. Para obtener
informacin detallada, vea Operadores de comparacin (Visual Basic).
Sobrecarga
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx
Fuente: http://msdn.microsoft.com/es-es/library/ksh7h19t(v=VS.80).aspx