Page 1 of 1

Get, Get, y Mas Gets

Posted: Mon May 08, 2006 1:07 pm
by Wneskers
1. Estimados amigos, como hago en un cuardo de dialogo o en un folder para que el sistema le indique al usuario que dejo campos sin rellenar, por ejemplo: SI EN LA PRIMERA CARPETA LE FALTO EL NOMBRE EN LA SEGUNDA LE FALTO UN PORCENTAJE EL SISTEMA LE INDIQUE QUE NO PUEDE GRABAR CON UN MENSAJES QUE DIGA "El nombre no puede estar vacio" etc... e indicarme en que parte del programa ponerlo,

2. Por otra parte en la siguiente intruccion:

oFld:aDialogs[2]:bGotFocus:={ || oCodPro:SetFocus() }

cuando la aplico en _ la ingnora en otros me dice QUE ES NUMERIC y el programa da error. en que parte del programa deberia palicar esta intruccion, en el get afectado?, en el get que esta antes de primere get del segundo folder? si alguien me puede ayudar,


Otra cosa los concejos que me han dado han sido muy utiles, y agradezco la ayuda

Atte:
William Neskers
Venezuela

Posted: Tue May 09, 2006 10:26 pm
by leandro
Amigo que pena no te pude enviar el correo ayer, pero aqui esta la respuesta.

1. Esta es para saber que get esta blanco.

Code: Select all

IF Empty(oGet1)
  MSGINFO("Digite Nombre")
ELSE
  ..... ejecutas el proceso
ENDIF

2. Si estas en una pestaña diferente en el get para que pase el foco a la otroa haces lo siguiente:

ofld:Setoption(1)

3. para que tome el foco hazlo de la siguiente manera:

oget1:setfocus(.t.)

En resumidas cuentas lo que creo que quieres hacer es lo siguiente:

Code: Select all

IF Empty(oGet1)   //Si el get se encuentra vacio
  MSGINFO("Digite Nombre")
  ofld:setoption(1) //selecionas la pestaña que debe tomar el foco
  oget1:setfocus(.t.) //tomas el foco del objeto seleccionado
ELSE   //Si el valor el correcto
  ..... ejecutas el proceso
ENDIF


Espero te sirva..

Re: Get, Get, y Mas Gets

Posted: Thu May 11, 2006 1:49 am
by wmormar
Wneskers wrote:1. Estimados amigos, como hago en un cuardo de dialogo o en un folder para que el sistema le indique al usuario que dejo campos sin rellenar, por ejemplo: SI EN LA PRIMERA CARPETA LE FALTO EL NOMBRE EN LA SEGUNDA LE FALTO UN PORCENTAJE EL SISTEMA LE INDIQUE QUE NO PUEDE GRABAR CON UN MENSAJES QUE DIGA "El nombre no puede estar vacio" etc... e indicarme en que parte del programa ponerlo,

2. Por otra parte en la siguiente intruccion:

oFld:aDialogs[2]:bGotFocus:={ || oCodPro:SetFocus() }

cuando la aplico en _ la ingnora en otros me dice QUE ES NUMERIC y el programa da error. en que parte del programa deberia palicar esta intruccion, en el get afectado?, en el get que esta antes de primere get del segundo folder? si alguien me puede ayudar,


Otra cosa los concejos que me han dado han sido muy utiles, y agradezco la ayuda

Atte:
William Neskers
Venezuela
William (o como decimos en México, tocayo),

Code: Select all

FUNCTION main()
DEFINE DIALOG oDlg ....
  @ 10,10 SAY "Nombre" OF oDlg
  @ 11,10 SAY "Edad" OF oDlg
  @ 10,20 GET oGet[1] VAR cNombre PICTURE "@k!" OF oDlg
  @ 11,20 GET oGet[2] VAR nEdad PICTURE "999" OF oDlg
  @ 13,10 BUTTON oBtn SIZE 100,50 ACTION grabar(cNombre,nEdad)
ACTIVATE DIALOG oDlg
RETURN NIL
//**
FUNCTION grabar(cNombre,nEdad)
  IF EMPTY(cNombre)
      MSGINFO("Debe de agregar el nombre...","Información")
      RETURN NIL
  ENDIF
  IF nEdad <= 0
      MSGINFO("La edad debe ser mayor que 0 (cero)","Información")
      RETURN NIL
  ENDIF
  * Aqui se graba
RETURN NIL
Bueno, espero haber ayudado