Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Manual de visual foxpro version 6, Guías, Proyectos, Investigaciones de Programación C

Manual de programacion visual foxpro version 6

Tipo: Guías, Proyectos, Investigaciones

2018/2019

Subido el 02/09/2019

cortessergio
cortessergio 🇲🇽

5

(2)

2 documentos

1 / 806

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
V
Vi
is
su
ua
al
l
F
Fo
ox
xp
pr
ro
o
6
6
,
,
M
Ma
an
nu
ua
al
l
d
de
el
l
P
Pr
ro
og
gr
ra
am
ma
ad
do
or
r
-
-
M
Mi
ic
cr
ro
os
so
of
ft
t
P
Pr
re
es
ss
s
Titulo : Visual Foxpro 6 , Manual del Programador
Autor : Microsoft Press
ISBN : 84-481-2089-2
Editora : Mc Graw Hill
Nº Paginas : 847
CONTENIDO
Introducción.
PARTE 1. Programación con Visual FoxPro.
Capítulo 1. Introducción a la programación.
Capítulo 2. Programar una aplicación.
Capítulo 3. Programación orientada a objetos.
Capítulo 4. Descripción del modelo de eventos.
PARTE 2. Trabajar con datos.
Capítulo 5. Diseñar una base de datos.
Capítulo 6. Crear bases de datos.
Capítulo 7. Trabajar con tablas.
Capítulo 8. Crear vistas.
PARTE 3. Crear la interfaz.
Capítulo 9. Crear formularios.
Capítulo 10. Usar controles.
Capítulo 11. Diseñar menús y barras de herramientas.
PARTE 4. Agrupar todos los elementos.
Capítulo 12. Agregar consultas e informes.
Capítulo 13. Compilar una aplicación.
Capítulo 14. Probar y depurar aplicaciones.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Vista previa parcial del texto

¡Descarga Manual de visual foxpro version 6 y más Guías, Proyectos, Investigaciones en PDF de Programación C solo en Docsity!

ViVissuuaall FFooxxpprroo 66 ,, MMaannuuaall ddeell PPrrooggrraammaaddoorr -- MMiiccrroossoofftt PPrreessss

Titulo : Visual Foxpro 6 , Manual del Programador

Autor : Microsoft Press

ISBN : 84-481-2089-

Editora : Mc Graw Hill

Nº Paginas : 847

CONTENIDO

Introducción.

PARTE 1. Programación con Visual FoxPro.

Capítulo 1. Introducción a la programación. Capítulo 2. Programar una aplicación. Capítulo 3. Programación orientada a objetos. Capítulo 4. Descripción del modelo de eventos.

PARTE 2. Trabajar con datos.

Capítulo 5. Diseñar una base de datos. Capítulo 6. Crear bases de datos. Capítulo 7. Trabajar con tablas. Capítulo 8. Crear vistas.

PARTE 3. Crear la interfaz.

Capítulo 9. Crear formularios. Capítulo 10. Usar controles. Capítulo 11. Diseñar menús y barras de herramientas.

PARTE 4. Agrupar todos los elementos.

Capítulo 12. Agregar consultas e informes. Capítulo 13. Compilar una aplicación. Capítulo 14. Probar y depurar aplicaciones.

Capítulo 15. Optimizar aplicaciones.

PARTE 5. Ampliar aplicaciones.

Capítulo 16. Agregar OLE. Capítulo 17. Programar para acceso compartido. Capítulo 18. Programar aplicaciones internacionales.

PARTE 6. Crear soluciones cliente-servidor.

Capítulo 19. Diseñar aplicaciones cliente-servidor. Capítulo 20. Upsizing de bases de datos de VisualFoxPro. Capítulo 21. Implementar una aplicación cliente-servidor. Capítulo 22. Optimizar el rendimiento cliente-servidor.

PARTE 7. Crear archivos de Ayuda.

Capítulo 23. Crear Ayuda gráfica. Capítulo 24. Crear Ayuda de tipo .DBF.

PARTE 8. Distribuir aplicaciones.

Capítulo 25. Generar una aplicación para su distribución. Capítulo 26. Crear discos de distribución.

PARTE 9. Acceso a las bibliotecas API.

Capítulo 27. Extender Visual FoxPro con bibliotecas externas. Capítulo 28. Acceso a la API de Visual FoxPro.

PARTE 10. Crear soluciones empresariales.

