miércoles, septiembre 05, 2007

Tutor Embedded Visual Basic - Capitulo 2

Por Roberto Alvarado

Capitulo 2

En este nuevo capítulo vamos a continuar con los controles intrínsecos de eVB, a la par de seguir con algo de teoría para ir conociendo mas detalladamente lo que podemos hacer con eVB.

La barra de Herramientas (Toolbar)

A continuación vamos a explicar cada uno de los controles intrínsicos de eVB,

Pointer. Con este podemos cancelar cualquier otro comando que tengamos seleccionado, si nos arrepentimos de haber escogido un control TextBox, utilizamos a Pointer para anular o cancelar la selección.

Shape. Nos permite crear figuras geométricas en la forma.

Line. Permite dibujar una línea de diferentes anchos y colores en la forma.

Labels. Es uno de los controles más usados, pues en ellos vamos a colocar el texto que deseamos aparezca en las formas para ayudar al usuario en la captura de los datos de una aplicación. El texto de los labels no puede ser cambiado por el usuario.

TextBox. Es otro de los controles más usados en nuestras aplicaciones, ya que en ellos podemos capturar o visualizar información de diferente índole para actualizar nuestras bases de datos en el Pocket PC.

Frames. Este control es un contenedor de controles. Permite insertar en él cualquier control de los que tenemos en la barra de herramientas. Este control particularmente lo utilizo mucho, para simular diferentes formas, debido al inconveniente de eVB que no permite descargar las formas de memoria.

Button. Permite crear botones para seleccionar diferentes opciones por ejemplo para guardar los datos o para cancelar la grabación de los mismos, para seleccionar una opción diferente, etc.

CheckBox. Nos permite seleccionar una o varias opciones referentes a un tema.

OptionButton. Nos permite seleccionar una opción entre varias. Este es excluyente.

ComboBox. Este control permite mostrar una lista de datos desplegable que se muestra y oculta cuando hacemos clic en él. Este control nos sirve, por ejemplo, para desplegar una lista de ciudades y escoger una.

ListBox. Este control es similar al ComboBox, la diferencia es que la lista no es desplegable como la del ComboBox. Este control lo podemos utilizar para por ejemplo mostrar los nombres de los empleados de una empresa. Como en el ejemplo de la entrega anterior

HScrollBar y VScrollBar. Estos dos controles lo usamos para simular un desplazamiento vertical u horizontal en la pantalla, por ejemplo.

Timer. Este control nos permite controlar la ejecución de un procedimiento cada determinado tiempo.

Ahora vamos a desarrollar una aplicación para ir utilizando cada uno de los diferentes controles, además de los controles Actives que aun no hemos visto.

La aplicación que vamos a desarrollar es: un teclado numérico controlado completamente desde eVB.

La intención de este pequeño proyecto, es porque para llegar al teclado numérico del SIP hay que realizar demasiados pasos, además que a mi parecer es mas cómodo que el usuario tenga un teclado en la pantalla.

Una de las ventajas es que podemos acomodarlo como más nos guste, ya que lo hemos creado utilizando únicamente controles CommandButton.

En el proyecto tenemos dos Labels y dos TextBox para hacernos una idea de lo que debemos hacer.

La idea del teclado es esta: generalmente (por no utilizar siempre), se piden los datos en un TextBox, asi que vamos a crear en nuestra forma una variable publica que sea de tipo TextBox y cada vez que un TextBox tenga el foco vamos a asignar a esa variable el TextBox en cuestión. Luego en el evento click de cada uno de los botones del teclado numérico le asignamos el valor correspondiente del botón a través de nuestra variable publica de tipo TextBox.

Talvez lo único tedioso es que en el evento GotFocus de cada TextBox debemos colocar esto:

Set CajaTexto = Text1

Donde CajaTexto es nuestra variable publica tipo TextBox y Text1, es el TextBox en cuestión.

La verdad no es que sea difícil, pero mucho no sabemos por donde entrarle a la solución del problema. ¡Así que aquí esta una muy modesta solución que he probado y me ha dado muy buenos resultados! Espero que la disfruten y les sirva de mucho a todos.

Aquí esta el código completo del proyecto

Option Explicit

Public CajaTexto As TextBox

Private Sub Form_Load()

Text7.Visible = True

Text1.Visible = True

End Sub

Private Sub Form_OKClick()

