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
Get, Get, y Mas Gets
Amigo que pena no te pude enviar el correo ayer, pero aqui esta la respuesta.
1. Esta es para saber que get esta blanco.
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:
Espero te sirva..
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 ]
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
Re: Get, Get, y Mas Gets
William (o como decimos en México, tocayo),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
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
William, Morales
Saludos
méxico.sureste
Saludos
méxico.sureste