Mostrar password que se esta digitando (al presionar click)

Re: Mostrar password que se esta digitando (al presionar click)

Postby karinha » Wed Jul 21, 2021 5:52 pm

Tiene otro email que no sea gmail.com? No deja enviar .RAR ni .JAR.

abajo el código y .RC

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7874
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Mostrar password que se esta digitando (al presionar click)

Postby karinha » Wed Jul 21, 2021 5:55 pm

VERTIZ2.PRG

Code: Select all  Expand view  RUN

// C:\VERTIZ\VERTIZ2.PRG - 21/07/2021 - By Joao Santos - Sao Paulo/Brasil.
// C:\VERTIZ\VERTIZ2.RC  - 21/07/2021 - By Joao Santos - Sao Paulo/Brasil.

#Include "FiveWin.ch"

STATIC oWnd, lLigaBtn := .F.

FUNCTION Main()

   LOCAL oMenu

   SetBalloon( .T. ) // Balloon shape required for tooltips
   SkinButtons()
   
   menu oMenu

      MenuItem "From Resource" action FromrES( oWnd )

   endmenu  

   define window oWnd title "VERTIZ: Teste de Contraseña" menu oMenu pixel
   
   activate window oWnd Maximized
 
RETURN( oWnd )

Function FromRes( oWnd )

   LOCAL oDlg, oFont, wFonte_FixedSys, oContinuar, oSaida, IDCor, oGroup
   LOCAL aGrad, aGet := ARRAY(5), XPASSWORD := SPACE(10) // "Enrique"
   LOCAL oMuestra

   // aGrad := { { 0.30, CLR_BLACK, CLR_YELLOW},{ 0.50, CLR_YELLOW, CLR_BLACK } }
   aGrad := { { 0.30, CLR_CYAN, CLR_HCYAN },{ 0.70, CLR_HCYAN, CLR_CYAN } }
   
   DEFINE FONT oFont NAME "Tahoma" SIZE 0,    -16 BOLD
   DEFINE FONT wFonte_FixedSys NAME "FixedSys"    SIZE 10, 10
   
   DEFINE DIALOG oDlg RESOURCE "DLG_PASSWORD" OF oWnd GRADIENT aGrad

   oDlg:lHelpIcon := .F.

   For iDcor=401 TO 405
      REDEFINE SAY ID IDCor OF oDlg COLORS CLR_BLACK, CLR_WHITE              ;
         UPDATE FONT wFonte_FixedSys TRANSPARENT
   Next IDCor  // By Ednaldo Rolim - Yes!

   // Salida
   REDEFINE SAY ID 420 OF oDlg COLORS CLR_BLACK, CLR_WHITE                   ;
      UPDATE FONT wFonte_FixedSys TRANSPARENT

   REDEFINE GROUP oGroup ID 501 COLOR CLR_BLACK, CLR_WHITE OF oDlg           ;
      FONT wFonte_FixedSys TRANSPARENT

   IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
      Set( _SET_INSERT, ! Set( _SET_INSERT ) )
   ENDIF

   //-> PARA GRABAR, USE: ENCRYPT / DECRYPT
   REDEFINE GET aGet[1] VAR XPASSWORD PICTURE "@KR" ID 20 OF oDlg            ;
      FONT oFont UPDATE COLOR CLR_BLACK, CLR_YELLOW                          ;
      VALID VERIFICA_PASSWORD( aGet, XPASSWORD, oContinuar )

   aGet[1]:lPassword := .T.

   aGet[1]:cToolTip := "Digite Contraseña"

   // Invisible GET - SIN CLAUSULA PASSWORD EN EL GET DEL DIALOGO.
   REDEFINE GET aGet[2] VAR XPASSWORD PICTURE "@KR" ID 21 OF oDlg            ;
      FONT oFont UPDATE COLOR CLR_BLACK, CLR_YELLOW

    REDEFINE BUTTONBMP oContinuar ID 301 OF oDlg WHEN( lLigaBtn )            ;
       ACTION( oDlg:End(), MI_FUNCION() )

   REDEFINE BUTTONBMP oSaida ID 302 OF oDlg ACTION( oDlg:End() ) CANCEL

   oSaida:cToolTip := "Saida - Exit - Cancelar "

   REDEFINE BUTTONBMP oMuestra ID 303 OF oDlg ;
      ACTION( MUESTRA_PASSWORD( aGet, XPASSWORD ) )

   SET FONT OF oContinuar TO wFonte_FixedSys
   SET FONT OF oSaida     TO wFonte_FixedSys
   SET FONT OF oMuestra   TO wFonte_FixedSys

   ACTIVATE DIALOG oDlg CENTERED ON INIT( aGet[2]:Hide() )

   oFont:End()
   wFonte_FixedSys:End()
 
