Foros del Web » Programación para mayores de 30 ;) » .NET »

No mostrar caracteres tecleados en proyecto de consola

Estas en el tema de No mostrar caracteres tecleados en proyecto de consola en el foro de .NET en Foros del Web. Hola amigos Una pregunta creo que sencilla (aunque no halle nada aun) como puedo hacer para que en un proyecto de consola, el usuario al ...
  #1 (permalink)  
Antiguo 15/12/2011, 12:08
Avatar de zeudio  
Fecha de Ingreso: enero-2002
Mensajes: 314
Antigüedad: 22 años, 3 meses
Puntos: 4
No mostrar caracteres tecleados en proyecto de consola

Hola amigos

Una pregunta creo que sencilla (aunque no halle nada aun)

como puedo hacer para que en un proyecto de consola, el usuario al presionar una tecla esta no se muestre en pantalla?. Lo que quiero es capturarla y ponerla en una variable, todo bien, pero no se como hacer para que no se dibuje en pantalla

saludos y gracias
  #2 (permalink)  
Antiguo 15/12/2011, 13:06
Avatar de zeudio  
Fecha de Ingreso: enero-2002
Mensajes: 314
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: No mostrar caracteres tecleados en proyecto de consola

Es sencillo, quiero que el usuario presione una tecla y yo la atrapo en una variable. Solo que no quiero que se muestre en la consola la tecla pulsada por el usuario
  #3 (permalink)  
Antiguo 15/12/2011, 14:02
 
Fecha de Ingreso: octubre-2011
Mensajes: 114
Antigüedad: 12 años, 6 meses
Puntos: 14
Respuesta: No mostrar caracteres tecleados en proyecto de consola

Que tal zeudio, mira no soy experto en proyectos de consola, de hecho apenas los conozco, pero creo que tengo una idea de como 'podrias simularlo'

cada vez que se presione una tecla busca el valor(lo que se haya tecleado) y la ultima coincidencia reemplazala por ""...

te servira?
  #4 (permalink)  
Antiguo 16/01/2012, 16:59
 
Fecha de Ingreso: enero-2012
Mensajes: 3
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: No mostrar caracteres tecleados en proyecto de consola

Puedes hacer lo siguiente:

utilizando "Console.ReadKey(true)" se captura el caracter tecleado y este no se muestra en pantalla, puedes leer mas de este metodo aqui: http://msdn.microsoft.com/en-us/library/x3h8xffw.aspx

bueno, y utilizando un loop obtienes toda la palabra hasta que se presione la tecla que termine el bucle (en este ejemplo es "Enter"):


Código C++:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace Probando
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             Console.WriteLine("Escriba una palabra:");
  13.             ConsoleKeyInfo letra;
  14.             string palabraFormada="";
  15.             while ((letra = Console.ReadKey(true)).Key.ToString() != "Enter")
  16.             {
  17.                 palabraFormada += letra.KeyChar;
  18.             }
  19.             Console.WriteLine(palabraFormada);
  20.         }
  21.     }
  22. }

Si lo que quieres es hacer tipo contraseña, pues simplemente imprime un "*" dentro del bucle.

Etiquetas: c#
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:59.