Capítulo 29. Programar en equipo. Capítulo 30. Soluciones empresariales de Visual FoxPro.

PARTE 11. Lo nuevo en Visual FoxPro.

Capítulo 31. Interoperabilidad e Internet. Capítulo 32. Programación de aplicaciones y productividad del programador. Capítulo 33. Mejoras para la programación.

En este capítulo se abordan los temas siguientes:

l Ventajas de la programación l La mecánica de la programación en Visual FoxPro l Conceptos básicos de programación l El proceso de la programación l Usar procedimientos y funciones definidos por el usuario l Pasos siguientes

Ventajas de la programación

Normalmente, cualquier función que pueda realizar con un programa podrá realizarla también a mano, si dispone de suficiente tiempo. Por ejemplo, si desea consultar información sobre un cliente en una tabla de clientes, como por ejemplo la empresa Ernst Handel, podría hacerlo manualmente si sigue una secuencia concreta de instrucciones.

Para buscar manualmente un único pedido en una tabla

  1. En el menú Archivo , elija Abrir.
  2. En el cuadro Archivos de tipo , elija Tabla.
  3. Haga doble clic en Customer.dbf en la lista de archivos.
  4. En el menú Ver , elija Examinar.
  5. Desplácese por la tabla, examinando el campo Company de los registros hasta encontrar “Ernst Handel”.

Mediante programación podría conseguir el mismo resultado escribiendo los siguientes comandos de Visual FoxPro en la ventana Comandos:

USE Customer LOCATE FOR Company = "Ernst Handel" BROWSE

Cuando haya localizado el pedido de esta empresa, tal vez desee incrementar la cantidad máxima del pedido en un 3%.

Para incrementar manualmente la cantidad máxima del pedido

  1. Presione la tecla Tab para desplazarse hasta el campo max_ord_amt.
  2. Multiplique el valor mostrado en el campo max_ord_amt por 1,03 y escriba el nuevo valor en el campo.

Para conseguir el mismo resultado mediante programación, escriba el siguiente comando de Visual FoxPro en la ventana Comandos:

REPLACE max_ord_amt WITH max_ord_amt * 1,

Es relativamente sencillo cambiar la cantidad máxima del pedido para un cliente, ya sea manualmente o escribiendo las instrucciones en la ventana Comandos. Sin embargo, suponga que desea incrementar en un 3% la cantidad máxima de pedido de todos los clientes. Podría hacerlo manualmente, pero le llevaría mucho tiempo y es posible que cometiese errores. Si especifica las instrucciones correctas en un archivo de programa, Visual FoxPro podrá realizar esta tarea con rapidez y facilidad, sin cometer ningún error.

Programa de ejemplo para incrementar las cantidades máximas de pedido de todos los clientes

Código Comentarios USE customer (^) Abre la tabla CUSTOMER.

SCAN (^) Examina todos los registros de la tabla y realiza todas las instrucciones comprendidas entre SCAN y ENDSCAN para cada registro. REPLACE max_ord_amt WITH ; max_ord_amt * 1. Incrementa la cantidad máxima de pedido en un 3%. (El punto y coma (;) indica que el comando sigue en la línea siguiente). ENDSCAN (^) Final del código que se ejecuta para cada registro contenido en la tabla.

La ejecución de un programa ofrece numerosas ventajas en comparación con la introducción de distintos comandos en la ventana Comandos:

l Los programas se pueden modificar y volver a ejecutar. l Se pueden ejecutar programas desde los menús, formularios y barras de herramientas. l Los programas pueden ejecutar otros programas.

En las siguientes secciones se describe la mecánica, los conceptos y los procesos que subyacen a éste y otros programas de Visual FoxPro.

La mecánica de la programación en Visual FoxPro

Puede programar en Visual FoxPro escribiendo código: instrucciones en forma de comandos, funciones u operaciones que Visual FoxPro puede entender. Puede incluir estas instrucciones en:

l La ventana Comandos. l Archivos de programa l Ventanas de código de eventos o de métodos en el Diseñador de formularios o en el Diseñador de clases l Ventanas de código de procedimientos en el Diseñador de menús l Ventanas de código de procedimientos en el Diseñador de informes

l En la ventana Comandos , escriba:

MODIFY COMMAND

Visual FoxPro abrirá una nueva ventana denominada Programa1. Podrá entonces escribir su programa en esta ventana.

Guardar programas

Una vez creado un programa, asegúrese de guardarlo.

