• Viernes 15 de Noviembre de 2024, 05:58

Autor Tema:  Programacion Consola  (Leído 2064 veces)

abebex17

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Programacion Consola
« en: Sábado 7 de Agosto de 2004, 15:52 »
0
Hola, a todos, mi pregunta es cual es la libreria equivalente de conio.h de borland en linux ,ya que cuan :unsure: do la incluyo no la encuentra,  programando con la libreria svgalib hay una que es vga_getch(); que y otras parecidas, a las que habia en conio.h , donde encuentro todas esas rutinas, getch();,clrscr();,kbhit();.

Saludos.

NRM

  • Miembro MUY activo
  • ***
  • Mensajes: 279
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.narrowmind.com.ar
Re: Programacion Consola
« Respuesta #1 en: Domingo 8 de Agosto de 2004, 21:44 »
0
Aca tenes un "port"  de conio.h que utiliza ncurses (fueron escritas por un brasilero). Espero te sirva.

Código: Text
  1. // conio.h
  2. // CONIO.H UTILIZANDO OS RECURSOS DA BIBLIOTECA NCURSES     //
  3. // ----------------------------------------------------     //
  4. //                                                          //
  5. // DESENVOLVIDO POR: JEFFERSON DOS SANTOS FELIX, ABRIL 2004 //
  6. //                                                          //
  7.  
  8. #ifndef __NCURSES_H
  9. #include <curses.h>
  10. #endif
  11.  
  12. #define BLACK       0
  13. #define RED         1
  14. #define GREEN       2
  15. #define BROWN       3
  16. #define BLUE        4
  17. #define MAGENTA     5
  18. #define CYAN        6
  19. #define LIGHTGRAY   7
  20. #define DARKGRAY    8
  21. #define LIGHTRED    9
  22. #define LIGHTGREEN  10
  23. #define YELLOW      11
  24. #define LIGHTBLUE   12
  25. #define PINK        13
  26. #define LIGHTCYAN   14
  27. #define WHITE       15
  28.  
  29. #define DEFAULT_PAIR 57
  30.  
  31. int initconio(void);
  32. int endconio(void);
  33. int clrscr(void);
  34. int textcolor(short color);
  35. int textbackground(short color);
  36. int gotoxy(int x, int y);
  37. int wherex(void);
  38. int wherey(void);
  39.  
  40. short cur_pair;
  41. int cur_bold;
  42.  
  43. int initconio(void)
  44. {
  45.   int f, b;
  46.   short p;
  47.   initscr();
  48.   start_color();
  49.   p = 1;
  50.   for(f = 0; f < 8; f++)
  51.     for(b = 0; b < 8; b++, p++)
  52.       init_pair(p, f%8, b%8);
  53.   cur_pair = DEFAULT_PAIR;
  54.   cur_bold = 0;
  55.   bkgd(COLOR_PAIR(cur_pair));
  56.   color_set(cur_pair, NULL);
  57.   attr_off(A_BOLD, NULL);
  58.   return 0;
  59. }
  60.  
  61. int endconio(void)
  62. {
  63.   endwin();
  64.   return 0;
  65. }
  66.  
  67. int clrscr(void)
  68. {
  69.   bkgd(COLOR_PAIR(cur_pair));
  70.   if(cur_bold == 1)
  71.     attr_on(A_BOLD, NULL);
  72.   else
  73.     attr_off(A_BOLD, NULL);
  74.   clear();
  75.   return 0;
  76. }
  77.  
  78. int textcolor(short color)
  79. {
  80.   short f, b, x, y;
  81.   short p;
  82.   pair_content(cur_pair, &f, &b);
  83.   p = 1;
  84.   for(x = 0; x < 8; x++)
  85.     for(y = 0; y < 8; y++, p++)
  86.       if((x == (color%8))&&(y == b))
  87.         cur_pair = p;
  88.   color_set(cur_pair, NULL);
  89.   if(color >= 8)
  90.   {
  91.     cur_bold = 1;
  92.     attr_on(A_BOLD, NULL);
  93.   }
  94.   else
  95.   {
  96.     cur_bold = 0;
  97.     attr_off(A_BOLD, NULL);
  98.   }
  99.   return 0;
  100. }
  101.  
  102. int textbackground(short color)
  103. {
  104.   short f, b, x, y;
  105.   short p;
  106.   pair_content(cur_pair, &f, &b);
  107.   p = 1;
  108.   for(x = 0; x < 8; x++)
  109.     for(y = 0; y < 8; y++, p++)
  110.       if((x == f)&&(y == (color%8)))
  111.         cur_pair = p;
  112.   color_set(cur_pair, NULL);
  113.   return 0;
  114. }
  115.  
  116. int gotoxy(int x, int y)
  117. {
  118.    move(x - 1, y - 1);
  119.    return 0;
  120. }
  121.  
  122. int wherex(void)
  123. {
  124.    int x, y;
  125.    getyx(stdscr, x, y);
  126.    return x + 1;
  127. }
  128.  
  129. int wherey(void)
  130. {
  131.    int x, y;
  132.    getyx(stdscr, x, y);
  133.    return y + 1;
  134. }
  135.  

abebex17

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Programacion Consola
« Respuesta #2 en: Lunes 9 de Agosto de 2004, 14:27 »
0
Osea que la biblioteca que yo nessito es Curses.h o NCurses.h???? y de donde puedo sacar la getch(); que es la que que mas nesesito.

Saludos. :hola:

NRM

  • Miembro MUY activo
  • ***
  • Mensajes: 279
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.narrowmind.com.ar
Re: Programacion Consola
« Respuesta #3 en: Martes 10 de Agosto de 2004, 05:03 »
0
ncurses es una libreria que viene generalmente con la mayor parte de las distribuciones. Sino es asi en la tuya entra a el siguiente link http://www.gnu.org/software/ncurses/

Espero te sirva.

[BlueDolph]

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Programacion Consola
« Respuesta #4 en: Sábado 4 de Septiembre de 2004, 05:27 »
0
Hola...
Mira... en Linux no tenes conio.h... tenes como bien te dijeron curses.h o ncurses.h ... y ahí mismo vas a encontrar una funcion getch como la que usas en Win, aunque son mucho mas completas esas libs que conio.h...

Saludos...
[BlueDolph]