Ayuda con validacion en VFP
Publicado por Vladimir Miranda (1 intervención) el 15/11/2011 18:11:59
Saludos,
tengo un problema me mandaron un deber en el cual tengo que ingresar codigocelular, marca, modelo, precio, estante, estado y observacion. Con ciertas validaciones. Mi problema surgio cuando pongo la tecla ESC y me graba un registro en blanco. Por lo demas esta "bien". Les dejo el codigo de lo que hice para ver si alguien me puede ayudar.
tengo un problema me mandaron un deber en el cual tengo que ingresar codigocelular, marca, modelo, precio, estante, estado y observacion. Con ciertas validaciones. Mi problema surgio cuando pongo la tecla ESC y me graba un registro en blanco. Por lo demas esta "bien". Les dejo el codigo de lo que hice para ver si alguien me puede ayudar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
PROCEDURE principal
SET ECHO OFF
SET TALK OFF
NOTE Programa principal
***Creacion por partes***
DO variables
DO abrir
siga=6
if siga=6 then
DO recibe
DO graba
DO continua
else
DO cerrar
endif
RETURN
PROCEDURE variables
PUBLIC wcodequ,wmarcel,wmodcel,westcel,wobscel,wprecel,westacel,pase
wcodequ=SPACE(10)
wmarcel=SPACE(20)
wmodcel=SPACE(10)
westcel=SPACE(1)
wobscel=SPACE(30)
STORE 0 TO wprecel,westacel,pase
RETURN
PROCEDURE abrir
USE celulares ORDER 1 IN A
DEFINE WINDOW ventana FROM 01,01 TO 16,80
ACTIVATE WINDOW ventana
RETURN
PROCEDURE recibe
CLEAR
***Diseñamos la presentacion de la ventana***
@01,15 say "EMPRESA DE CELULARES ABC" font "Algerian"
@02,15 say "CONTROL DE MERCADERIA" font "Verdana"
@04,01 say "Código: "
@05,01 say "Marca: "
@06,01 say "Modelo: "
@07,01 say "Precio: "
@08,01 say "Estante: "
@09,01 say "Estado: "
@10,01 say "Observación: "
***Obtenemos las variables que ingrese el usuario***
&&Ingresamos el pict @! para indicar solo mayúsculas
@04,08 get wcodequ pict "X!" valid not SEEK(wcodequ,1) .and. not EMPTY(wcodequ) erro "Codigo ya existe o esta vacío"
@05,09 get wmarcel pict "@!" valid not EMPTY(wmarcel) erro "Ingrese la marca"
@06,08 get wmodcel pict "@!" valid not EMPTY(wmodcel) erro "Ingrese el modelo"
@07,08 get wprecel pict "9999999,99" valid wprecel>0 erro "El valor no puede ser 0"
&&Validamos que solo se ingrese A,B o C
@08,10 get westcel pict "@!" valid westcel$"ABC" erro "Ingrese estante A,B o C"
&&range nos permite colocar un rango para validar opciones
@09,09 get westacel pict "9" range 1,2 erro "El numero debe estar comprendido entre 1 y 2"
&&Muestra la opcion de bueno o malo para westacel
IF westacel=1 then
@09,11 say "BUENO"
ELSE
IF westacel=2 then
@09,11 say "MALO"
ENDIF
ENDIF
@10,14 get wobscel pict "@!"
READ
RETURN
PROCEDURE graba
APPEND BLANK
REPLACE codequ WITH wcodequ
REPLACE marcel WITH wmarcel
REPLACE modcel WITH wmodcel
REPLACE precel WITH wprecel
REPLACE estcel WITH westcel
REPLACE estacel WITH westacel
REPLACE obscel WITH wobscel
=MESSAGEBOX("El registro de "+codequ++marcel++modcel+"se grabó correctamente",0+64,"Empresa ABC")
RETURN
PROCEDURE continua
siga=messagebox("Desea continuar",4+32,"Empresa ABC")
RETURN
PROCEDURE cerrar
CLOSE DATABASES
RELEASE WINDOWS ventana
RETURN
Valora esta pregunta


0