return nil

FUNCTION VERIFICA_PASSWORD( aGet, CPASSWORD, oContinuar )

   LOCAL xcPassword

   IF( ALLTRIM( CPASSWORD ) ) == "Enrique"

      ? "Password esta bien continue... " + CPASSWORD

      lLigaBtn := .T.

      oContinuar:Enable()
      oContinuar:Refresh()

   ELSE

      ? "Password no esta bien retorne... " + CPASSWORD

      xcPassword := SPACE(10)

      aGet[1]:VARPUT( xcPassword )
      aGet[1]:Refresh()

      lLigaBtn := .F.

      oContinuar:Disable()
      oContinuar:Refresh()

      RETURN( .F. )

   ENDIF

RETURN( .T. )

FUNCTION MUESTRA_PASSWORD( aGet, CPASSWORD )

   IF( .NOT. EMPTY( CPASSWORD ) )

      // ? CPASSWORD, ENCRYPT( CPASSWORD )

      // ? DECRYPT( CPASSWORD ), CPASSWORD

      aGet[1]:Hide()

      aGet[2]:Show()

      aGet[2]:VARPUT( CPASSWORD )
      aGet[2]:Refresh()

   ELSE

      ? "ASI NO, ESTA VACIO HOMBRE!"

   ENDIF

RETURN NIL

FUNCTION MI_FUNCION()

   ? [CONTINUE... TU DIALOGO...]

RETURN NIL

// - fin / end - kapiabafwh@gmail.com
 


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7874
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Mostrar password que se esta digitando (al presionar click)

Postby karinha » Wed Jul 21, 2021 5:58 pm

Acá, esta bajando perfecto. No hay virus ningúm.

VERTIZ2.RC

Code: Select all  Expand view  RUN

DLG_PASSWORD DIALOG 256, 98, 238, 148
STYLE DS_ABSALIGN | DS_MODALFRAME | 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "VERTIZ: Contraseña"
FONT 8, "MS Sans Serif"
{
 EDITTEXT 20, 57, 63, 70, 14, ES_CENTER | ES_MULTILINE | ES_PASSWORD | WS_BORDER | WS_GROUP | WS_TABSTOP
 EDITTEXT 21, 57, 63, 70, 14, ES_CENTER | ES_MULTILINE | WS_BORDER | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Confirma", 301, 68, 96, 70, 14
 PUSHBUTTON "&Salida", 302, 140, 96, 50, 14
 PUSHBUTTON "&Muestra", 303, 170, 64, 50, 14
 CTEXT "ATENÇÃO: CHAME O SUPERVISOR.", 401, 1, 3, 236, 12, SS_CENTER | NOT WS_GROUP
 CTEXT "OBRIGATÓRIO SENHA MASTER.", 402, 1, 15, 236, 12, SS_CENTER | NOT WS_GROUP
 CTEXT "Digite Contraseña Master", 403, 19, 30, 200, 12, SS_CENTER | NOT WS_GROUP
 GROUPBOX "Digite Contraseña Correta", 501, 17, 44, 150, 50, BS_GROUPBOX
 LTEXT "<ESC> Salir", 420, 5, 97, 60, 14, NOT WS_GROUP
 CTEXT "SOMENTE USUÁRIO MASTER.", 404, 2, 113, 236, 14, SS_CENTER | NOT WS_GROUP
 CTEXT "GERENTE OU O DONO DA EMPRESA.", 405, 1, 127, 236, 14, SS_CENTER | NOT WS_GROUP
}
 


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7874
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Mostrar password que se esta digitando (al presionar click)

Postby Enrrique Vertiz » Wed Jul 21, 2021 7:05 pm

Saludos Karinha

evertiz arroba consorcioinformatico.net

GRACIAS
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.09, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 548
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Re: Mostrar password que se esta digitando (al presionar click)

Postby Enrrique Vertiz » Wed Jul 21, 2021 7:06 pm

Se me escapo una consulta, en esa misma linea, como muestro en ese mismo dialogo si el CAPS esta en ON o OFF y que cambie si el usuario lo presiona en ese momento ??
Esto por los temas de case sensitive al momento de ingresar las contraseñas
Gracias nuevamente
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.09, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 548
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Re: Mostrar password que se esta digitando (al presionar click)

