In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Função Gráfica com Parametros

Foro público de Xailer en español
Cassiano de Oliveira
Posts: 475
Joined: Tue Jul 24, 2012 10:21 pm

Função Gráfica com Parametros

Postby Cassiano de Oliveira » Mon Aug 13, 2012 12:14 am

Senhores... como faço para abrir um Form com parametros?
Exemplo eu tenho uma parte em meu sistema q chamo de SenhaGerente(nLinIni,
nColIni, nLinFim, nColFim, cTituloJanela) quando eu preciso em determinado
local do meu sistema que seja autorizado pelo gerente eu através desta
função abro uma caixa (box) onde tem como tí­tulo Autorização Gerencial e um
espaço para informar a senha do gerente e nesta função eu passo os
parametros para desenhar a janela e qual será o tí­tulo da janela se terá um
tí­tulo diferenciado caso não o padrão é Autorização Gerencial.
Minha dúvida é como criar a ní­vel gráfico uma função q mostre uma janela e
possa receber parametros.
[]´s
User avatar
Carlos Ortiz
Posts: 846
Joined: Wed Jul 01, 2009 5:44 pm
Location: Argentina - Córdoba
Contact:

Função Gráfica com Parametros

Postby Carlos Ortiz » Mon Aug 13, 2012 2:58 am

Si no entendí­ mal meto la cuchara.
Usa propiedades, no parámetros.
Crea un FORM1
Dentro de este form1 defini una DATA cGerencia INIT "Hola"
Ponele un boton y en el clic llamaremos a una ventana FORM2
//---------------------------------------------------------- --------------------
METHOD BtnClick( oSender ) CLASS ...
WITH OBJECT TFORM2()
:cGerencia := ::cGerencia
* Acá haces el set para que FORM2 se entere del valor
* En el form2 también habrá una cGenrencia
:New( Application:oMainForm )
:RequestState()
IF :ShowModal() == mrOK
ENDIF
END WITH
RETURN Nil
Atte. C.Ortiz
@dbfarma
www.dbfarma.com.ar
Cassiano de Oliveira
Posts: 475
Joined: Tue Jul 24, 2012 10:21 pm

Função Gráfica com Parametros

Postby Cassiano de Oliveira » Mon Aug 13, 2012 6:30 am

Gracias Carlos por su respuesta, pero yo no entiendo de 'defini una DATA
cGerencia INIT "HOLA"'
[]´s
"Carlos Ortiz" escreveu na notí­cia da
mensagem:502851e1$1@svctag-j7w3v3j....
Si no entendí­ mal meto la cuchara.
Usa propiedades, no parámetros.
Crea un FORM1
Dentro de este form1 defini una DATA cGerencia INIT "Hola"
Ponele un boton y en el clic llamaremos a una ventana FORM2
//---------------------------------------------------------- --------------------
METHOD BtnClick( oSender ) CLASS ...
WITH OBJECT TFORM2()
:cGerencia := ::cGerencia
* Acá haces el set para que FORM2 se entere del valor
* En el form2 también habrá una cGenrencia
:New( Application:oMainForm )
:RequestState()
IF :ShowModal() == mrOK
ENDIF
END WITH
RETURN Nil
Atte. C.Ortiz
User avatar
emeasoft
Posts: 1062
Joined: Wed Apr 01, 2009 4:12 pm
Location: emeasoft
Contact:

Função Gráfica com Parametros

Postby emeasoft » Mon Aug 13, 2012 1:09 pm

