programación en visual basic lección #2: representación de datos, input/output y funciones por...
TRANSCRIPT
Programación en Visual Basic
Lección #2: Representación de Datos, Input/Output y Funciones
Por Antonio F. Huertas
Contenido
Comentarios y el enunciado EndVariables y constantesTipos de datos, operadores y enunciados de asignaciónTranformación de strings a números usando la función Val()Cajas de diálogo para input y output Función InputBox() y enunciado MsgBox
Contenido (cont.)
Controles para input y output de listas ComboBox y ListBox
Dándole formato al output usando la función Format()Funciones matemáticasPropiedades y funciones de stringsMejorando la utilizabilidad de aplicaciones usando el teclado
Comentarios
Son anotaciones del programador. Se conoce como documentación interna.Formato: ‘ comentario REM comentario
Enunciado End
Este enunciado termina la ejecución del programa.Formato: End
Declaración de variables
Hay dos tipos principales de variables: variables locales y variables a nivel de módulo.Las variables locales son declaradas dentro de una rutina y son visibles sólo en la rutina en que fueron declaradas.Formato:
Dim variable As tipoDatos [= valorInicial]
Declaración de variables (cont.)
Las variables a nivel de módulo son declaradas en la sección Declarations del código asociado a un formulario, justo debajo del código generado por el Windows Form Designer.Son visibles en cualquier rutina del formulario correspondiente.Normalmente son usadas para compartir valores entre event procedures.Formato:
Private variable As tipoDatos [= valorInicial]
Declaración de constantes simbólicas
Como las variables, hay dos tipos principales de constantes simbólicas: constantes locales y constantes a nivel de módulo.Constantes locales:
Const constante As tipoDatos = valor Declaradas dentro de una rutina.
Constantes a nivel de módulo: Private Const constante As tipoDatos = valor Declaradas en la sección Declarations del
código asociado al formulario.
Tipos de datos
Tipos de datos: Short, Integer, Long – número entero Single, Double – número real (punto flotante) Decimal – número real (valor monetario) Byte – número entero entre 0 y 255; caracter
ASCII Char – caracter Unicode. Ej.: "@" String – cadena de caracteres Unicode. Ej.: “!
@#" Boolean – lógico o booleano Date - fecha
Tipos de datos (cont.-1)
En Visual Basic, cuando una variable se declara, ésta se inicializa automáticamente de acuerdo a su tipo de datos: Numérico – valor inicial es 0 Alfanumérico – valor inicial es vacío Booleano – valor inicial es False Fecha – valor inicial es 12:00 AM January 1,
0001
Tipos de datos (cont.-2)TIPOS DE
DATOS.NET RUNTIME
TYPESTORAGE SIZE VALUE RANGE
String System.String (class) 10 bytes + (2 * string length)
0 to approximately 2 billion Unicote characters
Long (long integer) System.Int64 8 bytes -2,147,483,648 to 2,147,483,647
Double System.Double 8 bytes -1.79769313486231E308 to -4.94065645841247E-324 for negative values;
4.94065645841247E-324 to1.79769313486231E308 for positive value
Object System.Object (class) 4 bytes Any type can be stored in a variable of type Object
Decimal System.Decimal 12 Byte +/- 79,228,162,514,264,337,593,543,950,335 with no decimal point;
+/- 79,228,162,514,264,337,593,543,950,335 with 28 places to the right of the decimal; smallest nonzero number is +/-0.0000000000000000000000000001
Date System.DateTime 8 bytes January 1, 1 CE to December 31, 9999
Byte System.Byte 1 byte 0 to 255 (unsigned)
Boolean System.Boolean 4 bytes Trae or False
Short System.Int16 2 bytes -32,768 to 32,767
Single System.Single 4 bytes -3.402823E38 to -1.401298E-45 for negative values; 1.401298E-45 to 3.402823E38 for positive value
Integer System.Int32 4 bytes -2,147,483,648 to 2,147,483,647
User-Defined Type (Structure block)
(Inherits from System.Value-Type)
Sum of the size of its members
Each member of the structure has a range determined by its data type and is independent of the ranges of the other members.
Operadores
Aritméticos +, - Suma, Resta * Multiplicación /, \ División de Reales, División de Enteros Mod Módulo (Residuo de División de
Enteros) ^ Exponenciación
Concatenación de Strings &, +
Relacionales <, <=, >, >=, =, <>
Lógicos Not, And, Or
Operadores (cont.)
Precedencia de operadores aritméticos: Exponenciación Multiplicación, División y Módulo, de
izquierda a derecha Suma y Resta, de izquierda a derecha
Enunciados de asignación
En Visual Basic hay tres usos principales para los enunciados de asignación: Para asignarle a una variable el resultado
de una expresión. Para asignarle a una variable el valor de
una propiedad de algún objeto gráfico Para asignarle a una propiedad de un objeto
gráfico un valor.
Formatos: variable = expresión variable = control.Propiedad control.Propiedad = valor
Función Val()
Función para convertir un valor alfanumérico a numérico. (single)Convierte caracteres hasta encontrarse con el primer carácter no-numérico. El string vacío se convierte al cero.Formato:
variableNumérica = Val(valorAlfanumérico)
Función InputBox()
Usada para obtener un dato del usuario en su propia ventana de diálogo (dialog box).La ventana permanecerá en pantalla hasta que el usuario presione Ok o Cancel.Formato:
variableAlfanumérica = InputBox(mensaje, [título], [respuestaInicial])
variableNumérica = Val(InputBox(mensaje, [título], [respuestaInicial]))
Función InputBox() (cont.)
Dim firstName As StringDim age As IntegerfirstName = InputBox("Enter your name:", _
"Example Input")age = Val(InputBox("Enter your age:", _
"Example Input", "0"))
Enunciado MsgBoxUsado para mostrar un mensaje en la pantalla en su propia ventana de diálogo (dialog box). La ventana permanecerá en pantalla hasta que el usuario presione Ok.Formato:
MsgBox(mensaje, [ícono], [título])
El ícono es una de los siguientes constantes:
vbCritical o MsgBoxStyle.Critical vbQuestion o MsgBoxStyle.Question vbExclamation o MsgBoxStyle.Exclamation vbInformation o MsgBoxStyle.Information
Enunciado MsgBox (cont.)
Dim firstName As String = "Antonio"MsgBox("Hello, " & firstName, _
MsgBoxStyle.Information, _ "Example Output")
Uso del control ComboBox para input
Permite seleccionar un valor de entre una lista o entrar un valor. Prefijo es “cbo”.Propiedades importantes: DropDownStyle – indica el estilo del combo
box. Normalmente es DropDown (seleccionar un valor o entrarlo) o DropDownList (sólo seleccionar un valor).
Items – lista de valores que se muestran Text – el valor seleccionado
Uso del control ListBox para output
Permite mostrar una lista de valores. Prefijo es “lst”.Propiedades importantes: Items – lista de valores que se muestran
Métodos importantes: Items.Add(valor) – para añadir y mostrar
un valor Items.Clear() – para borrar todos los
valores
Ejemplo de Controles de Lista
ListBoxComboBox
Ejemplo de Controles de Lista (cont.)
Private Sub btnRegister_Click(…) Handles btnRegister.Click
lstResults.Items.Clear()
lstResults.Items.Add("Name: " & cboTitle.Text & _
" " & txtName.Text)
lstResults.Items.Add("Age: " & txtAge.Text)
lstResults.Items.Add("Sex: " & cboSex.Text)
lstResults.Items.Add("Married: " & cboMarried.Text)
lstResults.Items.Add("Salary: " & _
Format(txtSalary.Text, "Currency"))
End Sub
Función Format()
La función Format() convierte un valor a un string con el formato especificado. Su sintaxis es: Format(valor, estilo)
Algunos estilos útiles pueden ser: “Currency” – formato de dinero “Percent” – formato de porciento “Scientific” – formato de notación científica “Standard” – número con separadores
para millares
Función Format() (cont.)
El estilo puede ser una mascarilla construida con los siguientes caracteres: # dígito que se muestra si no es cero 0 dígito que siempre se muestra . punto decimal , coma separadora de millares Cualquier otro caracter (por ejemplo, $ o %)
que se desea que siempre aparezca.
Por ejemplo, para mostrar un número a 3 lugares decimales y mostrando la coma separadora de millares se usa “#,##0.000”.
Funciones matemáticas
Las siguientes son funciones matemáticas que pueden ser útiles en nuestros programas: Int(n) – devuelve la parte entera del número n. Math.Sqrt(n) – devuelve la raíz cuadrada del
número n. Math.Abs(n) – devuelve el valor absoluto del
número n. Math.Round(n, r) – devuelve el número n
redondeado a r lugares decimales. Si no se indica r, se asume 0 lugares decimales.
Propiedades y Funciones de strings
Propiedad: str.Length – indica la cantidad de
caracteres.
Funciones útiles: str.ToUpper y str.ToLower – devuelve el
equivalente del string en letras mayúsculas o minúsculas.
str.Trim – devuelve el equivalente del string quitándole todos los espacios al frentre y detrás del string.
Funciones de strings (cont.)
Más Funciones útiles: str.Substring(m, n) – devuelve el substring
que consiste de n caracteres comenzando a partir de la posición m. (Primera posición es 0.) Si no se indica n se devuelve el substring desde m hasta el final del string original.
str.IndexOf(str2) – devuelve la posición de la primera ocurrencia de str2 dentro de str o –1 si str2 no está.
Funciones de strings (cont.)
El siguiente event procedure procesa un nombre escrito por el usuario:Private Sub btnAnalyze_Click(…) Handles btnAnalyze.Click Dim fullName, firstName, lastName As String Dim n As Integer
fullName = txtName.Text n = fullName.IndexOf(“ “) firstName = fullName.Substring(0, n) lastName = fullName.Substring(n + 1) lstResults.Items.Clear() lstResults.Items.Add(“First Name: “ & firstName) lstResults.Items.Add(“Last Name: “ & lastName) lstResults.Items.Add(“Length of full name: “ & _ fullName.Length)End Sub
Mejorando la utilizabilidad de aplicaciones usando el teclado
Propiedades útiles: Tab Index – indica el orden en que
obtienen el foco los controles a medida que se presiona Tab. Primer índice es 0.
Tab Stop – indica si un control puede recibir el foco cuando se presiona Tab.
Text – texto que mostrará el control. Cuando se coloca & inmediatamente antes de un caracter en el texto, ésto permite darle foco al control mediante la combinación Alt-caracter.