Postby karinha » Wed Jul 21, 2021 9:52 pm

Simples asi:

Code: Select all  Expand view  RUN

// C:\VERTIZ\VERTIZ2.PRG - 21/07/2021 - By Joao Santos - Sao Paulo/Brasil.
// C:\VERTIZ\VERTIZ2.RC  - 21/07/2021 - By Joao Santos - Sao Paulo/Brasil.

#Include "FiveWin.ch"

STATIC oWnd, lLigaBtn := .F.

FUNCTION Main()

   LOCAL oMenu

   SetBalloon( .T. ) // Balloon shape required for tooltips
   SkinButtons()
   
   menu oMenu

      MenuItem "From Resource" action FromrES( oWnd )

   endmenu  

   define window oWnd title "VERTIZ: Teste de Contraseña" menu oMenu pixel
   
   activate window oWnd Maximized

RETURN( oWnd )

Function FromRes( oWnd )

   LOCAL oDlg, oFont, wFonte_FixedSys, oContinuar, oSaida, IDCor, oGroup
   LOCAL aGrad, aGet := ARRAY(5), XPASSWORD := SPACE(10) // "Enrique"
   LOCAL oMuestra

   SETCAPSLOCK( .T. ) //  = Liga e desliga o Capslock

   // aGrad := { { 0.30, CLR_BLACK, CLR_YELLOW},{ 0.50, CLR_YELLOW, CLR_BLACK } }
   aGrad := { { 0.30, CLR_CYAN, CLR_HCYAN },{ 0.70, CLR_HCYAN, CLR_CYAN } }
   
   DEFINE FONT oFont NAME "Tahoma" SIZE 0,    -16 BOLD
   DEFINE FONT wFonte_FixedSys NAME "FixedSys"    SIZE 10, 10
   
   DEFINE DIALOG oDlg RESOURCE "DLG_PASSWORD" OF oWnd GRADIENT aGrad

   oDlg:lHelpIcon := .F.

   For iDcor=401 TO 405
      REDEFINE SAY ID IDCor OF oDlg COLORS CLR_BLACK, CLR_WHITE              ;
         UPDATE FONT wFonte_FixedSys TRANSPARENT
   Next IDCor  // By Ednaldo Rolim - Yes!

   // Salida
   REDEFINE SAY ID 420 OF oDlg COLORS CLR_BLACK, CLR_WHITE                   ;
      UPDATE FONT wFonte_FixedSys TRANSPARENT

   REDEFINE GROUP oGroup ID 501 COLOR CLR_BLACK, CLR_WHITE OF oDlg           ;
      FONT wFonte_FixedSys TRANSPARENT

   IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
      Set( _SET_INSERT, ! Set( _SET_INSERT ) )
   ENDIF

   //-> PARA GRABAR, USE: ENCRYPT / DECRYPT
   REDEFINE GET aGet[1] VAR XPASSWORD PICTURE "@KR" ID 20 OF oDlg            ;
      FONT oFont UPDATE COLOR CLR_BLACK, CLR_YELLOW                          ;
      VALID VERIFICA_PASSWORD( aGet, XPASSWORD, oContinuar )

   aGet[1]:lPassword := .T.

   aGet[1]:cToolTip := "Digite Contraseña"

   // Invisible GET - SIN CLAUSULA PASSWORD EN EL GET DEL DIALOGO.
   REDEFINE GET aGet[2] VAR XPASSWORD PICTURE "@KR" ID 21 OF oDlg            ;
      FONT oFont UPDATE COLOR CLR_BLACK, CLR_YELLOW

    REDEFINE BUTTONBMP oContinuar ID 301 OF oDlg WHEN( lLigaBtn )            ;
       ACTION( oDlg:End(), MI_FUNCION() )

   REDEFINE BUTTONBMP oSaida ID 302 OF oDlg ACTION( oDlg:End() ) CANCEL

   oSaida:cToolTip := "Saida - Exit - Cancelar "

   REDEFINE BUTTONBMP oMuestra ID 303 OF oDlg ;
      ACTION( MUESTRA_PASSWORD( aGet, XPASSWORD ) )

   SET FONT OF oContinuar TO wFonte_FixedSys
   SET FONT OF oSaida     TO wFonte_FixedSys
   SET FONT OF oMuestra   TO wFonte_FixedSys

   ACTIVATE DIALOG oDlg CENTERED ON INIT( aGet[2]:Hide() )

   oFont:End()
   wFonte_FixedSys:End()

   SETCAPSLOCK( .F. ) //  = Liga e desliga o Capslock
 
