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:
Este es el código completo.-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; }
Código:
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)#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; }
Bueno espero vuestra ayuda y si no es mucho pedir un poco de explicación.-
Muchos saludos.
Daniel