Para guardar un programa

l En el menú Archivo , elija Guardar.

Si intenta cerrar un programa sin antes guardarlo, aparecerá un cuadro de diálogo en el que se le preguntará si desea guardar o descartar los cambios realizados en el mismo.

Si guarda un programa creado a partir del Administrador de proyectos, el programa se agregará al proyecto.

Si guarda un programa al que todavía no ha asignado un nombre, se abrirá el cuadro de diálogo Guardar como, en el que podrá especificar el nombre del programa. Cuando haya guardado el programa, podrá ejecutarlo o modificarlo.

Modificar programas

Después de guardar el programa, podrá modificarlo. En primer lugar, abra el programa de una de las siguientes maneras:

Para abrir un programa

l Si el programa forma parte de un proyecto, selecciónelo en el Administrador de proyectos y elija Modificar.

–O bien–

l En el menú Archivo , elija Abrir. Aparecerá un cuadro de diálogo en el que se muestra una lista de los archivos disponibles. En la lista Archivos de tipo , elija Programa. En la lista de archivos, seleccione el programa que desea modificar y elija Abrir.

–O bien–

l En la ventana Comandos , escriba el nombre del programa que desea modificar:

MODIFY COMMAND miprogram

–O bien–

l En la ventana Comandos , escriba:

MODIFY COMMAND?

Cuando aparezca la lista de archivos, seleccione el programa que desea modificar y a continuación elija Abrir.

Después de abrir el programa, podrá realizar cambios en el mismo. Cuando haya terminado de introducir los cambios, asegúrese de guardar el programa.

Ejecutar programas

Después de crear un programa, podrá ejecutarlo.

Para ejecutar un programa

l Si el programa forma parte de un proyecto, selecciónelo en el Administrador de proyectos y elija Ejecutar.

–O bien–

l En el menú Programa , elija Ejecutar. Cuando aparezca la lista de programas, seleccione el programa que desea ejecutar y a continuación elija Ejecutar.

–O bien–

l En la ventana Comandos , escriba DO y el nombre del programa que desea ejecutar:

DO miprogram

Escribir código en las herramientas de diseño de Visual FoxPro

El Diseñador de formularios, el Diseñador de clases y el Diseñador de menús le permiten integrar fácilmente código de programas mediante la interfaz de usuario, de forma que el código apropiado se ejecute como respuesta a las acciones del usuario. El Diseñador de informes le permite crear informes complejos y personalizados integrando código en el archivo del informe.

Para aprovechar plenamente la eficacia de Visual FoxPro, debe utilizar estas herramientas de diseño. Si desea más información sobre el Diseñador de informes, consulte el capítulo 7, Diseñar informes y etiquetas, del Manual del usuario. Para obtener información más detallada sobre el Diseñador de formularios, consulte el capítulo 3, Programación orientada a objetos, de este manual. Para obtener información más detallada sobre el Diseñador de formularios, consulte el capítulo 9, Crear formularios, y si desea más información acerca del Diseñador de menús, consulte el capítulo 11, Diseñar menús y barras de herramientas.

Conceptos básicos de programación

Tipo Descripción

Variables Elementos individuales de datos almacenados en la memoria RAM (memoria de acceso aleatorio) del PC.

Registros de tabla Varias filas de campos predeterminados, cada uno de los cuales puede contener un dato definido previamente. Las tablas se guardan en disco.

Matrices Varios elementos de datos almacenados en la memoria RAM.

Manipular datos

Los contenedores y los tipos de datos le ofrecen los módulos que necesita para manipular los datos. Los elementos finales son los operadores, las funciones y los comandos.

Usar operadores

Los operadores se utilizan para vincular los datos. A continuación se muestran los operadores utilizados habitualmente en Visual FoxPro.

Operador Tipos de datos válidos Ejemplo Resultado

= Todos?^ n^ =^7 Imprime .T. si el valor almacenado en la variable es 7; de lo contrario, imprime .F.

  • Numeric, Character,Date, DateTime

? "Fox" + "Pro" (^) Imprime “FoxPro”

! or NOT Logical?^ !.T.^ Imprime .F. (falso)

*, / Numeric?^5 *^5 ? 25 / 5 Imprime 25 Imprime 5

Nota Un signo de interrogación (?) situado delante de una expresión imprime el resultado de la expresión y un carácter de nueva línea en la ventana de salida activa, que es normalmente la ventana principal de Visual FoxPro.