return nil

FUNCTION VERIFICA_PASSWORD( aGet, CPASSWORD, oContinuar )

   LOCAL xcPassword

   IF( ALLTRIM( CPASSWORD ) ) == "Enrique"

      ? "Password esta bien continue... " + CPASSWORD

      lLigaBtn := .T.

      oContinuar:Enable()
      oContinuar:Refresh()

   ELSE

      ? "Password no esta bien retorne... " + CPASSWORD

      xcPassword := SPACE(10)

      aGet[1]:VARPUT( xcPassword )
      aGet[1]:Refresh()

      lLigaBtn := .F.

      oContinuar:Disable()
      oContinuar:Refresh()

      RETURN( .F. )

   ENDIF

RETURN( .T. )

FUNCTION MUESTRA_PASSWORD( aGet, CPASSWORD )

   IF( .NOT. EMPTY( CPASSWORD ) )

      // ? CPASSWORD, ENCRYPT( CPASSWORD )

      // ? DECRYPT( CPASSWORD ), CPASSWORD

      aGet[1]:Hide()

      aGet[2]:Show()

      aGet[2]:VARPUT( CPASSWORD )
      aGet[2]:Refresh()

   ELSE

      ? "ASI NO, ESTA VACIO HOMBRE!"

   ENDIF

RETURN NIL

FUNCTION MI_FUNCION()

   ? [CONTINUE... TU DIALOGO...]

RETURN NIL

*----------------------------------------------------------------------
* Vejam com funciona
*----------------------------------------------------------------------
* SETCAPSLOCK( .T. ou .F. )  = Liga e desliga o Capslock
* SETNUMLOCK( .T. ou .F. )   = Liga e desliga o NumLock
* SETSCROLLOCK( .T. ou .F. ) = Liga e desliga o ScrollLock
* SETINSERT( .T. ou .F. )    = Liga e desliga o Insert
*----------------------------------------------------------------------
* VERCAPSLOCK()  = Sem parametros retorna o estado do Capslock
* VERNUMLOCK()   = Sem parametros retorna o estado do NumLock
* VERSCROLLOCK() = Sem parametros retorna o estado do ScrollLock
* VERINSERT()    = Sem parametros retorna o estado do Insert
*----------------------------------------------------------------------

/*
*************
function MAIN
*************

? SETCAPSLOCK( .F. )
? "Desligando o CapsLock"
SETCAPSLOCK( .T. )
? "Ligando o CapsLock"
SETCAPSLOCK( .F. )
? "Desligando o CapsLock"
SETCAPSLOCK( .T. )
? "Ligando o CapsLock"
SETCAPSLOCK( .F. )
? "Desligando o CapsLock"

? "O Capslock esta' " + iif( VERCAPSLOCK(), "Ligado", "Desligado" )

SETNUMLOCK( .F. )
? "Desligando o NumLock"
SETNUMLOCK( .T. )
? "Ligando o NumLock"
SETNUMLOCK( .F. )
? "Desligando o NumLock"
SETNUMLOCK( .T. )
? "Ligando o NumLock"
SETNUMLOCK( .F. )
? "Desligando o NumLock"

? "O Numlock esta' " + iif( VERNUMLOCK(), "Ligado", "Desligado" )

SETSCROLLOCK( .F. )
? "Desligando o ScrollLock"
SETSCROLLOCK( .T. )
? "Ligando o ScrollLock"
SETSCROLLOCK( .F. )
? "Desligando o ScrollLock"
SETSCROLLOCK( .T. )
? "Ligando o ScrollLock"
SETSCROLLOCK( .F. )
? "Desligando o ScrollLock"

? "O ScrollLock esta' " + iif( VERSCROLLOCK(), "Ligado", "Desligado" )

SETINSERT( .T. )
? "Ligando o Insert"

SETINSERT( .F. )
? "Desligando o Insert"

? "O Insert esta' " + iif( VERINSERT(), "Ligado", "Desligado" )

return NIL
*/


*------------------------------------------------------------*
*            FUNCAO PARA ATIVAR A TECLA CAPSLOCK             *
*------------------------------------------------------------*

#pragma begindump

#define _WIN32_IE 0x0500
#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400

#include <windows.h>
#include "hbapi.h"

