Hola a todos
Nunca hice una librería por eso les pido una manito para hacer la primera, lo que quiero es que esta parte del código esté en una.-
Código:
int letra(void)
{
int car;
DWORD leidos, modo;
GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &modo);
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), modo & !ENABLE_ECHO_INPUT & !ENABLE_PROCESSED_INPUT);
ReadConsole(GetStdHandle(STD_INPUT_HANDLE), &car, 1, &leidos, NULL);
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), modo);
return car;
}
Este es el código completo.-
Código:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <string.h>
#define men printf("\n Apriete cualquier tecla para cerrar la ventana...");system("pause>null");
int letra(void);
void inicio_error(char[],int);
int main (int argc,char *argv[])
{
char frase[11];
int mxo = 0;
inicio_error(frase,mxo);
while(mxo<10)
{
frase[mxo]=letra();
if(frase[mxo] < 48 || frase[mxo] > 58)
{
printf("%c",frase[mxo]);
mxo++;
}
else
{
printf("\n No se permiten numeros \" Apriete una tecla...\"");system("pause>null");
inicio_error(frase,mxo);
}
};
printf("\n");
men;
return 0;
}
void inicio_error(char frase[], int mxo)
{
system("CLS");
printf("\n Ayuda ---> maximo 10 caracteres - no se permiten numeros");
printf("\n\n Ingrece una frase.:");
int i = 0;
for(i=0;i<mxo;i++)
{
printf("%c", frase[i]);
}
}
int letra(void)
{
int car;
DWORD leidos, modo;
GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &modo);
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), modo & !ENABLE_ECHO_INPUT & !ENABLE_PROCESSED_INPUT);
ReadConsole(GetStdHandle(STD_INPUT_HANDLE), &car, 1, &leidos, NULL);
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), modo);
return car;
}
Si alguien tiene algo distinto para capturar la tecla pulsada y validarla antes que sea impresa en pantalla, les agradecería me pongan un ej.-(no conio.h)
Bueno espero vuestra ayuda y si no es mucho pedir un poco de explicación.-
Muchos saludos.
Daniel