Alguien que me pueda ayudar
Estoy comenzando a usar fox pro y es la version 2.6 para windows, en mi programa uso una pantalla para que el usuario escriba su usuario y su contraseña, el caso es que al momento de que escribe su contraseña se tiene que ver asteriscos en vez del caracter que esta escribiendo y no he podido hacerlo, ojala alguien me pueda ayudar, gracias...
yo soy prorgamador de VFP, nunca tuve la oportunidad de programar en FP 2.6, sé que en la version visual de fox los objetos tipo TEXT tinen una propiedad llamada PasswordChar y coloco el caracter que deseo que aparesca.
pero creo que FP 2.6 tiene esa propiedad, buscala y si no la tiene enteonces es version de FP es muy vieja, entonces coloca el color del texto y igual al color del objeto TEXT
o haz manejo de caracteres...
pero creo que FP 2.6 tiene esa propiedad, buscala y si no la tiene enteonces es version de FP es muy vieja, entonces coloca el color del texto y igual al color del objeto TEXT
o haz manejo de caracteres...
creo que lo que tengo que hacer es manejo de caracteres pero no se como seria la programacion yo lo maneje en una opcion del text que no se llama tex si no campo y tiene la opcion de valid, en ella escribi los comandos c=inkey(campo) y sume un asterisco al campo: campo=campo+'*'
pero no funciona...
pero no funciona...
que tal entra en www.mygnet.com
selecciona codigos, luego foxpro y busca
un program que hice para sar que hace lo que vos queres
el autor soy yo figura alberto y en el titilo dice ingreso de password o algo parecido, fijate,
lo hice para vfp 2.6 pero funciona en versiones posteriores
es un prg que a medida que ingresas una letra
te pone el asterisco en su lugar, esta bueno, despues comparo
si es la clavey si no es vuelve al principio y te nuestra un mensaje de clave incorrecta.
suerte y si no lo entiendes avisame.
alberto mancuso
selecciona codigos, luego foxpro y busca
un program que hice para sar que hace lo que vos queres
el autor soy yo figura alberto y en el titilo dice ingreso de password o algo parecido, fijate,
lo hice para vfp 2.6 pero funciona en versiones posteriores
es un prg que a medida que ingresas una letra
te pone el asterisco en su lugar, esta bueno, despues comparo
si es la clavey si no es vuelve al principio y te nuestra un mensaje de clave incorrecta.
suerte y si no lo entiendes avisame.
alberto mancuso
Abajo tengo una funcion que puedes copiar como un prg. yo la utilizaba para ingreso de claves, solo dile en donde y cuantos caracteres ingresaras y te pedira.
Saludos, Paulo
******************************************************************************
* Nombre del Programa : lpFNPASL.prg *
* Sistema/Aplicaci¢n : Libreria de funciones y procedimientos para Foxpro *
* Objetivo del programa : Password con retorno de las letras *
* Programador : Paulo Price S. *
******************************************************************************
****************************************************
* nFILA = Fila en la que debe comenzar la petici¢n *
* nCOLU = Columna de inicio *
* nQTOS = N£mero de caracteres a pedir *
****************************************************
para nFILA,nCOLU,nQTOS
set color to +w
store 0 to n_VEZ,K_ENT,ntTAB,K_ESC
store space(nQTOS) to cCADE
store '' to cCADE
@nFILA,nCOLU+1 say replicate('.',nQTOS)
*-*
do while n_VEZ#nQTOS.and.K_ENT=0.and.K_ESC=0
n_VEZ=n_VEZ+01
store 0 to n_KEY
@nFILA,nCOLU+n_VEZ say ''
n_KEY=inkey(0)
do case
*** 0-9 ¢ A-Z
case (n_KEY>=48.and.n_KEY<=57).or.(n_KEY>=65.and.n_KEY<=90)
cCADE=cCADE+chr(n_KEY)
@nFILA,nCOLU+n_VEZ say iif(ntTAB=0,'*',chr(n_KEY))
*** a-z
case n_KEY>=97.and.n_KEY<=122
cCADE=cCADE+upper(chr(n_KEY))
@nFILA,nCOLU+n_VEZ say iif(ntTAB=0,'*',upper(chr(n_KEY)))
*** # $ % & + , - . / < = > ? @
case (n_KEY>=35.and.n_KEY<=38).or.(n_KEY>=43.and.n_KEY<=47).or.(n_KEY>=60.and.n_KEY<=64)
cCADE=cCADE+chr(n_KEY)
@nFILA,nCOLU+n_VEZ say iif(ntTAB=0,'*',chr(n_KEY))
*** Backspace 8=clipper, 127=fox
case n_KEY=127.and.n_VEZ-1>0
cCADE=subs(cCADE,1,len(alltrim(cCADE))-1)
n_VEZ=n_VEZ-2
@nFILA,nCOLU+n_VEZ+1 say '.'
*** Tab
case n_KEY=09
n_VEZ=n_VEZ-1
if ntTAB=0
ntTAB=1
@nFILA,nCOLU+1 say alltrim(cCADE)
else
ntTAB=0
@nFILA,nCOLU+1 say replicate('*',n_VEZ)
endif
*** Enter
case n_KEY=13
K_ENT=1
*** Esc
case n_KEY=27
K_ESC=1
cCADE=''
*** Por cualquier otra tecla, se resta 1 a la palabra
otherwise
n_VEZ=n_VEZ-1
endcase
n_VEZ=iif(len(alltrim(cCADE))=0,0,n_VEZ)
enddo
set color to w
return(cCADE)
Saludos, Paulo
******************************************************************************
* Nombre del Programa : lpFNPASL.prg *
* Sistema/Aplicaci¢n : Libreria de funciones y procedimientos para Foxpro *
* Objetivo del programa : Password con retorno de las letras *
* Programador : Paulo Price S. *
******************************************************************************
****************************************************
* nFILA = Fila en la que debe comenzar la petici¢n *
* nCOLU = Columna de inicio *
* nQTOS = N£mero de caracteres a pedir *
****************************************************
para nFILA,nCOLU,nQTOS
set color to +w
store 0 to n_VEZ,K_ENT,ntTAB,K_ESC
store space(nQTOS) to cCADE
store '' to cCADE
@nFILA,nCOLU+1 say replicate('.',nQTOS)
*-*
do while n_VEZ#nQTOS.and.K_ENT=0.and.K_ESC=0
n_VEZ=n_VEZ+01
store 0 to n_KEY
@nFILA,nCOLU+n_VEZ say ''
n_KEY=inkey(0)
do case
*** 0-9 ¢ A-Z
case (n_KEY>=48.and.n_KEY<=57).or.(n_KEY>=65.and.n_KEY<=90)
cCADE=cCADE+chr(n_KEY)
@nFILA,nCOLU+n_VEZ say iif(ntTAB=0,'*',chr(n_KEY))
*** a-z
case n_KEY>=97.and.n_KEY<=122
cCADE=cCADE+upper(chr(n_KEY))
@nFILA,nCOLU+n_VEZ say iif(ntTAB=0,'*',upper(chr(n_KEY)))
*** # $ % & + , - . / < = > ? @
case (n_KEY>=35.and.n_KEY<=38).or.(n_KEY>=43.and.n_KEY<=47).or.(n_KEY>=60.and.n_KEY<=64)
cCADE=cCADE+chr(n_KEY)
@nFILA,nCOLU+n_VEZ say iif(ntTAB=0,'*',chr(n_KEY))
*** Backspace 8=clipper, 127=fox
case n_KEY=127.and.n_VEZ-1>0
cCADE=subs(cCADE,1,len(alltrim(cCADE))-1)
n_VEZ=n_VEZ-2
@nFILA,nCOLU+n_VEZ+1 say '.'
*** Tab
case n_KEY=09
n_VEZ=n_VEZ-1
if ntTAB=0
ntTAB=1
@nFILA,nCOLU+1 say alltrim(cCADE)
else
ntTAB=0
@nFILA,nCOLU+1 say replicate('*',n_VEZ)
endif
*** Enter
case n_KEY=13
K_ENT=1
*** Esc
case n_KEY=27
K_ESC=1
cCADE=''
*** Por cualquier otra tecla, se resta 1 a la palabra
otherwise
n_VEZ=n_VEZ-1
endcase
n_VEZ=iif(len(alltrim(cCADE))=0,0,n_VEZ)
enddo
set color to w
return(cCADE)