Recuerde que debe utilizar el mismo tipo de datos con cada operador. Las siguientes instrucciones almacenan dos datos numéricos en dos variables. Los nombres de variable empiezan con la letra n, por lo que se puede determinar de inmediato que contienen datos numéricos, pero puede nombrarlas con cualquier combinación de caracteres alfanuméricos y caracteres de subrayado.

nPrimero = 123 nSegundo = 45

Las instrucciones siguientes almacenan dos datos de caracteres en dos variables. Los nombres de variable empiezan con la letra c para indicar que contienen datos de tipo character.

cPrimero = "123" cSegundo = "45"

Las dos operaciones siguientes, suma y concatenación, producen resultados distintos, ya que el tipo de datos es diferente en cada una de ellas.

? nPrimero + nSegundo ? cPrimero + cSegundo

Resultado

168 12345

Puesto que cPrimero contiene caracteres y nSegundo contiene datos numéricos, se producirá un error de tipo de datos incorrecto si se intenta ejecutar el siguiente comando:

? cPrimero + nSegundo

Puede evitar este problema si utiliza funciones de conversión. Por ejemplo, STR( ) devuelve el valor de tipo Character equivalente de un valor de tipo Numeric, mientras que VAL( ) devuelve el equivalente numérico de una cadena de caracteres formada por números. Estas funciones y LTRIM( ), que elimina los espacios iniciales, le permiten realizar las operaciones siguientes:

? cPrimero + LTRIM(STR(nSegundo)) ? VAL(cPrimero) + nSegundo

Resultado

12345 168

Usar funciones

Las funciones devuelven un tipo específico de datos. Por ejemplo, las funciones STR( ) y VAL( ) utilizadas en la sección anterior devuelven valores de tipo Character y Numeric, respectivamente. Al igual que ocurre con todas las funciones, estos tipos devueltos están documentados con las funciones.

Hay cinco maneras de llamar a una función de Visual FoxPro:

l Asignar a una variable el valor que devuelve la función. La siguiente línea de código almacena la fecha actual del sistema en una variable denominada dHoy:

dHoy = DATE( )

l Incluir la llamada a la función en un comando de Visual FoxPro. El siguiente comando establece el directorio predeterminado como el valor devuelto por la función GETDIR( ):

en el área de trabajo. USE customer IN (^0) Abre la tabla CUSTOMER en la siguiente área de trabajo disponible. USE customer IN 0 ; ALIAS miCliente

Abre la tabla CUSTOMER en la siguiente área de trabajo disponible y asigna al área de trabajo el alias miCliente.

A continuación se muestran algunos ejemplos de comandos utilizados en este capítulo:

Comando Descripción

DELETE Selecciona registros especificados de una tabla para su eliminación.

REPLACE Sustituye el valor almacenado en el campo del registro por un nuevo valor.

Go Coloca el puntero de registro en una posición específica de la tabla.

Control del flujo del programa

Visual FoxPro incluye una categoría especial de comandos que "envuelven" a otros comandos y funciones, y determinan cuándo y con qué frecuencia se ejecutan. Estos comandos permiten realizar bifurcaciones condicionales y bucles, dos herramientas de programación muy eficaces. El siguiente programa muestra el uso de las bifurcaciones y los bucles condicionales. Estos conceptos se describen de forma más detallada después del ejemplo.

Suponga que su empresa cuenta con 10.000 empleados y desea conceder a todos aquéllos que ganan 3.000.000 de pesetas o más un aumento salarial del 3%, y a todos los que ganan menos de 3.000. de pesetas un aumento del 6%. El siguiente ejemplo de programa le permite hacerlo.

Este programa presupone que en el área de trabajo actual está abierta una tabla que contiene un campo numérico denominado salario. Si desea obtener información sobre las áreas de trabajo, consulte "Usar múltiples tablas" en el capítulo 7, Trabajar con tablas..

Programa de ejemplo para aumentar el salario de los empleados

Código Observaciones SCAN (^) El código comprendido entre SCAN y ENDSCAN se ejecuta tantas veces como registros haya en la tabla. Cada vez que se ejecuta el código, el puntero de registro se desplaza al siguiente registro de la tabla. IF salario >= 3000000 REPLACE salary WITH ; salario * 1,

Para cada registro, si el salario es mayor o igual que 3.000.000, este valor se sustituye por un nuevo salario que es un 3% superior.

