• Jueves 2 de Mayo de 2024, 00:26

Autor Tema:  Ansi  (Leído 6601 veces)

ciber_lep

  • Miembro MUY activo
  • ***
  • Mensajes: 301
    • Ver Perfil
Ansi
« en: Domingo 22 de Agosto de 2004, 21:35 »
0
Hola, queria perdirles por favor que me den ayuda sobre el manejo del teclado, pues he intetado usar el codigo ascii para controlar las flechas de direcciòn pero no me los reconoce[ me parece raro pues reconoce la tecla escape que es char(27) pero las otras no las reconoce las que necesito], les agradecerè mucho.  :comp:
Programación en
PHP,javaScript,HTML,Java,C++,.NET.
Base de Datos,Servidores Linux.

aleSchenk

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Ansi
« Respuesta #1 en: Lunes 23 de Agosto de 2004, 04:33 »
0
ch=getch();

if(ch=='H') printf("FLECHA ARRIBA");
if(ch=='P') printf("FLECHA ABAJO");
if(ch=='K') printf("FLECHA IZQUIERDA");
if(ch=='M') printf("FLECHA DERECHA");


Espero que te sirva :)

avis_phoenix

  • Miembro activo
  • **
  • Mensajes: 96
  • Nacionalidad: mx
    • Ver Perfil
Re: Ansi
« Respuesta #2 en: Lunes 23 de Agosto de 2004, 14:49 »
0
Bueno para detectar todasals teclas del teclado (incluyendo las felcas) no es muy conveniente getch, pues para cualquier tecla especial getchar envia 2 teclas a al vez (pruebalo pon while (c!= 27) { c=getch(); printf("%d",c);} )y comprobaras loqeu te digo, pero si no te quieres complicar la vida yo tengo una cabecera nada optimiozada, pero practica, donde uso bioskey bios key es unpoco distinto que getch, así que pues con mi cabecera solo tendrías que entender como se usa, y si quieres mejro hacer una tuya mejorada u optimizada pues ya es cosa tuya, la mia es simple casi todas las teclas estan ya definidas, te adjunto la cabecera y un codigo de ejemplo, para probar, ya si tu quieres hacer la tyuya pues imvestiga sobre bioskey y sobre "san code" ok bueno suerte. como solopuedo adjuntar un archivo pues te pongo el codigo para usar mi cabecera en el mensaje:
Código: Text
  1.  
  2. #include <iostream.h>
  3. #include <tecla.h> //fijate de poner la hubicación de tu archivo
  4.  
  5. main()
  6. {
  7.   int c;
  8.   while(c!=ESC){
  9.   cout<<"\nPresiona una tecla\n";
  10.   c = obtecla();
  11.   if (c == TAB)
  12.     cout <<"Haz presionado Tabulador";
  13.   else if (c == CTRL + 'x')
  14.     cout<< "Haz presionado Ctrl + X";
  15.   else if (c == AJ)
  16.     cout<< "Haz presionado Alt + J";
  17.   else if (c== AF)
  18.     cout<<"Haz presionado Alt + F";
  19.   else if (c == INS)
  20.     cout<<"Haz presionado Insertar";
  21.   else if (c == F5)
  22.     cout<<"Haz presionado F5";
  23.   else if (c == ARRIBA)
  24.     cout<<"Haz presionado la flecha Arriba";
  25.   else if (c > 32 && c < 127)
  26.     cout<<"Haz presionado el caracter: "<<char(c);
  27.   else if (c != ESC)
  28.     cout<< "Presiona Tabulador, Ctr + X, Alt + J,Alt + F, Insertar, F5, la flecha Arriba, una letra, y para salir presiona ESC";
  29.   }
  30.   cout<<"Presionaste ESC, Adios!\nPresiona cualquier tecla para salir";
  31.   obtecla();
  32.   return 0;
  33. }
  34.  

puede que Alt + J tengas que presionarlo con Altgr pues con Alt normal no indica que presionaste algo, no se por que, bueno espero te sirva o mejores, bye
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
"La envidia en los hombres muestra cuán desdichados se sienten, y su constante atención a lo que hacen o dejan de hacer los demás, muestran cuánto se aburren." "Las religiones, como las luciérnagas, necesitan de oscuridad para brillar." "Los hombres vulgares han inventado la vida en sociedad porque les es más fácil soportar a los demás que soportarse a sí mismos." "Sólo es libre aquello que existe por las necesidades de su propia naturaleza y cuyos actos se originan exclusivamente dentro de sí." "La experiencia nos ha demostrado que a la persona no le resulta nada más difícil de dominar que su lengua." "La madurez del hombre es haber vuelto a encontrar la seriedad con la que jugaba cuando era niño." "Los monos son demasiado buenos para que el hombre pueda descender de ellos." "El hombre, en su orgullo, creó a Dios a su imagen y semejanza" "Lo que hacemos no es nunca comprendido, y siempre es acogido sólo por los elogios o por la crítica."

