Get, Get, y Mas Gets

Post Reply
Wneskers
Posts: 15
Joined: Wed Mar 29, 2006 2:46 pm
Location: Maracay. Venezuela

Get, Get, y Mas Gets

Post 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
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Post 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..
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
wmormar
Posts: 1050
Joined: Fri Oct 07, 2005 10:41 pm
Location: México
Contact:

Re: Get, Get, y Mas Gets

Post 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
William, Morales
Saludos

méxico.sureste
Post Reply