El signo de punto y coma (;) que aparece después de WITH indica que el comando continúa en la siguiente línea. ELSE REPLACE salario WITH ; salario * 1,

Para cada registro, si el salario no es mayor o igual que 3.000.000, se sustituye este valor por un nuevo salario que es un 6% superior.

ENDIF ENDSCAN Final de la instrucción condicional IF.

Final del código que se ejecuta para cada registro de la tabla.

Este ejemplo utiliza comandos de bifurcación y bucle condicional para controlar el desarrollo del programa.

Bifurcación condicional

La bifurcación condicional permite someter a prueba condiciones y, a continuación, en función del resultado de la prueba, realizar distintas operaciones. Visual FoxPro ofrece dos comandos que permiten realizar una bifurcación condicional:

l IF ... ELSE ... ENDIF l DO CASE ... ENDCASE

El código comprendido entre la instrucción inicial y la instrucción ENDIF o ENDCASE sólo se ejecuta si una condición lógica se evalúa como verdadera (.T.). En el programa de ejemplo, el comando IF se utiliza para distinguir entre dos estados: o el salario es de 3.000.000 pesetas o más, o no lo es. Se adoptan diferentes medidas, dependiendo del estado.

En el siguiente ejemplo, si el valor almacenado en la variable nTempAgua es menor que 100, no se realizará ninguna acción:

  • definir una variable lógica como Verdadera si se cumple una condición. IF nTempAgua >= 100 lEbullición = .T. ENDIF

Nota Un asterisco al principio de una línea de un programa indica que la línea es un comentario. Los comentarios ayudan al programador a recordar la función que debe realizar cada segmento de código, si bien Visual FoxPro los pasa por alto.

Si se desea comprobar varias condiciones posibles, un bloque DO CASE ... ENDCASE puede resultar más eficaz que varias instrucciones IF y además es más fácil realizar un seguimiento del mismo.

Bucles

Un bucle le permite ejecutar una o más líneas de código tantas veces como sea necesario. En Visual

función FOUND( ) devolverá el valor verdadero (.T.) y se ejecutará el código contenido en el bucle DO WHILE. Si no se encuentra ninguna coincidencia, la siguiente línea de código que se ejecute será la línea que figura a continuación de ENDDO. nSufijo = nSufijo + 1 cIniciales = ; LEFT(cIniciales,2);

  • ALLTRIM(STR(nSufijo))

Preparar un sufijo nuevo y anexarlo al final de las iniciales.

CONTINUE (^) CONTINUE hace que se vuelva a evaluar el último comando LOCATE. El programa comprueba si el nuevo valor contenido en cIniciales ya existe en el campo id_persona de otro registro. Si es así, FOUND( ) seguirá devolviendo el valor .T. y se volverá a ejecutar el código contenido en el bucle DO WHILE. Si el nuevo valor contenido en cIniciales es efectivamente único, FOUND( ) devolverá el valor .F. y la ejecución del programa continuará con la línea de código que figura a continuación de ENDDO. ENDDO (^) Final del bucle DO WHILE.

GOTO nAquí REPLACE id_persona WITH cIniciales

Volver al registro y almacenar el código de identificación único en el campo id_persona.

Puesto que no hay manera de saber de antemano cuántas veces se encontrarán los códigos de identificación coincidentes que ya se están utilizando, se utiliza el bucle DO WHILE.

El proceso de la programación

Cuando entienda los conceptos básicos, la programación será un proceso reiterativo. Los pasos se repiten numerosas veces, perfeccionándose el código a medida que se avanza. Al principio, someterá el código a prueba frecuentemente mediante un sistema de prueba y tanteo. Cuanto más conozca el lenguaje, mayor será la rapidez con que pueda programar y podrá realizar más pruebas preliminares mentalmente.

Entre los pasos básicos de la programación cabe citar los siguientes:

l Definir el problema. l Desglosar el problema en elementos discretos. l Construir los elementos. l Comprobar y perfeccionar los elementos. l Ensamblar los elementos.

l Comprobar el programa en su conjunto.

A continuación se enumeran algunos aspectos que debe tener presentes al empezar a programar:

