Se presiona el botón Pasar, y aunque aparentemente no sucede nada, lo que se hace es que la variable "b", que es de tipo "empleado" (la estructura creada), recibe los valores de la variable "a" (que también es del tipo "empleado" (la estructura creada).
Al presionar el botón Mostrar, el bloque de la derecha aparece con los mismos datos que el bloque de la izquierda. Lo que se ha hecho es imprimir en los cuadros de texto de la derecha los valores provenientes de la variable "b", que es de tipo "empleado" (la estructura creada).
El botón Limpiar quita el contenido de los seis cuadros de texto. Sin embargo, no modifica el contenido de las variables, de manera que si se presiona Limpiar, se borra todo el contenido de los seis cuadros de texto, pero si se presiona nuevamente Mostrar, aparecería en el bloque de la derecha lo que continuaba almacenado en la variable "b" del tipo "empleado" (estructura creada).
CÓDIGO DEL PROGRAMA
CÓDIGO DEL MÓDULO DONDE SE DECLARA LA ESTRUCTURA Y DOS VARIABLES PÚBLICAS CON EL TIPO DE LA ESTRUCTURA
CÓDIGO DEL FORMULARIO
Public Class Form1
Private Sub Buttoncapturar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttoncapturar.Click
a.nombre = TextBoxnombre1.Text
a.edad = Val(TextBoxedad1.Text)
a.salario = Val(TextBoxsalario1.Text)
End Sub
Private Sub Buttonpasar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonpasar.Click
b = a
End Sub
Private Sub Buttonmostrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonmostrar.Click
TextBoxnombre2.Text = b.nombre
TextBoxedad2.Text = b.edad
TextBoxsalario2.Text = b.salario
End Sub
Private Sub Buttonlimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonlimpiar.Click
TextBoxnombre1.Text = ""
TextBoxedad1.Text = ""
TextBoxsalario1.Text = ""
TextBoxnombre2.Text = ""
TextBoxedad2.Text = ""
TextBoxsalario2.Text = ""
End Sub
Private Sub TextBoxsalario1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBoxsalario1.KeyPress
If (Asc(e.KeyChar) >= 48 And Asc(e.KeyChar) <= 57) Or (Asc(e.KeyChar)) = 8 Then 'Los únicos caracteres que se permiritá introducir en el TextBox serán los números del 0 al 9 (ASCII del 48 al 57) y se permitirá también usar el Backspace (ASCII 8) para borrar. El punto (ASCII 46) se evalúa más adelante.
'No se hace nada porque el caracte presionado es válido.
Else
If (Asc(e.KeyChar)) = 46 Then 'Si se introduce un punto, se evaluará que no haya más de uno.
Dim contadorpuntos As Integer 'Para programar que no se permitan varios puntos cuando se introduzca el salario.
Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid().
Dim longitudcadena As Integer = Len(TextBoxsalario1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textboxsalario1.
For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar un punto.
caracterevaluado = Mid(TextBoxsalario1.Text, ciclo, 1)
If caracterevaluado = "." Then
contadorpuntos += 1
End If
Next
If contadorpuntos > 0 Then 'Si ya se ha digitad un punto.
e.KeyChar = "" 'Reemplaza la letra o caracter digitado por un valor vacío de manera que no se permita la introducción de más de un punto.
End If
Else 'Si el caracter introducido es inválido.
e.KeyChar = "" 'Reemplaza la letra o caracter digitado por un valor vacío de manera que no se permita l a introducción de caracteres inválidos.
End If
End If
End Sub
Private Sub TextBoxedad1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBoxedad1.KeyPress
If (Asc(e.KeyChar) >= 48 And Asc(e.KeyChar) <= 57) Or (Asc(e.KeyChar)) = 8 Then 'Los únicos caracteres que se permiritá introducir en el TextBox serán los números del 0 al 9 (ASCII del 48 al 57) y se permitirá también usar el Backspace (ASCII 8) para borrar.
'No se hace nada porque el caracte presionado es válido
Else
e.KeyChar = "" 'Reemplaza la letra o caracter digitado por un valor vacío de manera que no se permita la introducción de caracteres inválidos.
End If
End Sub
End Class
Jaime Montoya
Santa Ana, 29 de febrero de 2008
El Salvador
Página anterior | Volver al principio del trabajo | Página siguiente |