Documentos de Académico
Documentos de Profesional
Documentos de Cultura
06 - 05 - 2002
PRIMERA CLASE
LENGUAJES DE PROGRAMACION
:
Son todos aquellos orientados a
Sistemas Operativos -
Software de Sistemas
- Aplicacin
^
Lenguajes de Programacin
En Teora es difcil el rea de Programacin.
Comando : es una instruccin que ejecuta un proceso, puede tener
incluido un formato para su escritura, ejemplo :
Create
Delete
Zap
Date()
?
Create :
?
enter
enter
enter
enter
enter
Ventana de Comandos
___________________________________________
|
|
|
|
|
________________________
|
|
|
|
|
|
|
COMANDO
|
|
|
--------------------------------- |
|
|
?Date()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------- |
|
|
----------------------------------------------------------
P1
________________________
|
Create
|
|
Dir *.*
|
|
Browse
|
|
Use
|
|
|
-------------------------------- SubPrograma
Create Enter
Dir *.*
Clase
_________
Biblioteca
PANTALLA
PROVEEDORES
Campos
Registro
Tabla
Base de Datos
256
Memoria
VF1
07 - 05 - 2002
VARIABLES
Publicas
Privadas
Temporal : Solo encendida la computadora RAM
Inicializar
Definir un tipo de datos que almacena
Salario Liquido
Nombre
Telefono
variables
NIT
numeros
letras
fechas
numericas
caracter simbolos
fecha
numeros
614-101270-002-1
NCIP -
11432110
NombrePersona@Servidor
1234
Raiz
Nombre de variable
Nombre de variable
Nombre de variable
Caracter
:
=
=
=
numero.
espacios.
fecha.
Sbase =
Nota1 =
DISSS =
nombre
direccion
0
- Sbase = 150
0
0
Asignando
=
=
space(20)
space(60)
\___________/
15
store space(15) to
estado =
genero =
nombre=
apellido=
soltero(a)
casado(a)
divorciado(a)
viudo(a)
space(15)
space(15)
space(15)
space(15)
Total de Factura
T_Factura
Variables
nombre =
variable
Tipo(Fecha)
Maria
contenido
apel
+
a=space(25)
b=space(25)
c=space(25)
Tipo Fecha
3
F_Ingreso
F_reserva
F_salida
=
=
=
Date()
{}
/ /
F_Ingreso=05/07/2002
F_Reserva=__/__/____
F_Salida =__/__/____
El Comando @ Say
Permite determinar en que coordenadas se muestra un mensaje o el
contenido de una variable
Formato
@Fila, Columna
sayMensajeEstandar
@Fila, Columna
Fila 2, columna2
@ 2,2 say a
@ 4,4 say a
a = Computer
b = Data
c = Systems
@ 7,20 say d
d=a+b+c
d = a+ + b + + c
Flash Player
VF1
08 - 05 - 2002
CREACION DE PROGRAMAS
Modify Command
Progra1
----
Enter
Prg
Bak
Fxp
Modify command
Lenguaje de usuario
Backup
Lenguaje de maquina
Do - Nombre de
programa.
Do
Hacer
Do
Do Progra1
El proceso de creacin de un archivo .Fxp surge de la
compilacin (verificacin de errores ) de el archivo .Prg
Compilar = Verificar Errores
Hola
Errores de lgica
Errores de escritura
Nombre
Salario base
Numero Horas|
Pago horas
Total Horas
Salario Liquido
Clculos
Formulas
1
7
__________
8
=
mas fcil de resolver
______
|
|
--------______
|
|
--------______
|
--------______
|
|
--------______
|
|
--------______
|
|
---------
\
|->
/
Datos -
N1
N2
Resultado
no se digitan
FACTURA
______________________________________________________
|
|
|
Numero
1
|
|
Cliente Juan
|
|Productos Descrip-Pro
Cantidad
Total
|
|
1
Parlantes
75
75
|
|
1
CD-ROM
1000
1000 |
|
|
-------------------------------------------------------------------------FXP
Ingreso de datos
VF1
read
get
read
get
read
09 - 05 - 2002
EJE1
CLEAR
*INICIALIZACION DE VARIABLES
NUMERO1 = 0
NUMERO2 = 0
STORE 0 TO NUMERO1,NUMERO2
@ 2,2 SAY NUMERO UNO :
@ 4,2 SAY NUMERO DOS :
@ 2,15 GET NUMERO1
PICTURE 9999
@ 4,15 GET NUMERO2
PICTURE 9999
READ
RESULTADO = NUMERO1+NUMERO2
@ 6,2 SAY LA SUMA ES :
@ 6,25 SAY RESULTADO
A=0
B=0
C=0
D=0
@ 2,4 SAY DEME EL NOMBRE COMPLETO
@ 4,4 SAY DEME LA PRIMERA NOTA
@ 6,4 SAY DEME LA SEGUNDA NOTA
@ 8,4 SAY DEME LA TERCERA NOTA
@ 2,28 GET NOMBRE PICTURE @!
@ 4,25 GET A PICTURE 999
@ 6,25 GET B PICTURE 999
@ 8,25 GET C PICTURE 999
READ
D=(A+B+C)/3
@ 10,04 SAY EL PROMEDIO ES
@ 10,20 SAY D
Estructura IF - ENDIF
Estudiarla
VF1
10-05-2002
Tarea
1) De 3 numeros escrito saber cual es el menor, cual es el mayor, o si
son iguales.
2) encontrar el area de un triangulo
(b x h )/2
3) suma de dos numeros
4) el segundo este que estamos haciendo
VF1
13 - 05 - 2002
3 ) Numeros) mayor, menor, o igual
clear
num1=0
averiguar
IF
11
ENDIF
num2=0
num3=0
@ 3,7 say Numero 1 get num1 picture 999
@ 5,7 say Numero 2 get num2 picture 999
@ 7,7 say Numero 3 get num3 picture 999
Read
IF num1 > Num2
@ 9,7 say Numero uno es mayor
Else
IF num 1 = num2
@ 9,7 say Numeros iguales
Else
@ 9,7 say Numero dos es mayor
Endif
Endif
IF - Endif,
expuestas
.
12
condiciones
Otro programa
Clear
base = 0
h=0
A=0
@ 2,10 say Base get base
@ 4,10 say Altura get h
Read
A=(base*h)/2
@ 6,10 SAY Area del Triangulo
@ 6,30 say A picture 9999.99
VF1
14-05-2002
Operadores Lgicos
AND
---------
2 Condiciones
OR
---------
1 de Dos
A
2
A
A
and
B
C
|
|
|
A-1 Condicin
A-1 Condicin
A-1 Condicin
B
2
>
>
2
4
or
A
B
C
3
1
2
menor medio
menor medio
1
3
mayor
mayor
2
13
resultado.
A
B
C
1 3 2 1 2 3 1 1 1
2 1 1 3 3 2 1 1 1
3 2 3 2 1 1 2 3 3
1
2
3
A
B
C
3
2
1
2 2 3 3 3 1 2
2 2 3 3 3 1 2
1 3 1 2 3 2 1
ENDIF
ELSE
IF
14
IF
Num1 >
Num3
39
Ya lo dio
Numero 2
70
Ya lo dio
Numero 3
45
7
30
Todava no
10
20
Inicio
Programas
Accesorios
Accsabilidad
Ampliador
VF1
15 - 05 - 2002
DO CASE
ENDCASE
CASE
15
Case
Instruccin
Instrucciones
Case
Instruccin
Instrucciones
Case
Instruccin
Instrucciones
ENDCASE
DO
CASE
Case
Instruccin
Instrucciones
Case
Instruccin
Instrucciones
Case
Instruccin
3
Instrucciones
OTHERWISE
Instrucciones
ENDCASE
IF
OTHERWISE
un
En Otro Caso
ENDCASE
DO CASE
16
ENDIF
CASE
Condicion1
DO
CASE
Condicion 2
ENDCASE
ENDCASE
Programa de Promedio
>0
>3.01
>5.01
>8.01
< 3
<= 5
<=8
<=10
No Pase
Reprobado
Muy Bueno
Excelente
VF2
PRIMERA CLASE
04 - JUNIO DE 2002
VISUAL II
REPORTES DEL SISTEMA
1.- CONSULTA DE CLIENTE
Codigo:_______________
Nombre
:_______________
Direccin
:_______________
17
Telefono
:_______________
N Registro
:_______________
:_______________
:_______________
CodigoDescripcin
----
Precio de Venta
----
Existencia
----
------Total de Productos
----
---:________________
----
:_____________
Mes
:_____________
Empleado
Nombre
Numero de Ventas
Total Ventas
----
----
----
-----
----
----
----
-----
Total
________________
________________
:___________
Tipo de Factura
Cliente
Fecha :_________
Nit
:________
:_______________
:_______________
Empleado
:_______________
Producto
Descripcin
Cantidad
Precio Total
----
----
----
----
18
----
----
----
----
---SubTotal
Iva
Total
---:_____________
:_____________
:_____________
:_____________
CodigoNombre
Telefono
----
----
----
----
----
----
----
----
Total de Empleados
:_______________
Llamar un listado
Nombre de tabla
? Informacin
campos
registros
\
|->tabla relacionadas en base de datos---> DBC
/
? campos
Reporte va a papel
Consulta va a pantalla o sea Formulario, la idea es obtener sus tablas con sus
campos con su longitud y con sus titulos.
comenzar con consulta de clientes
clientes ==> consulta
codigo
nombre
telefono
direccion
NRegistro
apellidos
email
nombre
apellidos
Jose Antonio
Julio Cesar
Ana Maria
Ramirez
Ramirez
Ramirez
19
_____________
| nombres
|
|Ape1
|
| Ape2 |
_____________
Datos Personales
Y Permanentes
Consulta de Empleados
codigo
nombre
apellido
telefono
direccin
afp
email
F.-Ingreso
nit
\
|==>
/
Consulta de Clientes
dui
isss
estado civil
sexo
salario mensual
edad
descuento afp
VF2
05 - Junio - 2002
Factura Comercial
N
:_____________
Tipo Factura
:_______________
RegN
:_______________
:_______________
Cliente :______________
Empleado
:______________
Producto
Descripcin
Cantidad
Precio Total
----
----
----
----
----
----
----
----
----
----
SubTotal
Iva
Total Gene
:______________
:______________
:______________
REPORTE DE ARTICULOS
Fecha Sistema = DATE()
CodigoDescripcin
Precio de Venta
20
Existencia
----
----
----
----
----
----
----
----
Total Productos
:______________
Clientes
Empleados
Productos
codigo
descripcin
Precio Unitario de Costos
Ganancia
Precio de Venta
Existencia
BROWSE
_______________________________________________________________________
_
CodigoDescripcin Precio de Costo
Fecha
Total
_______________________________________________________________________
_
1
2
CDROM
HD
$ 100.00
$ 1,200.00
09/06/02
05/06/02
ES DIFERENTE SUMAR
QUE CONTAR.
1
2
3
4
1,000.00
1,200.00
250.00
____________
Suma
2,450.00
y otra cosa es
contar C/U.- = 3
Salir 2 archivos de la factura
1 Registro
Muchos dependen de 1 Registro
| Encabezado de Factura
Alumnos
codigo
|
nombre
21
-----------------------------------------Numero de Factura
Fecha
Nombre
Tipo Factura -> ->
Nit
Registro
Codigo Cliente
Codigo Empleado
/ Credito Fiscal
|
\ Consu. Final
\
|No Se Repite
/
apellido
telefono
direccion
encargado
edad
grado
F._Ingreso
N de Notas
N1
N2
N3
Prom
Codigo
N de Notas
Grado
Fecha Curso
Profesor Materia
| Detalle de Factura
|
-----------------------------------------Numero de Factura
Codigo Producto
Cantidad Producto
Precio Venta
Total Producto
| Encabezado Factura
|
-----------------------------------------Sub-Total
Iva
Total General de la Factura
VF2
06 - 06 - 2002
CLIENTES
codigo
nombre
apellido
direccion
telefono
nit
registro
Email
codigo
ENCABEZADO FACT.
numero
EMPLEADOS
codigo
nombre
apellido
direccion
telefono
DesAfp
DesISSS
salario
edad
sexo
estado civil
F.-Ingreso
22
PRODUCTOS
descripcion
precio costo
ganancia
precio venta
existencia
DETALLE FACTURA
numero
fecha
tipo factura
nit
registro
codigo cliente
codigo empleado
subtotal
iva
total general
codigo producto
cantidad
precio venta
total producto
:_________
:_________
Cod EmpleadoNombre
------TOTAL
------:
TABLAS ESTADISTICAS
Exacto
-------
-------
____________
____________
(No se Repiten )
2 Anuales
(Codigo , ao , mes )
entonces acumula
23
CTRL + Y
tablas_________maestros__________estadisticas
|________detalles___________movimientos
13 de Junio tarea de Folleto todas
27 de Junio unico examen
Tres tareas en disco para el Martes o Jueves 13 y en papel
VF2
7 - 06 -2002
REPORTE MENSUAL DE COMPRAS POR CLIENTE
Ao
:_________
Mes
:_________
24
Cliente Nombre
N de Compras
Total Compras
----
----
----
----
----
----
----
----
_____________
_______________
Total de Compras
Tipo
longitud
tipo de datos a ingresar
si hay o no calculos
letras, numeros, letras y numeros
- longitud cuantos datos
se agregan
caracter
numerico
19 decimales
logico
ToF
memo
GCD
caracter ( binario ) - 256 caracteres
memo ( binario )
entero solo enteros
monetario
dinero
flotante
cientifico
caracter
numero
logicos
memo
Codigos ASCII
T_Clientes - DBF
T_Clientes - FPT
campos memo 256 carcateres
capacidad del campo memo
es para grandes capacidades
y depende del tamao del disco
suma
CLIENTES
codigo
nombre
apellidos
direccion
telefono
nit
noregistro
email
codigo
c
4
c
c
c
c
c
c
c
25
25
60
8
17
7
40
25
EMPLEADOS
codigo
n
nombre
apellidos
direccion
telefono
desafp
n
fec.ingreso
nit
email
dui
est.civil
desisss
n
salario
n
sexo
edad
PRODUCTOS
codigo
n
descripcion
preciocosto
ganancia
precioventa
existencia
3
c
c
c
c
6
d
c
c
c
c
6
7
l
n
25
25
60
8
8
17
40
10
10
1
2
2
2
3
c
n
n
n
n
30
8
6
9
3
FACTURAS ENCABEZADO
numefacturas n
6
fecha
d
tipofactura
l
nit
c
registro
c
codcliente
c
codempleado n
3
subtotal
n
iva
n
totalgeneral
n
2
2
2
2
2
2
8
1
17
10
4
9
8
10
VF2
10 - 06 - 2002
TIPOS Y LONGITUDES
DETALLE DE FACTURA
numefacturas n
codigoproducto
n
cantidad
n
6
3
3
26
precioventa
totalproducto n
n
10
9
-
2.-
3.-
27
Asignado
por el
usuario| 3
del sistema
NO SE RE
PITE.-
T_CLIENTES
______________________________________________________
|codigo|nombre
|apellido
|N.-Registro |
---------------------------------------------------------------------------| 1
|Luis
|Perez |
|
| 2
|Juan
|Lopez |
|
|Juan
|Merino
|
|
| 4
|Ana
|Merino
|
|
| 5
|Luis
|Perez |
|
| No dejar
|Patricia
|Zelaya|
|
| en Blanco
|Ricardo
|Orellana
|
|
---------------------------------------------------------------------------
28
-------------------------| Primario
| Candidato
| Unico
`
| Regular
--------------------------
|
|
|
|
INDICE NORMAL
Permite duplicar datos para un campo definido en una tabla y solo
servir para relacionar archivos.-
NORMAL
================
________________________
|codigo|nombre
|
---------------------------------|
1
|Juan
|
|
1
|Luis
|
|
1
|Pedro |
|
2
|Maria |
|
3
|Jorge |
|
4
|Evangelina |
|
4
|Martha
|
---------------------------------INDICE UNICO
Repite datos permite relacionar archivos y buscar informacion excepto que
no muestra los datos repetidos.NORMAL
T_CLIENTES
UNICO
T_CLIENTES
29
__________________________
_____________________________
codigo | nombre
codigo | nombre
__________________________
_____________________________
1
| Juan
1
| Juan
1
| Luis
2
| Maria
1
| Pedro
3
| Jorge
2
| Maria
4
| Evangelina
3
| Jorge
|
4
| Evangelina
|
4
| Martha
|
Cuando defini un indice normal
muchos indices normales
Definir indices para tablas
CLIENTES
A
-->
Normal
Nit
-->
Normal
N-Registro
-->
Normal
Dato importante
Que sea corto
Relacin de Archivos
EMPLEADOS
codigo -----> Principal
Apellidos
-----> Normal
Nit
-----> Normal
NRegistro
-----> Normal
F.-Ingreso
-----> Normal
VF2
11 - 06 - 2002
NO HUBO CLASE SOLO CENTRO DE COMPUTO
VF2
12 - 06 - 2002
PRODUCTOS
30
Codigo
Descripcin
Principal
Normal
ENCABEZADO DE FACTURA
Numero de Factura
Fecha
Codigo Cliente
Codigo Empleado
Principal
Normal
Normal
Normal
DETALLE DE FACTURA
Numero de Factura
Codigo de Producto
Cantidad
Precio de Venta
Total - P P V .-
Normal
Normal
____________________________________________________________________
|
N____________
Fecha____________
Nit_________________|
|
Tipo Fact___________________
Reg_______________
|
|
Cliente____________________
|
|
Empleado_________________
|
|
|
|__________________________________________________________________ |
|
|
|
Producto
Descripcion Cantidad
Precio V.
Total
|
|
-------------------|
|
------------------|
|
|
|
Subtotal__________________
|
|
Iva_______________________
|
|
Total General_____________ |
___________________________________________________________________
---|
ENCABEZADO
----|
FACTURAS
FECHA
__________________________________________________________________
|
NUMERO
|
10/02/2002
|
-------------------------------------------------------------------------------------------|
|
|
31
|
|
-------------------------------------------------------------------------------------------DETALLE
|
|
______________________________________________________
|NUMERO |PROD |CAN |PRECIO
|TOTAL
|
|1
|1
|2
|1500
|3000
|
|1
|2
|2
|17
|34
|
|
|
|
|
|
|
----------------------------------------------------------------------------
ESTADISTICA DE EMPLEADOS
_
_
Indi
|Ao
|
ce por
|Mes
| Indice Principal
los
|Codigo
| Empleado
tres
--N de Ventas
Total Ventas
TAREA Traer el Estadistica de Clientes o sea Reporte
Este Viernes averiguar sobre Validaciones de campos
Desarrollo de Aplicaciones a libro Visual Foxpro
32
Tarea
Averiguar sobre los seis reportes
VF2
13 - 06 - 2002
ESTRUCTURA DE ARCHIVOS
_______________________________________________________________________
_
|Nombre de Archivo :
Tabla de Clientes
|
|Tipo
:
Maestro
|
|Indice
:
Codigo de Cliente
|
|Nombre de la Tabla :
T_Client.DBF
|
|Longitud
:
187
|
|_____________________________________________________________________ |
|NO |Campo
|Descrip.
|Tipo |Longitud
|Validado|Clase
|
--------------------------------------------------------------------------------------------------|1
|Cod_clie
|cod client
|C
|4
|carga
|
|2
|nom_clie
|nombrecl
|C
|25
|carga
|
|3
|ape_clie
|apellido
|C
|25
|carga
|
|4
|dir_clie
|direccion
|C
|60
|carga
|
|5
|tel_clie
|telefono
|C
|8
|
|
_______________________________________________________________________
Archivo Maestro
Archivo de Detalle
Suma de todas las longitudes de los campos es longitud
Nombre de archivo longitud maxima 8 digitos
Es Maestro porque raras veces se modifica o se agrega
Facturas es archivo de Detalle.
Nombre de campo mximo 10 dgitos
Total 10 Hojas = 3 de Reportes y las otras 7 tablas
|_____________________________________________________________________|
|NO |Campo
|Descrip.
|Tipo |Longitud
|Validado|Clase
|
--------------------------------------------------------------------------------------------------|6
|nit_clie
|nit del cle
|C
|17
|
|carga
|
|7
|reg_clie
|registro
|C
|7
|
|carga
|
|8
|ema_clie
|e mail cli
|C
|40
|
|carga
|
--------------------------------------------------------------------------------------------------
33
CLASE
Campo de Carga
Escribe
VF2
14 - 06 - 2002
VALIDACION DE DATOS
RESTRINGE LOS DATOS
A ESCRIBIR EN LOS CAMPOS
FORMATO
|___________|
MASCARA E.|___________|
REGLA
|___________|
MENSAJE
|____________|
34
TITULO
|___________|
Nombre
Precio de Costo
Numerico
====>
Regla
2
99999.99
Como hacer para no escribir valores negativos
0 Valor Predeterminado
Pco_Arti > 0
Pco_Articulo
Articulos
Facturas Encabezados
Detalles de Facturas
35
Empleados
Empleados
Sexo
Masculino
Femenino
carcater
Formato
=
Mascara de Entrada
En estructura de Archivo
+ Validaciones
Pco_Articulo > = 0.00 o X
Sexo = Femenino.Masculino
Tarea es Reportes como los diseamos
Estructura de los Archivos.Y la Relacion de Archivos para el 27 de Junio
VF2
17 - 06 - 2002
ESTRUCTURA DE CARPETAS
Orden
=====
Proyecto
2 Archivos
36
Base de Datos
Tabla
Formularios
2 Archivos
2 Archivos
2 Archivos
____________
|
|
----------------|
________
|-------------|
|
|
----------|
________
|-------------|
|
|
---------|
_______
|-------------|
|
|
---------|
________
|-------------|
|
|
---------|
________
|-------------|
|
|
---------|
________
|-------------|
|
|
----------|
________
|-------------|
|
|
----------|
________
|-------------|
|
|
----------|
Formularios (SCX)
Clases (VCX)
Proyecto (PJX)
Reportes (FRX)
Menus (MNX)
Programas(PRG)
Datos(DBC,DBF)
Imagenes(BMP,JPS,ICO)
SCT
VCT
PJT
FRT
MNT
PRG
37
Relacion de Tablas
Uno a Uno
Uno a Muchos
____________
____________
|T_Clientes |
|T_Paises
|
---------------------------------|cod_cli
|
|cod_pais
|
|_nom |
|nom_pais
|
|ape_cli
|
-----------------|cod_pais
|
|Indices
|
----------------|cod_pais
|-->
candidato
|Indices
|
----------------|cod_cli
|
|cod_pais
|---> candidato
---------------- Campo comun
igual longitud, igual tipo
Tabla X
Principal
Principal
Candidato
Candidato
Tabla Y
Principal
Candidato
Candidato
Principal
Clientes
Pais
1 Juan
2 Maria
3 Carlos
Tabla X
Principal
Principal
Candidato
Candidato
2
3
Relacion
Uno a Uno
Uno a Uno
Uno a Uno
Uno a Uno
1 El Salvador
2 Guatemala
3 Honduras
Tabla Y
Normal
Unico
Normal
Unico
Relacion
Uno a Muchos
Uno a Muchos
Uno a Muchos
Uno a Muchos
38
Uno a Uno
------|--------<Uno a Muchos
Figuras
Maestros
Detalles
Empleados
Facturas
Cod_Emp
Clientes
Cod_clie
19 - 06 - 2002
Que es un Proyecto.Es el nucleo de todo el sistema que permite administrar todos los archivos
relacionados.
Esta dividido en las siguientes partes : Datos, Documentos, Clases, codigo,
otros.
- Proyecto
Use alumnos
Browse
39
Documentos
Formularios
Reportes
Etiquetas
Modify Structure
A:\Create Form nombre
Do Form nombre
Modify Form nombre
- F Notas -
Archivo
Nuevo
__________________
|
|
| O Proyecto |
| O Base de Datos |
| O Tabla
|
Nuevo
| O Consulta |
Archivo
| O Conexion |
| O Vista
|
| O Vista Previa
|
| O Formulario
|
| O Informe |
| O Etiqueta |
| O Programa |
| O Clase
|
| O Archivo de t.
|
| O Menu
|
-------------------------Datos :
Lugar
Nombre
Database
Tablas Libres
Consultas
8 Digitos para Archivos
T_Clientes.DBF
40
R_Clientes.FRX
F_Clientes.SCX
B_Clientes.DBC
TAREA
Base de Datos
Tablas
Indices
Y
Relaciones
Solo Proyecto
Y Datos
DOCUMENTOS
_____________________________
Formularios
Reportes
Etiquetas
(Pantallas)
VF2
C:\
20 - 06 - 2002
|
Codigo
| | Clases
| | imagenes
| | proyecto
| | formularios
| | reportes
| | datos
| | menus
| | programas
41
24 - 06 -2002
HOY HUBO CENTRO DE COMPUTO
VF2
26 - 06 - 2002
PROXIMO MES HACER FORMULARIOS
Averiguar para el proximo mes lo que son Eventos, Metodos, que ocupan los
Objetos.
42
VF3
04 - 07 - 2002
PRIMERA CLASE
1
Laboratorio Teorico
Tarea
3 Diskettes de Copia
Formularios
Son diseos de pantallas en los cuales se crean mantenimientos o consultas
de cualquier archivo.
Todo formulario posee entorno de datos del cual se agrgan o consulta
cualquier informacion.
En un Formulario puede colocar cualquier tipo de objetos, desde texto hasta
videos.
---------> Documentos
Formulario
Nuevo
Nuevo Archivo
Hasta que termine el diso del formulario hasta entonces lo graba
Opcion Ver Controles y Propiedades
Todos los objetos incertados en un Formulario poseen metodos, eventos, y
propiedades.
43
<-------
Instruccion
THISFORM.RELEASE()
Evento Click
Procedimiento
METODO
INSTRUCCIONES O PROCEDIMIENTOS
-------------------------
Formularios
Nuevo Metodo
Propiedades
Carcteristica
Nueva Propiedad
Autosize --- T , F
Todos los objetos poseen un nombre y una clase a partir del cual son
diseados.
------ Name
44
---- Caption
Mensaje de Muestra ( Pantalla ) -------------->
THISFORM.Label1.Caption
Juanito
Error de Logica
Eventos comunes en Objetos
INIT : Inicializar Valores
Se utiliza para inicalizar variables o activar procedimientos una
sola vez en objetos o formularios.
| Text1 |
1
INIT
Agrega o Modifica
Formulario
IVA = 0 Definir en el Formulario = Init
Ejecutar Formulario
! CTRL + E
45
Alumno
2
Modulos
1
Ocurre cuando hace click en un objeto, se activa con una letra caliente
se presiona barra espaciadora.
_____________
| ADICION |
Botones
----------------Letra caliente
Click
Enter
_____
| Casillas de Verificacion
------|
| soltero
------|
| casado
------Estado Civil
___________________
|O Solter@
|
|O Casad@ |
|O Divorciado
|
|O Viud@
|
--------------------------
Click
Evento
Error
Gotfocus
o
|
Click doble
|
Click
|FontItalic
Tab
|FontUnderline
46
_______________
Objeto |Text1 | |Procedimiento
---------------------
|GotFocus
____________
|
-----------------
This.FontBold = .T.
This.BackColor = R G B ( 0,255 0,255 0,255 )
Propiedades
BackColor
Click
Evento LOSTFOCUS
Ocurre cuando un objeto pierde el enfoque
___________
_______________
Objeto |Text1 ||
Procedimiento |LostFocus | |
-----------------------------------Propiedad
Enabled
This.Enabled = .F.
La mayoria de campos lo tienen GotFocus y LostFocus
Evento MouseDown
Ocurre cuando se hace click sobre un boton o en el boton
MessageBox(Presiono Click)
MouseMove
Sucede cuando se mueve el mouse sobre un objeto
______________________________
|---Mouse Move
|
|
________
|
|
|
|<---Boton
|MessageBox;
|
----------|Presioneme
|
|
-------------------------------------------
47
2 LostFocus
Valid (Validacion )
Todos los eventos poseen una jerarquia
Empty esta vacio
IF Empty(This.Value)
MessageBox(Nombre va 0)
Return 0
Endif
Formato
@!
Mascara de Entrada
Format
InputMask
VF3
8 - 07 - 2002
Propiedades mas Comunes
Caption
BackColor
BorderStyle
0 - Sin Borde
1 - Borde Sencillo
2 - Borde doble linea
3 - Borde Predeterminado
48
Icono
Enabled
Closable
ShowTips
Al Formulario
ShowTips
------
ToolTipText
Debe estar
a
.T.
Picture : BackColor
: Establece una imagen .Bmp -- Jpg -- Guif
: para cualquier Objeto.
Que diferencia hay entre Background
BgColor
\
|
/
Usados
Internet
: formulario o el mismo.
____________
49
|Usar |
--------
Enabled
_______
|
|
.T.
.F.
AutoCenter
|Ver o No
|
----------------
Visible
_____________
|
|
.T.
.F.
: Determina si el formulario es centrado de forma
: automatica.- Si=.T. No=.F.
BorderStyle de 0 a 2 - Para que no se desajuste
ForeColor
FontSize
FontName
Diseo de Objetos :
ComboBox(Cuadro de Combinados)
___________________
|
| |
-------------------------|ab
| |
|
| |
|
| |
-------------------------Propiedades
Style
Picture
ControlSource RowSourceType
50
RowSource
ForeColor
FontSize
Estilo
BackColor
FontBold
FontName
09 - 07 - 2002
:
:
:
:
:
.T.
:
0 - Noborder
:
Formulario de Alumnos
:
.T.
:
(None)
:
.F.
:
Form1
:
.T. True
.T. True
-0-Normal
0-Modeless
Text1
:
:
:
:
:
:
:
0 - 3D
TextBox
TextBox
Text1
1 - Opaque ( Default )
0, 255, 0
0 - None
0, 0, 255
Procedure
:Click
ThisForm.CommandGroup1.Command1.Caption=Presioneme
51
AutoSize
Caption
ClickEvent
Name
:
:
:
:
Object :Command2
Caption
Name
Picture
Procedure
ToolTipText
:Click
:
\<Salir
:
Command2
C:\Archivos de Programa\Microsoft Visual
Studio\VFP98\Wizards\Graphics\Paste.Bmp
Object :Command3
Caption
Name
Picture
Procedure
Click
:
None
:
Command3
C:\Archivos de Programa\Microsoft Visual
Studio\VFP98\Wizards\Graphics\Save.Bmp
:
Boton con Imagen
Object :CommandGroup1
Procedure
BorderColor
BorderStyle
ButtonCount
Name
Value
0, 0, 0
1 - Fixed Single (Default)
2
CommandGroup1
1
:
:
:
:
:
Object :Command1
Caption
Name
Procedure
:
:
Object Command2
Caption
Name
Click
\<Agregar
Command1
Procedure
:
:
:Click
:Click
\<Presioneme
Command2
VF3
`10 - 07 - 2002
HUBO CENTRO DE COMPUTO
52
VF3
11 - 07 - 2002
FORMULARIO DE CLIENTES
_______________________________________________________________________
|
|
|
Codigo|
|
|
|
Nombre
|
|
Apellido
|
|
|
|
Direccion
|
|
|
|
Telefono
|
|
NIT
|
|
|
|
EMail
|
|
REG
|
|
|
|
Botones 1
|
|
____ ____ ____ ____ ____ ____ ____ ____ ____
|
|
| | | | | | | | | | | | | | | | | |
|
|
--------- ----- ----- ----- ----- ----- ----- -----|
|
____ _____
|
|
botones 2
| | |
| |
|
------ ------|
|
|
--------------------------------------------------------------------------------------------Botones
:1y2
---- Establecer Imagenes segun nombre de boton
---- Quitar , Caption
---- Establecer Nombres
---- Botones1
Botones2
-- Adicion
-- Guardar
-- Consulta
-- Cancelar
-- Modificar
-- Eliminar
-- Primero
Colocar a todos los
-- Siguiente
Botones el ToolTipText
-- Anterior
-- Ultimo
Diseo es opcional
-- Salir del Formulario
mismo tamao
Picture .- para poner
Imagen
53
Entorno de datos
Agregar 2 veces la tabla de Clientes
____________
____________
|T_Clientes |
|T_Clientes1|
---------------------------------|
|
|
|
Adici |
|
|
| Consultar
on |
|
|
| Informacion
|
|
|
|
-------------------------------- Ver Entorno de Datos
Click Derecho
Entorno de Datos
Opcion Formato
BUFFER DE DATOS
Se define como una tabla temporal en la que se agrega informacin y
se crea a partir de una tabla real.
VF3
12 - 07 - 2002
Visual dispone de 2 tipos de almacenamiento en buffers : Registro y
Tabla.
El buffer permanece activo hasta que se desactiva o hasta que cierre la
tabla.
Nombre
Telefono
Buffer de
Registro
Nombre
Telefono
Nombre
Telefono
Buffer de
Tabla
Nombre
Telefono
54
El primero
Optimista.
El segundo
Pesimista.
Bloqueo
Sin Buffer
Pesimista
Buffer de Registro
Optimista
Buffer de Registro
Pesimista
Buffer de Tabla
Optimista
Buffer de Tabla
BufferModeOverride
Browse
____________________________________
|codigo|nombre
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------
En la tabla se bloquea todos los regsitros.En el registro se bloque solo uno a la vez.Para poder actualizar se utiliza el comando TABLEUPDATE()
Para cancelar un proceso en un buffer se utiliza el comando
TABLEREVERT()
55
Adiciones
Controles datos
desactivados activ
boton1 boton2
desacti
activados
desact activados
Guardar o
Cancelar
VF3
15 - 07 - 2002
Creacion de Metodo
56
LParameters
estado(.F..V.) txtcodigo.enabled=estado
variable
_______
txtcodigo.enabled=estado
txtcodigo.enabled= .T.
----------
constante
estado = .T.
THISFORM.txtcodigo.enabled=estado
THISFORM.Hasta.email
=estado
THISFORM.guardar.enabled=estado
THISFORM.cancelar.enabled=estado
THISFORM.adicion.enabled=!estado
THISFORM.consulta.enabled=!estado
THISFORM.edicion.enabled=!estado
THISFORM.eliminar.enabled=!estado
THISFORM.prinero.enabled=!estado
THISFORM.siguiente.enabled=!estado
THISFORM.anterior.enabled=!estado
THISFORM.ultimo.enabled=!estado
THISFORM.salir.enabled=!estado
FORM1
INIT
THISFORM.CONTROLES(.F.)
VF3
16 - 07 2002
ADICION.CLICK
THISFORM.Controles(.T.)
SELECT T_CLIENTES
APPEND BLANK
THISFORM.REFRESH()
THISFORM.TXTCODCLI.SETFOCUS()
* TXTCOD_CLI.VALID
DO CASE
CASE SEEK(THIS.VALUE,T_CLIENTES1)
57
MESSAGEBOX(CODIGO YA EXISTE,0,ERROR)
RETURN 0
CASE EMPTY(THIS.VALUE)
TABLEREVERT()
SKIP -1
THISFORM.CONTROLES(.F.)
ENDCASE
Para txtCod_cli o sea codigo
SELECT ON ENTRY = PROPEIDAD A .T.
GUARDAR.CLICK
THISFORM.CONTROLES(.F.)
TABLEUPDATE()
THISFORM.REFRESH()
CANCELAR.CLICK
THISFORM.CONTROLES(.F.)
TABLEREVERT()
SKIP -1
THISFORM.REFRESH()
________________________________________________________
Para maana debe funcionar :
Adicion
Guardar
y Cancelar
SALIR.CLICK
THISFORM.RELEASE()
Supuesto maa para modificar datos
CUADRO COMBINADO DE BARRA DE CONTROLES
Propiedades de Cuadro Combinado
STYLE
----
_________________
|
|
|
-------------------------|ab
|
|
|
|
|
-------------------------LISTA DESPLEGABLE
PICTURE.-
58
VISIBLE .F.
RowsourceType
RowSource
=
=
6
Campos
Tabla de Clientes.Codigo de Cliente
VF3
17 - 07 - 2002
HOY HUBO CENTRO DE COMPUTO
VF3
18 - 07 - 2002
Funcion
MessageBox
Formato
Tipo de Cuadro
Valor
Botones
0
1
2
3
4
5
Aceptar
Aceptar y Cancelar
Anular, Reintentra y Ignorar
Si, No , Cancelar
Si, No
Reintentra, Cancelar
Valor
Icono
16
32
48
64
Punto
Signo de Interrogacion
Signo de Exclamacion
Signo de Informacion
Valor
Boton Predeterminado
0
256
512
Primer Boton
Segundo Boton
Tercer Boton
Boton
Aceptar
59
2
3
4
5
6
7
Cancelar
Anular
Reintentar
Ignorar
Si
No
__________________________________________
|Error de Adicion
|
----------------------------------------------------------|
|
|
Codigo Vacio
|
|
___________
__________
|
|
|Reintentar|
|Cancelar|
|
|
---------------------------|
|
|
----------------------------------------------------------MESSAGEBOX(CODIGO VACIO,5+64+256,ERROR;
DE ADICION)
__________________________________________
|MODIFICAR
|
----------------------------------------------------------|
|
|
MODIFICARA ESTE DATO
|
|
___________
__________
|
|
|SI
|
|NO |
|
|
---------------------------|
|
|
----------------------------------------------------------MESSAGEBOX(MODIFICARA ESTE ;
DATO,4+32+0,MODIFICAR)
60
THISFORM.REFRESH()
__________________________________________
|MODIFICAR
|
----------------------------------------------------------|
|
|
MODIFICARA REGISTRO
|
|
___________
__________
|
|
|SI
|
|NO |
|
|
---------------------------|
|
|
----------------------------------------------------------COMBO1.LOSTFOCUS
mensaje=MESSAGEBOX(MODIFICARA REGISTRO,4+32+0,MODIFICAR)
IF mensaje=6
THISFORM.CONTROLES(.T.)
THISFORM.COMBO1.VISBLE=.F.
THISFORM.TXTCOD_CLI.ENABLED=.F.
THISFORM.REFRESH()
THISFORM.TXTNOM_CLI.SETFOCUS()
ELSE
THISFORM.COMBO1.VISBLE=.F.
ENDIF
VF3
19 - 07 - 2002
No se pone buffer en Clientes1
Alt 167 = N ASCII - alt equivale a
Formulario de Clientes
Formato espacio Horizontal hacer igual
Sistema de Facturas
a la tabla de clientes1 en el entorno de datos colocar la propiedad
order y seleccionar el codigo de cliente
buscar cuadro combinado
lista desplegable = style
61
22 - 07 - 2002
ELIMINAR.CLICK
IF DELETE()
RECALL
THIS.CAPTION=ELIMINAR
ELSE
DELETE
THIS.CAPTION=RECUPERAR
ENDIF
FORM1.REFRESH()
IF DELETE()
THISFORM.ELIMINAR.CAPTION=RECUPERAR
* ELSE
THISFORM.ELIMINAR.CAPTION=ELIMINAR
ENDIF
* THIS.Picture=a:\20002\imagenes\eliminar.Bmp
Eliminacion logica No Fisica
X
ELIMINAR
FORMULARIO
RECUPERAR
DE CONSULTA
Nuevo Formulario
__________________________________________
|
__________________
|
|
Dato |Text1
|
|
|
-------------------------|
|
|
62
|
CodigoNombre
|
|
_________________________
|
|List1
|
|
|
|
|
|
|
|
|
|
|
---------------------------------|
|
-----------------------------------------------------------
|
|
|
|
|
|
__________________________________________
|
__________________
|
|
Dato |Mendez
|
|
|
-------------------------|
|
|
|
CodigoNombre
|
|
_________________________
|
|
|4 Carlos Mendez
|
|
63
|
|5 Jorge Mendez
|
|
|
|
|
|
|
|
---------------------------------|
|
----------------------------------------------------------CONSULTA.CLICK
DO FORM A:\20002\FORMULARIOS\F_CON
|
|
|
|
WITH 1
Clientes
Productos
Empleados
Facturas
LIST1.DBLCLICK
DO CASE
CASE DATO = 1
VCONSULTA = DATOS.CODIGO DE CLIENTES
`
Temporal
Campo de
la tabla
especifica
CASE DATO = 2
64
VCONSULTA = DATOS.IDEM
CASE DATO = 3
VCONSULTA = DATOS.IDEM
CASE DATO = 4
VCONSULTA = DATOS.IDEM
ENDCASE
THISFORM.RELEASE()
Clientes.Init
PUBLIC VCONSULTA
VCONSULTA =
Clientes.Activate
SELECT T_CLIENTES
SEEK VCONSULTA
THISFORM.REFRESH()
FORM1.ACTIVATE
PUBLIC VCONSULTA
VCONSULTA=
SELECT T_CLIENTES
SEEK VCONSULTA
VF3
23 - 07 - 2002
Formularios
Basado en
Form
Almacenarse en
`Mis Clases1
65
____________________________________________________________________
|
|
| _______________________________________________________________ |
| |
| |
| |
| |
| |
| |
| |Container1
| |
| |
| |
| -------------------------------------------------------------------------------------|
|
|
| _____________________________________________ ____________ |
| | _____ _____ _____ _____ _____ _____ _____ |
| ___ ___ | |
| | |
||
||
||
||
||
| |
||
|| || | | |
| | ------- ------- ------ ------ ------ ------- ----- |
| ---- ----- | |
| -----------------------------------------------------------------------------|
|
|
------------------------------------------------------------------------------------------------
Grupo de Botones
Grupo de Botones
A todos los Objetos les cambia
nombre al grupo no al Boton
VF4
24 - 07 - 2002
DISEO DE CLASE
____________________________________________________________________
|
|
| _______________________________________________________________ |
| |
| |
| |
| |
| |
| |
| |Container1
| |
66
| |
| |
| -------------------------------------------------------------------------------------|
|
|
| _____________________________________________
____________ |
| | _____ _____ _____ _____ _____ _____ _____ |
| ___ ___
| |
| | |
||
||
||
||
||
| |
||
|| | | | | |
| | ------- ------- ------ ------ ------ ------- ----- |
| ---- ----- | |
| ------------------------------------------------------------------------------ |
|
|
------------------------------------------------------------------------------------------------
Grupo de Botones(1)
Grupo de Botones ( 2 )
Creacion de Metodo
Procedimiento Controles
LParameters estado
THISFORM.CONTAINER1.SETALL(enabled,estado,textbox)
THISFORM.CONTAINER1.SETALL(enabled,estado,editbox)
THISFORM.grupo2..SETALL(enabled,estado,commandbutton)
THISFORM.grupo1..SETALL(enabled,!estado,commandbutton)
Hasta Aqu el Metodo
Tipo
Longitud
Dec
Cod_empl
Nume
NO
Cod_prod
Nume
Lleva
67
Num_fact
* Agregar
Nume
Indices
Tipo
Longitud
Cod_emp
Nume
Valor Predeterminado |
Dec
______________________________
|
------------------------------------------
Tabla
Campo
Para Formulario de Empleados y Productos
_____________
|
|
2 Click al Formulario
----------------Class
Label
THISFORM.CONTROLES(.F.)
Nuevo Formulario
Codigo numerico
___________________________________________________________
|
|
|
|Empleados
|
|
|
-------------------------------------------------- |
|
____________
|
|Codigo de Empleado |
1
|*
|
|
----------------|
68
|
|
-----------------------------------------------------------------------------------_____________
_____________
|Adicion
|
|Guardar
|
---------------------------------
|
|
1 Registro Correlativo
Codigo Empleado
Codigo Producto
Numero Factura
____________________________________________________________
|
1
|
1
|
1
|
-----------------------------------------------------------------------------------|
|
|
|
|
|
|
|
-----------------------------------------------------------------------------------VF3
25 - 07 - 2002
Formulario Empleados y Productos
Documentos
Nuevo Nuevo formulario
Barra de Controles
__________________
|
__________ |
| |
| |
|
|
| |
|
|
| |
|
|
| |
|
--------------- |
-------------------------- |
Boton de Clases
__________________
|Agregar
|
|Standard
|
|Controles Activ X
|
|
|
|
--------------------------
Selecciona Agregar
69
la Clase
Aceptar
Menu Barra
-
Quitar Formulario
Menu de Barra
* Debe de mostrar un solo Formulario con la
Lista de sus Objetos creados en la Clase.
70
VF3
26 - 07 - 2002
Formulario
Enpleados y Productos........Continuacion
____________________________________________________________________
|
|
| _______________________________________________________________ |
| |_________________________________________________________
|
|
| ||
|
|
| |
| ||
------------------------------------------| |
| ||
|
| |
| |--------------------------------------------------------------------------------| |
| -------------------------------------------------------------------------------------|
|
|
| _____________________________________________
____________ |
| | _____ _____ _____ _____ _____ _____ _____ |
| ___ ___
| |
| | |
||
||
||
||
||
| |
||
|| || | | |
| | ------- ------- ------ ------ ------ ------- ----- |
| ---- ----- | |
| -----------------------------------------------------------------------------|
|
|
------------------------------------------------------------------------------------------------
Grupo de Botones(1)
Grupo de Botones ( 2 )
HOJA1.(EMPLEADOS).ACTIVATE
THISFORM.MARCO.ACTIVEPAGE=1
SELECT T_EMPLEADOS
HOJA2.(PRODUCTOS).ACTIVATE
THISFORM.MARCO.ACTIVEPAGE=2
SELECT T_PRODUCTOS
Sobre el contenedor activa click derecho y escoge modifcar
__________________
|
|
|
|
--------| Marco de Pagina
|
|
|
|
------------------------Entorno de Datos
T_Empleados Buffer y Order
T_Productos
Buffer y Order
T_Correlativo -------Marco de Pagina Click Derecho y Modificar
ADICION.CLICK
THISFORM.CONTROLES(.T.)
DO CASE
CASE THISFORM.CONTAINER1.PAGEFRAME1.ACTIVEPAGE=1
SELECT T_EMPLEADOS
APPEND BLANK
THISFORM.CONTAINER1.PAGEFRAME1.PAGE1.TXTCODIGO.ENABLE
D=.F.
THISFORM.CONTAINER1.PAGEFRAME1.PAGE2.ENABLED=.F.
THISFORM.REFRESH()
THISFORM.CONTAINER1.PAGEFRAME1.PAGE1.TXTNOMBRE.SETFOC
US()
CASE THISFORM.CONTAINER1.PAGEFRAME1.ACTIVEPAGE=2
SELECT T_PRODUCTOS
72
APPEND BLANK
THISFORM.CONTAINER1.PAGEFRAME1.PAGE2.TXTCODIGO.ENABLE
D=.F.
THISFORM.CONTAINER1.PAGEFRAME1.PAGE1.ENABLED=.F.
THISFORM.REFRESH()
THISFORM.CONTAINER1.PAGEFRAME1.PAGE2.TXTDESCRIPCION.SET
FOCUS()
ENDCASE
GUARDAR.CLICK
THISFORM.CONTROLES(.F.)
DO CASE
CASE THISFORM.CONTAINER1.PAGEFRAME1.ACTIVEPAGE=1
SELECT T_EMPLEADOS
TABLEUPDATE()
SELECT T_CORRELATIVO
REPLACE T_CORRELATIVO.CODIGO EMPLEADO WITH
T_CORRELATIVO.CODIGOEMPLEADO + 1
TABLEUPDATE()
CASE THISFORM.CONTAINER1.PAGEFRAME1.ACTIVEPAGE=2
SELECT T_PRODUCTOS
TABLEUPDATE()
SELECT T_CORRELATIVO
REPLACE T_CORRELATIVO.CODIGO PRODUCTO WITH
T_CORRELATIVO.CODIGO PRODUCTO + 1
TABLEUPDATE()
ENDCASE
THISFORM.CONTAINER1.PAGEFRAME1.PAGE1.ENABLED=.T.
THISFORM.CONTAINER1.PAGEFRAME1.PAGE2.ENABLED=.T.
THISFORM.REFRESH()
CANCELAR.CLICK
THISFORM.CONTROLES(.F.)
DO CASE
CASE THISFORM.CONTAINER1.PAGEFRAME1.ACTIVEPAGE=1
SELECT T_EMPLEADOS
TABLEREVERT()
CASE THISFORM.CONTAINER1.PAGEFRAME1.ACTIVEPAGE=2
SELECT T_PRODUCTOS
TABLEREVERT()
ENDCASE
THISFORM.CONTAINER1.PAGEFRAME1.PAGE1.ENABLED=.T.
THISFORM.CONTAINER1.PAGEFRAME1.PAGE2.ENABLED=.T.
THISFORM.REFRESH()
73
Clientes
Si dato = 2
Empleados
Si dato = 3 Facturas
Si dato
= 4 Productos
VF4
PRIMERA CLASE
FACTURAS
EXTRAER CLASE
ENTORNO DE DATOS
Nuevo Formulario
Clase
Agregar
Buscar Clase
La encuentra y la selecciona
Conjunto de Formularios
02 - 08 - 2002
S
NO se debe quitar el conjunto de Formularios no el otro Control
NO BORRAR NINGUN FORMULARIO
Debe aparecer con F2 el
74
____________________________________
|
|
|
_____________________________________
|
FormSet1
|
|
Form1
|
|
Clase
|
|
Container
|
|
Grupo1
|
|
Grupo2
|
_____________________________________
Entorno de datos
Total 8 Tablas
Facturas
Detalle
Clientes
Empleados
Productos
Correlativo
Estadistica de Clientes
Estadistica de Empleados
Campo
a
Indice
__________________
__________________
|Facturas
|
|Clientes
|
------------------------- ------------------------|Campos
|
|Campos
|
------------------------- ------------------------- Se hace de campo
|Numero
|
|codigocliente |
|codigoa
| |
|nombre
|
a campo y se va
|codigocliente |
|apellidos
|
75
|
|
|indices
|
------------------------- |codigocliente |
------------------------Iniciar en Facturas
Termina en Clientes
indice
07 - 08 - 2002
RELACIONES DEL ENTORNO DE DATOS DE FACTURAS
Mismo dibujo
tablas de :
Facturas
Detalle
Productos
Clientes
Empleados
Estadistico de Clientes
Estadistico de Empleados
Correlativo
Tabla de Detalle
:
Numero de Factura en el valor Predeterminado
poner
T_Facturas.Numerode Factura
T_EncaFactura.Numero de Factura
Clientes
76
Codigo de Clientes
Tabla de Detalle
Empleados
Productos
Codigo de Empleado
Codigo de Producto
Factura
Detalle
NumeroFactura
Order
CodCliente
Tabla
Clientes
Empleados
Opcional(3)Replace Cod_Producto
Productos
Indice Creado
Esta_Clientes
Actualizar
TableUpdate()
77
Opcional(3)
Indice creado
EstadisticaEmpleados
Buffer(3)
Numero Factura
Facturas
Optimista(5)
Tablas
Numero Factura
Detalle
*********
Metodo se llama a controles
Hay un metodo que usted cre
THISFORM.CONTAINER1.SETALL(ENABLED,ESTADO,TEXTBOX)
Poner afuera del contenedor
Dejar afuera del Contenedor Modificado
___________________
|Subtotal
|
|Iva
|
|Total
|
-------------------------
08 - 08 - 2002
78
del Contenedor.
Desde el principio enabled = .F.
Nombres y apellidos igual a .F.
Propiedad que sirve Disabled BackColor si se quiere cambiar colores a objetos
deshabilitados : Disabled y,
ForeColor para cambiar estos
Para poner botones de radio busca el grupo de opciones y tien que estar modificado
gp1=name y modificar
autosize = .T. para poner exactos.
Poner Combos en modificados el container
Se ubca en detalles el nombre de la tabla para convertirlo en la cuadrcula de detalle de
factura
Propiedad Column count
Boton de producto
VF4
09 - 08 - 2002
ADICION . CLICK
THISFORM.CONTROLES(.T.)
THISFORM.CONTAINER1.GRDDETALLE.ENABLED=.F.
THISFORM.CONTAINER1.AGREGAR.ENABLED=.F.
SELECT T_ENCAFACT
APPEND BLANK
THISFORM.REFRESH()
THISFORM.CONTAINER1.GP1.OPCION1.SETFOCUS()
Tipo de Venta Nombre del Usuario Final
Credito Fiscal
Consumidor Final
Opcion1(Opcion1).Click
Replace T_Encafact.Venta with .T.
ThisForm.Refresh() Tipo Factura
Opcion2.Opcion2.Click
Replace T_Encafact.Venta With .F.
ThisForm.Refresh() Tipo Factura
Ahora programar los Combos
79
Combo1.Valid(Clientes)
ThisForm.Refresh()
Propiedades del Combo1
Style
=
2
Lista desplegable
RowSourcetype
=
6 - Campos
RowSource
=
T_Clientes.Cod_cliente
ControlSource =
T_Enfact.Cod_cliente
2
Lista Desplegable
=
6 - campos
=
T_Empleados.Cod_empleado
T_Enfact.Cod_Empleado
Combo2.LostFocus()
respuesta-MESSAGEBOX( Son Correctos +CHR(13)+Los datos,;
4+32+0,Facturas)
Un salto de linea
Si dice que S habilitar Agregar Productos
Enfoque
___________________________________________________________________
|codigo|Descripcion |Precio |Cantidad
|Total
|
------------------------------------------------------------------------------------------|
|
|
|
|
|
------------------------------------------------------------------------------------------|
|
|
|
|
|
------------------------------------------------------------------------------------------
Deshabilitar
Deshabilitar
_________________________
|Son correctos
|
|Los Datos
|
|
|
|
-----------|
|
|S |
|N |
|
|
------------|
80
`-------------------------------
6
7
IF Respuesta = 6
THISFORM.CONTAINER1.AGREGAR.ENABLED=.T.
THISFORM.CONTAINER1.GRDDETALLE.ENABLED=.T.
THISFORM.CONTAINER1.GRDDETALLE.DESCRIPCION.ENABLED=.F.
THISFORM.CONTAINER1.GRDDETALLE.TOTAL.ENABLED=.F.
SELECT T_DETALLE
APPEND BLANK
THISFORM.REFRESH()
THISFORM.CONTAINER1.GRDDETALLE.CODIGO.TEXT1.SETFOCUS()
ELSE
THISFORM.CONTAINER1.GO1.OPCION1/SETFOCUS()
ENDIF
VF4
12 - 08 - 2002
PROCESO DE GRID
______________________________
|T_DETALLE
|
-----------------------------------------|Numero de Factura
|
|Codigo de Producto
|
|Cantidad
|
|Precio
|
|Total
|
-----------------------------------------
Header1
____________________________________________________________
|Numero
|codigo|cantidad
|precio |total
|
---------------------------------------------------------------------------------|ab
|ab
|ab
|ab
|ab
|
---------------------------------------------------------------------------------|Text1 |
|
|
|
|
---------------------------------------------------------------------------------|
|
|
|
|
|
---------------------------------------------------------------------------------|
|
|
|
|
|
---------------------------------------------------------------------------------|
81
Columna 1
________________________
|Propiedades
|
---------------------------------------------------------------------------------|GrdDetalle
|
---------------------------------------------------------------------------------|Column1
|
Column4
|
Header1
|
Header1
|
Text1
|
Text1
|Column2
|
Column5
|
Header1
|
Header1
|
Text1
|
Text1
|Column3
|
|
Header1
|
|
Text1
|
----------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
Header1
name
numero
name
codigo
name
cantidad
name
precio
name
total
Caption Numero
__________________________________________________________________
|Codigo
|Descripcion |cantidad
|Precio |Total
|
-----------------------------------------------------------------------------------------|
|
|
|
|
|
82
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
Propiedades
Solo Columna1
Columna1
name = se llama
Descripcion
ControlSource :
T_Detalle.Des_prod
Columna1
ControlSource : T_Detalle.Numero
Text1
|
----------------|
|
Codigo
Descripcion
Precio
|
|
________________________________________________
|
|
|
|
|
| List1
|
|
|
|
|
|
|
-----------------------------------------------------------------|
|
------------------------------------------------------------------------------------------Text1 . LostFocus
___________________
Selct codigo,descripcion,precio FROM T_Productos ;
WHERE T_Productos.Descripcion = Alltrim(THis.Value) ;
INTO CURSOR TEMPORAL
ThisForm.List1.ColumnCount = 3
ThisForm.List1.ColumnWidth = 50,150,150,
83
|
|
|
|
|
|
|
|
|
|
ThisForm.Lts1.ColumnLInes = .T.
ThisForm.List1.RowSourceType = 2 Alias
ThisForm.List1.RowSource = Temporal
______________________________
|
|
|
Codigo
|
|
___________
|
|
|
|
|
|
|
|
|
|
----------------|
|
F2
VF3
13
08
2002
14
08
2002
Boton de Consulta
ThisForm.Objetos(.F.)
FACTURAS
Consulta = .F. 1
2
Viva
=0
__
____
Busqueda = 0 |S|
|N|
84
THisForm.Refresh()
ThisFormSet.Factura.C1.GrdT_Detalle.codigo.Text1.SetFocus()
ThisForm.Visible = .F.
Esto de Facturas
Columna.Codigo
Text1.Keypress
_______________________
LParameters NKeycode,ShiftCtrlAlt
IF nKeycode = -1
ThisFormSet.Consulta.Visible=.T.
Consulta = .T.
Endif
Text1.Valid
_______________________
IF Consulta = .T.
IF Seek(this.Value,T_Productso)
MESSAGEBOX(PRODUCTO NO EXISTE,0,EROR)
RETURN 0
ENDIF
ENDIF
Text1.LostFocus
_______________________
Replace T_Detalle.precio With T_Productos.precio
Column1
Header1
Text1
Column2
Header1
Text1
S no aparece la descripcion ;
escribir eso con la descripcion
Descripcion y total en el Grid deben ir Enabled = .F.
VF4
15
Columna de Precio
-
Columna de Cantidad
Text1.Lostfocus()
85
08
2002
_______________________
Replace T_Detalle.Total With This.Value * ThisForm.C1.GrdT_detalle.;
cantidad.Text1.Value
Replace T_EncaFact.SubTotal With T_EncaFact.SubTotal + Tdetalle.Total
VIVA = (T_Factura.SubTotal*0.13)
Replace T_EncaFact.Iva With T_encaFact.Iva+Viva
Replace T_encaFact.Total With T_EncaFact.Total + (T_EncaFact.SubTotal;
+Viva)
ThisForm.Refresh()
__________________________________________________________________
|Codigo
|Descripcion |Cantidad
|Precio |Total
|
------------------------------------------------------------------------------------------|1
|\\\\\\\
|
1
|
10
|
10
|
|2
|\\\\\\\\
|
2
|
20
|
40
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------____________
______
____________
SubTotal
|
10
|
Iva
|1.13 |Total |11.13 |
----------------------------------------Columna de Precio
Columna de Cantidad
Text1.GotFocus()
_________________
Replace T_EncaFact.SubTotal With T_EncaFact.SubTotal - TDetalle.Total
Replace T_Encafact.Iva With T_Encafact.Iva-Viva
Replace T_EncaFact.Total With T_EncaFact.Total-(T_EncaFact.SubTotal+Viva)
ThisForm.Refresh()
VF4
16
Guardar.Click
ThisForm.Contrles(.F.)
Local vano,vmes,vcodigoc,vcodigoe,dato1,dato2
vano=Alltrim(Str(Year(ThisForm.TxtFecha.Value)))
vmes=Alltrim(Str(Month(ThisForm.TxtFecha.Value)))
vcodigoc=Alltrim(ThisForm.Container1.Combo1.Value))
vcodigoe=Alltrim(ThisForm.Container1.Combo2.Value))
86
08
2002
dato1=vano+vmes+codigoc
dato2=vano+vmes+codigoe
*Actualizacion estadistico de clientes
Select T_estacli
IF !Seek(dato1,T_estacli)
Insert into T_Estacli(Ano,mes,codcli) Values(Vano,vmes,vcodigoc)
ENDIF
Replace T_Estacli.ncompra With T_estacli.ncompra+1
Replace T_Estacli.T_Compra With T_Estacli.T_compra + T_Encafact.Total
*Actualizacion estadistico de empleados
Selct T_EEmplea
IF !Seek(dato2,T_EEmplea)
Insert into T_EEmplea(ano,mes,cod_emp) Values(Vano,vmes,vcodigoe)
ENDIF
Replace T_EEmplea.nventas With T_EEmplea.nventas+1
Replace T_EEmplea.Tventas With T_EEmplea.nvents+ T_EncaFact.Total
TABLEUPDATE(1,.T.,T_ENCAFACT)
TABLEUPDATE(1,.T.,T_DETALLE)
REPLACE T_Correlativo.numero With T_Correlativo.numero + 1
ThisForm.Refresh()
CANCELAR.CLICK
TABLEREVERT(.T.,T_ENCAFACT)
TABLEREVERT(.T.,T_DETALLE)
SKIP -1
ThisForm.Refresh()
BOTON AGREGAR.PRODUCTO
COMMAND BUTTON
Select T_Detalle
Append Blank
Thisform.Container1.GrdT_detalle.Codigo.Text1.SetFocus()
TABLEUPDATE
Modificaciones
En tablas o Registro
0
Actual
1
Cualquiera
VF4
1,
.T.
ALIAS
TABLA
2002
2002
Sobreescribir o error(.F.)
19
08
20
08
87
VF4
21
1.-
2.-
08
1.-
2002
correctos, no
Boton de Consulta
Hacer el mismo Form de Consulta
_______________________________
|
|
|
__________________
|tambien clientes,empleados y
|
|10/02/1999
|
|
|
------------------------|productos
|
|
|
__________________
|
|
|7
|
|
|
|8
|
|
2 click o doble click
|
|9
|
|
|
|10
|
|
numero, tipo y total
|
|
|
|
|
------------------------|
|
|
------------------------------------------
2.-
88
|
|4
|
|
|
|
|
|
---------------------------------------------------------| No 1
|
______
______
______
|
|
|Add |
|Con |
|Mod |
|
|
------------------------|
|
|
------------------------------------------------------------------------------
AdMo
AdMo
Init de Formulario
Modificar Adicion
Combo Empleados
agragr 3 lineas
Boton de Adicion
IF Boton1.Command1.lastkey = 13
Store 1 to dmo
Endif
Combo2
lineas
____________________________________________________________
ANULADO
Para Eliminar
Ojo
Dibujar Etiqueta
/
{ Debo deshabilitar tipo venta Combo1 y Combo2
\
_____________________________________________________________________
Cambiar caption
( Label1 )
89
Dibujar Etiqueta
Cambiar
Forecolor
BackColor
Font Bold
Font Size
Caption(Anulado)
90
que
Detalle |
Pie de
Pagina |
Areas
______________________________________________________
|
Titulos Fechas campos
|
|
|
--------------------------------------------------------------------------|
|
|
-------------------------------------------------------------------------|
|
|
|
|
|
|
--------------------------------------------------------------------------
Detalle
Titulos
Fechas
Campos que se muestren una sola vez por
Reporte
Campos a mostrar para el reporte (Todos :
los registros, o aquellos que cumplen una
condicion)
91
Pie
VF4
22
08
2002
08
2002
23
_________________________________________________________________
|
TITULO
--------------------------------------------------------------------------------------------|
ENCABEZADO DE PAGINA
----------|
|
DETALLE
------------------------------|
|
|
pie
------------------------------------------------------------------------------------------------------------------------------------------|
resumen
---------------------------------------------------------------------------------------------Imprime
--
Titulo
--
________________________
|
|
|
______
|
|
|
|Titulo |
|
--------|
|
______
|
|
|
|Resumen
|
|
-------|
|
|
---------------------------------__________________
|
|
|
|
|
|
|
|
Resumen
|
|
|
|
|
|
|
|
Menu
Titulos
____________
|
|
|
|
|
|
|
|
92
__________________
|
|
|
|
|
|
|
|
|
_____
|
100
|
100
|
-------------------------
|
|
______|
|
_____ |
| |
100
|
|
100
|
| |
200
| |
300
|
| |
| |
|
---------------- ------------------------
(Resumen)
(Pie de pagina)
Hay otra area que es :
Area de Grupos
Area de Grupos
:
Encabezado
Pie de Grupo
Uno a Muchos
Relacion de Uno
a
Muchos
Encabezado de
Detalle de Factura
Factura
________________________
|
Numero 1
|
EncaFactura
=
1
|
|
|
ZZZZZZZZZZ
|
Detalle.Numero1
=
1
|
|
|
|
--------------------------------Para crear un grupo de datos
tiene que tener entorno de datos
Campo principal
crear grupo
Numero de la tabla de Facturas
Ir Opcion Informe
Agrupar datos
________________________
Expresion
|Tabla Encabezado
|.Numero de Factura
--------------------------------________________________________________________________________
|
TITULO
-----------------------------------------------------------------------------------------|
- Encabezado de pagina
----------------------|
|
- Encabezado de Grupo : Numero -----|
|
|
- Detalle
----------------------|
93
|
|
|
|
|
|
|
- Pie de Grupo : Numero
----------|
|
- Pie de pagina :
-----------------------|
------------------------------------------------------------------------------------------|
Resumen
|
------------------------------------------------------------------------------------------__________________________________________
E
|
|
---------------------------------------------------------EG |
|
---------------------------------------------------------|
|
|
D |
|
|
|
|
|
---------------------------------------------------------PG |
|
---------------------------------------------------------|
|
PP |
|
|
|
---------------------------------------------------------Tenemos Consulta de Productos
Consulta
__________________
|Codigo
---|
|Descripcion ---|
|Precio Costo ----|
|Precio Venta ---|
|Existencia ----|
------------------------- -
|
|
|
|
|
|
________________________________________
|Combo,Descripcion,Pre.Venta,Existencia|
|
\
\
\
\ |
|
\
\
\
\ |
|
\
\
\
\ |
|
\
\
\
\ |
------------------------------------------------------
REPORTE DE ARTICULOS
Fecha : = Date()
CodigoDescripcion
Precio de Venta
Existencia
\
\
\
Total de Productos ;
\
\
\
\
\
\
\
\
\
_____________________________
94
Documentos - Informes
________________________________________________
| Titulo
Reporte de Articulos
|Formato Fuente
------------------------------------------------------------------ para cambiar
|
|
|
- Encabezado
|
|
- Fecha : ________
|
|--------------------------- --------------- -----------|
||Codigo|
|Descripcion| |Pre.Venta ||Existen.| |
|--------------------------- --------------- ----------|
|
- Detalle
|
|
|
|codigo
descripcion
Precio Venta Existen. |
|
|
|
Click derecho
|
|
- Pie de pagina
entorno datos |
|
|
|Total de Productos : _____________________
|
|
|
------------------------------------------------------------------
__________________
__________________
|Controles
|
|Entorno de Datos
|
------------------------------------------------|
_____
|
|Click derecho |
| A | ab |
|Campos o varia
|Agregar tablas
|
|
|bles
|
|
| Imagen
|
|
|
|
|
|
|
------------------------------------------------Entorno de Datos
_________________________
|Productos
|
--------------------------------|Campos
|
95
--------------------------------|Cdigo
|descripcin
|
|precio costo `
|
|precio venta
|
|Existencia
--------------------------------|Indices
--------------------------------|Cdigo
----------------------------------
|
|
|
-------------------
1+2+3
Sumar
-------------------
1+2+3
08
VF4
26
2002
Continuacion Reportes
____________________________________________________________
|
Reporte de Articulos
|
|
|
-------------- Titulo ----------------------------------------------------------|
|
| Fecha : ________
|
|
|
|Codigo
Descripcion
Precio Existencia
|
|
|
|------------------Encabezado ---------------------------------------------- |
|
|
|cod_prod desc_prod
precio_prod Existencia
|
|
|
|
2 click
|
|
|
|------------------ Detalle ----------------------------------------------------- |
|
|
|
TOTAL : 2
|
|------------------------------Pie de pagina ------------------------------- |
|
|
|
Conteo Cualquier campo
|
|
|
96
|
Suma
Campo numerico
|
|
---------------------------------------------------------------------------------Total
Campo Total
Descripcion de producto
________________________________________________
|Expresion
|
|
|---------------------------------------------------------------- |
|___________________
___
|
||T_Prod.Desc_prod| |...|
|
|------------------------- ---____________
|
|
|Aceptar
|
|
|
----------------- |
|
_____________
|
|
|Cancelar
|
|
|
----------------- |
|
_____________
|
|
|Calculos ... |
|
|
----------------- |
_________________________________________________
______________________________________
|
Calculos
|
|------------------------------------------------ |
|
Suma
_________
|
|
Promedio
|Aceptar|
|
|
Conteo
----------|
|
Minimo
__________ |
|
Maximo
|Cancelar|
|
|
-------------- |
|
|
-------------------------------------------------No aadir Existencia
Solo contar la cantidad de productos
____________
Fecha
:
|
|
----------------________________________
| ____
_____ ____
|
|| | | A | | ab | | Campo
|------- ------ ------|
97
|
|
|
|
|
---------------------------------
|
|
__________________________________________
|
____________
______
|
|
|Date() |
|...
|
|
|
------------------------|
|
____________
|
|
|Aceptar
|
|
|
----------------- |
|
_____________
|
|
|Cancelar
|
|
|
----------------- |
|
_____________
|
|
|calcular
|
|
|
----------------- |
|
|
---------------------------------------------------------REPORTE MENSUAL DE VENTAS
POR EMPLEADOS
_________________________________________________________________
AO :
____________
MES :
____________
CODIGO EMPLEADO
\
\
\
NOMBRE
NUMEVENTAS
TOTAL VENTAS
\
\
\
\
\
\
\
\
\
TOTAL
_____________
_________________
\
\
_______________________________________________________________________
_
ENTORNO DE DATOS
_______________________________________________________________________
_
T_ESTADISTICA DE EMPLEADOS
T_EMPLEADOS
98
|
|
T_empleados T_Empleados
|
|--------- Detalle -------------------------------------------------------------------- |
|
|
|--------- Pie ------------------------------------------------------------------------- |
|
_____________ _____________ |
|
TOTAL
:
|T_ED.N_vent| |T_Ed.T_Vent|
|
|
------------------ -----------------|
|
|
|
suma
suma
|
|
calculos
calculos
|
|----------------- Resumen --------------------------------------------------------- |
|
|
|
|
------------------------------------------------------------------------------------------T_Estadistica
Ao
Mes
T_Empleados
Cod_emp
Nombre
apellido
dirreccion
telefono
Cod_emp
N_ventas
T_Ventas
99
__________________________________________________________________
|2000
|10
|1
|
|
|
|----------------------------------------------------------------------------------------|
|2000
|10
|2
|
|
|
|2000
|11
|1
|
|
|
|2000
|11
|3
|
|
|
|2000
|12
|1
|
|
|
------------------------------------------------------------------------------------------___________________________________________
|
1|
Juan
|Perez
|
|
2|
Pedro
|Peres
|
|
3|
Luis
|Peres
|
|
4|
Maria
|Peres
|
|
|
|
|
---------------------------------------------------------___________________________________________________________________
|Expresion
|
|--------------------------------------------------------------------------------------- |
|
__________________
___
|
|
|T_Emp.Nom_emp |
|...|
|
|
------------------------- ----_____________
|
|
|Aceptar
|
|
|
2 click
----------------- |
|
----------------- |
|
|Cancelar
|
|
| Alltrim(T_emp.Nom_emp)+ +Alltrim ;
----------------- |
| (T_emp.Apellido_Emp)
|
|
|
|
|
------------------------------------------------------------------------------------------Ao
Mes
:
:
2001
10
Cod.Emp
Nombre
Numero Ventas
Total Ventas
__________________________________________________________________
1
2
Juan
Pedro
10
15
2,500.00
3,500.00
100
___________________
25
3
___________________
6,000.00
Reportes
Articulos
Empleados
Clientes
Tabla Productos
Tabla Estadistica
Tabla Estadistica
VF4
27
08
2002
08
2002
08
2002
28
HOY HUBO CENTRO DE COMPUTO
VF4
29
ULTIMO DIA DE CLASE
solo entrega de tarea
101
VF5
04
08
2002
LABORATORIO
1.-
TAREA.TAREA
REPORTES
TEORICO
REPORTES
CONSULTAS
MENU
EJECUTABLE
GRAFICOS
ESTADISTICOS
102
Ao
Text1
Input Mask
Numeros
Ao
Text2
Input Mask
Numeros
Vista Previa.Click
Report Form a:\20202\Informes\Report+cli ;
FOR T_estadicli.ano = Alltrim(ThisForm.Text1.Value) ;
AND T_estadicli.ano = Alltrim(ThisForm.Text2.Value) ;
preview
Imprimir.Click
Report Form a:\20202\Informes\Report+cli ;
FOR T_estadicli.ano = Alltrim(ThisForm.Text1.Value) ;
AND T_estadicli.ano = Alltrim(ThisForm.Text2.Value) ;
TO Print prompt Noconsole
Importante
Entorno de Datos
Tabla Estadistica de Clientes
Cliente
Empleados
Imprimir.Click
DO CASE
Case
`
Cliente
Case Empleados
ENDCASE
103
104
Contenedor comando
boton1
05
09
2002.
VF5
06
09
2002
105
Iniciar.Click
Set safety off
Close Database
CopyFile CurDir()+DATOS\T_*.DBF TO destino + *.DBK
CopyFile CurDir()+DATOS\T_*.FPT TO destino + *.FPK
CopyFile CurDir()+DATOS\T_*.CDX TO destino + *.CDK
CopyFile CurDir()+DATOS\B_*.DBC TO destino + *.BDK
Set default to
MESSAGEBOX(LA COPIA SE REAQLIZO CON EXITO,0,COPIAS)
Reporte de facturas
Entorno de datos
Encabezado Fact
Detalle
Fact
Empleados
clientes
productos
estadisticos No
Vieta datos
106
Encabezado
numero factura
detalle
numero factura
click derecho propiedades
relacion propiedad
One to many
caracteristica
Crea grupos
Informe
Agrupar datos
107
108
VF5
06
09
2002
09
09
2002 - A.D-
09
2002
C:\copseg
Curdir() directorio actual
BK
BackUp
Set default to a:\20202
or
Set default to C;\20202
proximo miercoles traer todo
VF5
10
Iva ir en una tabla sola para colocar solo por el supervisor del sistema a
cambiar solamente por el.-
109
Boton1.click
Public Origen
Origen = getdir()
Thisform.text1.value = origen
Thisform.iniciar.enabled = .T.
ThisForm.Refresh()
ThisForm.Iniciar.SetFocus()
Iniciar.click
Set safety off
close database
close all
copy file origen+*.dbk to curdir()+Datos\*.Dbf
copy file origen+*.cdk to curdir()+Datos\*.cdx
copy file origen+*.fpk to curdir()+Datos\*.fpt
copy file origen+*.bdk to curdir()+Datos\*.dbc
MESSAGEBOXRestauracion Finalizada,0,Restauracion)
_______________________________________________________________
110
Pack
Use
Use a:\20202\datos\T_empleados Exclusive
Pack
Use
Use a:\20202\datos\T_productos Exclusive
Pack
Use
... Y as todas las tablas
MESSAGEBOX(Depuracion Finalizada,0,Depurar)
wordwrap = .T. en label1
Zap : eso borra toda la tabla
Pack : borra todo lo eliminado o marcado con delete
Tabla de facturas de detalle y productos
N
1
cli
1
Tot
10
N
1
Prod
1
Total
10
1 jabon
2 cafe
3 toalla
7 corbatas
Integridad Referencial
penultimo formulario de herramientas
Reindexacion de tablas
( Nuevo Formulario )
111
Reindexar.click
Set Safety off
Close Database
Close all
Use a:\20202\datos\T_clientes Exclusive
reindex
Use
Use a:\20202\datos\T_empleados Exclusive
Reindex
Use
Use a:\20202\datos\T_productos Exclusive
Reindex
Use
... Y as todas las tablas
MessageBox(Reindexacion Finalizada con exito,0,Reindexar)
VF5
11
09
CONTROL DE USUARIOS
__________________________________________
Crear una tabla con los siguientes campos
112
T_Usuarios
2002
Usuario
Nivel
clave
caracter
numerico
caracter
20
1
40
Indice
solo 20 + otros 20
Container
txtusuario y txtnivel campos de la tabla, y text1 y text2 cajas de texto
Entorno de datos T_Usuarios y T_Usuarios1
Crear dos metodos :
1.-
2.-
Conversion
clave
lo crea uno
Agregar.click
ThisForm.metodo(.T.)
Select T_Usuarios
Append Blank
Thisform.Container1.Text1.value=
Thisform.Container1.Text2.value=
Thisform.Refresh()
Thisform.Container1.TxtUsuarios.setfocus()
TxtUsuario.Valid
If seek(This.value,T_Usuarios1)
113
MESSAGEBOX(USUARIO YA EXISTE)
RETURN 0
ENDIF
Text1.LostFocus()
Public clave1
ThisForm.conversion(Alltrim(This.value))
clave1 = claveirreal
Text2.Lostfocus()
Public clave2
ThisForm.conversion(Alltrim(This.value))
clave2=claveirreal
IF clave1 = clave2
Replace T_Usuarios.clave with clave1
Thisform.metodo(.F.)
else
MESSAGEBOX(Claves no coinciden,0,Error)
Thisform.Conatiner1.Text1.setfocus()
Endif
Metodo Conversion
________________________
LParameters claveral
Public claveirreal
claveirreal =
FOR V = 1 TO LEN(Clavereal)
claveirreal=claveirreal+CHR(ASC(SUBSTR(clavereal,V))+17)+?
ENDFOR
Formulario de Usuarios
____________________________________
|Usuarios
|Nivel |clave |
desde nivel 1 hasta nivel 3
-------------------------------------------------|carlos |1
|carlos |
-------------------------------------------------T_Usuarios
----------
Agregar
Usuario
nivel
clave
confirmacion de clave
114
maxlength
20 caracteres
Text2 =
maxlength
20 caracteres
clavereal = alberto
claveirreal r+?
a
ASC(a) = 97
97+17 = 114
CHR(114) = r?}?
CHR(Numero ASCII) devuelve el caracter del numero ASCII
ASC(caracter) devuelve el numero ASCII de un caracter
SUBSTR(caracter,posicion) devuelve el caracter y su posicion,extrae un caracter de una
posicion especifica.
claveirreal=claveirreal+CHR(ASC(SUBSTR(clavereal,V))+17)+?
| |
| | 3
| |
| |
| ---------------------- |
4 | 2
1
|
--------------------------------2
CHR(110)
=
n
ASC()
=
164,165
SUBSTR(Juan,3)
=
a
3
=
a
LEN()
=
devuelve el numero de caracteres de un campo o de una
variable.
FOR
ENDFOR
VF5
V
V
b
=
=
=
2
3
115
09
2002
ASC(b)
98 + 17
CHR(115)
=
=
=
98
115
S+?
clavereal
claveirreal
=
=
alberto
r?}?s?v????
______________________________________________________________________
Siguiente.click
IF !EOF()
SKIP
ELSE
IF EOF()
GO TOP
ENDIF
ENDIF
THISFORM.REFRESH()
Eliminar.click
Select T_Usuario
Delete
Pack
Skip -1
ThisForm.Refresh()
Colocar a la tabla usuario la propiedad exclusive como .T.
para que funcione el eliminar
MENUS
_____________
Existen dos tipos de menus menu de barras,
y menus contextuales. click derecho
De Barra
Archivo
Mantenimiento
______________
Clientes
Empleados y
Productos
____________
Edicion
Ver
Consulta
____________
Productos
Ventas Diarias Facturas
Reportes
__________
General de Clientes
Estadisticos
Venta de Empleados
116
Facturas
Compra de Clientes
Herramientas
Ayuda
Salir
_____________
___________
_________________
Copia de Seguridad Sistema
Slo Salir del Sistema
Restauracion Datos
Facturas
Reindexacion
Depuracion de Tablas
________________
Usuarios
_______________________________________________________________________
_
Direcciones
Formularios
VF5
13
HOY HUBO CENTRO DE COMPUTO
09
2002
VF5
16
09
2002
Alt60 =
<
VF5
17
117
09
2002
13
09
2002
09
2002
timer 1
.T. - Verdadero
450
456
procedimeinto
60
VF5
17
119
|
|
|
|
|-------|
|
|
|
------------------------Crear el ultimo Formulario
120
Text2.Valid
If Empty(This.value)
Messagebox(Complete el Nivel)
Return 0
else
Seek(This.value)
Return 1
Endif
Text3.Valid
If Empty(This.value)
Messagebox(Complete la Clave)
Return 0
else
Seek(This.value)
Return 1
Endif
Text3.LostFocus
ThisForm.Conversion(Alltrim(This.Value))
_______________________
Return 1
=
pase al siguiente objeto
passwordchar =
VF5
18
Aceptar.click
Local Musuario
Musuario
=
Mnivel
=
09
2002
Alltrim(ThisForm.Text1.Value)
val(Alltrim(ThisForm.Text2.Value))
121
Endif
If intentos=3
MessageBox(Usuario no Autorizado,0,El Sistema se Cerrara)
ThisForm.Release()
Clear Events
Endif
Salir.Click
ThisForm.Release()
Crear el siguiente programa .. (Vieta Codigo - Proyecto)
Opcion Programa Nuevo
_SCreen.Caption = Sistema de Facturas
_Screen.Icon = a:|20202\imagenes\icono.ico
_Screen.Picture = a:\20202\imagenes\Fondo.jpg
_Screen.WindowState = 2
Set Sysmenu off
Set Century on
Set Status off
Set Date British
Set Talk off
DO Form a:\20202\Formularios\F_Ingreso
Read Events
___________________________________________
Order es suficiente para llamar cada campo de texto a la tabla con el order que se
establecio.
_SCreen.WindowState = 2 Maximizado
Ejecutable
Programa
Formulario de Ingreso
Accesar todo el Sistema
VF5
19
09
2002
09
2002
20
GENERACION DE EJECUTABLE
122
Facturas.exe
Copia Sistema
A:\
- Ejecutable
- Tabla
- Base de datos
Caracteristica a su programa
codigo
programas
____________________________________________________________________
|
|Codigo
|
---------------------|
|Inicio
|
|
| Procedimientos
click derecho
Establecer principal Set Main
Ejecutable
Programas
123
Formulario de Ingreso
Menu
Form
Reports
Consultas
Anexar a su sistema
Imagenes por registro
en empleados
1.- Creando 1 campo General en tabla de empleados
2.- Guardando imagenes en un directorio y utilizar un campo
en el que almacene la ruta de la imagen
copiando pegando(General)
A:\20202
imagenes
Juan.jpg
Carlos.jpg
Jorge.jpg
|
|.gif
|
124
Seleccionar Foto.Click
Public imagen
imagen = getpic()
ThisForm.Container1.imagen.picture = imagen
Replace T_empleados.foto with imagen
Thisform.refresh()
Form.refresh()
Select T_empleados
ThisForm.Container1.imagen.picture = T_empleados.foto
getpic() abrir ventana para seleccinar imagen
________________________________________________
|
buscar en |imagenes | |
|
|
--------------------------|
|
_______________________________
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------|
|
____________
______
|
|
Nombre
|
|
|abrir| |
|
----------------- -------|
|
|
------------------------------------------------------------------VF5
23
Graficos
125
09
2002
en la coordenada
al definir los datos a mostrar en las coordenadas
en X puedo colocar campos numericos o caracteres
se escoge el campo y se arrastra a eje x
eje x codigo de empleado
en el eje y solo coloca datos numericos
total de ventas
agarra el campo y se lo lleva al eje Y
despues siguiente
y elige el tipo de grafico que quiere
Se elige el tipo de grafico
presiona siguiente
paso #4
escribir un titulo para el grafico
seleccione una opcion
despues de el titulo
elige guardar grafico
en una tabla
para guardar una tabla
despues si quiere vista previa
desactivar valores nulos
agregar una leyenda al grafico
cuando finalize
pregunta donde guardar
y se guarda el grafico en Datos
y especificar un nombre.grafico nombre
y despues guardar
y antes de finalizar
en la tabla el tipo de dato correspondiente
al grafico es general o sea campo general se le
llama olegraph
para ver un campo memo=CTRL-PK o page up o doble click en el
campo memo.Hay que filtrar los datos desde un formulario
para cambiar los datos
para crear el grafico en el formulario de entorno de datos
tiene que tener los dos tablas estadistica y la tabla de grafico
Se hace el formulario
__________________________________________________________________
|
____________
|
|
Ao
|Text1 |
|
126
|
----------------|
|
____________
|
Mes
|Tetx2 |
|
|
----------------|
|
|
Graficar
|
|
Salir
|
------------------------------------------------------------------------------------------Propiedad Inputmask =
ao
numeros
9999
Propiedad InputMask =
mes
numeros
99
|
|
|
|
|
|
este campo se va a llenar desde la tabla que se creo en el asistente para graficos y se
llama :
Olegraph
VF5
24
BOTON
09
Graficar.click
______________________
ThisForm.Olegraph.visible=.T.
y falso desde el principio
#Define CRLF CHR(13) + CHR(10)
retorno del cursor
#Define TAB CHR(9) generar nueve espacios - 2.5 espacios
Local Lcdata
Select cod_emp,ven_acum FROM T_Eemp ;
Where Ano = Alltrim(ThisForm.Text1.value) ;
and Mes = Alltrim(ThisForm.Text2.value) ;
Order By cod_emp INTO CURSOR Tgraf
#Define Cap_loc Vendedores
Select Tgraf
If reccount() != 0
Lcdata = +TAB+Cap_Loc+CRLF
Scan
Lcdata = Lcdata+Alltrim(STR(cod_emp))
Lcdata = Lcdata + TAB
Lcdata = Lcdata + Alltrim(STR(ven_acum)) + CRLF
EndScan
Select T_Grafico
127
2002
______________________________________________________________________
CTRL A
CTRL W
____________________________________________________________
|Ao
|Mes |Codemp
|Nventas
|Total Ventas |
|--------------------------------------------------------------------------------|
|2000
|01
|1
|1
|001,000.00
|
|2000
|01
|3
|2
|000,500.00
|
|2000
|02
|4
|2
|000,500.00
|
|2000
|02
|1
|3
|000,700.00
|
----------------------------------------------------------------------------------
TGraf
________________________________________________________________
|cod emp
|Ventas Acumuladas |codemp
|vtas acumuladas|
|--------------------------------------------------------------------------------------|
2
|
700
|
1
|
7000
|
|
|
|
4
|
500
|
----------------------------------------------------------------------------------------Recno = Registro Actual
Reccount
Scan
Total de registros
Endscan
Do While
Enddo
CRLF
VF5
25
HOY HUBO CENTRO DE COMPUTO
128
09
2002
VF5
26
09
2002
27
09
2002
129
130