Cassiano:
Definir DATA:
DATA, são variáveis que vocíª cria no iní­cio do Form e ficam carregados durante a execução
daquele Form, até vocíª encerrar o Form com Close()
Exemplos:
COMPONENT..
COMPONENT..
METHOD..
METHOD..
//DECLARAí‡íƒO INICIAL
DATA dClose INIT .T.
DATA dOrd INIT "1"
DATA dF1arq
DATA dCdc INIT "2"
DATA dAfil INIT ARRAY(14)
DATA dFilx INIT {}
DATA dSel INIT "?"
Durante a execução do Form que contém estes DATA vocíª irá usá-los para
amarzenar sua informoçíµes até encerrar o Form. As informaçíµes ficam carregadas
em qualquer evento ou método. í‰ semelhante as varí­aveis PUBLIC, que
também poderão ser usadas, mas no caso de Xailer não utilizamos desta forma visto que
temos outras alternativas.
As variáveis LOCAL vocíª irá continuar usando mas ela somente está ativa no método.
Quando vocíª está em um Form e precisa chamar outro, como digitar uma senha ou autorização para
prosseguir, vocíª cria este novo Form, e salve, por exemplo Autoriz.
Para carregar este Autoriz a partir do Form que está trabalhando basta escrever:
Autoriz():New:Showmodal()
No Autoriz vocíª poderá ter novos DATAS especí­ficos para ele. Também poderá ler os DATA
do form anterior usando:
::oParent:dOrd, por exemplo.
Terminado o uso do Autoriz, o Close encerra e volta ao Form anterior.
Bom, isto é uma explicação bem simplificada, pois entendo as suas dificuldades iniciais
por também ter passado por isto.
Se for necessário um pequeno exemplo, avise-nos que podemos providenciar.
Todavia, díª uma olhada em Xailer/Samples para ver alguns exemplos.
Abraço.
Mário angelini
User avatar
emeasoft
Posts: 1062
Joined: Wed Apr 01, 2009 4:12 pm
Location: emeasoft
Contact:

Função Gráfica com Parametros

Postby emeasoft » Mon Aug 13, 2012 1:37 pm

Cassiano,
Um pouco de FUNí‡íƒO:
As funçíµes que são usadas em todo o seu programa vocíª cria um
PRG para elas. Poderá usar as mesmas que vocíª já tem pronta menos
com a parte gráfica.
Já no Form, quando vocíª precisa criar apenas a função para aquele
Form, poderá ser feito de 2 modos:
1) criar uma STATIC FUNCTION XXX()
como de costume.
Para ler os parí¢metros de um DATA nesta função é necessário
acrescentar o Self, como parí¢metro, assim
XXX(Self,par1,par2...)
Outro forma mais legal de fazer isto é usar métodos.
No iní­cio do Form, abaixo dos METHOD, crie o seu método com o nome
da função:
METHOD XXX()
Altere o nome da STATIC FUNCTION para:
METHOD XXX() CLASS Nomeform
Neste caso, vocíª não precisa passar o parí¢metro Self e todos
os seus DATA poderão ser usados na função.
Para chamar o método no local da função em vez de
XXX(Self,par1,par2)
::XXX(par1,par2)
Mário
Cassiano de Oliveira
Posts: 475
Joined: Tue Jul 24, 2012 10:21 pm

Função Gráfica com Parametros

Postby Cassiano de Oliveira » Tue Aug 14, 2012 3:09 am

Mário... show de bola... entendi bem certinho e deu certo a dica de exemplo
do Carlos... obrigado a vocíªs pela colaboração e tempo dedicados, espero
algum dia poder ajudá-los
[]´s
"www[dot]eMeAsOfT[dot]com" escreveu na notí­cia da
mensagem:5028e6e1$1@svctag-j7w3v3j....
Cassiano,
Um pouco de FUNí‡íƒO:
As funçíµes que são usadas em todo o seu programa vocíª
cria um
PRG para elas. Poderá usar as mesmas que vocíª já tem
pronta menos
com a parte gráfica.
Já no Form, quando vocíª precisa criar apenas a função
para aquele
Form, poderá ser feito de 2 modos:
1) criar uma STATIC FUNCTION XXX()
como de costume.
Para ler os parí¢metros de um DATA nesta função é
necessário
acrescentar o Self, como parí¢metro, assim
XXX(Self,par1,par2...)
Outro forma mais legal de fazer isto é usar métodos.
No iní­cio do Form, abaixo dos METHOD, crie o seu método
com o nome
da função:
METHOD XXX()
Altere o nome da STATIC FUNCTION para:
METHOD XXX() CLASS Nomeform
Neste caso, vocíª não precisa passar o parí¢metro Self e
todos
os seus DATA poderão ser usados na função.
Para chamar o método no local da função em vez de
XXX(Self,par1,par2)
::XXX(par1,par2)
Mário
--
http://www.eMeAsOfT.com
http://emeasoft.blogspot.com/
http://twitter.com/emeasoft
http://www.facebook.com/emeasoft
https://plus.google.com/102999253031532804222
http://g.co/maps/26gey

Return to “Spanish”