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

Efecto contraseña en c

Estas en el tema de Efecto contraseña en c en el foro de Programación General en Foros del Web. Como puedo conseguir crear un campo contraseña en C? Es decir que cuando el usuario escriba en pantalla salgan los puntos y no las letras?...
  #1 (permalink)  
Antiguo 02/06/2005, 06:51
 
Fecha de Ingreso: marzo-2004
Mensajes: 338
Antigüedad: 20 años, 2 meses
Puntos: 2
Efecto contraseña en c

Como puedo conseguir crear un campo contraseña en C? Es decir que cuando el usuario escriba en pantalla salgan los puntos y no las letras?
__________________
SiMpLiFiKa
http://www.manitasdelweb.com
  #2 (permalink)  
Antiguo 02/06/2005, 06:58
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Podes usar el mensaje EM_SETPASSWORDCHAR una vez creado la ventana. wParam es el caracter. Tambien se puede cambiar el estilo de la ventana y agregarle ES_PASSWORD cosa que es mas logica de hacer al crear la ventana (CreateWindowEx).
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 02/06/2005, 08:24
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Haber y otra pregunta. Como haces eso en una consola dos?
Saludos
  #4 (permalink)  
Antiguo 02/06/2005, 09:34
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
¿En una consola de texto bajo Windows o en un programa de 16 bits de MS-DOS?
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 02/06/2005, 11:33
 
Fecha de Ingreso: marzo-2004
Mensajes: 338
Antigüedad: 20 años, 2 meses
Puntos: 2
Lo que dice instru es lo que queria yo. Seria para una consola de texto bajo windows
__________________
SiMpLiFiKa
http://www.manitasdelweb.com
  #6 (permalink)  
Antiguo 02/06/2005, 11:38
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Repito la pregunta para que quede mas clara:

¿El programa es de 32 o de 16 bits? ¿Funciona en MS-DOS real cargado desde un diskette o no?
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #7 (permalink)  
Antiguo 02/06/2005, 11:56
 
Fecha de Ingreso: marzo-2004
Mensajes: 338
Antigüedad: 20 años, 2 meses
Puntos: 2
16 bits eternal
__________________
SiMpLiFiKa
http://www.manitasdelweb.com
  #8 (permalink)  
Antiguo 02/06/2005, 12:26
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Bueno, cuando quieran algo arcaico avisen, ya estamos con 64 bits

Esto es un ejemplito que probe solo en Windows, deberia funciona de cualquiera manera (creo que no estoy usando nada no standard):

Código:
#include <stdio.h>
#include <memory.h>
#include <conio.h>

void main()
{
  printf("escriba una clave, 16 caracteres maximo\r\n");
  char in[17];
  memset(&in, 0, 17);
  for (int x = 0; x < 16; x++)
  {
    in[x] = getch();
    if (in[x] == '\r') { break; }
    putch('*');
  }
  printf("\r\nla clave era %s", in);
}
PD. Parcheado
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 04/06/2005 a las 01:57
  #9 (permalink)  
Antiguo 02/06/2005, 15:43
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Si, esto se supone que compila como 32 y hasta 64 bits tambien no?
Esta muy bien hecho, es lo que preguntabamos.
Lo curiosos es que porque preguntaste lo de 16 bits? Si es para consola, segun yo ese codigo compila bien en donde sea....
Perdon si me equivoco.

Saludos
  #10 (permalink)  
Antiguo 02/06/2005, 15:45
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Por cierto, olvidaba que conio no es estandar. Lo que se me hace extraño es que todos los compiladores tiene por lo menos el getch de conio. Que no se supone que esa funcion es tambien no estandar?

Saludos
  #11 (permalink)  
Antiguo 02/06/2005, 15:49
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Cita:
Iniciado por Instru
Si, esto se supone que compila como 32 y hasta 64 bits tambien no?
Esta muy bien hecho, es lo que preguntabamos.
Lo curiosos es que porque preguntaste lo de 16 bits? Si es para consola, segun yo ese codigo compila bien en donde sea....
Perdon si me equivoco.

Saludos
Pregunte porque si hubiera sido para Windows lo hubiera hecho con la API del Sistema Operativo mientras que si era para MS-DOS lo hubiera hecho (tal como termine haciendolo) solo con funciones de C ya que solo se acceder a los servicios de MS-DOS mediante interrupciones (creo que es la unica forma).

PD. Si fuera para Windows XP 64 bits edition tambien lo hubiera hecho con la API
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 02/06/2005 a las 15:59
  #12 (permalink)  
Antiguo 02/06/2005, 15:50
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Cita:
Iniciado por Instru
Por cierto, olvidaba que conio no es estandar. Lo que se me hace extraño es que todos los compiladores tiene por lo menos el getch de conio. Que no se supone que esa funcion es tambien no estandar?

Saludos
Segun la MSDN getch no es parte de ANSI C pero me imagino que todos los compiladores proveen una funcion como getch para obtener un caracter sin hacer eco.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #13 (permalink)  
Antiguo 03/06/2005, 13:25
 
Fecha de Ingreso: marzo-2004
Mensajes: 338
Antigüedad: 20 años, 2 meses
Puntos: 2
gracias eternal. Funciona muy bien.
__________________
SiMpLiFiKa
http://www.manitasdelweb.com
  #14 (permalink)  
Antiguo 03/06/2005, 13:33
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Cita:
Iniciado por chem
gracias eternal. Funciona muy bien.
De nadas, me alegro de que te haya servido
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #15 (permalink)  
Antiguo 03/06/2005, 14:38
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Realmente eran 15 caractéres máximos, cuidado con el \0... Si luego vas a imprimirla o mandarla en alguna función deberías incluirlo.
  #16 (permalink)  
Antiguo 04/06/2005, 01:56
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Efectivamente, pero arriba dice bien claro que es solo un ejemplito
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #17 (permalink)  
Antiguo 04/06/2005, 04:22
 
Fecha de Ingreso: marzo-2004
Mensajes: 338
Antigüedad: 20 años, 2 meses
Puntos: 2
Ok lo tendre en cuenta ;)
__________________
SiMpLiFiKa
http://www.manitasdelweb.com
  #18 (permalink)  
Antiguo 04/06/2005, 16:25
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Eternal Idol
Efectivamente, pero arriba dice bien claro que es solo un ejemplito
Se lo decía a chem porque imagino que luego vendría con que le salen cosas raras al intentar imprimirla ;)
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 10:08.