Página 1 de 1

uso simplificado do getproperty com exemplos práticos

Enviado: 26 Fev 2009 15:26
por mmaciel11
Boa Tarde a todos,

Queria saber o uso simplificado do getproperty com exemplos práticos.


desde já agradeço.





utilizo xbase, minigui, xharbour

Re: uso simplificado do getproperty com exemplos práticos

Enviado: 27 Fev 2009 17:13
por HASA
:D
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

Enviado: 08 Out 2022 22:34
por marcosLP
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.

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

uso simplificado do getproperty com exemplos práticos

Enviado: 09 Out 2022 22:56
por JoséQuintas
Só "enxugando" seu fonte.

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
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.

uso simplificado do getproperty com exemplos práticos

Enviado: 11 Out 2022 14:55
por carlaoonline
Boa tarde!
marcosLP escreveu: fiz de uma forma bem pouco profissional mas funciona
KKKK Nisso eu sou campeão!

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.
Propriedades dos controles -&gt; MiniGUI.chm
Propriedades dos controles -> MiniGUI.chm
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
//----------------------------------------------------------