ciber_lep

  • Miembro MUY activo
  • ***
  • Mensajes: 301
    • Ver Perfil
Re: Ansi
« Respuesta #3 en: Domingo 29 de Agosto de 2004, 21:21 »
0
gracias a los que me han tratado de ayudar y he probado el codigo de avis y me sirbio gracias.
Programación en
PHP,javaScript,HTML,Java,C++,.NET.
Base de Datos,Servidores Linux.

ciber_lep

  • Miembro MUY activo
  • ***
  • Mensajes: 301
    • Ver Perfil
Re: Ansi
« Respuesta #4 en: Domingo 29 de Agosto de 2004, 21:31 »
0
de nuevo.   B) me sirvio pero quisiera que si me hicieras el favor de darme no se una direccion donde yoi pueda encontrar algo sobre el bioskey y la cabecera ctype o scan porque realmente me perdi en eso pero si me sirvio, es que estoy realizado un programa que realiza calculos matematicos (permutacion, combiancion) entre otros y queria hacerle el menu y queria controlarlo desde el teclado. gracias.
Programación en
PHP,javaScript,HTML,Java,C++,.NET.
Base de Datos,Servidores Linux.

avis_phoenix

  • Miembro activo
  • **
  • Mensajes: 96
  • Nacionalidad: mx
    • Ver Perfil
Re: Ansi
« Respuesta #5 en: Lunes 30 de Agosto de 2004, 06:14 »
0
HOLA!!pues bueno me alegra que te sirva, pues BiosKey la ayuda y desripción viene en tu aydua del compilador, Scan Code aca te pongo un link al giual de ctype.h

Scan Code:Scan Code

Ctype.h : <ctype.h>
"La envidia en los hombres muestra cuán desdichados se sienten, y su constante atención a lo que hacen o dejan de hacer los demás, muestran cuánto se aburren." "Las religiones, como las luciérnagas, necesitan de oscuridad para brillar." "Los hombres vulgares han inventado la vida en sociedad porque les es más fácil soportar a los demás que soportarse a sí mismos." "Sólo es libre aquello que existe por las necesidades de su propia naturaleza y cuyos actos se originan exclusivamente dentro de sí." "La experiencia nos ha demostrado que a la persona no le resulta nada más difícil de dominar que su lengua." "La madurez del hombre es haber vuelto a encontrar la seriedad con la que jugaba cuando era niño." "Los monos son demasiado buenos para que el hombre pueda descender de ellos." "El hombre, en su orgullo, creó a Dios a su imagen y semejanza" "Lo que hacemos no es nunca comprendido, y siempre es acogido sólo por los elogios o por la crítica."

Cid_Highwind

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Ansi
« Respuesta #6 en: Jueves 9 de Diciembre de 2004, 21:57 »
0
Cita de: "ciber_lep"
gracias a los que me han tratado de ayudar y he probado el codigo de avis y me sirbio gracias.
Hola Avis, estoy tratando de compilar tu código pero me marca el siguiente error

"TECLA.H(65,14):Call to undefined function 'bioskey'"

que puede ser?

Saludos

avis_phoenix

  • Miembro activo
  • **
  • Mensajes: 96
  • Nacionalidad: mx
    • Ver Perfil
Re: Ansi
« Respuesta #7 en: Jueves 9 de Diciembre de 2004, 22:58 »
0
Hola pues lo más seguro es que uses un compilador que no sea de borland (imagino Visual C++ o algo así) pues es parte de la librería de borland, tal vez (la verdad de momento no tengo como probarlo) tampoco lo jale Borland C++Builder, tal vez, de momento no puedo verificarlo, solo fijate que exista en tu compilador <bios.h> y que esta librería tenga la función bioskey o cual es su honomina en tu compilador (si es que tiene una homonima).

Espero que te sirva, como comentario este codigo fue compilado en Turbo C++ 3.0
"La envidia en los hombres muestra cuán desdichados se sienten, y su constante atención a lo que hacen o dejan de hacer los demás, muestran cuánto se aburren." "Las religiones, como las luciérnagas, necesitan de oscuridad para brillar." "Los hombres vulgares han inventado la vida en sociedad porque les es más fácil soportar a los demás que soportarse a sí mismos." "Sólo es libre aquello que existe por las necesidades de su propia naturaleza y cuyos actos se originan exclusivamente dentro de sí." "La experiencia nos ha demostrado que a la persona no le resulta nada más difícil de dominar que su lengua." "La madurez del hombre es haber vuelto a encontrar la seriedad con la que jugaba cuando era niño." "Los monos son demasiado buenos para que el hombre pueda descender de ellos." "El hombre, en su orgullo, creó a Dios a su imagen y semejanza" "Lo que hacemos no es nunca comprendido, y siempre es acogido sólo por los elogios o por la crítica."

