• Domingo 22 de Diciembre de 2024, 02:43

Autor Tema:  Re: flechitas sin mayusculas RETO  (Leído 3908 veces)

progdan

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
    • http://orbita.starmedia.com/~informatica11/
Re: flechitas sin mayusculas RETO
« en: Sábado 2 de Marzo de 2002, 06:30 »
0
tengo un menu movil que se desplaza presionando flechita arriba y abajo.

estos numeros ascii corresponden tambien a unas mayusculas.

como hacer para que el menu se mueva solo con las flechas sin las mayusculas.

[Modificado el 3/2/02 por progdan]

[Modificado el 3/2/02 por progdan]
cd

tenesor

  • Miembro activo
  • **
  • Mensajes: 90
    • Ver Perfil
Re: flechitas sin mayusculas RETO
« Respuesta #1 en: Sábado 2 de Marzo de 2002, 06:35 »
0
Hola.

Los codigos ASCII correspondientes a las flechas son:
---------------
ARRIBA:    | 72
---------------
ABAJO:     | 80
---------------
DERECHA:   | 77
---------------
IZQUIERDA: | 75
---------------

Espero que esto te sirva.

Saludos,
 Tenesor
Que el toro estoque al matador, que el preso enciere al guardián, que solo sean de cerveza los tanques, que el pez pesque al pescador y que el tigre dome al domador, que la television se prohiba y el hachis se legalice, que africa sea tierra mágica y no trágica... cambiando el mundo [NS]

progdan

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
    • http://orbita.starmedia.com/~informatica11/
Re: flechitas sin mayusculas RETO
« Respuesta #2 en: Sábado 2 de Marzo de 2002, 06:49 »
0
Citar
Hola.

Los codigos ASCII correspondientes a las flechas son:
---------------
ARRIBA:    | 72
---------------
ABAJO:     | 80
---------------
DERECHA:   | 77
---------------
IZQUIERDA: | 75
---------------

Espero que esto te sirva.

Saludos,
 Tenesor


esos numeros tambien corresponde a unas mayusculas, como hacer para que el menu solo se mueva con las flechitas y no con esas mayusculas.
cd

tenesor

  • Miembro activo
  • **
  • Mensajes: 90
    • Ver Perfil
Re: flechitas sin mayusculas RETO
« Respuesta #3 en: Sábado 2 de Marzo de 2002, 10:42 »
0
ummm, me parece que tu tienes el problema en otra parte del codigo. No hace falta pretar shift para nada. Haz un ejemplo simple con Switch-case y verás como no.


Pero bueno, si no tienes ganas de pensar, aqui va el programita:)

------------------
#include <stdio.h>

main()
{
    char chr;

    printf("Pulsa una flechan");

    do{
    chr=getch();


        switch(chr){
           case 72:
              printf("nArriba");
           case 80:
              printf("nAbajo");
           case 75:
              printf("nIzquierda");
           case 77:
              printf("nDerecha");
        }
    }while(chr!=48);
}
-----------------------

Se me olvidaba! el 48 es el 0 (cero). SI pulsas 0 sale del programa.

Saludos,
  Tenesor



[Modificado el 3/2/02 por tenesor]
Que el toro estoque al matador, que el preso enciere al guardián, que solo sean de cerveza los tanques, que el pez pesque al pescador y que el tigre dome al domador, que la television se prohiba y el hachis se legalice, que africa sea tierra mágica y no trágica... cambiando el mundo [NS]

progdan

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
    • http://orbita.starmedia.com/~informatica11/
Re: flechitas sin mayusculas RETO
« Respuesta #4 en: Domingo 3 de Marzo de 2002, 20:56 »
0
------------------
#include <stdio.h>

main()
{
    char chr;

    printf("Pulsa una flechan");

    do{
    chr=getch();


        switch(chr){
//Si presiona la 'M' El entrará a este caso
           case 72:
              printf("nArriba");

//Si presiona la 'P' El entrará a este caso
           case 80:
              printf("nAbajo");

//Si presiona la 'K' El entrará a este caso
           case 75:
              printf("nIzquierda");

//Si presiona la 'H' El entrará a este caso
           case 77:
              printf("nDerecha");
        }
    }while(chr!=48);
}
-----------------------

COMO HACER PARA QUE ESTAS MAYUSCULAS AL PRESIONARLAS NO ME MUEVA EL MENU.

-> Solo con las flechitas.:P
cd

tenesor

  • Miembro activo
  • **
  • Mensajes: 90
    • Ver Perfil
Re: flechitas sin mayusculas RETO
« Respuesta #5 en: Lunes 4 de Marzo de 2002, 16:40 »
0
Joer, pues no sabia que esto pasaba...

Pues me parece que si el codigo ascii es el mismo no hay solucion para lo que planteas.

Lo que no se si lo he entendido muy bien. Qué más dá que si pulsa M sea lo mismo a la flecha 77? quien se va a molestar en buscar y utilizar esto?

Saludos,
  Tenesor
Que el toro estoque al matador, que el preso enciere al guardián, que solo sean de cerveza los tanques, que el pez pesque al pescador y que el tigre dome al domador, que la television se prohiba y el hachis se legalice, que africa sea tierra mágica y no trágica... cambiando el mundo [NS]

agvabraham

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: flechitas sin mayusculas RETO
« Respuesta #6 en: Sábado 16 de Marzo de 2002, 10:42 »
0
Creo que es un poco tarde para responder este mensaje...pero bueno.

Mira es facil cuando presionas esas teclas te devuelve dos valores ya que es un codigo estendido ok el primer valor es 0 y despues el de la tecla pulsada..

Bueno por lo visto ya tienes el valor de la tecla ahora compara si el primer valor es un cero,,, puedes meterlo en un ciclo infinito con condicion de salida ESC
 
do {
    car=getch();
    if (car = 0)
       car=getch
    switch (car)
   
    case 72: arriba ();
}while (car != ESC );

recuerdo que algo asi utilice para crear un menu con movimiento de cursor.

Bueno espero te sirva.

bob

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: flechitas sin mayusculas RETO
« Respuesta #7 en: Lunes 25 de Marzo de 2002, 20:17 »
0
Si, las "flechitas" devuelven:

0

y luego

XX (el codigo que sea)

lo mas facis es hacer:

do {
   chr=getch();

   if (chr == 0)
      switch(chr){
      case 72:
      ....
      }
   }

} ...

y tal y tal

ciao

agvabraham

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: flechitas sin mayusculas RETO
« Respuesta #8 en: Jueves 4 de Abril de 2002, 07:59 »
0
Claro que no es lo mas facil porque si rectificas tu codigo   la variable   chr
tiene el valor de cero lo cual quiere decir que en el switch buscara la opcion que valga cero y no buscara la opcion que realmente necesitas evaluar por eso es necesario sacar del buffer el verdadero valor de la tecla...espero lo entiendas y sino aqui estamos para aclararlo....

akashico

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: flechitas sin mayusculas RETO
« Respuesta #9 en: Viernes 12 de Abril de 2002, 13:13 »
0
Este problema se soluciona con codigo ensamblador. Lo buscare y cuando lo tenga lo pasteo.
Si puedes pensarlo, puedes programarlo

observador

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
    • http://www.soloprogramacion.net/
flechitas sin mayusculas RETO
« Respuesta #10 en: Miércoles 5 de Marzo de 2003, 11:06 »
0
Bien... si alguien dijo que tal ves era un poco tarde para contestar pues entonces yo llegue mas tarde todavia... pero traje la solucion... tal ves a los autores de los mensajes anteriores ya no les interese sim embargo alguien puede ver los mensajes y caen en cuenta que esa duda tambien le surguio...

Pues que creen... la solucion esta en manipular los bits de las teclas que se precionan... Asi se puede diferenciar las techlas H, M, P, y K de Flechas ARRIBA, DERECHA, ABAJO e IZQUIERDA, respectivamente... Es decir H es diferente de Flecha ARRIBA, M es difecente de Flecha ABAJO, etc...

Les recomiendo que bajen el codigo que anexe al mensaje... El codigo fue probado y compilado en Turbo C++ 3.0 de Borland...

A mi parecer esta muy bien... antes tenia una funcion que solo me reconocia teclas extendidas (Flechas, F1-F10, ESC, Inicio, Fin, Insert, etc.) y otra que me reconocia combinacion de teclas (CTRL+A, ALT+A, etc. por ejemplo) y otra para caracteres normales (A-Z, a-z, 0-9, +,-,*, etc.) pero con esta nueva funcion todo eso paso a la historia... ahora una sola funcion me reconoce tanto caracteres normales, como teclas extendidas, asi como combinacion de teclas... y ahora esta al alcande de ustedes...

Bueno espero que les sirva... si tienen dudas o comentarios escribirme a:

xsantosbussines@hotmail.com

Nota: Quitenle la x a la direccion, solo se la puse para evitar la intrusion de programas robots y evitar el correo basura...

Bien Chao y hasta pronto...
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
Solo Programacion Net

Hasta pronto...