Descargar

Estructuras en la programación orientada a objetos (página 2)

Enviado por jaimemontoya


Partes: 1, 2

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

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente