Boa Tarde a todos,
Queria saber o uso simplificado do getproperty com exemplos práticos.
desde já agradeço.
utilizo xbase, minigui, xharbour
uso simplificado do getproperty com exemplos práticos
Moderador: Moderadores
-
mmaciel11
- Usuário Nível 2

- Mensagens: 69
- Registrado em: 23 Mar 2006 11:16
- Localização: sao luis
- Contato:
uso simplificado do getproperty com exemplos práticos
HBMake v1.55 - xHarbour Make
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
Re: uso simplificado do getproperty com exemplos práticos
Retrieves a window or control property value.
Recupera uma janela ou controle, propriedade valor.
SYNTAX
GetProperty (<cWindowName>[,<cControlName>] ,<cPropertyName>)--> PropertyValue
Como no Clipper o Get pega um valor digitado em uma variavel, aqui vc pega o valor de um controle qualquer passando por parametro a uma função que tratará e retornará um informação do controle.
Veja em C:\Minigui\SAMPLES\BASIC\Form_Controls
:xau
uso simplificado do getproperty com exemplos práticos
eu não consegui usar o getproperty nem o setproperty quando o campo que preciso é PASSWORD, segue exemplo abaixo, peço desculpas se não é dessa forma.
Quando o usuario clicar no checkbox para exibir a senha (como em muitos sites) ele permite o campo se tornar PASSWORD .F., por padrão vem .T.
não consegui e dá erro então fiz de uma forma bem pouco profissional mas funciona, só que eu gostaria de poder fazer isso em apenas uma linha.
Agradeceria se pudessem ajudar.
Quando o usuario clicar no checkbox para exibir a senha (como em muitos sites) ele permite o campo se tornar PASSWORD .F., por padrão vem .T.
não consegui e dá erro então fiz de uma forma bem pouco profissional mas funciona, só que eu gostaria de poder fazer isso em apenas uma linha.
Agradeceria se pudessem ajudar.
Código: Selecionar todos
*-----------------------------------------------------------------------------------
Function ExibeSenha1()
local xCHEKA := (Form_Acesso.tx_EXIBE1.value)
local xSENHA := (Form_Acesso.p_password.VALUE)
*GetProperty (<cWindowName>[,<cControlName>] ,<cPropertyName>)--> PropertyValue
*SetProperty ( <cWindowName>[,<cControlName>], <cPropertyName> , <PropertyValue> )
IF xCHEKA = .T.
Form_Acesso.p_password.RELEASE
li := 127
ci := 153
define textbox p_password
PARENT Form_Acesso
row li
col ci
width 251
height 24
DATATYPE CHARACTER
CASECONVERT UPPER
PASSWORD .F.
ONGOTFOCUS ( This.BackColor := (pAMA) )
value (xSENHA)
ONLOSTFOCUS ( This.BackColor := (pBCO) )
MAXLENGTH 10
tabstop .T.
readonly .F.
fontbold .T.
ONENTER Verifica_Login()
end textbox
ELSE
Form_Acesso.p_password.RELEASE
li := 127
ci := 153
define textbox p_password
PARENT Form_Acesso
row li
col ci
width 251
height 24
DATATYPE CHARACTER
CASECONVERT UPPER
PASSWORD .T.
ONGOTFOCUS ( This.BackColor := (pAMA) )
value (xSENHA)
ONLOSTFOCUS ( This.BackColor := (pBCO) )
MAXLENGTH 10
tabstop .T.
readonly .F.
fontbold .T.
ONENTER Verifica_Login()
end textbox
ENDIF
RETURN
Editado pela última vez por JoséQuintas em 09 Out 2022 22:42, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
uso simplificado do getproperty com exemplos práticos
Só "enxugando" seu fonte.
Teria que olhar no fonte da minigui no que afeta PASSWORD.
Se for variável de uso da minigui, talvez só alterar o conteúdo.
Mas se o controle depende disso definido antes da montagem, só do jeito que fez mesmo.
Código: Selecionar todos
FUNCTION ExibeSenha1()
LOCAL lExibe, cSenha
lExibe := Form_Acesso.tx_EXIBE1.value
cSENHA := Form_Acesso.p_password.VALUE
Form_Acesso.p_password.RELEASE
li := 127
ci := 153
DEFINE TEXTBOX p_password
PARENT Form_Acesso
ROW li
COL ci
WIDTH 251
HEIGHT 24
DATATYPE CHARACTER
CASECONVERT UPPER
PASSWORD ! lExibe
ONGOTFOCUS ( This.BackColor := (pAMA) )
VALUE ( cSENHA )
ONLOSTFOCUS ( This.BackColor := (pBCO) )
MAXLENGTH 10
TABSTOP .T.
READONLY .F.
FONTBOLD .T.
ONENTER Verifica_Login()
END TEXTBOX
RETURN
Se for variável de uso da minigui, talvez só alterar o conteúdo.
Mas se o controle depende disso definido antes da montagem, só do jeito que fez mesmo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- carlaoonline
- Usuário Nível 3

- Mensagens: 190
- Registrado em: 24 Ago 2014 22:38
- Localização: Porto Alegre-RS
uso simplificado do getproperty com exemplos práticos
Boa tarde!
A princípio, o GetProperty funciona normalmente para qualquer propriedade, mesmo nos password, apenas o SetProperty que funciona apenas nas propriedades que são Read-Only, conforme C:\MiniGUI\Doc\MiniGui.chm, demais são Acessíveis Somente na Criação do Controle.
Na época do Summer 87 tinha que criar tudo no braço, hoje no harbour já tem quase tudo pronto, MAS EM MUITOS CASOS nem perco tempo procurando, continuo usando minhas próprias funções, e muitas ainda são gambiarras se comparadas as novas funções (nem tão novas) que fazem em 1 linha o que escrevi em 10, certo que por outro lado elas também possuem várias linhas programadas nos arquivos de origem (Lib, Ch...)
No caso do campo com senhas, nem procurei como seria a maneira mais enxuta de fazer, apenas criei dois TextBox um password e outro normal, um atualiza o outro.
Quando clica no checkbox, mostra o textbox normal, quando desmarca o checkbox daí mostra o textbox password. Ambos nas mesmas coordenadas.
KKKK Nisso eu sou campeão!marcosLP escreveu: fiz de uma forma bem pouco profissional mas funciona
A princípio, o GetProperty funciona normalmente para qualquer propriedade, mesmo nos password, apenas o SetProperty que funciona apenas nas propriedades que são Read-Only, conforme C:\MiniGUI\Doc\MiniGui.chm, demais são Acessíveis Somente na Criação do Controle.
Na época do Summer 87 tinha que criar tudo no braço, hoje no harbour já tem quase tudo pronto, MAS EM MUITOS CASOS nem perco tempo procurando, continuo usando minhas próprias funções, e muitas ainda são gambiarras se comparadas as novas funções (nem tão novas) que fazem em 1 linha o que escrevi em 10, certo que por outro lado elas também possuem várias linhas programadas nos arquivos de origem (Lib, Ch...)
No caso do campo com senhas, nem procurei como seria a maneira mais enxuta de fazer, apenas criei dois TextBox um password e outro normal, um atualiza o outro.
Quando clica no checkbox, mostra o textbox normal, quando desmarca o checkbox daí mostra o textbox password. Ambos nas mesmas coordenadas.
Código: Selecionar todos
// Esse textbox NAO mostra a senha
@ 097,005 textbox tbox_002;
of form_dados;
height 027;
width 120;
value x_senha;
maxlength 010;
uppercase;
ON ENTER _Pushkey(VK_TAB) ;
on change SETPROPERTY("form_dados","tbox_002_mostra","value",this.value);
password
// Esse textbox MOSTRA a senha, um atualiza o outro e soh eh mostrado um ou outro na tela
@ 097,005 textbox tbox_002_MOSTRA;
of form_dados;
height 027;
width 120;
value x_senha;
maxlength 010;
ON ENTER _Pushkey(VK_TAB) ;
on change SETPROPERTY("form_dados","tbox_002","value",this.value);
uppercase ;
INVISIBLE
// Esse checkbox alterna entre mostrar ou nao mostrar a senha
@ 097,150 CheckBox check_Mostrar_Senha Caption "Mostrar senha";
Value .F. Width 130;
ON ENTER _Pushkey(VK_TAB) ;
on change Mostra_Senha_Usuario(This.value) //Show_Password( "tbox_002", This.Value )
//----------------------------------------------------------
Function Mostra_Senha_Usuario(lMostra)
//----------------------------------------------------------
IF lMostra .AND. Verifica_Acesso(59)
SETPROPERTY("form_dados","tbox_002","visible",.F.)
SETPROPERTY("form_dados","tbox_002_mostra","visible",.T.)
form_dados.tbox_002_mostra.SetFocus
_PushKey(VK_DOWN) // Para deselecionar / Funcionar o SetFocus
ELSE
SETPROPERTY("form_dados","tbox_002","visible",.T.)
SETPROPERTY("form_dados","tbox_002_mostra","visible",.F.)
SETPROPERTY("form_dados","check_Mostrar_Senha","value",.F.)
form_dados.tbox_002.SetFocus
_PushKey(VK_DOWN) // Para deselecionar / Funcionar o SetFocus
ENDIF
RETURN
//----------------------------------------------------------

