Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: mrkcc en 4 Junio 2010, 22:21 pm



Título: teclas derecha izquirda, arriba y abajo
Publicado por: mrkcc en 4 Junio 2010, 22:21 pm
bueno nesesito realizar  es que navege con las teclas en el consola, bueno esto es parte de mi codigo que quiero realizar, buneo si reailza parte pero solo lo hace de arriba y abajo pero tambien nesesito realizarlo de izquirda a derecha, mas que todo navegar por la consola.

Código:
//lista de menu
for (i=0;i<MaxNo_Menu_a;++i)
            {
                posicionxy(xpos,ypos[i]);
                textattr(0|col1*col2);
                cout << menu_list_a[i];
                cout << ceros;
            }

// menu activado
i=0;
ii=0;
while(1)

{
            //==================A=============
            posicionxy(xpos, ypos[i]);
            textattr(14|col1*col2);
            cout << menu_list_a[i];

        /*
        nota:   esto seria las teclas:
                72 -> UP button
                75 -> RIGHT button
                77 -> LEFT button
                80 -> DOWN button
*/
switch( parar_tecla() )//parecido getchar o getch
    {
case 72://esta funciona bien
            if(i>0)
            {
                posicionxy(xpos,ypos[i]);
                textattr(0|col1*col2);
                cout << menu_list_a[i];
                --i;
            }
            break;

case 80://esto funciona bien
            if(i< MaxNo_Menu_a-1 )
{
       posicionxy(xpos,ypos[i]);
       textattr(0|col1*col2);
                cout << menu_list_a[i];
                ++i;
            }
            break;
/*
//=======bueno el 77 y 75 es lo que no funciona========================
        case 77:
            if(i<0)
            {
                posicionxy(xxpos,yypos[i]);
                textattr(0|col1*col2);
                cout << menu_list_b[i];
                --i;
            }
            break;
        case 75:
            if(i>MaxNo_Menu_b-1 )
{
       posicionxy(xxpos,yypos[i]);
       textattr(0|col1*col2);
                cout << menu_list_b[i];
                ++i;
            }
            break;
//=====================fin de prueba===============
*/
case 13:
            if(i==0)
            {
                posicionxy(1,5);cout << ":1 ";
                posicionxy(8,7);cin >> v[0];


            }
if(i==1)
{
   posicionxy(1,5);  cout << ":2 ";
   posicionxy(8,10);cin >> v[1];

            }
            if(i==2)
            {
                posicionxy(1,5);  cout << ":3 ";
                posicionxy(8,13);cin >> v[2];

            }
            if(i==3)
            {
                posicionxy(1,5);  cout << ":4 ";
                posicionxy(8,16);cin >> v[3];

            }
            if(i==4)
            {
                posicionxy(1,5);  cout << ":5 ";
                posicionxy(8,19);cin >> v[4];

            }

            break;
}
}

bueno si me puedo navegar de arriba para abajo y viceversa, pero al querer hacer lo mismo con la derecha e izquierda no se puede, que puedo hacer.



Título: Re: teclas derecha izquirda, arriba y abajo
Publicado por: Saberuneko en 9 Junio 2010, 08:40 am
Estás seguro que has asignado los valores correctos de las teclas laterales? Si mal no recuerdo, son 37 y 39.


Título: Re: teclas derecha izquirda, arriba y abajo
Publicado por: mrkcc en 10 Junio 2010, 00:24 am
bueno no creoq ue funciones eso pero en fin probe con estas y me funciono en lo correcto, lo probe en devc++ y codeblocks, visualc++, en borlan si no ya que no lo tengo instalado.
=============================================
#include <iostream>

#include <conio.h>
/*
bueno conio.h lo trae el compilador que use auque no tiene todas
las opciones de borlan, bueno solo tiene tre funciones pero esto
es lo que queremos, tambien podriasmos usar getchar. pero yo preferi
esto.
*/

using namespace std;

int main()
{

   while(1)
   {

   switch(getch())
    {
   case 72:
        cout <<"Arriba" << "\n";
    break;
    case 80:
        cout <<"Abajo" << "\n";
    break;
    case 77:
        cout <<"Derecha" << "\n";
    break;
    case 75:
        cout <<"Izquierda" << "\n";
    break;
    }
   }
}
========================================

bueno esto lo que hize al final pero hay un problema, que cuando quiero  moverme por la consola no me lo permite, pero como te digo aquneue probe con las 36 y 37 no funcionaron, lo estoy realizando en windows.


Título: Re: teclas derecha izquirda, arriba y abajo
Publicado por: Saberuneko en 10 Junio 2010, 08:40 am
Bueno, sorry, no estoy seguro... Los únicos menús que hice en mi vida sólo escroleaban arriba y abajo.  :-[