Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
06 - 05 - 2002
PRIMERA CLASE
LENGUAJES DE PROGRAMACION
:
Son todos aquellos
orientados a
la solucin de un problema tomando diferentes vas para la solucin de
estos.
- Sistema -
Sistemas Operativos
Software de Sistemas
- Aplicacin
^
Lenguajes de Programacin
En Teora es difcil el rea de Programacin.
Comando
puede tener
enter
enter
enter
enter
enter
Create
Ventana de Comandos
___________________________________________
|
|
|
|
|
________________________
|
|
|
|
|
|
COMANDO
|
|
|
---------------------------------|
|
|
?Date()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------------|
|
|
1
P1
________________________
|
Create
|
|
Dir *.*
|
|
Browse
|
|
Use
|
|
|
-------------------------------- SubPrograma :
intrucciones
Create Enter
Dir *.*
Clase
procedimientos
_________
Biblioteca
PANTALLA
PROVEEDORES
Campos :
tipo de
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
letras
fechas
-
Salario Liquido
Nombre
Telefono
variables
NIT
numericas
caracter simbolos
fecha
numeros
614-101270-002-1
NCIP -
11432110
NombrePersona@Servidor
Raiz
Nombre de variable
Nombre de variable
Nombre de variable
Caracter
Sbase
Nota1
DISSS =
:
=
=
=
=
0
=
0
0
Asignando
numero.
espacios.
fecha.
- Sbase = 150
nombre
direccion
=
=
space(20)
space(60)
\___________/
store space(15) to
space(15)
space(15)
space(15)
space(15)
Total de Factura
T_Factura
Variables Tipo(Fecha)
nombre = Maria
variable
contenido
apel
+
a=space(25)
b=space(25)
c=space(25)
Tipo Fecha
3
F_Ingreso =
F_Ingreso=05/07/2002
F_reserva =
F_salida
=
Date()
{}
/ /
F_Reserva=__/__/____
F_Salida =__/__/____
@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
Enter
Prg
Bak
Fxp
Lenguaje de usuario
Backup
Lenguaje de maquina
Modify command
creados.
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
\
|->
Datos-
no se digitan
9
Formulas
1
7
__________
8
N1
N2
Resultado
FACTURA
______________________________________________________
|
|
|
Numero
1
|
|
Cliente
Juan
|
|Productos Descrip-Pro
Cantidad
Total
|
|
1
Parlantes
75
75
|
|
1
CD-ROM
1000
1000 |
|
|
-------------------------------------------------------------------------FXP
Ingreso de datos
Se utiliza el comando GET
por cada dato que desee el usuario escribir :
Formato
get
09 - 05 - 2002
10
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
Estudiarla
VF1
10-05-2002
11
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)
clear
num1=0
num2=0
num3=0
IF
ENDIF
num 1 = 10
num 2 = 20
14-05-2002
Operadores Lgicos
AND
---------
2 Condiciones
13
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
3
1
menor
menor
1
C
2
medio
medio
2
3
mayor
mayor
3
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
Num1 >
Num3
39
Ya lo dio
Numero 2
70
Ya lo dio
Numero 3
45
15
30
Todava no
10
20
Inicio
Programas
Accesorios
Accsabilidad
Ampliador
VF1
15 - 05 - 2002
DO CASE
ENDCASE
CASE
Case Instruccin 1
Instrucciones
Case Instruccin
Instrucciones
Case Instruccin
Instrucciones
ENDCASE
DO
CASE
16
Case Instruccin 1
Instrucciones
Case Instruccin
Instrucciones
Case Instruccin
3
Instrucciones
OTHERWISE
Instrucciones
ENDCASE
En Otro Caso
tiene que haber
ENDCASE
DO CASE
CASE
Condicion1
DO
CASE
Condicion 2
ENDCASE
ENDCASE
Programa de Promedio
>0
>3.01
>5.01
< 3
ENDIF
No Pase
<= 5 Reprobado
<=8 Muy Bueno
17
>8.01
<=10Excelente
VF2
PRIMERA CLASE
04 - JUNIO DE 2002
VISUAL II
REPORTES DEL SISTEMA
1.- CONSULTA DE CLIENTE
Codigo
:_______________
Nombre
:_______________
Direccin
:_______________
Telefono
:_______________
:_______________
N Registro :_______________
2.- REPORTE DE ARTICULOS
Fecha
:_______________
Codigo
Descripcin
Precio de Venta
Existencia
----
----
----
----
------Total de Productos
------:________________
18
:_____________
Mes
:_____________
Empleado
Ventas
Nombre
Numero de Ventas
Total
----
----
----
-----
----
----
----
-----
Total
________________
________________
:___________
Fecha:_________
Tipo de Factura
:_______________
Cliente
:_______________
Empleado
:_______________
Nit
:________
Producto
Descripcin Cantidad
Precio
Total
----
----
----
----
----
----
----
----
----
----
SubTotal
Iva
Total
5.- CONSULTA DE EMPLEADOS POR
Fecha de Ingreso :_____________
Codigo
Nombre
Telefono
----
----
----
----
----
----
----
---19
:_____________
:_____________
:_____________
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
_____________
| nombres |
|Ape1
|
| Ape2
|
_____________
Datos Personales \
|==> Consulta de Clientes
Y Permanentes /
Consulta de Empleados
codigo
nombre
apellido
telefono
direccin
afp
dui
isss
estado civil
sexo
salario mensual
edad
20
email
F.-Ingreso
nit
descuento afp
VF2
05 - Junio - 2002
Factura Comercial
N
:_____________
Tipo Factura
:_______________
Fecha:__________ Nit
:_______________
:_______________
RegN
Cliente
:______________
Empleado
:______________
Producto
Descripcin Cantidad
Precio
Total
----
----
----
----
----
----
----
----
----
----
SubTotal
:______________
Iva
:______________
Total Gene :______________
REPORTE DE ARTICULOS
Fecha Sistema = DATE()
Codigo
Existencia
----
----
----
----
----
----
----
----
Total Productos
:______________
Clientes
Empleados
Productos
codigo
21
descripcin
Precio Unitario de Costos
Ganancia
Precio de Venta
Existencia
BROWSE
_______________________________________________________________________
_
Codigo
Descripcin 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
|
-----------------------------------------Numero de Factura
Fecha
Nombre
/ Credito Fiscal
Tipo Factura
-> -> |
Nit
\ Consu. Final
Registro
Codigo Cliente
\
Codigo Empleado |No Se Repite
/
22
Alumnos
codigo
nombre
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
ENCABEZADO FACT.
numero
fecha
tipo factura
nit
registro
codigo cliente
codigo empleado
subtotal
iva
total general
EMPLEADOS
codigo
nombre
apellido
direccion
telefono
DesAfp
DesISSS
salario
edad
sexo
estado civil
F.-Ingreso
PRODUCTOS
codigo
descripcion
precio costo
ganancia
precio venta
existencia
DETALLE FACTURA
numero
codigo producto
cantidad
precio venta
total producto
:_________
23
Mes
:_________
Cod Empleado
Nombre
N de Ventas
Total Ventas
-------
-------
-------
-------
____________
____________
TOTAL
(Codigo , ao , mes )
entonces acumula
24
CTRL + Y
__________________________________________
|
|
|
Formulario para Clientes
|
____________
|
|
codigo
|
|
|
|
----------------|
|
_____________
|
|
nombre
|
|
|
|
----------------|
|
_____________
|
|
apellido
|
|
|
|
----------------|
|
_________ ________ ___________
|
|
|agregar||borrar ||salir |
|
|
------------- ----------- --------------___________________________________________
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
:_________
Cliente
Nombre
N de Compras
Total Compras
----
----
----
----
----
----
----
----
_____________
_______________
Total de Compras :
Total siete Tablas
CAMPOS DE CLIENTES
codigo
Tipo 25
longitud
nombre
apellido
direccin
telefono
nit
registro
email
caracter
numero
logicos
memo
enteros
monetario flotante
-
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
dinero
cientifico
suma
codigo
CLIENTES
codigo
nombre
apellidos
direccion
telefono
nit
noregistro
email
c
c
c
c
c
c
c
c
4
25
25
60
8
17
7
40
EMPLEADOS
codigo
nombre
apellidos
direccion
telefono
desafp
fec.ingreso
nit
n
c
c
c
c
n
d
c
3
25
25
60
8
6
8
17
26
email
dui
est.civil
desisss
salario
sexo
edad
c
c
c
n
n
l
n
40
10
10
6
7
1
2
PRODUCTOS
codigo
descripcion
preciocosto
ganancia
precioventa
existencia
n
c
n
n
n
n
3
30
8
6
9
3
FACTURAS ENCABEZADO
numefacturas
n
fecha
d
tipofactura
l
nit
c
registro
c
codcliente
c
codempleado
n
subtotal
n
iva
n
totalgeneral
n
6
8
1
17
10
4
3
9
8
2
2
2
2
2
10
2
2
-
VF2
10 - 06 - 2002
TIPOS Y LONGITUDES
DETALLE DE FACTURA
numefacturas
n
codigoproducto n
cantidad
n
precioventa
n
totalproducto
n
6
3
3
9
10
2
2
DE CODIGO DE EMPLEADO
c
4
c
2
n
3
n
3
n
10
2
27
HABLAR DE INDICES
Se tilizan para hacer busqueda de datos, orden y relacin entre
archivos.
Para crearlos debe tomar en cuenta los siguientes aspectos. :
1.-
2.-
|codigo
go y el cod_clien son
-----------------
dos
----------------disc-3
c-3
mismo campo, lo
tante es el tipo de
la longitud y la relacion
si se puede ser hecha.-
28
T_CLIENTES
______________________________________________________
|codigo
|nombre
|apellido
|N.-Registro
|
---------------------------------------------------------------------------Asignado | 1
|Luis
|Perez
|
|
por el
| 2
|Juan
|Lopez
|
|
usuario
| 3
|Juan
|Merino
|
|
del sistema | 4
|Ana
|Merino
|
|
NO SE RE | 5
|Luis
|Perez
|
|
PITE.| No dejar |Patricia
|Zelaya
|
|
| en Blanco |Ricardo
|Orellana |
|
--------------------------------------------------------------------------Definir el dato mas importante - Mas importante
- No se repite datos por ese campo
- No se puede dejarlo en Blanco ( Vaco )
-
__________________
|
| \/ |
-------------------------| 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
30
UNICO
T_CLIENTES
_____________________________
codigo
| nombre
_____________________________
1
| Juan
2
| Maria
3
| Jorge
4
| Evangelina
|
|
|
-->
Normal
Nit
-->
Normal
N-Registro -->
Normal
Dato importante
Que sea corto
Relacin de Archivos
EMPLEADOS
codigo
----->
Apellidos ----->
Nit
----->
NRegistro ----->
F.-Ingreso ----->
Principal
Normal
Normal
Normal
Normal
VF2
11 - 06 - 2002
NO HUBO CLASE SOLO CENTRO DE COMPUTO
31
VF2
12 - 06 - 2002
PRODUCTOS
Codigo
Principal
Descripcin 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_____________
|
___________________________________________________________________
FACTURAS
---|
ENCABEZADO
FECHA
----|
32
__________________________________________________________________
|
NUMERO
|
10/02/2002
|
-------------------------------------------------------------------------------------------|
|
|
|
|
|
-------------------------------------------------------------------------------------------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
33
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
34
CLASE
Campo de Carga
Escribe
35
VF2
14 - 06 - 2002
VALIDACION DE DATOS
RESTRINGE LOS DATOS
A ESCRIBIR EN LOS CAMPOS
FORMATO
|___________|
REGLA
|___________|
MASCARA E.|___________|
MENSAJE
|____________|
TITULO
|___________|
Nombre
Precio de Costo
Numerico
====>
-
Regla
99999.99
Como hacer para no escribir valores negativos
0 Valor Predeterminado
Pco_Arti > 0
Pco_Articulo
36
Articulos
Facturas Encabezados
Detalles de Facturas
Empleados
Empleados
Sexo
carcater
Masculino
Femenino
Formato
Mascara de Entrada
En estructura de Archivo
+ Validaciones
Pco_Articulo > = 0.00 o X
Sexo = Femenino.Masculino
Tarea es Reportes como los diseamos
37
VF2
17 - 06 - 2002
ESTRUCTURA DE CARPETAS
Orden
=====
Proyecto
Base de Datos
Tabla
Formularios
____________
|
|
----------------|
|-------------|
|
|
|-------------|
|
|
|-------------|
|
|
|-------------|
|
|
|-------------|
|
|
|-------------|
|
|
|-------------|
|
|
2
2
2
2
Archivos
Archivos
Archivos
Archivos
________
|
----------________
|
---------_______
|
---------________
|
---------________
|
---------________
|
----------________
|
----------________
Formularios (SCX)
Clases (VCX)
Proyecto (PJX)
Reportes (FRX)
Menus (MNX)
Programas(PRG)
Datos(DBC,DBF)
38
|-------------|
|
|
----------|
Imagenes(BMP,JPS,ICO)
SCT
VCT
PJT
FRT
MNT
PRG
Relacion de Tablas
Uno a Uno
Uno a Muchos
____________
|T_Clientes |
----------------|cod_cli
|
|_nom
|
|ape_cli
|
|cod_pais |
----------------|Indices
|
|cod_cli
|
|cod_pais |---> candidato
-----------------
____________
|T_Paises |
-----------------|cod_pais |
|nom_pais |
-----------------|Indices
|
|cod_pais |-->
-----------------
candidato
Campo comun
igual longitud, igual tipo
Tabla X
Principal
Principal
Candidato
Candidato
Tabla Y
Principal
Candidato
Candidato
Principal
Clientes
Pais
Relacion
Uno a Uno
Uno a Uno
Uno a Uno
Uno a Uno
39
1 Juan
2 Maria
3 Carlos
Tabla X
Principal
Principal
Candidato
Candidato
1
2
3
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
Detalles
Empleados
Facturas
Cod_Emp
Clientes
Cod_clie
40
VF2
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
Documentos
Formularios - F Notas Reportes
Etiquetas
Use alumnos
Browse
Modify Structure
A:\Create Form nombre
Do Form nombre
Modify Form nombre
Archivo
Nuevo
__________________
|
|
| O Proyecto
|
| O Base de Datos
| O Tabla
|
| O Consulta
|
| O Conexion
|
| O Vista
|
| O Vista Previa |
| O Formulario |
| O Informe
|
| O Etiqueta
|
| O Programa
|
|
Nuevo
Archivo
Lugar
Nombre
41
| O Clase
|
| O Archivo de t. |
| O Menu
|
-------------------------Datos:
Database
Tablas Libres
Consultas
8 Digitos para Archivos
T_Clientes.DBF
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
24 - 06 -2002
HOY HUBO CENTRO DE COMPUTO
VF2
26 - 06 - 2002
PROXIMO MES HACER FORMULARIOS
VF3
04 - 07 - 2002
PRIMERA CLASE
1
Laboratorio Teorico
Tarea
3 Diskettes de Copia
Formularios
44
<-------
Instruccion
45
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. No puede existir varios objetos con un mismo nombre.
Class --- Clase, Familia a la que pertenece el objeto Familia.
Name ---Label
Label1
Mensaje de Muestra
( Pantalla ) -------------->
THISFORM.Label1.Caption
=
Juanito
No puede existir varios objetos con el mismo nombre.Thisform.Label1.Caption = Juanito
Thisform.Label1.Caption = Juanita
46
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
Alumno
2
Modulos
1
_____
|
| Casillas de Verificacion
------|
| soltero
------|
| casado
------Estado Civil
Click
Enter
Click
___________________
|O Solter@
|O Casad@
|
|O Divorciado
|
|O Viud@
|
-------------------------Evento
Error
Gotfocus
o
|
Click doble
|
Click
|FontItalic
Tab
|FontUnderline
_______________
____________
Objeto
|Text1| |Procedimiento
|GotFocus |
------------------------------------This.FontBold = .T.
This.BackColor = R G B ( 0,255 0,255 0,255 )
Propiedades
48
BackColor
Click
Evento
LOSTFOCUS
Ocurre cuando un objeto pierde el enfoque
___________
_______________
Objeto
|Text1 || Procedimiento
|LostFocus | |
-----------------------------------Propiedad
Enabled
-------|------->
-------->
.T. Habilitado
.F. Deshabilitado
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
|
|
------------------------------------------
2 LostFocus
49
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
0 - Sin Borde
1 - Borde Sencillo
2 - Borde doble linea
3 - Borde Predeterminado
Icono
barra
: de titulo del formulario.
50
activo.-
Enabled
Closable
un
: Formulario.
Enabled del formulario a verdadero
objetos
ShowTips
se
: posiciona en estos. Esta propiedad es
: acompaada de un ToolTipText
Al Formulario
ShowTips
Debe estar
a
.T.
Picture
: BackColor
: Establece una imagen .Bmp -- Jpg -- Guif
: para cualquier Objeto.
Visible
Usados
Internet
: .T. -- .F.
: Determina si un objeto esta o no visible en
un
______
: formulario o el mismo.
____________
51
|Usar |
--------
Enabled
_______
|
|
.T.
.F.
forma
|Ver o No |
----------------
Visible
_____________
|
|
.T.
.F.
Si=.T. No=.F.
ForeColor
sea
: el color del Texto.
FontSize
de
: letra.
existe
ControlSource
Diseo de Objetos :
ComboBox(Cuadro de Combinados)
___________________
|
| |
-------------------------|ab
| |
|
| |
52
|
| |
-------------------------Propiedades
Estilo
Picture
propiedad.
:
Style
ControlSource
RowSource
ForeColor
FontSize
Picture
RowSourceType
BackColor
FontBold
FontName
ControlSource
VF3
09 - 07 - 2002
:
:
:
:
:
:
:
:
:
:
:
.T.
0 - Noborder
Formulario de Alumnos
.T.
(None)
.F.
Form1
.T. True
.T. True
-0-Normal
0-Modeless
Caja de Texto
BaseClass
Class
Name
BackStyle
BackColor
:
:
:
:
:
:
Text1
TextBox
TextBox
Text1
1 - Opaque ( Default )
0, 255, 0
53
BorderStyle
ForeColor
SpecialEffect
Object
:
:
:
0 - None
0, 0, 255
0 - 3D
: Command1
Procedure :Click
ThisForm.CommandGroup1.Command1.Caption=Presioneme
AutoSize
Caption
ClickEvent
Name
:
:
:
:
Object
:Command2
Caption
Name
Picture
:
:
:
Procedure :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
ToolTipText
:
Boton con Imagen
Object
:CommandGroup1
BorderColor
BorderStyle
ButtonCount
Name
Value
:
:
:
:
Procedure :Click
0, 0, 0
1 - Fixed Single (Default)
:
2
CommandGroup1
1
Object
:Command1
Caption
Name
:
:
Object
Command2
Caption
Procedure Click
\<Agregar
Command1
Procedure :Click
\<Presioneme
54
Name
Command2
VF3
`10 - 07 - 2002
HUBO CENTRO DE COMPUTO
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
-- Adicion
-- Consulta
-- Modificar
Botones2
-- Guardar
-- Cancelar
55
-------
Eliminar
Primero
Siguiente
Anterior
Ultimo
Salir del Formulario
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
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
El primero 1
Optimista.
El segundo 2
Pesimista.
Uso.
1
2
3
Sin Buffer
Pesimista
Optimista
Buffer de Registro
Buffer de Registro
57
4
5
Bloqueo
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()
Procedimientos para activar y desactivar objetos
______________________________________________________
|codigo________________
|
|nombre_______________ apellido________________
|direccion_____________ telefono________________
|email________________
|
|nit___________________ reg____________________
|
|
|
---------------------------------------------------------------------------Ejecute Formulario
Adiciones
Controles datos
boton1 boton2
desactivados
activ
desacti
activados
desact
desactivadosq
activado
activados
Guardar o
Cancelar
|
|
desacti.VF3
15 - 07 - 2002
58
Creacion de Metodo
LParameters
estado(.F..V.)
txtcodigo.enabled=estado
variable
_______
txtcodigo.enabled=estado
txtcodigo.enabled= .T.
----------
constante
estado = .T.
THISFORM.txtcodigo.enabled=estado
Todos los Txt y despues hasta terminar
THISFORM.Hasta.email
=estado
THISFORM.guardar.enabled=estado
THISFORM.cancelar.enabled=estado
THISFORM.adicion.enabled=!estado
59
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)
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
60
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.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
61
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
1
2
3
4
5
6
7
Aceptar
Cancelar
Anular
Reintentar
Ignorar
Si
No
__________________________________________
|Error de Adicion
|
----------------------------------------------------------|
|
|
Codigo Vacio
|
|
___________
__________
|
|
|Reintentar|
|Cancelar|
|
|
---------------------------|
|
|
----------------------------------------------------------MESSAGEBOX(CODIGO VACIO,5+64+256,ERROR;
DE ADICION)
62
__________________________________________
|MODIFICAR
|
----------------------------------------------------------|
|
|
MODIFICARA ESTE DATO
|
|
___________
__________
|
|
|SI
|
|NO |
|
|
---------------------------|
|
|
----------------------------------------------------------MESSAGEBOX(MODIFICARA ESTE ;
DATO,4+32+0,MODIFICAR)
Seguimos con el procedimiento de Modificar
El combo1 se va a activar desde el Modificar boton
* MODIFICAR.CLICK
Y se pone Visible = .F. desde el principio
THISFORM.COMBO1.VISIBLE=.T.
THISFORM.COMBO1.SETFOCUS()
* COMBO1.VALID
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.
63
THISFORM.REFRESH()
THISFORM.TXTNOM_CLI.SETFOCUS()
ELSE
THISFORM.COMBO1.VISBLE=.F.
ENDIF
VF3
19 - 07 - 2002
No se pone buffer en Clientes1
Alt 167 =
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
sube y selecciona tabla de clientes y codigo de clientes
Visible = Falso
Combo1.Valid
THISFORM.REFRESH()
VF3
22 - 07 - 2002
ELIMINAR.CLICK
IF DELETE()
RECALL
THIS.CAPTION=ELIMINAR
ELSE
DELETE
THIS.CAPTION=RECUPERAR
ENDIF
FORM1.REFRESH()
64
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
|
|
|
-------------------------|
|
|
|
Codigo
Nombre
|
|
_________________________
|
|
|List1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------------|
|
|
----------------------------------------------------------Va a consultar de 4 Tablas 1 Consulta Solamente
FORM.INIT
LPARAMETERS
CONSULTA
PUBLIC DATO
DATO=VCONSULTA
TEXT1.LOSTFOCUS
DO CASE
65
CASE DATO = 1
SELECT
CODIGO,NOMBRE,APELLIDO FROM;
T_CLIENTES WHERE T_CLIENTES.APELLIDO =
ALL;
TRIM(THIS.VALUE) INTO CURSOR DATOS
CASE DATO = 2
IDEM
CASE DATO = 3
IDEM
CASE DATO =4
IDEM PARA OTRA TABLA
ENDCASE
Visual 4 , 3 , 5 , 6 y el 31 ultimo dia
vacaciones Viernes 2 Agosto primer dia de Clase
__________________________________________
|
__________________
|
|
Dato |Mendez
|
|
|
-------------------------|
|
|
|
Codigo
Nombre
|
|
_________________________
|
|
|4 Carlos Mendez
|
|
|
|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
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
67
VCONSULTA=
SELECT T_CLIENTES
SEEK VCONSULTA
VF3
23 - 07 - 2002
Formularios
Basado en
Form
Almacenarse en :
`Mis Clases1
____________________________________________________________________
|
|
| _______________________________________________________________ |
| |
|
|
| |
| |
| |
| |
| |Container1
| |
| |
| |
| -------------------------------------------------------------------------------------|
|
|
| _____________________________________________
____________ |
| | _____ _____ _____ _____ _____ _____ _____ |
| ___ ___ |
|
| | |
||
||
||
||
||
| |
||
|| ||
| |
|
68
|
------------------------------------------------------------------------------------------------
Grupo de Botones
Grupo de
Botones
A todos los Objetos les cambia
metodo
nombre al grupo no al Boton
VF4
24 - 07 - 2002
DISEO DE CLASE
____________________________________________________________________
|
|
| _______________________________________________________________ |
| |
|
|
| |
| |
| |
| |
| |Container1
| |
| |
| |
| -------------------------------------------------------------------------------------|
|
|
| _____________________________________________
____________ |
| | _____ _____ _____ _____ _____ _____ _____ |
| ___ ___
|
|
| | |
||
||
||
||
||
| |
||
|| | |
| | |
| | ------- ------- ------ ------ ------ ------- ----- |
| ---- ----- |
|
69
| ------------------------------------------------------------------------------ |
|
|
------------------------------------------------------------------------------------------------
Grupo de Botones(1)
Grupo de Botones ( 2 )
Creacion de Metodo
Form1
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
Num_fact
Nume
Indices
Modificar
70
Nombre
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
|*
|
|
----------------|
|
|
|
|
-----------------------------------------------------------------------------------_____________
_____________
|Adicion
|
|Guardar
|
71
-----------------
-----------------
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
72
Aceptar
Menu Barra
Formulario -
Quitar Formulario
Menu de Barra
* Debe de mostrar un solo Formulario con la
Lista de sus Objetos creados en la Clase.
26 - 07 - 2002
Formulario
Enpleados y Productos........Continuacion
73
____________________________________________________________________
|
|
| _______________________________________________________________ |
| |_________________________________________________________
|
|
| ||
|
|
| |
| ||
------------------------------------------| |
| ||
|
| |
| |--------------------------------------------------------------------------------| |
| -------------------------------------------------------------------------------------|
|
|
| _____________________________________________
____________ |
| | _____ _____ _____ _____ _____ _____ _____ |
| ___ ___
|
|
| | |
||
||
||
||
||
| |
||
|| ||
| | |
| | ------- ------- ------ ------ ------ ------- ----- |
| ---- ----- |
|
| -----------------------------------------------------------------------------|
|
|
------------------------------------------------------------------------------------------------
Grupo de Botones(1)
Grupo de Botones ( 2 )
74
HOJA2(PRODUCTOS).ACTIVATE
SELECT T_PRODUCTOS
THISFORM.REFRESH()
*
cada
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
T_Productos
T_Correlativo
Buffer y Order
Buffer y Order
--------
US()
CASE THISFORM.CONTAINER1.PAGEFRAME1.ACTIVEPAGE=2
SELECT T_PRODUCTOS
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()
76
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()
En el Control o marco de pagina de Productos hay que arreglar la
opcion de
el Costo de Producto el % del Producto se pueda cambiar para que de
un
resultado total diferente en el precio de venta ya finalizado.
Si dato = 1Clientes
Si dato = 2
Empleados
Si dato = 3 Facturas
Si dato
= 4 Productos
VF4
PRIMERA CLASE
FACTURAS
EXTRAER CLASE
ENTORNO DE DATOS
Nuevo
Clase
Agregar
Buscar Clase
La encuentra y la selecciona
Conjunto de Formularios
Formulario
77
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
Form1
y no se debe quitar
____________________________________
|
|
|
_____________________________________
|
FormSet1
|
|
Form1
|
|
Clase
|
|
Container
|
|
Grupo1
|
|
Grupo2
|
_____________________________________
Entorno de datos
Total 8 Tablas
Factura
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
|
|
|
|indices
|
indice
------------------------|codigocliente
|
------------------------Iniciar en Facturas
Termina en Clientes
Factura necesita de Clientes
VF4
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
79
Clientes
Codigo de Clientes
Empleados
Tabla de Detalle
Productos
Codigo de Empleado
Codigo de Producto
Factura
ser
Detalle
NumeroFactura
80
Order
CodCliente
Tabla
Clientes
Cod_Producto
Indice Creado
Empleados
Productos
Esta_Clientes
Actualizar
TableUpdate()
Opcional(3)
Indice creado
Buffer(3)
Numero Factura
Optimista(5)
Tablas
EstadisticaEmpleados
Numero Factura
Facturas
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
|
-------------------------
81
08 - 08 - 2002
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.)
82
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
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,;
83
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 |
|
|
------------|
|
|
`-------------------------------
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
84
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|
|
|
|
|
---------------------------------------------------------------------------------|
|
|
|
|
|
---------------------------------------------------------------------------------|
|
|
|
|
|
---------------------------------------------------------------------------------|
Columna 1
________________________
|Propiedades
|
---------------------------------------------------------------------------------|GrdDetalle
|
|
---------------------------------------------------------------------------------|Column1
|
Column4
|
|
Header1
|
Header1
|
|
Text1
|
Text1
|
|Column2
|
Column5
|
|
Header1
|
Header1
|
|
Text1
|
Text1
|
|Column3
|
|
|
Header1
|
|
|
Text1
|
|
---------------------------------------------------------------------------------Modificar y se piden todas las propiedades del Grid.
Solo se agrega Grd y se pone Grd_Detalle
85
Para el Grid
Propiedad Enabled = .F.
a cada columna le va a cambiar el nombre o sea name = ...
a cada column le pone el nombre del campo
Header1
name
numero
name
codigo
name
cantidad
name
precio
name
total
Caption Numero
__________________________________________________________________
|Codigo
|Descripcion
|cantidad |Precio
|Total
|
-----------------------------------------------------------------------------------------|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------------------------Propiedades
Solo Columna1
ControlSource : T_Detalle.Numero
Columna1 :
Columna1
ControlSource
T_Detalle.Des_prod
facturas.
_________________________________________________________________
|
____________
|
|
Descripcion |
|
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,
ThisForm.Lts1.ColumnLInes = .T.
ThisForm.List1.RowSourceType = 2 Alias
ThisForm.List1.RowSource = Temporal
______________________________
|
|
|
Codigo
|
|
___________
|
|
|
|
|
|
|
|
|
|
----------------|
|
F2
VF3
13
HOY HUBO CENTRO DE COMPUTO
87
08
2002
VF3
FORM.INIT
____________________
Controles(.F.)
ThisForm.Objetos(.F.)
Public Consulta,
Consulta = .F.
Viva
=0
Consulta
Busqueda = 0
08
2002
FACTURAS
viva, busqueda
1
2
__
____
|S|
14
Boton de
|N|
Esto de Facturas
Columna.Codigo
Text1.Keypress
_______________________
LParameters NKeycode,ShiftCtrlAlt
IF nKeycode = -1
ThisFormSet.Consulta.Visible=.T.
Consulta = .T.
Endif
Text1.Valid
_______________________
88
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
Columna de Precio
15
y
08
2002
Columna de Cantidad
Text1.Lostfocus()
_______________________
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()
89
__________________________________________________________________
|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
08
2002
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))
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)
90
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.
Sobreescribir o error(.F.)
19
ALIAS
08
TABLA
2002
2002
2002
20
08
21
08
1.-
2.-
que
91
1.-
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.-
92
AdMo
Boton de Adicion
Init de Formulario
Modificar Adicion
IF Boton1.Command1.lastkey = 13
Store 1 to dmo
Endif
Combo Empleados
agragr 3 lineas
Combo2
lineas
____________________________________________________________
ANULADO
Para Eliminar
Ojo
Dibujar Etiqueta
/
{ Debo deshabilitar tipo venta Combo1 y Combo2
\
_____________________________________________________________________
Cambiar caption ( Label1 )
-
Dibujar Etiqueta
Cambiar
Forecolor
BackColor
Font Bold
Caption(Anulado)
93
Font Size
Eliminar.Click
Figurade recuperar Anulado
En el sistema no se pueden eliminar fisicamente nada solo logico
Elimonar.Click
Primero Averiguar si esta eliminada
IF !Delete()
Delete
This.Picture a:\-----------
Etiqueta,Label1.Visible=.T.
ThisForm.Label.Visible=.T.
Else
Recall
ThisForm.Label1.Visible=.F.
This.Picture a:\------------
Endif
ThisForm.Refresh()
En el metodo de la clase cambiar el Enabled para ComboBox y el tipo
de Opcion en cuanto a tipo de venta o sea Opcion.
Al Refresh del Formulario de Facturas : Form.Facturas.Refresh()
REPORTES
========
Reportes
pueden
Areas
______________________________________________________
Encabezado
|
Titulos Fechas campos
|
|
|
--------------------------------------------------------------------------|
|
Detalle
|
|
-------------------------------------------------------------------------|
|
Pie de
|
|
Pagina
|
|
|
|
-------------------------------------------------------------------------El usuario puede personalizar para agregar como maximo 3 areas mas.
Los reportes los va a hacer
Documentos
Informes
Nuevo
Nuevo Informe
al incio no va a preguntar nada
al final le pone el nombre
3 AREAS ORIGINALES
y 4 AREAS MAS TOTAL 7 AREAS
Encabezado
Titulos
Fechas
Campos que se muestren una sola vez
por
Reporte
Detalle
(Todos :
Pie
95
VF4
22
08
2002
08
2002
23
_________________________________________________________________
|
TITULO
|
--------------------------------------------------------------------------------------------|
ENCABEZADO DE PAGINA
----------|
|
|
|
DETALLE
------------------------------|
|
|
|
|
|
pie ----------------------------------------------|
--------------------------------------------------------------------------------------------|
resumen
|
---------------------------------------------------------------------------------------------Imprime
--
Titulo
--
________________________
|
|
|
______
|
|
|
|Titulo
|
|
--------|
|
______
|
|
|
|Resumen |
|
-------|
|
|
---------------------------------__________________
|
|
|
|
|
|
|
|
|
_____ |
|
100 |
|
100 |
|
|
------------------------
Resumen
Titulos
____________
|
|
|
|
|
|
|
|
|
______|
|
100 |
|
200 |
|
|
----------------
96
Menu
__________________
|
|
|
|
|
|
|
|
|
_____ |
|
100 |
|
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
----------------------|
|
- Pie de Grupo : Numero
----------|
|
97
|
|
|
|
|
|
|
- Pie de pagina : -----------------------|
|
|
------------------------------------------------------------------------------------------|
Resumen
|
|
|
------------------------------------------------------------------------------------------__________________________________________
E |
|
---------------------------------------------------------EG |
|
---------------------------------------------------------|
|
|
D |
|
|
|
|
|
---------------------------------------------------------PG |
|
---------------------------------------------------------|
|
PP |
|
|
|
---------------------------------------------------------Tenemos Consulta de Productos
Consulta
__________________
________________________________________
|Codigo
---|
|Combo,Descripcion,Pre.Venta,Existencia|
|Descripcion ---- |
|
\
\
\
\
|
|Precio Costo ----- |
|
\
\
\
\
|
|Precio Venta ----|
|
\
\
\
\
|
|Existencia ----- |
|
\
\
\
\
|
-----------------------------------------------------------------------------REPORTE DE ARTICULOS
Fecha : = Date()
Codigo
Existencia
\
\
\
\
\
\
\
\
\
\
\
\
Total de Productos ; _____________________________
98
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
_________________________
99
|Productos
|
--------------------------------|Campos
|
--------------------------------|Cdigo
|
|descripcin
|
|precio costo
`
|
|precio venta
|
|Existencia
|
--------------------------------|Indices
|
--------------------------------|Cdigo
|
---------------------------------Archivos configurar pagina
Hasta 256 caracteres
Contar
-------------------
Sumar
-------------------
VF4
Continuacion
1+2+3
1+2+3
26
08
3
=
2002
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 ------------------------------- |
100
|
|
Conteo
Cualquier campo
|
|
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
:
|
|
-----------------
101
|
|
|
|
|
|
________________________
| ____
_____ ____
|
|| | | A | | ab |
| Campo
|------------ ------|
|
|
|
|
--------------------------------__________________________________________
|
____________
______
|
|
|Date()
|
|...
|
|
|
------------------------|
|
____________
|
|
|Aceptar
|
|
|
----------------|
|
_____________
|
|
|Cancelar |
|
|
----------------|
|
_____________
|
|
|calcular
|
|
|
----------------|
|
|
---------------------------------------------------------REPORTE MENSUAL DE VENTAS
POR EMPLEADOS
_________________________________________________________________
AO :
____________
MES :
____________
CODIGO EMPLEADO
\
\
\
NOMBRE
NUMEVENTAS
TOTAL VENTAS
\
\
\
\
\
\
\
\
\
TOTAL
_____________
_________________
\
\
_______________________________________________________________________
_
ENTORNO DE DATOS
_______________________________________________________________________
_
102
T_ESTADISTICA DE EMPLEADOS
T_EMPLEADOS
RELACION ENTRE COD_EMP(T_ESTADISTICA) HACIA
COD_EMP(T_EMPLEADOS)
ESTADISTICA NECESITA DE EMPLEADOS
____________________________________________________________________
|
REPORTE MENSUAL DE VENTAS
|
|
POR EMPLEADO
|
|-------Titulo ------------------------------------------------------------------------- |
|
|
| Ao : _____ Estadistica de Empleados
Ao_Emp
|
| Mes : _____ Estadistica de Empleados
Mes_Emp
|
|
|
|
Codigo Empleado Nombre
No.Ventas To.Ventas
|
|
|
|-------Encabezado ---------------------------------------------------------------- |
|
__________ _____________________ _________ _________
|
|
|Cod_emp| |Nom_Emp+Ape_emp||N_ventas||T_ventas|
|
|
-------------- ----------------------------- ------------- -----------|
|
Tabla
2 click
|
|
Estadistica Alltrim(25) Alltrim(25)
|
|
|
|
T_empleados T_Empleados
|
|--------- Detalle -------------------------------------------------------------------- |
|
|
|--------- Pie ------------------------------------------------------------------------- |
|
_____________ _____________ |
|
TOTAL
:
|T_ED.N_vent| |T_Ed.T_Vent| |
|
------------------ ------------------ |
|
|
|
suma
suma
|
|
calculos
calculos
|
|----------------- Resumen ---------------------------------------------------------|
|
|
|
|
-------------------------------------------------------------------------------------------
103
T_Estadistica
Ao
Mes
Cod_emp
N_ventas
T_Ventas
T_Empleados
Cod_emp
Nombre
apellido
dirreccion
telefono
__________________________________________________________________
|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)
|
|
|
|
|
104
------------------------------------------------------------------------------------------Ao
Mes
:
:
2001
10
Cod.Emp
Nombre
Numero Ventas
Total Ventas
__________________________________________________________________
1
2
Juan
Pedro
10
15
2,500.00
3,500.00
___________________
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
105
VF5
04
08
2002
LABORATORIO
1.-
TAREA.TAREA
REPORTES
TEORICO
REPORTES
CONSULTAS
MENU
EJECUTABLE
GRAFICOS
ESTADISTICOS
106
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
107
108
Contenedor
05
09
2002.
VF5
06
09
2002
109
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
producto
Empleados
clientes
productos
estadisticos No
110
Vieta datos
Encabezado
numero factura
detalle
numero factura
click derecho propiedades
relacion propiedad
One to many
caracteristica
Crea grupos
Informe
Agrupar datos
111
112
VF5
06
09
2002
09
09
2002 - A.D-
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
09
Iva ir en una tabla sola para colocar solo por el supervisor del sistema
a
cambiar solamente por el.-
113
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)
_______________________________________________________________
114
Depurar.click
boto depurar
Set safety off : para no mostrar mensaje cuando reeescriba
Close database
close all
Use a:\20202\datos\T_clientes Exclusive
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 Total
1
10
1
2
3
7
115
jabon
cafe
toalla
corbatas
Integridad Referencial
penultimo formulario de herramientas
Reindexacion de tablas ( Nuevo Formulario )
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)
116
VF5
11
09
2002
T_Usuarios
CONTROL DE USUARIOS
__________________________________________
Crear una tabla con los siguientes campos
Usuario
Nivel
clave
caracter
numerico
caracter
Indice
20
1
40
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
Agregar.click
ThisForm.metodo(.T.)
Select T_Usuarios
Append Blank
117
lo crea uno
tambien lo crea uno
Thisform.Container1.Text1.value=
Thisform.Container1.Text2.value=
Thisform.Refresh()
Thisform.Container1.TxtUsuarios.setfocus()
TxtUsuario.Valid
If seek(This.value,T_Usuarios1)
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
118
U_Usuarios1 ---------Passwordchar
=
Buscar
*
en clave y en confirmacion
Usuario
nivel
clave
confirmacion de clave
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
119
numero de veces.
VF5
V
=
V
=
b
=
ASC(b)
98 + 17
CHR(115)
12
09
2002
2
3
=
=
=
clavereal =
claveirreal =
98
115
S+?
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
120
Archivo
Edicion
Ver
Mantenimiento
______________
Clientes
Empleados y
Productos
____________
Facturas
Consulta
____________
Productos
Ventas Diarias
Reportes
__________
General de Clientes
Facturas
Estadisticos
Venta de Empleados
Compra de Clientes
Herramientas
_____________
Copia de Seguridad
Restauracion Datos
Reindexacion
Depuracion de Tablas
________________
Usuarios
Ayuda
___________
Sistema
Facturas
Salir
_________________
Slo Salir del Sistema
_______________________________________________________________________
_
Direcciones
Formularios
VF5
13
HOY HUBO CENTRO DE COMPUTO
09
2002
09
2002
VF5
16
preguntar a Srta.
17
Alt 92
Alt60 =
<
VF5
Columna Opciones del Menu
121
09
2002
variable de memoria
Mnivel
Opciones a Restringir
_________
|Mantenimeinto
1 - Todo
|Reportes
2 - Mantenimeinto de Herramientas
|Herramientas
2 - Solo consultas
122
Crear Formulario de
Ingreso al sistema
Usuario
:
Nivel
:
Clave
:
Mantenimiento
Reportes
Herramientas
Carlos
2 -> Mnivel
~~~~~~~~~~
Mnivel >1
Mnivel >2
Mnivel >1
Reportes
Listado
Listado
Listado
Listado
de
de
de
de
Clientes
Facturas
Estadistica de empleados
Estadistica de clientes
VF5
13
09
123
2002
VF5
17
09
2002
|
|
|
|
|-------|
|
|
|
------------------------Crear el ultimo Formulario
124
Order Usuario
Form.Init
Public intentos,claveirreal,mnivel
claveirreal=
intentos=0
mnivel=0
Text1.Valid
If Empty(This.value)
Messagebox(Complete el Usuario)
Return 0
else
Seek(This.value)
Return 1
Endif
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
125
09
2002
Aceptar.click
Local Musuario
Musuario =
Mnivel
=
Alltrim(ThisForm.Text1.Value)
val(Alltrim(ThisForm.Text2.Value))
If Musuario==Alltrim(T_Usuario.usuario) AND
Mnivel==(T_usuario.nivel) ;
AND claveirreal==Alltrim(T_usuarios.clave)
intentos=0
Do a:\20202\menus\mprincipal.mpr
ThisForm.Release()
Else
MessageBox(Acceso Denegado,0,Error)
THisForm.Text1.SetFocus()
intentos=intentos+1
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
___________________________________________
19
09
2002
09
2002
20
GENERACION DE EJECUTABLE
BOTON GENERAR EN EL PROYECTO
Verificar estructura de Proyecto
Facturas.exe
Copia Sistema
A:\
- Ejecutable
- Tabla
127
- Base de datos
Caracteristica a su programa
codigo
programas
____________________________________________________________________
|
|Codigo
|
---------------------|
|Inicio
|
|
| Procedimientos
click derecho
Establecer principal Set Main
Ejecutable
Programas
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
|
128
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|
|
|
-----------------------|
|
|
-------------------------------------------------------------------
129
VF5
23
09
Graficos
Tener Microsoft graph
para crear un grafico
Se va a consultar datos
en el proyecto solo en datos
y activa consultas
elige nuevo
asistente para consulta
asistente para graficos
aceptar
elegir tabla y campos
elegir tabla estadistica en este caso
elegir Ao, mes, codigo empleado
y total ventas
y se elige todos
se le da siguiente
y pregunta
ejes X -y- Y
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
130
2002
ao
numeros
9999
Propiedad InputMask
mes 2
numeros
99
VF5
24
131
09
2002
BOTON
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
Append General olegraph data Lcdata
Else
MESSAGEBOX(NO EXISTEN REGISTROS)
ENDIF
Use in Tgraf
TGraf
132
|
|
|
|
________________________________________________________________
|cod emp |Ventas Acumuladas
|codemp
|vtas acumuladas|
|--------------------------------------------------------------------------------------|
2
|
700
|
1
|
7000
|
|
|
|
4
|
500
|
----------------------------------------------------------------------------------------Recno = Registro Actual
Reccount
Scan -
Endscan
Do While
Enddo
CRLF
VF5
25
HOY HUBO CENTRO DE COMPUTO
Total de registros
VF5
09
2002
26
09
2002
27
09
2002
133
Set Alternate To
Set Print Off
Set console On
* Cierra la Transaccion - trap errores
If Txnlevel() > 0
RollBack
End Transaction
Close All
Endif
* Libera todas las varibales (y objetos)
Release All
*Desactiva ventanas
Deactivate Window All
Deactivate Window Debug
Deactivate Window Trace
Activate Window Command
* Desactiva cualquier menu de la Aplicacion
Set sysmenu to Defa
* Borra Macros
Restore Macros
* Limpia Eventos
Clear Events
* Cierra todos los Archivos
* Close All
* Sale de Visual Foxpro
Quit
Endif
134