Autor
|
Tema: "bloquear" teclas (Leído 1,976 veces)
|
m@o_614
Desconectado
Mensajes: 389
|
Saludos
Si por ejemplo yo quiero escribir en un archivo solamente dígitos del 0 al 9, que no se acepte ningun otro caracter, y sin necesidad de hacer ninguna otra validación(como leer el archivo y verificar caracter por caracter que todos sean numeros), hay alguna manera de "bloquear" algunas teclas y que no le permita al usuario ingresar caracteres que no sean numeros?? esto se podria hacer???
|
|
|
En línea
|
|
|
|
rulovive
|
sip.. con un if que solo permita leer carateres del 0 al 9... esto se hace con el codigo ascii.. cada tecla tiene un valor numerico empezando por la primera letra del abecedario en minusculas, hasta la ultima letra del abecedario en mayuscula... despues de eso siguen los numeros y ellos tienen un caracter ascii (no recuerdo si el orden de caracteres de teclado es asi o van primero los numeros) solo pon en la condicion que si el caracter pulsado es menor al que corresponde al 1 y mayor al que corresponde al 0 -el cual es el ultimo de los diez- la tecla sea nula... si estoy equivocado corrijanme XD
|
|
|
En línea
|
|
|
|
engel lex
|
rulovive XD si, fallas en muchas cosas XD el mayor es el 9, el menor siempre es 0, XD 0<9 siempre, los numeros vienen primero que las letras mayusculas, luego las minúsculas... los numeros empiezan en el carácter 48 (0x30), las mayusculas en 64+1 (0x40+1) (lo digo así porque es la mejor manera de recordarlo) y las minúsculas en 96+1 (0x60+1) por otr lado el lo que quieres es que en consola no se escriba cuando la tecla no sea valida, justamente la intencion es no revisar caracter por caracter aunque no se si es buena practica... con <conio.h> puedes, con la funcion getch(); un ejemplo #include <iostream> #include <conio.h> #define UP_ARROW 224 using namespace std; int main() { int cInput = getch(); if(cInput==UP_ARROW){cout << "fin" << endl;} cin.get(); return 0; }
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
rulovive
|
rulovive XD si, fallas en muchas cosas XD el mayor es el 9, el menor siempre es 0, XD 0<9 siempre, los numeros vienen primero que las letras mayusculas, luego las minúsculas... los numeros empiezan en el carácter 48 (0x30), las mayusculas en 64+1 (0x40+1) (lo digo así porque es la mejor manera de recordarlo) y las minúsculas en 96+1 (0x60+1) por otr lado el lo que quieres es que en consola no se escriba cuando la tecla no sea valida, justamente la intencion es no revisar caracter por caracter aunque no se si es buena practica... con <conio.h> puedes, con la funcion getch(); un ejemplo #include <iostream> #include <conio.h> #define UP_ARROW 224 using namespace std; int main() { int cInput = getch(); if(cInput==UP_ARROW){cout << "fin" << endl;} cin.get(); return 0; }
jajaja cierto.... lo habia hecho en modo visual hace muchos años pero no recordaba el orden exacto.. gracias 
|
|
|
En línea
|
|
|
|
m@o_614
Desconectado
Mensajes: 389
|
gracias por sus respuestas, creo que no es considerado buena práctica de programación usar la librería conio.h, me dijeron que también podía hacerlo con eventos de teclado, solo que no he encontrado mucha información de como hacer uno
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
De donde puedo descargar utilidades: "Formas", "Estilos", "Motivos", D
Diseño Gráfico
|
Ad0nis
|
2
|
9,275
|
2 Septiembre 2006, 15:48 pm
por Ad0nis
|
|
|
Se puede bloquear el "borrar historial" en firefox
Software
|
incooo
|
0
|
2,541
|
30 Septiembre 2011, 15:17 pm
por incooo
|
|
|
recursos visual basic, """"""proceso inmortal"""""
Análisis y Diseño de Malware
|
Dark4ngel
|
7
|
14,871
|
3 Noviembre 2011, 10:42 am
por Dark4ngel
|
|
|
Como detectar si esta activo "Bloquear páginas en memoria"
Programación Visual Basic
|
P0wer_
|
0
|
1,761
|
26 Octubre 2012, 17:52 pm
por P0wer_
|
|
|
cambiar la funcion de las teclas "f1".."f12" permanentemente
Dudas Generales
|
anasosman
|
1
|
4,655
|
13 Junio 2013, 01:51 am
por simorg
|
|