App.End

End Sub

Private Sub cmdBorrar_Click()

CajaTexto.Text = ""

End Sub

Private Sub cmdCero_Click()

CajaTexto.Text = CajaTexto.Text & "0"

End Sub

Private Sub cmdCinco_Click()

CajaTexto.Text = CajaTexto.Text & "5"

End Sub

Private Sub cmdCuatro_Click()

CajaTexto.Text = CajaTexto.Text & "4"

End Sub

Private Sub cmdDos_Click()

CajaTexto.Text = CajaTexto.Text & "2"

End Sub

Private Sub cmdEntrar_Click()

'Hago algo simulando en enter

End Sub

Private Sub cmdNueve_Click()

CajaTexto.Text = CajaTexto.Text & "9"

End Sub

Private Sub cmdOcho_Click()

CajaTexto.Text = CajaTexto.Text & "8"

End Sub

Private Sub cmdRutero_Click()

frmRutero.Show

frmTomaLectura.Hide

End Sub

Private Sub cmdSeis_Click()

CajaTexto.Text = CajaTexto.Text & "6"

End Sub

Private Sub cmdSiete_Click()

CajaTexto.Text = CajaTexto.Text & "7"

End Sub

Private Sub cmdTres_Click()

CajaTexto.Text = CajaTexto.Text & "3"

End Sub

Private Sub cmdUno_Click()

CajaTexto.Text = CajaTexto.Text & "1"

End Sub

Private Sub Text1_GotFocus()

Set CajaTexto = Text1

End Sub

Private Sub Text7_GotFocus()

Set CajaTexto = Text7

End Sub

A continuación vemos una grafica de cómo se aprecia la aplicación en el handheld

Enseguida les muestro la descripción de cada uno de los controles contenidos en la forma, esta es una forma (me parece a mi) mas clara, de mostrar los controles ya que gráficamente a veces no nos cuadran las imágenes. Aquí no aparecen todas las propiedades de los controles, solo las que necesitamos para este ejemplo. Luego les explico como pueden documentar sus manuales técnicos de esta manera.

VERSION 5.00

Begin VB.Form Form1

Appearance = 0 'Flat

BackColor = &H80000005&

Caption = "Form1"

ShowOK = -1 'True

Begin VBCE.TextBox Text1

Height = 285

Left = 990

Top = 180

Visible = 0 'False

Width = 1425

BorderStyle = 1

Enabled = -1 'True

Text = ""

End

Begin VBCE.Label Label6

Height = 225

Left = 60

Top = 210

Width = 915

Caption = "LecAnterior:"

Alignment = 0

End

Begin VBCE.Label Label7

Height = 225

Left = 60

Top = 480

Width = 915

Caption = "LecActual:"

Enabled = -1 'True

Alignment = 0

End

Begin VBCE.TextBox Text7

Height = 285

Left = 990

Top = 450

Visible = 0 'False

Width = 1425

BorderStyle = 1

Enabled = -1 'True

Text = ""

Alignment = 0

End

Begin VBCE.CommandButton cmdUno

Height = 285

Left = 2400

TabIndex = 11

Top = 3090

Width = 315

Caption = "1"

Enabled = -1 'True

Style = 0

End

Begin VBCE.CommandButton cmdDos

Height = 285

Left = 2745

TabIndex = 10

Top = 3090

Width = 315

Caption = "2"

Enabled = -1 'True

Style = 0

End

Begin VBCE.CommandButton cmdTres

Height = 285

Left = 3090

TabIndex = 9

Top = 3090

Width = 315

Caption = "3"

Enabled = -1 'True

Style = 0

End

Begin VBCE.CommandButton cmdCuatro

Height = 285

Left = 2400

TabIndex = 8

Top = 2790

Width = 315

Caption = "4"

Enabled = -1 'True

Style = 0

End

Begin VBCE.CommandButton cmdCinco

Height = 285

Left = 2745

TabIndex = 7

Top = 2790

Width = 315

Caption = "5"

Enabled = -1 'True

Style = 0

End

Begin VBCE.CommandButton cmdSeis

Height = 285

Left = 3090

TabIndex = 6

Top = 2790

Width = 315

Caption = "6"

Enabled = -1 'True

Style = 0

End

Begin VBCE.CommandButton cmdSiete

Height = 285

Left = 2400

Publicar un comentario