curso basico de foxpro 9 capitulo 9

16
CURSO BASICO DE FOXPRO 9 CAPITULO 9: DO CASE Y OPTION Este capítulo muestra la función del control OptionGroup, además daremos uso de la herramienta de decisión Do Case … EndCase y también utilizaremos un control nuevo EditBox o Cuadro de Edición. Abrimos el proyecto Mis Ejercicios, que es el proyecto que hemos creado en este curso. Crearemos un formulario nuevo con el nombre SeleccionarColor en el Administrador de proyectos, tal cual como hemos hecho con los demás formularios anteriores. El formulario tendrá el siguiente diseño: Formulario: SeleccionarColor

Upload: wilder-vilcahuaman

Post on 26-May-2015

1.583 views

Category:

Education


12 download

TRANSCRIPT

Page 1: Curso basico de foxpro 9 capitulo 9

CURSO BASICO DE FOXPRO 9CAPITULO 9: DO CASE Y OPTION

Este capítulo muestra la función del control OptionGroup, además daremos uso de la herramienta de decisión Do Case … EndCase y también utilizaremos un control nuevo EditBox o Cuadro de Edición.

Abrimos el proyecto Mis Ejercicios, que es el proyecto que hemos creado en este curso.Crearemos un formulario nuevo con el nombre SeleccionarColor en el Administrador de proyectos, tal cual como hemos hecho con los demás formularios anteriores. El formulario tendrá el siguiente diseño:

Formulario: SeleccionarColor

El formulario tiene como objetivo, ingresar un nombre, seleccionar un color y agregarlos en forma de lista a los cuadros de edición

Los controles a usar son:

Label: LblNombre y LblSeleccion

Page 2: Curso basico de foxpro 9 capitulo 9

TextBox: TxtNombre

EditBox: EdtNombres y EdtColores

CommandButton: CmdSalir y CmdAgregar

OptionGroup: OpgColores que contendrá:Option: 1-OptAzul, 2-OptAmarillo y 3-OptBlanco

Shape: ShpAzul, ShpAmarillo y ShpBlanco

Valores ingresados a las propiedades de cada objeto:

Formulario:

Page 3: Curso basico de foxpro 9 capitulo 9

AutoCenter: .T. –VerdaderoBorderStyle: 2 -Borde de línea dobleCaption: Seleccionar ColorHeight: 573Width: 342

Label 1:AutoSize: .T.Caption: NombreLeft: 23Top: 24Name: LblNombre

Label 2:AutoSize: .T.Caption: Seleccionar ColorLeft: 23Top: 24Name: LblSeleccion

Textbox:Height: 23Left: 84Top: 24Width: 144Name: TxtNombreMaxLength: 20

OptionGroup:BackStyle: 0 –TransparenteButtonCount: 3Height: 46Left: 15Top: 83Width: 312Name: OpgColores

Option 1:AutoSize: .T.Caption: (Nada)Left: 45Top: 14Name: OptAzul

Option 2:AutoSize: .T.Caption: (Nada)Left: 141

Page 4: Curso basico de foxpro 9 capitulo 9

Top: 14Name: OptAmarillo

Option 3:AutoSize: .T.Caption: (Nada)Left: 249Top: 14Name: OptBlanco

Shape 1:BackColor: 0,0,255Height: 40Left: 44Top: 86Width: 48Name: ShpAzul

Shape 2:BackColor: 255,255,128Height: 40Left: 138Top: 86Width: 48Name: ShpAmarillo

Shape 3:BackColor: 255,255,255Height: 40Left: 247Top: 86Width: 48Name: ShpBlanco

Command Button 1:Caption: AgregarHeight: 27Left: 120Top: 133Width: 80Name: CmdAgregar

Command Button 2:Caption: SalirHeight: 27Left: 240Top: 528Width: 80Name: CmdSalir

Page 5: Curso basico de foxpro 9 capitulo 9

EditBox 1:Height: 348Left: 25Top: 168Width: 192Name: EdtNombresEnabled: .F. Falso

EditBox 2:Height: 348Left: 217Top: 168Width: 100Name: EdtColoresEnabled: .F. Falso

Código del Programa:

Form.Init

En este código usamos set confirm on para no permitir que el cuadro de texto txtNombre pierda el enfoque cuando escribamos un nombre que sobrepase el límite del número de caracteres, el máximo número de caracteres que puede tener el cuadro de texto se estableció a 20, MaxLength = 20.

Luego se dan los valores iniciales a los cuadros de edición, que actuaran como subtítulos.

CmdAgregar.Click

Page 6: Curso basico de foxpro 9 capitulo 9

En este código se valida con la instrucción de decisión if, si el cuadro de texto txtnombre esta vacío o no.

En caso de no estar vacío:Se agrega el nombre al cuadro de edición EdtNombre.Se usa la instrucción Do Case para saber cual de los option seleccionó el usuario y así agregarle el nombre del color seleccionado al cuadro de edición EdtColores.Se limpia el cuadro de texto.

En caso de estar vacío:Se envía un mensaje con la caja de mensajes para advertir que no ha ingresado el nombre

Por último se envía el enfoque al cuadro de texto txtNombre. Para que se ingrese un nombre

CmdSalir.Click

Page 7: Curso basico de foxpro 9 capitulo 9

Este código cierra el formulario cuando hacemos clic en el botón salir

Ejemplo del formulario en Ejecución

RESUMEN DE LAS NUEVAS PROPIEDADES Y EXTRAS USADOS

Page 8: Curso basico de foxpro 9 capitulo 9

Propiedad MaxLength:

Especifica la longitud máxima (en caracteres) que puede escribirse en un control EditBox, TextBox o ComboBox. Para estos controles, utilice MaxLength para limitar la cantidad de texto que un usuario pueda ingresar en un cuadro de edición, cuadro de texto, o cuadro combinado.

