Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: neo_from_cs_matrix en 11 Septiembre 2011, 20:14 pm



Título: ingreso de texto en GLUT
Publicado por: neo_from_cs_matrix en 11 Septiembre 2011, 20:14 pm
hola estoy haciendo un programa de loguin pero ahora he decicido pasarlo a GLUT, usando esta libreria de opengl. el primer problema que encontre es el ingreso de texto, porque cuando lo hago desde modo consola uso obviamente cin.getline para el ingreso de nombre de usuario y constraseña, pero en glut solo se como hacer salidas de texto, pero no entradas, es decir como puedo hacer ... muestro algo de lo que tengo hasta ahora es solo ejemplos de codigo de glut, pero lo que necesito no lo tengo, osea el ingreso de texto.
http://www.daniweb.com/software-development/cpp/threads/366395

Código:
void output(int x, int y, char *string)
{
  int len, i;

  glRasterPos2f(x, y);
  len = (int) strlen(string);
  for (i = 0; i < len; i++) {
    glutBitmapCharacter(font, string[i]);
  }
}

Código:

MAX_LEN = 20;
#include <conio.h>
void display(void)
{
  glClear(GL_COLOR_BUFFER_BIT);
  output(0, 24, "Welcome to MyProgram");
  output(100, 100, message);
  output(50, 145, "Ingrese nombre de usuario");

  char password[20];
  int count;
  count = 0;
  do
  {
unsigned char input = getch();
unsigned char* ptr;
if(input == 13)
{
break;
}

output(50, 175, "*");

ptr = &input;
password[count] = *ptr;
count++;

  }while(count < MAX_LEN);

  output(50, 200, "Ingrese contrasenia");
  glutSwapBuffers();
}

como se ve luego de que pide el ingreso del nombre, yo trate de hacer que los caracteres ingresados, se pasen a '*' como son los sistemas de loguin.
pero esto colapsa el programa. alguna idea ?





Título: Re: ingreso de texto en GLUT
Publicado por: El Master Rata Pro en 29 Octubre 2018, 23:38 pm
Creo que deberías probar detectando los códigos de rastreo de las teclas y luego pasarlas a un string de caracteres para poder compararlo con el password. Además de ello deberías imprimir el asterisco cada vez que se detecta una tecla. Saludos