miércoles, 6 de junio de 2007

Dame tu conio (II)...

Gente, esta es una versión nueva del conio de Porland para linux.....
Para mi sigue siendo mejor alternativa antes que pasarme al lado oscuro y tener que usar el 5.2 de Borland.... UNLaManíacos..... disfrútenla...!!! :-P

/* +++++++++++ conio.h de Porland (versión trucha del Borland :-) +++++++++++
*
* Autor: Omar Murray (Crux_) Versión: 0.0.2
* Licencia: GPL Fecha: 05/06/07
*
* Esto intenta ser una recopilación de las funciones más utilizadas en
* la librería de Borland para poder generar código y compilar
* utilizando gcc en GNU/Linux, y luego poder correrlo en un entorno
* Borland sin necesidad de modificar el código escrito. Mayormente son trozos
* de código obtenido de inet y recopilados en una sola librería. La idea es
* utilizarlo para fines educativos; está en absoluto estado alfa, así que su
* uso queda a riesgo de quien lo utilice.
*
* CHANGELOG
* v 0.0.1 Se implemente funciones getch() y clrscr().
* v 0.0.2 se agrega función gotoxy(), se ordena código.*/

#include
#include
#include
#include
#include

//******************FUNCION GETCH****************************
int getch( ) {
struct termios oldt,
newt;
int ch;
tcgetattr( STDIN_FILENO, &oldt );
newt = oldt;
newt.c_lflag &= ~( ICANON | ECHO );
tcsetattr( STDIN_FILENO, TCSANOW, &newt );
ch = getchar();
tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
return ch;
}

//******************FUNCION CLRSCR*****************************
void clrscr( ) {
system("clear");
}

//**************** **FUNCION GOTOXY*****************************
int gotoxy(int x, int y) {
char essq[100]; // String variable to hold the escape sequence
char xstr[100]; // Strings to hold the x and y coordinates
char ystr[100]; // Escape sequences must be built with characters

// ** Convert the screen coordinates to strings
sprintf(xstr, "%d", x);
sprintf(ystr, "%d", y);

// ** Build the escape sequence (vertical move)
essq[0] = '\0';
strcat(essq, "\033[");
strcat(essq, ystr);

// ** Described in man terminfo as vpa=\E[%p1%dd
// ** Vertical position absolute
strcat(essq, "d");

// ** Horizontal move
// ** Horizontal position absolute
strcat(essq, "\033[");
strcat(essq, xstr);

// // Described in man terminfo as hpa=\E[%p1%dG
strcat(essq, "G");

// ** Execute the escape sequence
// ** This will move the cursor to x, y
printf("%s", essq);
return 0;
}


"/usr/lib/gcc/i486-linux-gnu/4.1.2/include/conio.h"

1 comentario:

vndecid dijo...

Aca un Estudiante de la UNlam de Informatica ...jeje UBUNTU 7.10 y usando la conio.h de Omar...es un capo
La consegui en otro lado pero es bueno agradecer