Comando Set Confirm: On / Off

Especifica si puede salir de un cuadro de texto escribiendo más allá del último carácter del cuadro.

Parámetros

ON Especifica que no puede salir de un cuadro de texto escribiendo más allá del último carácter del cuadro. Para salir del cuadro de texto, puede presionar ENTRAR, TAB o cualquiera de las teclas de dirección, para moverse de un cuadro de texto a otro control.

OFF Especifica que puede salir de un cuadro de texto escribiendo más allá del último carácter del cuadro. El punto de inserción, al llegar al último carácter de un cuadro de texto, se mueve hasta el siguiente control y suena el tono acústico (si SET BELL está activado).

Comando Do Case … EndCase:

Ejecuta el primer conjunto de comandos cuya expresión condicional de como resultado verdadero (.T.).

Parámetros

CASE lExpression1 Commands ... Cuando se encuentre la primera expresión CASE con el valor verdadero (.T.), se ejecutará el conjunto de comandos que haya a continuación. La ejecución del conjunto de comandos continuará hasta encontrar la siguiente expresión CASE o ENDCASE. La ejecución se reanuda en el comando que hay inmediatamente a continuación de ENDCASE.

Si una expresión CASE tiene el valor falso (.F.), se pasará por alto el conjunto de comandos que le siguen hasta la siguiente cláusula CASE.

Page 9: Curso basico de foxpro 9 capitulo 9

Sólo se ejecuta un conjunto de comandos. Se trata de los primeros comandos cuya expresión CASE se evalúe con el resultado verdadero (.T.). Se pasan por alto todas las expresiones CASE posteriores que tengan el valor verdadero (.T.).

OTHERWISE Commands Si todas las expresiones CASE dan como resultado falso (.F.), OTHERWISE determinará si se ejecuta otro conjunto de comandos adicional.

Si incluye OTHERWISE, se ejecutará el conjunto de comandos que sigue a OTHERWISE y la ejecución saltará al primer comando que hay a continuación de ENDCASE.

Si omite OTHERWISE, la ejecución saltará al primer comando que hay a continuación de ENDCASE.

Observaciones

DO CASE se utiliza para ejecutar un conjunto de comandos de Visual FoxPro según el valor de una expresión lógica. Cuando se ejecuta DO CASE, se evalúan cada una de las expresiones lógicas sucesivas; los valores de las expresiones determinan el conjunto de comandos que se ejecuta.

Se admiten observaciones después de DO CASE y ENDCASE, si se incluyen en la misma línea. Estos observaciones se pasan por alto durante la compilación y ejecución del programa.

Ejemplo

la siguiente función devuelve el nombre del mes dependiendo del numero de mes que se ha enviado como parámetro.

Lparameter nMes as integer

Do Case

Case nMes = 1

Return ‘ENERO’

Case nMes = 2

Return ‘FEBRERO’

Case nMes = 3

Return ‘MARZO’

Case nMes = 4

Return ‘ABRIL’

Case nMes = 5

Return ‘MAYO’

Page 10: Curso basico de foxpro 9 capitulo 9

Case nMes = 6

Return ‘JUNIO’

Case nMes = 7

Return ‘JULIO’

Case nMes = 8

Return ‘AGOSTO’

Case nMes = 9

Return ‘SEPTIEMBRE’

Case nMes = 10

Return ‘OCTUBRE’

Case nMes = 11

Return ‘NOVIEMBRE’

Case nMes = 12

Return ‘DICIEMBRE’

OTHERWISE

MESSAGEBOX(‘Número de mes invalido’,0,’ERROR’)

ENDCASE

Control OptionGroup:

Crea un grupo de botones de opción.

Los grupos de botones de opción son contenedores que alojan botones de opción. Un grupo de botones de opción permite realizar una selección en un conjunto de botones. Al elegir un botón de opción, la selección se actualiza y se libera la opción anterior. Una viñeta al lado del botón de opción indica la opción actual. Por ejemplo, los botones de opción pueden emplearse para dirigir los resultados a un archivo, una impresora o una ventana.

El valor de la propiedad Value del optionGroup es el valor numérico que indica el control option seleccionado en ese momento.

Control OptionButton:

Page 11: Curso basico de foxpro 9 capitulo 9

Crea un botón de opción sencillo.

Un botón de opción sencillo sólo puede agregarse a un grupo de botones de opción.

Para un control OptionButton, los valores de la propiedad Value son:

Valor Descripción0 (Predeterminado) Indica que el botón no está

seleccionado.1 Indica que el botón está seleccionado.

Control EditBox:

Los cuadro de edición tienen un funcionamiento parecido al de los textbox o cuadro de texto, la diferencia está en que si presione la tecla enter y si el área del cuadro de edición permite varias filas, entonces este no perderá el enfoque sino que pasara a la siguiente línea. Un cuadro de edición que permita una sola línea actúa igual que un textBox.

Los cuadro de edición son usados normalmente para escribir notas u observaciones de algo en particular.

Page 12: Curso basico de foxpro 9 capitulo 9

Ejercicio propuesto:

Crear el siguiente formulario:

El formulario tiene como objetivo llenar los cuadros de edición con los nombres ingresados en el cuadro de texto, dependiendo del color que se elija.

Si se elije el color azul el nombre pasara a la lista de azules, si elije amarillo irá a lista de amarillos y si elije blanco se agregará el nombre al cuadro de edición de blancos.

Además se debe llevar un conteo para cada lista para mostrar en un cuadro de texto el total de nombres que eligieron azul, amarillo y blanco.

Ejemplo del formulario propuesto en ejecución:

Page 13: Curso basico de foxpro 9 capitulo 9