FoxPro/Visual FoxPro - Ayuda con validacion en VFP

 
Vista:

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.

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ayuda con validacion en VFP

Publicado por Juan Manuel Cruz (512 intervenciones) el 15/11/2011 19:08:51
Puedes consultar la última tecla presionada, usando la función LASTKEY() y comparando si su valor es equivalente a ESC ( 27 )

Voy a callarme sobre esa tecnica de programacion por respeto a tu profe..... que coño, dile que se actualice un poco, q esa forma lineal de programación murió con la programación de objetos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar