Clipper On Line • Ver Tópico - uso simplificado do getproperty com exemplos práticos

uso simplificado do getproperty com exemplos práticos

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

uso simplificado do getproperty com exemplos práticos

Mensagempor mmaciel11 » 26 Fev 2009 15:26

Boa Tarde a todos,

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

desde já agradeço.

utilizo xbase, minigui, xharbour
HBMake v1.55 - xHarbour Make
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
mmaciel11
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 23 Mar 2006 11:16
Cidade/Estado: sao luis
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: uso simplificado do getproperty com exemplos práticos

Mensagempor HASA » 27 Fev 2009 17:13

: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
Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

uso simplificado do getproperty com exemplos práticos

Mensagempor marcosLP » 08 Out 2022 22:34

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.

*-----------------------------------------------------------------------------------
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
Anexos
senha1.png
Nota de Moderação:
JoséQuintas: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
Avatar de usuário

marcosLP
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 35
Data de registro: 13 Nov 2020 10:24
Cidade/Estado: guarpauava/pr
Curtiu: 41 vezes
Mens.Curtidas: 4 vezes

uso simplificado do getproperty com exemplos práticos

Mensagempor JoséQuintas » 09 Out 2022 22:56

Só "enxugando" seu fonte.

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

uso simplificado do getproperty com exemplos práticos

Mensagempor carlaoonline » 11 Out 2022 14:55

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.

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

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

Avatar de usuário

carlaoonline
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 190
Data de registro: 24 Ago 2014 22:38
Cidade/Estado: Porto Alegre-RS
Curtiu: 73 vezes
Mens.Curtidas: 22 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro