Make your own free website on Tripod.com

 

Arreglos. Programación

 

 

El proyecto Alta, baja y media busca y muestra el valor más alto, más bajo y la media de unas temperaturas medidas durante una semana.  Esta es una ejecución de muestra después de que alguien haya introducido siete temperaturas y pulsado los botones Alta, Baja y Media:

 

Las temperaturas de domingo a sábado son introducidas en el array de cuadros de textos TxtDay() que tiene un array correspondiente de etiquetas LbIDay()  Las temperaturas alta, baja y media se presentan en cuadros de texto individuales TxtHigh, TxtLow y TxtAverage.  Hemos llamado los botones de orden CmdHigh, CmdLow, CmdAverage, CmdClearAll y CmdExit.

 

Arreglo TxtDay(0)

 

Inicia un nuevo proyecto y pon el array de cuadros de texto en el formulario.  Para hacer esto, dibuja el primer cuadro de texto y establece sus propiedades y después usa las órdenes Copy/Paste (Copiar y Pegar) del menú Edit, para hacer seis copias de este cuadro de texto.  Hágalo siguiendo estos pasos:

1.    Dibuje el primer cuadro de texto.  Déle el tamaño que mejor le parezca.  Configure su propiedad Name con TxtDay y su propiedad Text a vacío.  Sitúelo donde mejor le parezca.

2.    Mientras TxtDay está seleccionado, pulse en el menú Edición y después pulse en la orden Copy, para copiar TxtDay.

3.    Pulse en el menú Edición y después en la orden Paste para pegar una copia de TxtDay en el formulario.  Visual Basic presenta un cuadro de diálogo con el

mensaje: «Ya existe un control llamado 'TxtDay' ¿Desea crear una matriz de controles?».

4.    Pulse en el botón Sí.  Una copia de TxtDay aparecerá en el ángulo superior izquierdo del formulario.  Trasládelo a su lugar debajo del Txtday.  Los elementos TxtDay(0) y TxtDay(1) del array de control se encuentran ahora en su sitio.  Son idénticos, excepto por la configuración de su propiedad Index.

5.    Use la orden Pegar del menú Edición para hacer cinco copias más y póngalas en su lugar.

 

Arreglo LblDay(1)

 

El array de controles TxtDay() está ahora en su sitio.  A continuación, crea el array de controles LbIDay() siguiendo estos pasos:

1.    Dibuje la primera etiqueta.  Déle el tamaño que mejor le parezca.  Configure su propiedad Name con IbIDay y su propiedad Alignment con 1 - Right Justify.  Sitúela donde mejor le parezca.

2.    Mientras IbIDay está seleccionada, pulse en el menú Edit y después pulse en la orden Copy, para copiar IbDay.

3.    Pulse en el menú Edición y después en la orden Paste para pegar una copia de IbIDay en el formulario.  Visual Basic presenta un cuadro de diálogo con el

mensaje:         «Ya existe un control llamado 'LblDay' ¿Desea crear una matriz de controles?».

4.    Pulse en el botón Sí.  Una copia de IbIDay aparecerá en el ángulo superior iquierdo del formulario.  Trasládelo a su lugar debajo del LbIDay.  Los elementos LblDay(0) y LbIDay(1) del array de control se encuentran ahora en su sitio.  Son idénticos, excepto por la configuración de su propiedad Index.  Por ejemplo, ambas propiedades Caption son «Label1 ».

5.    Use la orden Pegar del menú Edición para hacer cinco copias más y póngalas en su lugar.

6.    Pulse en cada elemento de LblDay() y configure su propiedad Caption con el día de semana apropiado: domingo, lunes, y así sucesivamente.

 

Completa la interfaz visual dibujando los botones de orden, cuadros de texto y etiquetas adicionales e individuales (No con Copy/Paste, pues no forman parte del arreglo).

 

 

 

Ya nominaste (Name) a los objetos Label (LblDay) y Text (TxtDay). Te falta por cambiar el nombre (Name) a los 5 comandos. Nomina al Command1 como CmdHigh, al Command2 como CmdLow, al Command3 como CmdAverage, al Command3 como CmdClearAll, y al Command4 como CmdExit.

 

Modifica la propiedad Opciones de los objetos Labels y Commands tal como aparece en la siguiente imagen.

 

El array de controles TxtDay tiene un procedimiento de evento que trabaja cuando se pulsa en cualquiera de los siete cuadros de texto.  En la pantalla de diseño, pulse dos veces en cualquier elemento de TxtDay() para obtener la plantilla de su procedimiento de evento:

 

Private Sub TxtDay_Change(Index As Integer)

 

End Sub

 

Como este procedimiento de evento es para un array de controles, Visual Basic presenta el argumento Index As Integer en la plantilla Private Sub.  Este argumento es la configuración de la propiedad Index del cuadro de texto seleccionado, de 0 a 6, para el array Txtday(.  El evento por defecto para un cuadro de texto es Change, que no es el que le interesa.  Cambie «Change» por «Click» y complete el procedimiento de evento de manera que se parezca a

Private Sub TxtDay_Click(Index As Integer)

TxtDay(Index).Text

End Sub

 

Mostraremos los procedimientos de evento CmdHigh Click y CmdAverage Clic.

Private Sub CmdHigh_Click()

'Mostrar el valor más alto de TxtDay() en TxtHigh

Dim High As Single, Day As Integer

High = TxtDay(0).Text

For Day = 1 To 6

            If TxtDay(Day) > High Then

               High = TxtDay(Day).Text

            End If

Next Day

TxtHigh.Text = High

End Sub

________________________________________________________________________________

 

Private Sub CmdAverage_Click()

'Calcular la media de los números de Txtday()

Dim Total As Single, Average As Single, Day As Integer

Total = 0

For Day = 0 To 6

    Total = Total + TxtDay(Day)

Next Day

Average = Total / 7

TxtAverage.Text = Average

End Sub

 

Reto

 

Completa el código para CmdLow (muy similar al de CmdHihg),  CmdClearAll  y CmdExit.

 

 

Home | VB |