VBnet
VBnet
VBnet
INSTITUTO DE INVESTIGACIN
FACULTAD DE INGENIERA DE SISTEMAS
INFORME FINAL
LIBRO: PROGRAMACIN CON VISUAL BASIC .NET
PROGRAMA
SUB PROGRAMA
LNEA
:
:
:
Transformacin de Recursos
Tecnologas
Informtica Aplicada
FECHA DE INICIO
FECHA DE CULMINACIN
TRIMESTRE
:
:
:
EJECUTORES
APELLIDOS Y NOMBRES
Abraham Esteban Gamarra Moreno
Job Daniel Gamarra Moreno
Juan Gamarra Moreno
Jos Yarasca Bejarano
CONDICION
Nombrado
CATEGORIA
Asociado
DEDICACION
T.C.
Auxiliar
T.P.
FIRMA
Colaborador
Colaborador
Contratado
___________________________
Ing Fidel O. Arauco Canturin
DIRECTOR DEL INSTITUTO DE
INVESTIGACION DE LA FIS
____________________________
M.Sc. Hugo Miguel Miguel
DIRECTOR DEL CENTRO DE
INVESTIGACION DE LA UNCP
CONTENIDO
INTRODUCCION ...........................................................................................................................................1
CAPITULO UNO.............................................................................................................................................3
FUNDAMENTOS DEL VISUAL BASIC .NET............................................................................................3
1.1.
1.2.
1.3.
1.4.
IF...THEN...ELSE (INSTRUCCIONES)................................................................................................29
SELECT...CASE ...............................................................................................................................35
INSTRUCCIONES WHILE...END WHILE ...........................................................................................38
DO...LOOP .....................................................................................................................................39
FOR...NEXT ....................................................................................................................................40
EJEMPLOS DEL USO DE ESTRUCTURAS DE CONTROL.....................................................42
iii
iv
INTRODUCCION
Desde que Microsoft ha lanzado Visual Studio .NET, una plataforma con cuatro lenguajes de programacin, surge la necesidad de conocer como elaborar aplicaciones para Windows y/o
aplicaciones para la Web.
Uno de los lenguajes ms utilizados desde visual Studio 6.0,
ha sido el Visual Basic y el lenguaje que evoluciona a este
es el Visual Basic .NET por lo que para el presente libro se
sientan las bases para el dominio de este ltimo.
El primer captulo trata de los fundamentos del Visual Basic
.NET, en el segundo captulo se describe los tipos de datos,
variables y operadores del Visual Basic .NET; el tercer captulo describe las estructuras de control, el cuarto captulo
muestra el uso de las matrices, el quinto captulo trata sobre el uso de los procedimientos y el sexto captulo trata
sobre los grficos GDI+.
CAPITULO UNO
FUNDAMENTOS DEL VISUAL BASIC .NET
1.1. INTRODUCCIN A VISUAL STUDIO.NET
Visual Studio .NET es un conjunto completo de herramientas de desarrollo para la construccin de aplicaciones Web ASP, servicios Web XML, aplicaciones para
escritorio y aplicaciones mviles. Visual Basic .NET,
Visual C++ .NET, Visual C# .NET y Visual J# .NET utilizan el mismo entorno de desarrollo integrado (IDE),
que les permite compartir herramientas y facilita la
creacin de soluciones en varios lenguajes. Asimismo,
dichos lenguajes aprovechan las funciones de .NET Framework, que ofrece acceso a tecnologas clave para
simplificar el desarrollo de aplicaciones Web ASP y
servicios Web XML.
Ofrecer un entorno de ejecucin de cdigo que garantice la ejecucin segura del mismo, incluso
del creado por terceras personas desconocidas o
que no son de plena confianza.
Basar toda la comunicacin en estndares del sector para asegurar que el cdigo de .NET Framework
se puede integrar con otros tipos de cdigo.
Elija Archivo, Nuevo, Proyecto; para iniciar la creacin de un nuevo proyecto (figura 1.4).
Figura 1.4
A.Gamarra M.- D.Gamarra M. - J.Gamarra M. J. Yarasca B.
Figura 1.5
Figura 1.6
Figura 1.7
A.Gamarra M.- D.Gamarra M. - J.Gamarra M. J. Yarasca B.
Figura 1.8
10
CAPITULO DOS
TIPOS DE DATOS VARIABLES Y OPERADORES
2.1. RESUMEN DE TIPOS DE DATOS
La tabla siguiente muestra los tipos de datos de Visual Basic .NET, los tipos correspondientes de Common
Language Runtime, su asignacin de almacenamiento nominal y sus intervalos de valores.
Tipo de
Visual
Basic
Boolean
Byte
Char
Date
System.Byte
System.Char
System.DateTime
1 byte
2 bytes
8 bytes
Decimal
System.Decimal
16 bytes
11
Double
(punto
flotante
con precisin doble)
Integer
Long
(entero
largo)
Object
System.Double
8 bytes
System.Int32
System.Int64
4 bytes
8 bytes
System.Object
(clase)
System.Int16
System.Single
4 bytes
Short
Single
(punto
flotante
con precisin simple)
System.String
String
(cadena de (clase)
longitud
variable)
(hereda de SysTipo de
datos de- tem.ValueType)
finido por
el usuario
(estructura)
2 bytes
4 bytes
En funcin
de la plataforma de
implementacin
En funcin
de la plataforma de
implementacin
-1,79769313486231570E+308 a
-4,94065645841246544E-324 para valores
negativos;
4,94065645841246544E-324 a
1,79769313486231570E+308 para valores
positivos.
-2.147.483.648 a 2.147.483.647
-9.223.372.036.854.775.808 a
9.223.372.036.854.775.807.
Cualquier tipo puede almacenarse en
una variable de tipo Object.
-32.768 a 32.767.
-3,4028235E+38 a 1,401298E-45 para
valores negativos; 1,401298E-45 a
3,4028235E+38 para valores positivos.
Nota
En el caso de cadenas que contienen texto, utilice la funcin StrConv para convertir de un formato
de texto a otro.
tipos compuestos tienen requisitos adicionales de memoria. Por ejemplo, una matriz utiliza memoria adicional para la matriz en s y
para cada dimensin. En una plataforma de 32
bits, esta sobrecarga corresponde a 12 bytes
y 8 bytes por cada dimensin. En una plataforma de 64 bits, los requisitos se duplican.
No se puede sumar simplemente todas las asignaciones de almacenamiento nominales de los
componentes.
Una variable Object que haga referencia a un
tipo de datos bsico o compuesto, utiliza 4
bytes adems de los datos contenidos en el
tipo de datos.
13
2.3.
VARIABLES
Identificadores son conjuntos de letras y/o nmeros
que se utilizan para simbolizar todos los elementos
que en un programa son definibles por el usuario (programador o ingeniero de software) del mismo como son
las variables donde se almacenan datos, funciones( pequeos mdulos con cdigo), etiquetas, clases, objetos, etc.
Una variable se define como un identificador que se
utiliza para almacenar todos los datos generados durante la ejecucin de un programa.
Existen ciertas reglas en cuanto a variables:
Algunos ejemplos de variables son: Nombre, Edad, SdoDiario, IngMensual, Permetro, Calif1, etc.
Un
tipo
de
datos
elemental,
Boolean, Long o Decimal.
como
15
16
se declara la variable y
va As Integer
va=5
b. Dim va As Integer=5
Y las constantes se declaran como
Const n as Integer=10
En esta lnea no usamos Dim porque es constante precisamente.
Tambin se pueden declarar varias variables
en una misma lnea por ejemplo:
Dim a,b,c As Short
En la lnea anterior a, b y c sern de tipo
Short
A.Gamarra M.- D.Gamarra M. - J.Gamarra M. J. Yarasca B.
17
19
' k = 4
El mdulo aritmtico se calcula con el operador Mod. Este operador devuelve el resto una
vez que se divide el divisor por el dividendo
un nmero integral de veces. Si tanto el divisor como el dividendo son tipos integrales,
el valor devuelto es integral. Si el divisor
y el dividendo son tipos de punto flotante,
el valor devuelto es una variable de punto
flotante. Dos ejemplos ilustran este comportamiento:
Dim x As integer = 100
Dim y As Integer = 6
Dim z As Integer
z = x Mod y
' z equals 4.
<> (Desigualdad)
Ejemplos
23 = 33 ' False
23 = 23 ' True
23 = 12 ' False
21
El resultado es True porque el primer carcter de la primera cadena se ordena antes que
el primer carcter de la segunda cadena. Si
los primeros caracteres fueran iguales, la
comparacin continuara con el siguiente carcter de las dos cadenas, y as sucesivamente. La igualdad de cadenas tambin se puede
probar mediante el operador de igualdad, como
en este ejemplo:
"734" = "734"
22
En este ejemplo, la evaluacin de x Is y devuelve True, porque las dos variables hacen
referencia a la misma instancia. Compare este
resultado con el del ejemplo siguiente:
Dim x As New MyClass()
Dim y As New MyClass()
If x Is y then
' Insert code to continue program execution.
En este ejemplo, la evaluacin de x Is y devuelve False, puesto que aunque las variables
son del mismo tipo, hacen referencia a instancias diferentes de ese tipo.
Para probar si un objeto es de un tipo concreto se utiliza el operador TypeOf...Is. .
La sintaxis es la siguiente:
TypeOf <object expression> Is <TypeName>
Cuando TypeName especifica un tipo de interfaz, el operador TypeOf ... Is devuelve True
si el objeto implementa el tipo de interfaz.
Cuando TypeName es un tipo de clase, el operador devuelve True (verdadero) si el objeto
es una instancia de la clase especificada o
una instancia que se deriva de la especificada. Por ejemplo:
Dim x As Button
x = New Button()
If TypeOf x Is Control Then
' Insert code to continue program execution.
Puesto que el tipo de x es Button, y Button
hereda de Control, la expresin TypeOf x Is Control se evala como True.
23
z = x + y
Si el valor de Option Strict es On, el operador + requiere explcitamente cadenas para las operaciones de
concatenacin. Tambin realiza operaciones aritmticas
con operandos numricos cuando el valor de Option
Strict es On. No obstante, si el valor de Option
Strict es Off, el operador + admite una amplia variedad de conversiones implcitas para operaciones de
concatenacin, tal como se muestra en los siguientes
ejemplos:
Option Strict On
' Initialize mixed variables.
var1 = "34"
var2 = 6
myNumber = var1 + var2
error.
24
x = Not 23 > 67
25
El operador Or realiza la disyuncin lgica de dos expresiones Boolean. Si la evaluacin de alguna expresin devuelve True, Or devuelve True. Si la evaluacin
de alguna expresin devuelve True, Or devuelve False.
Xor realiza la exclusin lgica en dos expresiones. Si
la evaluacin de una de las expresiones devuelve True
(pero no las dos), Xor devuelve True. Si la evaluacin
devuelve True o False para las dos expresiones, Xor
devuelve False.
A continuacin se muestran ejemplos de uso de los operadores And, Or y Xor:
Dim x As Boolean
x = 23 > 12 And 12 >4
' x = True
' x = False
' x = True
x = 23 > 45 Or 4 > 12
' x = False
' x = True
' x = False
' x = False
27
CAPITULO TRES
ESTRUCTURAS DE CONTROL (LGICA
CONDICIONAL)
Estas estructuras permiten al programa tomar decisiones, en
funcin de los resultados de una condicin.
O bien
If condition Then [ statements ] [ Else elsestatements ]
Donde:
Condition: Requerido. La expresin que proporcione en
condition debe evaluarse como True o False, o como un
A.Gamarra M.- D.Gamarra M. - J.Gamarra M. J. Yarasca B.
29
31
dos
controles
33
End Sub
Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
End Sub
End Class
3.2. SELECT...CASE
Ejecuta uno de varios grupos de instrucciones, segn
el valor de una expresin.
Select [ Case ] testexpression
[ Case expressionlist
[ statements ] ]
[ Case Else
[ elsestatements ] ]
End Select
Donde:
Testexpression: Requerido. Expresin. Debe evaluarse
en uno de los tipos de datos elementales (Boolean,
Byte, Char, Date, Double, Decimal, Integer, Long,
Object, Short, Single o String).
A.Gamarra M.- D.Gamarra M. - J.Gamarra M. J. Yarasca B.
35
expression1 To expression2
[ Is ] comparisonoperator expression
expression
36
Observaciones:
Si testexpression coincide con cualquier clusula Case
expressionlist, se ejecutan las instrucciones que siguen a la instruccin Case hasta la siguiente instruccin Case o End Select. El control pasa despus a la
instruccin que sigue a End Select. Si testexpression
coincide con una clusula de testexpression en ms de
una clusula Case, slo se ejecutan las instrucciones
que siguen a la primera coincidencia.
La instruccin Case Else se utiliza para introducir
las elsestatements que se ejecutarn si no se encuentra ninguna coincidencia entre testexpression y una
clusula de expressionlist en cualquiera de las dems
instrucciones Case. Aunque no es necesario, es recomendable tener una instruccin Case Else en el bloque
Select Case para controlar los valores de testexpression imprevistos. Si ninguna clusula Case expressionlist coincide con testexpression y no existe ninguna
instruccin Case Else, la ejecucin contina en la
instruccin que sigue a End Select.
Se pueden utilizar varias expresiones o intervalos en
cada clusula Case. Por ejemplo, la lnea siguiente es
vlida:
Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber
Nota
La palabra clave Is que se utiliza en las instrucciones Case y Case Else no es igual que el operador de comparacin Is.
Tambin puede especificar intervalos y varias expresiones para cadenas de caracteres. En el siguiente
ejemplo, Case coincide con cadenas que sean exactamente iguales a "apples", cadenas con valores entre
"nuts" y "soup" en orden alfabtico y con el valor actual de TestItem:
Case "apples", "nuts" To "soup", TestItem
La configuracin Option Compare puede afectar a las
comparaciones de cadenas. En Option Compare Text, las
cadenas "Apples" y "apples" se consideran iguales en
la comparacin, pero no as en Option Compare Binary.
37
Observaciones:
Si condition es True, se ejecutan todas las instrucciones hasta que se encuentre la instruccin End While. Despus, el control vuelve a la instruccin While
y se comprueba de nuevo condition. Si condition an es
True, se repite el proceso. Si es False, la ejecucin
se reanuda con la instruccin que sigue a la instruccin End While.
Se pueden anidar bucles While si se coloca un bucle
dentro de otro.
38
3.4. DO...LOOP
Repite un bloque de instrucciones mientras una condicin Boolean sea True o hasta que la condicin se convierta en True.
Do { While | Until } condition
[ statements ]
[ Exit Do ]
[ statements ]
Loop
O bien
Do
[ statements ]
[ Exit Do ]
[ statements ]
Loop { While | Until } condition
Donde:
While: Requerido, a menos que se utilice Until. Palabra clave. Repite el bucle hasta que condition sea
False.
Until: Requerido, a menos que se utilice While. Palabra clave. Repite el bucle hasta que condition sea
True.
Condition: Opcional. Boolean. Expresin que se evala
como True o False.
Statements: Opcional. Una o ms instrucciones que se
repiten mientras o hasta que condition sea True.
Observaciones:
La instruccin Exit Do transfiere el control inmediatamente a la instruccin que sigue a la instruccin
Loop. Se puede incluir cualquier nmero de instrucciones Exit Do en cualquier lugar del bucle Do. Exit Do
suele utilizarse despus de evaluar alguna condicin,
por ejemplo con If...Then...Else.
39
3.5. FOR...NEXT
Repite un grupo de instrucciones un nmero de veces
especificado.
For counter [ As datatype ] = start To end [ Step step ]
[ statements ]
[ Exit For ]
[ statements ]
Next [ counter ]
Donde:
Counter: Requerido. Variable. El tipo de datos de
counter suele ser Integer, pero puede ser cualquier
tipo numrico elemental que admita los operadores mayor o igual que (>=), menor o igual que (<=) y suma
(+).
Datatype: Requerido, a menos que counter ya se haya
declarado. Tipo de datos de counter. Si counter se declara fuera de este bucle, no se podr utilizar la
clusula As para volver a declararlo.
Start: Requerido. Expresin. Valor inicial de counter.
La expresin start suele evaluarse como tipo Integer,
pero puede evaluarse como cualquier tipo de datos que
se ample al tipo de counter.
End: Requerido. Expresin. Valor final de counter. La
expresin end suele evaluarse como tipo Integer, pero
puede evaluarse como cualquier tipo de datos que se
ample al tipo de counter.
Step: Opcional. Expresin. Cantidad en la que se incrementa counter cada vez que se ejecuta el bucle. La
expresin step suele evaluarse como tipo Integer, pero
puede evaluarse como cualquier tipo de datos que se
ample al tipo de counter. Si no se especifica, el valor predeterminado de step es 1.
Statements: Opcional. Una o ms instrucciones entre
For y Next que se ejecutan un nmero especificado de
veces.
Observaciones:
Si counter no se ha declarado fuera de este bucle, se
puede declarar dentro de la instruccin For. En tal
40
Valor de step
Positivo o cero
Negativo
El bucle se ejecuta si
counter <= end
counter >= end
41
Nota:
Si se encuentra una instruccin Next antes que
su instruccin For correspondiente, o si una instruccin Next de un nivel de anidamiento externo se encuentra antes que la instruccin Next de un nivel interno, se produce un error.
3.6. EJEMPLOS
CONTROL
DEL
USO
DE
ESTRUCTURAS
DE
n = TextBox1.Text
'contar el nmero de cifras del nmero
n1 = n
While (n1 <> 0)
nc = nc + 1
n1 = n1 \ 10
End While
'verificar si es capicua
nc = nc - 1 'exponente para obtener el cociente entero
ri = n
While (n <> 0)
r = n Mod 10 'cifra de la derecha
qi = ri \ (10 ^ nc) 'cifra de la izquierda
If (r <> qi) Then
capicua = False
Exit While
End If
ri = ri Mod 10 ^ nc
n = n \ 10
nc = nc - 1
End While
If (capicua = True) Then
TextBox2.Text = "numero capicua"
Else
TextBox2.Text = "numero no capicua"
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
End
End Sub
43
60
36
24
36
24
12
Residuo (r)
24
12
Cociente (q)
MCD (70,12)=2
Nmero mayor (n1)
70
12
10
12
10
Residuo (r)
10
Cociente (q)
44
45
CAPITULO CUATRO
MATRICES
Al utilizar matrices, puede utilizar el mismo nombre para
hacer referencia a distintas variables gracias a la utilizacin de un nmero denominado ndice o subndice que permite
distinguirlas. Las matrices pueden reducir y simplificar el
cdigo, permitiendo crear bucles que gestionan de forma eficiente cualquier nmero de elementos.
47
los parntesis para separar las dimensiones, tal y como muestra el siguiente ejemplo:
Dim My4DArray(,,,) As Short
' Four-dimensional array.
Para declarar una variable de matriz escalonada
En la declaracin, agregue tantos pares de parntesis
detrs del nombre de la variable como niveles de matrices anidadas haya, tal y como se ve en el siguiente
ejemplo:
Dim MyJaggedArray()()() As Byte 'Array of arrays of Byte arrays.
Asignar un objeto de matriz a la variable, mediante la clusula New. Al utilizar una clusula New, sta debe ir seguida de llaves ({}), incluso si estn
vacas.
49
BA(2) As Byte
' Currently contains Nothing (no object).
BA(2) As Byte = New Byte()
' INVALID (New after length specified).
BA() As Byte = New Byte() {}
' Empty Byte array object.
BA() As Byte = New Byte()
' INVALID (missing braces).
BA() As Byte = New Byte(2)
' INVALID (missing braces).
BA() As Byte = New Byte() {0,1,2}
' (0) through (2).
BA() As Byte = New Byte(2) {0,1,2}
' (0) through (2).
S2X2(1,
S2X2(1,
S2X2(,)
S2X2(,)
S2X2(,)
S2X2(,)
S2X2(,)
1)
1)
As
As
As
As
As
As Short
' (0) through (1), (0) through (1).
As Short = New Short(,)
' INVALID (New after lengths).
Short = New Short(,)
' INVALID (missing braces).
Short = New Short(1, 1)
' INVALID (missing braces).
Short = New Short(,) {}
' Empty array object.
Short = New Short(1, 1) {} ' Elements have default value.
Short = New Short(,) {{5, 6}, {7, 8}}
' Four elements.
50
JB(1)() As Byte
' Array of two arrays of Byte elements.
JB(1)(1) As Byte
' INVALID (can only specify top-level size).
JB(1)() As Byte = New Byte()()
' INVALID (New after lengths).
JB()() As Byte = {New Byte() {}, New Byte() {}}
' Empty arrays.
JB()() As Byte = {New Byte(1) {}, New Byte(1) {}}
' Default values.
JB()() As Byte = {New Byte() {5, 6}, New Byte() {7, 8}}
51
instruccin asigna una nueva matriz, inicializa sus elementos a partir de los elementos
correspondientes de MyArray y asigna la nueva
matriz a MyArray.
ReDim Preserve MyArray(10, 20)
Se pueden mezclar distintos tipos de datos en una matriz si se declara del tipo Object. En el siguiente
ejemplo se almacena informacin de empleados en la variable de matriz EmployeeData.
Dim EmployeeData(3) As Object
' Allocates (0) through (3).
EmployeeData(0) = "Ron Bendel"
EmployeeData(1) = "4242 Maple Blvd"
EmployeeData(2) = 48
EmployeeData(3) = "06-09-1953"
53
eficaz. Por ejemplo, las siguientes instrucciones inicializan todos los elementos de MatrixA con valores comprendidos entre 0 y 99,
segn sus posiciones en la matriz.
Dim I, J As Integer
Dim MaxDim0, MaxDim1 As Integer
' Highest subscripts, not lengths.
Dim MatrixA(9, 9) As Double
MaxDim0 = MatrixA.GetUpperBound(0)
' Maximum for first dimension.
MaxDim1 = MatrixA.GetUpperBound(1)
' Maximum for second dimension.
For I = 0 To MaxDim0
For J = 0 To MaxDim1
MatrixA(I, J) = (I * 10) + J
Next J
Next I
4.4. CARACTERSTICAS
MATRICES
AVANZADAS
DE
LAS
54
Siempre que los rangos de las dos matrices sean iguales, no es necesario que
las dimensiones sean iguales. El nmero
PROGRAMACION CON VISUAL BASIC.NET
55
Despus de ejecutar el ejemplo anterior, ReturnArray apunta a una matriz de tres elementos que contiene los valores de elemento
asignados a la matriz X en ArrayFunction. En
este ejemplo, ReturnArray debe tener el mismo
tipo de elementos que la matriz devuelta por
la funcin, ya que se trata de un tipo de valor (en este caso Byte). Si los tipos de elementos de ReturnArray y ArrayFunction hubieran
sido tipos de referencia, hubiera sido aceptable una conversin de ampliacin.
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button1.Click
Select Case ListBox1.SelectedItem
Case "PONENTE"
TextBox1.Text = 0
Case "PROFESIONAL"
TextBox1.Text = 150
Case "ESTUDIANTE"
TextBox1.Text = 50
Case "COLABORADOR"
TextBox1.Text = 10
End Select
End Sub
Private Sub Button2_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = ""
End Sub
Private Sub Button3_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button3.Click
End
End Sub
La ejecucin es:
57
CAPITULO CINCO
PROCEDIMIENTOS
5.1. PROCEDIMIENTOS SUB
Un procedimiento Sub consiste en una serie de instrucciones de Visual Basic delimitadas por las instrucciones Sub y End. Cada vez que se llama a un procedimiento, se ejecutan las instrucciones de ste, desde la
primera instruccin ejecutable tras la instruccin Sub
hasta la primera instruccin End Sub, Exit Sub o Return que se encuentre.
Un procedimiento Sub ejecuta acciones, pero no devuelve ningn valor. Puede tomar argumentos, como constantes, variables o expresiones, que le pasa el cdigo de
llamada.
La sintaxis para declarar un procedimiento Sub es la
siguiente:
[accessibility] Sub subname[(argumentlist)]
' Statements of the Sub procedure go here.
End Sub
59
60
61
As
62
llamada hasta que se ejecuta una instruccin Exit Function o End Function,
como en el siguiente ejemplo:
Function functionname[(argumentlist)] As datatype
' ...
functionname = expression
'Control remains
function.
' ...
End Function
within
the
63
ByVal
Side2
As
65
Funcin de Visual
Basic 6
Abs
Atn
Cos
Exp
Log
Round
66
Mtodo de Visual
Basic .NET
Math.Abs (Mtodo)
Descripcin
Devuelve el valor
absoluto de un nmero especificado.
Math.Atan (Mtodo) Devuelve un valor
Double que contiene
el ngulo cuya tangente es el nmero
especificado.
Math.Cos (Mtodo)
Devuelve un valor
Double que contiene
el coseno del ngulo
especificado.
Math.Exp (Mtodo)
Devuelve un valor
Double que contiene
"e" (base de los logaritmos naturales)
elevado a la potencia especificada.
Math.Log (Mtodo)
Devuelve un valor
Double que contiene
el logaritmo del nmero especificado.
Este mtodo est sobrecargado y puede
devolver o bien el
logaritmo natural
(de base e) del nmero especificado o
bien el logaritmo
del nmero especificado en una base especificada.
Math.Round (Mtodo) Devuelve un valor de
tipo Double que contiene el nmero ms
prximo al valor especificado. Existen
funciones de redondeo adicionales disponibles en forma de
mtodos de tipos intrnsecos como Decimal.Round (Mtodo).
PROGRAMACION CON VISUAL BASIC.NET
Sgn
Math.Sign (Mtodo)
Sin
Math.Sin (Mtodo)
Sqr
Math.Sqrt (Mtodo)
Tan
Math.Tan (Mtodo)
Devuelve un valor
Integer que indica
el signo de un nmero.
Devuelve un valor
Double que especifica el seno de un ngulo.
Devuelve un valor
Double que especifica la raz cuadrada
de un nmero.
Devuelve un valor
Double que contiene
la tangente de un
ngulo.
67
Ejemplo de Atan
En este ejemplo se utiliza el mtodo Atan de la clase
Math para calcular el valor de pi:
Imports System.Math
' Code will not compile unless placed within a Sub or Function
Dim pi As Double
pi = 4 * Atan(1)
' Calculate the value of pi.
Ejemplo de Cos
En este ejemplo se utiliza el mtodo Cos de la clase
Math para devolver el coseno de un ngulo:
Imports System.Math
' Code will not compile unless placed within a Sub or Function
Dim MyAngle, MySecant As Double
MyAngle = 1.3
' Define angle in radians.
MySecant = 1 / Cos(MyAngle)
' Calculate secant.
Ejemplo de Exp
En este ejemplo se utiliza el mtodo Exp de la clase
Math para devolver e elevado a una potencia:
Imports System.Math
' Code will not compile unless placed within a Sub or Function
Dim MyAngle, MyHSin As Double
' Define angle in radians.
MyAngle = 1.3
' Calculate hyperbolic sine.
MyHSin = (Exp(MyAngle) - Exp(-1 * MyAngle)) / 2
Ejemplo de Log
En este ejemplo se utiliza el mtodo Log de la clase
Math para devolver el logaritmo natural de un nmero:
Imports System.Math
' Code will not compile unless placed within a Sub or Function
Dim MyAngle, MyLog As Double
' Define angle in radians.
MyAngle = 1.3
' Calculate inverse hyperbolic sine.
MyLog = Log(MyAngle + Sqrt(MyAngle * MyAngle + 1))
68
Ejemplo de Round
En este ejemplo se utiliza el mtodo Round de la clase
Math para redondear un nmero al entero ms prximo:
Imports System.Math
' Code will not compile unless placed within a Sub or Function
Dim MyVar1 As Double = 2.8
Dim MyVar2 As Double
MyVar2 =Round(MyVar1)
' Returns 3.
Ejemplo de Sign
En este ejemplo se utiliza el mtodo Sign de la clase
Math para determinar el signo de un nmero:
Imports System.Math
' Code will not compile unless placed within a Sub or Function
Dim MyVar1, MyVar2, MyVar3 As Double
Dim MySign As Integer
MyVar1 = 12
MyVar2 = -2.4
MyVar3 = 0
MySign = Sign(MyVar1)
' Returns 1.
MySign = Sign(MyVar2)
' Returns -1.
MySign = Sign(MyVar3)
' Returns 0.
Ejemplo de Sin
En este ejemplo se utiliza el mtodo Sin de la clase
Math para devolver el seno de un ngulo:
Imports System.Math
' Code will not compile unless placed within a Sub or Function
Dim MyAngle, MyCosecant As Double
MyAngle = 1.3
' Define angle in radians.
MyCosecant = 1 / Sin(MyAngle)
' Calculate cosecant.
Ejemplo de Sqrt
En este ejemplo se utiliza el mtodo Sqrt de la clase
Math para calcular la raz cuadrada de un nmero:
Imports System.Math
' Code will not compile unless placed within a Sub or Function
Dim MySqr As Double
MySqr = Sqrt(4)
' Returns 2.
MySqr = Sqrt(23)
' Returns 4.79583152331272.
MySqr = Sqrt(0)
' Returns 0.
MySqr = Sqrt(-4)
' Returns NaN (not a number).
A.Gamarra M.- D.Gamarra M. - J.Gamarra M. J. Yarasca B.
69
Ejemplo de Tan
En este ejemplo se utiliza el mtodo Tan de la clase
Math para devolver la tangente de un ngulo:
Imports System.Math
' Code will not compile unless placed within a Sub or Function
Dim MyAngle, MyCotangent As Double
MyAngle = 1.3
' Define angle in radians.
MyCotangent = 1 / Tan(MyAngle)
' Calculate cotangent.
70
71
72
73
CAPITULO SEIS
GRFICOS GDI+
Common Language Runtime usa una implementacin avanzada de la
interfaz de diseo de grficos (GDI) de Windows, denominada
GDI+, que permite crear grficos, dibujar texto y manipular
imgenes grficas como si fueran objetos. La interfaz GDI+
est diseada para ofrecer rendimiento a la vez que facilidad
de uso. La interfaz GDI+ se puede utilizar para representar
imgenes grficas en formularios Windows Forms y en controles. GDI+ ha reemplazado completamente a GDI, y ahora es el
nico modo de representar grficos mediante programa en aplicaciones de formularios Windows Forms. Asimismo, se puede
usar el Editor de imgenes para crear imgenes en tiempo de
diseo para su posterior utilizacin por parte de las aplicaciones. A pesar de que no es posible usar la interfaz GDI+
directamente en los formularios Web Forms, se pueden mostrar
imgenes grficas mediante el control Image de servidor Web.
Los temas de esta seccin presentan las nociones bsicas de
la programacin con la interfaz GDI+. Aunque no pretende ser
una referencia completa, esta seccin incluye informacin sobre los objetos Graphics, Pen, Brush y Color, y explica cmo
realizar tareas tales como dibujar formas, dibujar texto o
mostrar imgenes. Para obtener ms informacin, vea el SDK de
GDI+.
75
76
6.1.2. PAINTEVENTARGS
EVENTOS PAINT
EN
EL
CONTROLADOR
DE
El ejemplo siguiente muestra cmo hacer referencia a un objeto Graphics a partir de PaintEventArgs en el evento Paint.
' Visual Basic
Private Sub Form1_Paint(sender As Object, pe As PaintEventArgs) Handles _
MyBase.Paint
' Declares the Graphics object and sets it to the Graphics object
' supplied in the PaintEventArgs.
Dim g As Graphics = pe.Graphics
' Insert code to paint the form here.
End Sub
77
Dim g as Graphics
' Sets g to a Graphics object representing the drawing surface of the
' control or form g is a member of.
g = Me.CreateGraphics
Nota
Puede crear objetos Graphics a partir de archivos .bmp no indizados, como archivos .bmp de 16 bits,
24 bits y 32 bits. Cada pxel de archivos .bmp no indizados alberga un color, a diferencia de los pxeles
de archivos .bmp indizados, que albergan un ndice que
hace referencia a una tabla de colores.
78
Pen (Clase): se utiliza para dibujar lneas y contornos de formas, o para representar otros elementos
geomtricos.
Obtenga una referencia al objeto Graphics que usar para dibujar. Para obtener ms informacin
79
Mtodo
Mtodo Graphics.DrawLine
Forma
Lnea; requiere coordenadas para
indicar los puntos de inicio y final.
Invoque al mtodo apropiado para la forma que desee pintar, suministrando cualquier parmetro necesario. Para algunos
mtodos, como FillPolygon, tendr que
suministrar una matriz de puntos que
describan el contorno de la forma que
desee pintar. Otros mtodos, como FillRectangle o FillPath, requieren un objeto que describa el rea que se va a rellenar.
80
Solucin:
Crear el formulario siguiente
81
Mtodos pblicos
AddMetafileComment
BeginContainer
Clear
Compatible con .NET Compact Framework.
83
85
Compatible con .NET Compact Framework. por una matriz de puntos, especificados por estructuras
Point.
Sobrecargado. Rellena el interior de un rectngulo espeFillRectangle
cificado por un par de coordeCompatible con .NET Compact Framework.
nadas, un valor de ancho y un
valor de alto.
Sobrecargado. Rellena el interior de una serie de rectnFillRectangles
gulos especificados por estructuras Rectangle.
Rellena el interior de un objeto Region.
FillRegion
Compatible con .NET Compact Framework.
Flush
FromHdc
FromHdcInternal
FromHwnd
FromHwndInternal
FromImage
Compatible con .NET Compact Framework.
Obtiene un identificador de la
paleta actual de medios tonos
GetHalftonePalette
de Windows.
Sirve como funcin hash para
GetHashCode (se hereda de un tipo concreto, apropiado
para su utilizacin en algoObject)
ritmos de hash y estructuras
Compatible con .NET Compact Framework.
de datos como las tablas hash.
86
GetHdc
GetLifetimeService (se
hereda de MarshalByRefObject)
GetNearestColor
GetType (se hereda de Object)
IsVisible
MeasureCharacterRanges
MeasureString
Compatible con .NET Compact Framework.
MultiplyTransform
ReleaseHdc
87
88
TranslateClip
TranslateTransform
Mtodos protegidos
Finalize
Reemplazado. Vea
Object.Finalize.
89
BIBLIOGRAFIA
1. Bembey, Pooja y Kaur Kuljit (2002). Proyectos profesionales Visual Basic .NET. Editorial Anaya Multimedia. Espaa.
2. Dobson, Rick (2002). Programacin de Microsoft Sql Server 2000 con Microsoft Visual
Basic .NET. Editorial McGrawHill. Espaa.
3. Evjen, Bill y Beres, Jason (2002). El libro de Microsoft Visual Basic .NET. Editorial
Anaya Multimedia. Espaa.
4. Francia Huambachano, Dario (2003). Desarrollo de aplicaciones ASP.NET. Editorial
Macro. Lima, Per.
5. Heredia Mayer, Juan Carlos (2004). Aplicaciones y Servicios Web con ASP.Net y SQL
Server 2000. Editorial GrapPeru SAC. Lima, Per.
6. Microsoft: MSDN training (2002). 2310B: Developing Microsoft ASP .NET, Web Applications Using Visual Studio .NET. Microsoft Corporation. Colombia.
7. Microsoft: MSDN training (2002). 2565A: Developing Microsoft .NET, Applications for
windows (Visual Basic .NET). Microsoft Corporation. Colombia.
8. Serrano Perez, Jorge (2002). Programacin con ASP .NET. Editorial Anaya Multimedia. Espaa.
91
INDICE ALFABETICO
.
.NET Framework, 3
C
Common Language Runtime, 6
comparar cadenas, 22
comparar valores, 21
D
Do...Loop, 39
O
operaciones aritmticas, 19
operadores aritmticos, 19
operadores de comparacin, 20
operadores de concatenacin, 24
operadores lgicos, 25
P
Preserve, 52
Procedimientos Function, 62
PROCEDIMIENTOS SUB, 59
E
ESTRUCTURAS DE CONTROL, 29
ReDim, 51
Return, 61
F
For...Next, 40
Funciones matemticas, 65
S
Select...Case, 35
G
GDI, 75
Crear imgenes, 76
Dibujar lneas y formas, 79
I
Identificadores, 14
If...Then...Else, 29
interfaz de diseo de grficos, 75
M
Matrices, 47
Cambiar el tamao, 51
dimensiones, 47
inicializar, 49
Matrices multidimensionales, 53
V
variable, 14
accesibilidad, 17
mbito, 16
declaracin, 14
local, 15
perodo de duracin, 16
variables de matriz, 48
Visual Studio .NET, 3
W
While...End While, 38
93
94