Clausula Valid en un GET simple

Post Reply
ingggc
Posts: 17
Joined: Mon Jul 09, 2007 3:20 am
Location: Guadalajara, Jalisco
Contact:

Clausula Valid en un GET simple

Post by ingggc »

Porque no trabaja la clausula valid de un Get el código es el siguiente:
local l_oGet
private p_cArti :=space(14)
private p_pDlg
DEFINE DIALOG p_oDlg RESOURCE 'DCON_PRE1'
REDEFINE GET l_oGet VAR p_cArti ID 101 OF p_oDlg PICTURE '@!@k' VALID(Chk_Pre1())
ACTIVATE DIALOG p_oDlg CENTER
Close Databases
Return Nil

Static Function Chk_Pre1()
? '1'
Return(.t.)

Guillermo Guevara C.
Clp5.2e FW2.3b Blk3.3
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Guillermo,

Necesitas tener un control más en el diálogo para que se produzca pérdida de foco hacia ese otro control
regards, saludos

Antonio Linares
www.fivetechsoft.com
ingggc
Posts: 17
Joined: Mon Jul 09, 2007 3:20 am
Location: Guadalajara, Jalisco
Contact:

Gracias Antonio

Post by ingggc »

Disculpa mi ignorancia.

Ok de acuerdo con tu recomendación, entonces voy a programar un diálogo definiendo controles que no ucupo, ¿es una limitante de FW ó que sucede?, en nuestro viejo Clipper no teniamos estas limitántes.

Ejemplo específico de este caso, estoy tratando de construir un verificador de precios para que el usuario utilice un scanner (Lector de código de barras) lea el GET (unico control en este diálogo) y a través de la clausula VALID con otro diálogo despliegue el precio de venta por unos segundos y que regrese al GET original listo para otra lectura.

Guillermo Guevara C.
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

Guillermo:

No, no hay esa limitante, prueba cambiando la línea así:

REDEFINE GET l_oGet VAR p_cArti ID 101 OF p_oDlg PICTURE '@!@k' VALID Chk_Pre1()

Salaudos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Guillermo,

Usa un GET y un botón "Aceptar"
regards, saludos

Antonio Linares
www.fivetechsoft.com
ingggc
Posts: 17
Joined: Mon Jul 09, 2007 3:20 am
Location: Guadalajara, Jalisco
Contact:

Gracias Armando y Antonio Linares

Post by ingggc »

Armando:

Tu sugerencia es que quite un par de parentesis de la clausula VALID, ya lo hice, pero no funcionó, sigue igual, el programa está atascado en el GET.

Antonio:

Imaginate en una tienda un verificador de precios donde comunmente, el cliente solo acerca el producto al lector de código de barras y en la pantalla se muestra el precio del artículo.

Con tu sugerencia de definir un botón, imaginate tendría que ponerle un ratón con un "Mousepad" o un teclado con una base (Mesa ó algo así) lo cual resultaría, totalmente inoperante.

Posiblemente estoy buscando la solución al problema incorrectamente, si alguién en el foro tiene alguna idea para solucionar está cosa tan simple por favor transmitanmela.

Realmente este tipo de problemas son los que me han detenido en la decisión de comprar las herramientas requeridas para cambiar definitivamente a este ambiente.

Saludos

Guillermo
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

Guillermo:

Podrías especificar un poco más cual es el problema ?, cuando dices se queda atascado significa que no ves el resultado del código ?:

? '1'

Si entiendo bien, la solución es que utilices un SAY en el mismo dialogo, despues del GET, para mostrar el precio de venta, así no tendrías que obligar al usuario a usar ningun botón.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
ingggc
Posts: 17
Joined: Mon Jul 09, 2007 3:20 am
Location: Guadalajara, Jalisco
Contact:

Gracias Armando

Post by ingggc »

Efectivamente lo que requiero es que se muestre el
? '1'
Que es la prueba de que funcionó la clausula VALID en el GET

Ya había comprobado que poniendo el SAY en mismo control se hace la perdida de foco que me indicaba Antonio.

Sin embargo estoy intrigado porque algo que funciona tan bién en nuestro viejo Clipper no puede funcionar en FW, cuando menos hasta ahora.

Agradezco tus atenciones

Guillermo
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Guillermo,

>
Sin embargo estoy intrigado porque algo que funciona tan bién en nuestro viejo Clipper no puede funcionar en FW, cuando menos hasta ahora.
>

Windows es un entorno muy distinto en su funcionamiento al antiguo MsDos.

FiveWin intenta en la medida de lo posible proporcionar comportamientos muy similares, pero en ocasiones hay que seguir las reglas que impone Windows
regards, saludos

Antonio Linares
www.fivetechsoft.com
ingggc
Posts: 17
Joined: Mon Jul 09, 2007 3:20 am
Location: Guadalajara, Jalisco
Contact:

Antonio

Post by ingggc »

Muchas Gracias por todos los consejos y tu apoyo, estoy de acuerdo hay que cambiar la forma estructurada de pensar, a pensar en función de la programación orientada a objetos.

Lo consideraré para mi verificador de precios

Guillermo
User avatar
jacgsoft
Posts: 96
Joined: Fri Nov 24, 2006 9:03 pm
Location: Lima - Peru

Post by jacgsoft »

La solucion es simple pon otro Get pero que su variable sea vacio



local l_oGet ,xClav:=''
private p_cArti :=space(14)
private p_pDlg
DEFINE DIALOG p_oDlg RESOURCE 'DCON_PRE1'
REDEFINE GET l_oGet VAR p_cArti ID 101 OF p_oDlg PICTURE '@!@k' VALID(Chk_Pre1())

@ 02,08 Get xClav Size 1,1

ACTIVATE DIALOG p_oDlg CENTER
Close Databases
Return Nil

Static Function Chk_Pre1()
? '1'
Return(.t.)
User avatar
QAZWSX2K
Posts: 359
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Post by QAZWSX2K »

YO HE HECHO ESO CON CODIGO DE BARRAS Y SOLO PONGO UN BOTON "SALIR", NO ES PARA QUE EL USUARIO LE DE CON UN MOUSE SALIR SINO COMO DICE ANTONIO PARA QUE HAYA AL MENOS 2 CONTROLES, SI TE DA PIEDRA PONERLO PONLO HIDE Y YA
Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
Post Reply