domingo, 7 de diciembre de 2008

2 Tutorial De Visual FoxPro 6.0 . (Bucles).

1.Que es un Bucle?

Es lo que permite ejecutar una o mas lineas de codigos tantas veces como sea necesario.

En Visual FoxxPro hay tres comando para poder realizar a cabo los Bucles..:

*Scan y su terminacion ENDSCAN

*FOR y su terminacion ENDFOR

*DOWHILE y su terminacion ENDDO

2.El Bucle Scan.

Utiliza SCAN, para Cuando realices una serie de acciones para cada uno de los registros de una tabla q tengas,

Por ejemplo,

Este code q analize,

SCAN

IF salario >= 100000000

REPLACE salary WITH ;

salario * 1,03

ELSE

REPLACE salario WITH ;

salario * 1,06

ENDIF

ENDSCAN

---------------------------------------------

El Bucle SCAN permite escribir el codigo una vez y ejecutarlo para cada registro a medida que el puntero de registro se desplaze por la tabla.

3.El Bucle FOR.

Este Bucle lo utilizaras para cuando sepas cuantas veces debe ejecutarc la seccion de codigo.

Por ejemplo, sabe q una tabla contiene un numero especifico de campos.

Suponiendo q la Funcion FCOUNT() deVisual FoxPro devuelve un numero,

puede utilizar un bucle FOR para imprimir los nombres de todos los campos de la tabla.

Por ejemplo Miren este code:

FOR nCnt = 1 TO 14

cTest = “123-456-7 89 0”

? SUBSTR(cTest, nCnt, 1)

ENDFOR

lo hice rapidito, no creo q tenga errores, ai demuestra la funcion de el Bucle FOR.

----------------------------------------------------

3.Bucle DO WHILE.

Utiliza este bucle cuando desee ejecutar una seccionde codigo mientras cumpla una determinada condicion.

Aca este code, lo hizo mi profesor, io solo le explicare.

nAqui = RECNO() *Esto Guarda la posicion situada en el registro.

cIniciales = LEFT(nombre,1)+; *Obtiene las iniciales de la persona, a partir de las primeras letras de campos nombre y

LEFT(apellidos,1) apellido.

nsufijo = 0

LOCATE FOR id_persona = *Comprueba si hay mas personas en las tabla cuya iniciales sean las mismas.

cIniciales Si en otro registro de la tabla hay un valor id_persona que coincide con cIniciales, entonces

DO WHILE FOUND( ) la funcion FOUND() devolvera el valor True, osea verdadero, y se ejecutara el bucle DO WHILE

, pero si no se parecen en nada, entonces se ejecutara la linea q figura a continuacion de

ENDDO.

nSufijo = nSufijo + 1 *Prepara un sufijo nuevesito pa lo tiguere xd, y lo anexa alas iniciales.

cIniciales = ;

LEFT(cIniciales,2);

+ ALLTRIM(STR(nSufijo))

CONTINUE *CONTINUE hace q se vuelva a evaluar el ultimo comando q es LOCATE.el programa comprueba

si el nuevo valor contenido en cIniciales ya existe en el campo id_persona de otro registro.

Si es Found() seguira devolviendo el valor Truey se volvera a ejecutar el bucle DO WHILE.

Pero si el valor contenido en cIniciales es unico, devolvera False, y el programa figurara a

lalinea a continuacion de ENDDO.

ENDDO * Este es el final de Bucle DO WHILE.

GOTO nAqui *Vuelve al registro y almacena el codigo de identificacion unico en el campo id_persona.

REPLACE id_persona WITH

cIniciales

---------------------------------------------------------------------------------------------------------

By N3xtdoor.(Nestor E. C.)

Espero q lo haigan entendido.

1 Tutorial De Visual FoxPro 6.0 .

Iniciando en Visual FoxPro, aprendi esto enla 1 parte de mi libro.

1.Tipos de datos:

Tipos Ejemplos

Numeric 123, 3,1416.

Character <>

<<143>>

<>

Logical .T.(Verdadero)

.F.(Falso)

Date {^2008-02-04}

DateTime {^2008-02-04 3:30:04 p}

Se preguntan para q les pongo esto?

Es necesario saber esto, para poder entender bien lo explicado debajo, que son

los operadores.

2.Para que se utilizan los operadores?

Bueno, los operadores si no me equivoco, se utilizan para vincular datos.

Estos son los operadoresque son utilizados comunmente en Visual FoxPro:

Operadores:

Los que estan adentro del parentesis son los operadores.

---------------------------------------------------------------------------------

(=) : Este tiene todos los tipos de datos validos, por ejemplo:

? n = 7 Esto imprime True, si el valor almacenado en la variable es 7; si no es 7,

entonces imprime False.

----------------------------------------------------------------------------------

(+) : Los tipos de datos validos para este son (Numeric, Character, Date, Datetime), por ejemplo:

? “N3xt” + “Door” Esto imprime <>.

----------------------------------------------------------------------------------

(*) , (/) : Estos son conocidos, * para multiplicar y / para dividir , Tipo de datos validos (Numeric),

Ejemplo:

? 5 * 5 : Esto imprime 25.

? 10 / 5 : Esto mprime 5.

------------------------------------------------------------------------------------

Nota: Un signo de interrogacion (?), situado delante de una expresion imprime el resultado de una expresion,

y un caracter de nueva linea en la ventana de salida activa, que comunmente es la ventana principal de Visual

Fox Pro.

-------------------------------------------------------------------------------------

Los Nombres de lal variables empiezan con la letra n, por lo que se puede determinar que contienen dos datos

numericos, pero pueden nombrarla con cualquier combinacion de caracteres alfanumericos y caracteres de

subrayado.

Ejemplo: nJason = 500

nPame = 500

---------------------------------------------------------------------------------------

Las intrucciones siguientes almacenan dos datos de caracteres en dos variables. Los nombres de las variables,

empiezan con la letra c para indicar que estas variable scontienen datos de tipo character.

Ejemplo: cPrimero = “N3xt”

cTercero = “Door”

----------------------------------------------------------------------------------------

Las dos operaciones, suma y concatenacion, producen distintos resultados obviamente, porq contienen tipos

de datos diferentes, en cada una de ellas.

? nJason + nPame : “El Resultado de este dara 1000.”

? cPrimero + cTercero : “El resultado de este dara N3xtdoor.”

----------------------------------------------------------------------------------------

Nota>: No lo saque de ningun lado, esq me compre un libro de 845 paginas y esto es lo poco q he aprendido,

porq no he tenido mucho tiempo leyendolo solo tengo como 4 horas leyendo…

ademas de q anduve como loco buscando el software, bueno pronto hare la introduccion xD, fue lo 1 que debi hacer.

Ejercicio hacer suma, divison , multiplicacion, y resta con variables,

me lo mandan por mp, y posteo quienes lo tienen bueno.

El otro, es hacer un code, que diga la fecha actual de la pc, esto esta con el comando Date mas arriba,

y otro q diga la fecha y hora actual, con el tipo de dato, DateTime, tambien explicado arriba.

Me mandan los codes por MP, y io posteo quienes lo hicieron bn, aunq se q nos les interesa Visual FoxPro pero,

como otros lenguajes, este tambien es importante.

By N3xtdoor.(Nestor Espinal Cataldi)

Introduccion a Visual FoxPro 6.0 .

Fue con lo que debi haber empezado,

En Visual FoxPro 6.0, funcionan juntas la programacion por procedimientos y la programacion orientada a objetos,

para permitirle crear aplicaciones flexibles, diriamos, y mas q nada , potentes.

A un nivel estructural, podia decirse q la programacion en Visual FoxPro percisa la manipulacion de los datos almacenados.

$Por que este tipo de programacion es orientada a objetos?

Aunq Visual FoxPro admite la programacion estandar por procedimientos, se ha ampliado la capacidad del lenguaje para

proporcionar potencia y flexibilidad propia de la programacion orientada a objetos.

Este diseño orientado a objetos, y a la programacion orientada a objetos, representa un cambio de la forma de pensar, de la perspectiva con respecto a la programacion estandar con procedimientos.En lugar de pensar en el flujo del programa desde la primera hasta la ultima linea del codigo, se debe pensar en la creacion de objetos, se debe pensar en la creacion de objetos.

Este tambien viene con un Sistema Gestor de Bases de datos,

Producido por la Microsoft.

Pueden descargar el Visual FoxPro 6.0 completo aca:

Primera Parte: http://www.megaupload.com/es/?d=O06YWVEI

Segunda Parte: http://www.megaupload.com/es/?d=FTA4DEX8

Cuando les pida ingrese el id, ingresan,

111 - 1111 ,

aunque no lo crean si funciona, por eso ahora lo tengo.

(Analisis)Programa en Visual FoxPro 6.0, para aumentar el salario de empleados.

Simple.

SCAN

IF salario >= 100000000

REPLACE salary WITH ;

salario * 1,03

ELSE

REPLACE salario WITH ;

salario * 1,06

ENDIF

ENDSCAN

-----------------------

Aca explico las funciones de cada uno.

SCAN : Este codigo se ejecuta tantas veces como registros haya en la tabla. Cada vez q este codigito se ejecute,

El puntero de registro se desplaza al siguiente registro de la proxima tabla.

IF salario >= 100000000 :Para cada registro, si el salario q es demasiado alto, es mayor o igual que 100000000 ,

REPLACE salary WITH ; Este valor se reemplaza por un nuevo salario q es un 3 por 100 superior, el signo (;) que,

salario * 1,03 aparece despues de WITH indica que el comadno continua en la siguiente linea.

ELSE

REPLACE salario WITH ; :Para cada registro si el salario no es mayor o igual q 100000000, se sustituye este salario,

salario * 1,06 que sera un 6 por 100 superior.

ENDIF :Final de la intruccion condicional IF.

ENDSCAN : Fiinal del codigo q se ejecuta oara cada registro de la tabla…

COmo ven es como html, siempre se acab ejemplo

SCAN , ENDSCAN, IF ,ENDIF…

N3xtdoor.