HB_FUNC ( SETCAPSLOCK )
{
BYTE keyState[256];

GetKeyboardState((LPBYTE)&keyState);

if( (hb_parl(1) && !(keyState[VK_CAPITAL] & 0)) || (!hb_parl(1) && (keyState[VK_CAPITAL] & 1)) )
    {
      keybd_event( VK_CAPITAL, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 );
      keybd_event( VK_CAPITAL, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
    }
}

#pragma enddump

*-----------------------------------------------------------*
*            FUNCAO PARA ATIVAR A TECLA NUMLOCK             *
*-----------------------------------------------------------*

#pragma begindump

#define _WIN32_IE 0x0500
#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400

#include <windows.h>
#include "hbapi.h"

HB_FUNC ( SETNUMLOCK )
{
BYTE keyState[256];

GetKeyboardState((LPBYTE)&keyState);

if( (hb_parl(1) && !(keyState[VK_NUMLOCK] & 0)) || (!hb_parl(1) && (keyState[VK_NUMLOCK] & 1)) )
    {
      keybd_event( VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 );
      keybd_event( VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
    }
}

#pragma enddump

*-----------------------------------------------------------*
*            FUNCAO PARA ATIVAR A TECLA SCROLLOCK           *
*-----------------------------------------------------------*

#pragma begindump

#define _WIN32_IE 0x0500
#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400

#include <windows.h>
#include "hbapi.h"

HB_FUNC ( SETSCROLLOCK )
{
BYTE keyState[256];

GetKeyboardState((LPBYTE)&keyState);

if( (hb_parl(1) && !(keyState[VK_SCROLL] & 0)) || (!hb_parl(1) && (keyState[VK_SCROLL] & 1)) )
    {
      keybd_event( VK_SCROLL, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 );
      keybd_event( VK_SCROLL, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
    }
}

#pragma enddump

*-----------------------------------------------------------*
*            FUNCAO PARA ATIVAR A TECLA SCROLLOCK           *
*-----------------------------------------------------------*

#pragma begindump

#define _WIN32_IE 0x0500
#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400

#include <windows.h>
#include "hbapi.h"

HB_FUNC ( SETINSERT )
{
BYTE keyState[256];

GetKeyboardState((LPBYTE)&keyState);

if( (hb_parl(1) && !(keyState[VK_INSERT] & 0)) || (!hb_parl(1) && (keyState[VK_INSERT] & 1)) )
    {
      keybd_event( VK_INSERT, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 );
      keybd_event( VK_INSERT, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
    }
}

#pragma enddump

#pragma begindump

#define _WIN32_IE 0x0500
#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400

#include <windows.h>
#include "hbapi.h"

HB_FUNC ( VERCAPSLOCK )
{
BYTE keyState[256];

GetKeyboardState((LPBYTE)&keyState);

hb_retl( keyState[VK_CAPITAL] );
}

#pragma enddump

*-----------------------------------------------------------*
*            FUNCAO PARA VERIFICAR A TECLA NUMLOCK          *
*-----------------------------------------------------------*

#pragma begindump

#define _WIN32_IE 0x0500
#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400

#include <windows.h>
#include "hbapi.h"

HB_FUNC ( VERNUMLOCK )
{
BYTE keyState[256];

GetKeyboardState((LPBYTE)&keyState);

hb_retl( keyState[VK_NUMLOCK] );
}

#pragma enddump

*-----------------------------------------------------------*
*          FUNCAO PARA VERIFICAR A TECLA SCROLLOCK          *
*-----------------------------------------------------------*

#pragma begindump

#define _WIN32_IE 0x0500
#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400

#include <windows.h>
#include "hbapi.h"

HB_FUNC ( VERSCROLLOCK )
{
BYTE keyState[256];

GetKeyboardState((LPBYTE)&keyState);

hb_retl( keyState[VK_SCROLL] );
}

#pragma enddump

*-----------------------------------------------------------*
*          FUNCAO PARA VERIFICAR A TECLA SCROLLOCK          *
*-----------------------------------------------------------*

#pragma begindump

#define _WIN32_IE 0x0500
#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400

#include <windows.h>
#include "hbapi.h"

HB_FUNC ( VERINSERT )
{
BYTE keyState[256];

GetKeyboardState((LPBYTE)&keyState);

hb_retl( keyState[VK_INSERT] );
}

#pragma enddump

// - fin / end - kapiabafwh@gmail.com
 


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7874
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Mostrar password que se esta digitando (al presionar click)

Postby karinha » Wed Jul 21, 2021 10:00 pm

Email enviado. Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7874
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Mostrar password que se esta digitando (al presionar click)

Postby Enrrique Vertiz » Fri Jul 23, 2021 3:04 pm

Muchas gracias !!!!!!!

Cristobal, Karinha, era mas sencillo de lo que pensaba y con una combinacion del codigo de ambos funciono, en el RC "NO" indicar como Password el campo donde se digitara el mismo, todo el trabajo esta en el codigo :

REDEFINE GET oPass VAR cPass ID 120 OF oDlg PICTURE "@KR" VALID chkvalpas(cPass) ACTION ( oPass:lPassword := !oPass:lPassword, oPass:Refresh() )
oPass:lPassword := .T.

Image

Ahora 3 temas que me gustaria mejorar de ser posible :

1.- El icono del boton en el get, es un recuadro con 3 puntos, no podriamos colocar uno personalizado como un OJO o algo asi, mas acorde con lo que se usa actualmente.
2.- Al dar click en el boton, muestra la contraseña ingresada, pero se queda mostrado, lo ideal es que se muestre "solo mientras el click derecho esta presionado", una vez que soltamos el click, deberia desaparecer y de nuevo no mostrarse.
3.- Al digitar se muestran unos palitos en vez de los caracteres, es Ok, pero ideal seria asteriscos '*' en ves de esos palitos (como se ve en el grafico) se podra configurar.

Gracias nuevamente por su atencion
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.09, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 548
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Re: Mostrar password que se esta digitando (al presionar click)

Postby FranciscoA » Fri Jul 23, 2021 4:46 pm

1.- El icono del boton en el get, es un recuadro con 3 puntos, no podriamos colocar uno personalizado como un OJO o algo asi, mas acorde con lo que se usa actualmente.

REDEFINE GET oPass VAR cPass ID 120 OF oDlg PICTURE "@KR" VALID chkvalpas(cPass) ACTION ( oPass:lPassword := !oPass:lPassword, oPass:Refresh() ) BITMAP "FIND16x16"
oPass:lPassword := .T.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Mostrar password que se esta digitando (al presionar click)

Postby karinha » Fri Jul 23, 2021 5:19 pm

Frascisco, és fantástico. Un dia aún voy a ser como el. jajajaja. Saludos Fracisco, gran maestro.

Para los ****, Cambie TGET.PRG asi:

Code: Select all  Expand view  RUN

METHOD DispText() CLASS TGet

   if ::lPassword .and. ::oGet:Type == "C"
#ifdef UTFREVN
      if ::lWideChar
         ::SetText( ::GetText() )
      else
         SetWindowText( ::hWnd, Replicate( If( IsAppThemed(), Chr( 149 ), "*" ),;
                                           Len( Trim( ::oGet:buffer ) ) ) )
      endif
#else
         /* //-> Mudei em 25/10/2016 - Para Aparecer um * no PASSWORD-WS Joao
         SetWindowText( ::hWnd, Replicate( If( IsAppThemed(), Chr( 149 ), "*" ),;
                                           Len( Trim( ::oGet:buffer ) ) ) )
         */

         SetWindowText( ::hWnd, Replicate( If( IsAppThemed(), Chr( 42 ), "*" ),;
                                           Len( Trim( ::oGet:buffer ) ) ) )
                                           
#endif
   else
#ifdef UTFREVN2
      if ::lLimitChars
//         ::SetText( Trim( ::GetText() ) )
         ::SetText( Trim( ::oGet:buffer ) ) // fix 2016-07-07
      else
         SetWindowText( ::hWnd, If( ! Empty( ::cCueText );
                                      .and. Empty( ::oGet:VarGet() );
                                      .and. GetFocus() != ::hWnd,;  // Focus is outside
                                      "", ::oGet:buffer ) )
      endif
#else
      SetWindowText( ::hWnd, If( ! Empty( ::cCueText );
                                   .and. Empty( ::oGet:VarGet() );
                                   .and. GetFocus() != ::hWnd,;  // Focus is outside
                                   "", ::oGet:buffer ) )
#endif
   endif

return nil
 



Estamos aqui... jajajajajajaja,

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7874
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Mostrar password que se esta digitando (al presionar click)

Postby jbrita » Sun Jul 25, 2021 6:23 pm

o algo asi sera bueno igual. que se pudiera hacer

Image

saludos
jbrita
 
Posts: 504
Joined: Mon Jan 16, 2006 3:42 pm

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 33 guests