Cid_Highwind

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Ansi
« Respuesta #8 en: Viernes 10 de Diciembre de 2004, 01:06 »
0
Avis, estoy usando el Borland C++ 5.01, en la carpeta de INCLUDE esta el bios.h, pero me marca ese error a la hora de compilar, no se que pueda ser  :(

Cid_Highwind

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Ansi
« Respuesta #9 en: Viernes 10 de Diciembre de 2004, 02:53 »
0
Ya me funcionó!!  gracias avis, tu código me será de gran utilidad.

saludos.

avis_phoenix

  • Miembro activo
  • **
  • Mensajes: 96
  • Nacionalidad: mx
    • Ver Perfil
Re: Ansi
« Respuesta #10 en: Viernes 10 de Diciembre de 2004, 04:47 »
0
A que bueno  que ya te funciono, pienso yo que sería bueno que pusieras por que no te funcionaba tal vez a otrolellegue a pasar, por muy simplon que haya sido el error, Gracias
"La envidia en los hombres muestra cuán desdichados se sienten, y su constante atención a lo que hacen o dejan de hacer los demás, muestran cuánto se aburren." "Las religiones, como las luciérnagas, necesitan de oscuridad para brillar." "Los hombres vulgares han inventado la vida en sociedad porque les es más fácil soportar a los demás que soportarse a sí mismos." "Sólo es libre aquello que existe por las necesidades de su propia naturaleza y cuyos actos se originan exclusivamente dentro de sí." "La experiencia nos ha demostrado que a la persona no le resulta nada más difícil de dominar que su lengua." "La madurez del hombre es haber vuelto a encontrar la seriedad con la que jugaba cuando era niño." "Los monos son demasiado buenos para que el hombre pueda descender de ellos." "El hombre, en su orgullo, creó a Dios a su imagen y semejanza" "Lo que hacemos no es nunca comprendido, y siempre es acogido sólo por los elogios o por la crítica."

Cid_Highwind

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Ansi
« Respuesta #11 en: Viernes 10 de Diciembre de 2004, 08:32 »
0
Lo unico que hay que hacer es NUEVO PROYECTO y pegar tu codigo y ya, no me funcionaba porque no lo hacia como proyecto jeje  :whistling:

Saludos.

Nick++

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Ansi
« Respuesta #12 en: Jueves 6 de Enero de 2005, 23:18 »
0
Cita de: "avis_phoenix"
Hola pues lo más seguro es que uses un compilador que no sea de borland (imagino Visual C++ o algo así) pues es parte de la librería de borland, tal vez (la verdad de momento no tengo como probarlo) tampoco lo jale Borland C++Builder, tal vez, de momento no puedo verificarlo, solo fijate que exista en tu compilador <bios.h> y que esta librería tenga la función bioskey o cual es su honomina en tu compilador (si es que tiene una homonima).

Espero que te sirva, como comentario este codigo fue compilado en Turbo C++ 3.0
 :hola: Hola. Tenía casi el mismo problema que Cid con lo del BIOS.H pero ahora me surgió otro :unsure: : BIOS.H necesita de <_defs.h> y este no lo tengo. Podrías ayudarme con eso. Te lo agradecería mucho :D .

G R A C I A S ! ! !

mgitano2001

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Re: Ansi
« Respuesta #13 en: Viernes 7 de Enero de 2005, 00:48 »
0
getch() no es ANSI C.
Saludos Mgitano2001
</span></span>

avis_phoenix

  • Miembro activo
  • **
  • Mensajes: 96
  • Nacionalidad: mx
    • Ver Perfil
Re: Ansi
« Respuesta #14 en: Viernes 7 de Enero de 2005, 02:36 »
0
mm pues bueno, no se si sea lo que menciona mgitano2001, pues mira, si lo que dice mgitano2001 pues simplemente debes definir la variable como char para comvertir un ansi c en char es AnsiString MiVar; char c; c = MiVar[0]; (no recuerdo si es 0 o 1 la primer letra del ansi) que otra cosa??, pues bueno si no es esto pues dime, que compialdor es, que version, que codigo usaste y como lo usaste, dame datos asíno se nada.
"La envidia en los hombres muestra cuán desdichados se sienten, y su constante atención a lo que hacen o dejan de hacer los demás, muestran cuánto se aburren." "Las religiones, como las luciérnagas, necesitan de oscuridad para brillar." "Los hombres vulgares han inventado la vida en sociedad porque les es más fácil soportar a los demás que soportarse a sí mismos." "Sólo es libre aquello que existe por las necesidades de su propia naturaleza y cuyos actos se originan exclusivamente dentro de sí." "La experiencia nos ha demostrado que a la persona no le resulta nada más difícil de dominar que su lengua." "La madurez del hombre es haber vuelto a encontrar la seriedad con la que jugaba cuando era niño." "Los monos son demasiado buenos para que el hombre pueda descender de ellos." "El hombre, en su orgullo, creó a Dios a su imagen y semejanza" "Lo que hacemos no es nunca comprendido, y siempre es acogido sólo por los elogios o por la crítica."