l Defina claramente el problema antes de intentar resolverlo. Si no lo hace, acabará por realizar numerosos cambios, desechará código, tendrá que empezar de nuevo o bien terminará con un resultado que no es realmente lo que deseaba. l Desglose el problema en pasos manejables, en lugar de intentar resolver todo el problema de una sola vez. l Pruebe y depure secciones de código a medida que desarrolla el programa. Compruebe que el código hace lo que quiere que haga. La depuración es el proceso de encontrar y solucionar problemas que impiden que el código se ejecute correctamente. l Perfeccione los datos y el almacenamiento de datos para facilitar la manipulación de estos datos a través del código del programa. Esto suele implicar estructurar las tablas de forma adecuada.

En el resto de esta sección se describen los pasos que debe seguir para construir un pequeño programa Visual FoxPro.

Definir el problema

Antes de poder resolver un problema, debe formularlo claramente. Algunas veces, si ajusta la formulación del problema podrá ver más opciones para resolverlo.

Suponga que obtiene muchos datos de distintos orígenes. Si bien la mayoría de los datos son estrictamente numéricos, algunos valores contienen guiones y espacios en blanco además de números. Suponga que quiere eliminar todos los espacios en blanco y los guiones de dichos campos y guardar los datos numéricos.

En lugar de intentar eliminar los espacios en blanco y los guiones de los datos originales, podría formular el objetivo del programa como:

Objetivo Reemplazar los valores existentes de un campo por otros valores que contengan todo lo que contenían los valores originales, excepto los espacios en blanco y los guiones.

Esta formulación evita la dificultad que supone manipular una cadena de caracteres cuya longitud sigue cambiando a medida que trabaja con ella.

Descomponer el problema

Puesto que tiene que indicar instrucciones específicas a Visual FoxPro en términos de operaciones, comandos y funciones, debe descomponer el problema en pasos discretos. La tarea más discreta para este problema sería examinar cada carácter de la cadena. Hasta que pueda examinar un carácter individualmente, no podrá determinar si desea guardarlo.

Una vez que examine un carácter, deberá comprobar si se trata de un guión o de un espacio en blanco. En este momento, quizá desee refinar la declaración del problema. ¿Y si obtuviera más adelante datos que contienen paréntesis de apertura y de cierre? ¿Y si desea deshacerse de los símbolos de moneda, las comas y los puntos? Cuanto más genérico pueda hacer el código, más

ventana Comandos:

? SUBSTR(cTest, 1, 1) ? SUBSTR(cTest, 3, 1) ? SUBSTR(cTest, 8, 1)

Resultado

1 3

Puede ver que en la ventana principal de Visual FoxPro se muestran el primer, el tercer y el octavo caracteres de la cadena de prueba.

Para hacer eso mismo varias veces, utilice un bucle. Puesto que la cadena de prueba tiene un número determinado de caracteres (14), puede utilizar un bucle FOR. El contador del bucle FOR se incrementa cada vez que se ejecuta el código del bucle, por lo que puede utilizar el contador de la función SUBSTR( ). Puesto que en la ventana Comandos no puede comprobar las construcciones de bucles, deberá probar la siguiente sección de código en un programa de ejemplo.

Para crear un programa nuevo

  1. Escriba el siguiente comando en la ventana Comandos :

MODIFY COMMAND numonly

  1. En la ventana que aparecerá, escriba las siguientes líneas de código:

FOR nCnt = 1 TO 14 ? SUBSTR(cTest, nCnt, 1) ENDFOR

Ahora que ha creado un programa, ya puede ejecutarlo.

Para ejecutar un programa

  1. En la ventana del programa abierto, presione CTRL+E.
  2. Si aparece un cuadro de diálogo Guardar , elija Aceptar.

Cuando ejecute este programa, los caracteres individuales de la cadena de prueba se imprimirán en líneas distintas en la ventana principal de Visual FoxPro.

Comprobar parte del programa

Ya ha completado la primera tarea. Ahora puede examinar cada carácter de la cadena.

Decidir si el carácter es numérico

Cuando tenga un único carácter de la cadena, debe saber si se trata de un número. Puede hacerlo con ISDIGIT( ).

Puede probar los siguientes comandos en la ventana Comandos:

? ISDIGIT('2') ? ISDIGIT('-') ? ISDIGIT(SUBSTR(cTest, 3, 1))

Resultado

.T. .F. .T.

De este resultado se desprende que ‘2’ es un número, ‘ – ’ no es un número y el tercer carácter, 3, es un número.

Si el carácter es numérico, copiarlo a la segunda cadena

Ahora que puede examinar los caracteres y determinar si son o no numéricos, necesita una variable