martes, 8 de febrero de 2011

Dar vida a la consola de texto con Biblioteca Ncurses

¿Que es Ncurses?
Ncurses es una biblioteca de programación que permite al programador escribir interfaces basadas en texto.

La diferencia en programación con bibliotecas estandar y ncurses, que ncurses es capaz de "crear" consolas logicas. En la consola de texto (ver imagen -->) con la biblioteca estandar de C, la entrada y salida de un caracter o texto es siempre por la izquierda hacia derecha y casi siempre confirmando con ENTER. Donde esta parpadenado un caudrado a la espera de caracter, es la consola.
Sin embargo, ncurses puede crear una consola logica en un punto determinado, tratando la ventanilla de la consola como una matriz. Para poder crear este imagen en consola de texto "normal" hay que pulsar XX vesez "el espacio" intro intro espacio espacio imprimir simbolos, o en otras palabras imposible. Pero gracias a Ncurses podemos realizar este dibujo a penas de 10 comandos de linea.



Que puede hacer Ncurses:
- Crear interfaz;
- Trabajar con colores;
- Formatear texto (Negrito, cursivo, parpadear[blink]);
- Recibir la entrada de teclados como  (arriba, abajo, izda, dcha)
- Recibir teclado sin confirmar con Enter
mucho mas!

Durante este curso yo voy a desarollar programas y/o juegos en esta libreria. Si alguien tiene interes de aprender manejar con esta biblioteca, preguntarme.
Es bastante facil, logico y muy util para desarollar programas interactivas.

Un ejemplo demostrativo:
Matrix (compilado en Linux) En propiedades del fichero marcar "Ejecutar como un programa"
Matrix (compilado en Windows)

Ejecutarlo en teminal.

Saludos!!!

martes, 11 de enero de 2011

Ejecutar Ncurses en Windows

Hola. Hay una manera para usar la biblioteca NCurses en Windows. Existe otra biblioteca que se llama PDCurses, que es para plataformas DOS, WIN32.
Para instalarlo, hay que hacer siguiente:

2. Elegimos la versión mas reciente (por ej: 3.4). Descargamos el archivo pdcursxx.zip
Donde xx - la versión. (ej: pdcurs34.zip).
3. Ahora, entramos a www.codeblocks.org. Elegimos ¨Download the binary release¨, para Windows XP/Vista/7. Bajamos el programa con soporte mingw (ej: codeblocks-10.05mingw-setup.exe)
4. Instalamos el programa en la siguiente ruta. C:\CodeBlocks . Instalar version completa (complete instalation)
5. Extraemos el contenido de pdcurs34.zip de paso 2 dentro de la carpeta C:\CodeBlocks (paso  Al final tiene que quedar C:\CodeBlocks\pdcurs34
6. Escuchamos a este tío que nos explica cómo hacer la compilación de la biblioteca PDCurses (en inglés) o hacer la siguiente:
Ejecutar consola de comandos (CMD) (Inicio - ejecutar - cmd o [win+R] - cmd)
C:\CodeBlocks\pdcurs34 - es donde está la carpeta con PDCurses
cd C:\
set PDCURSES_SRCDIR=C:\CodeBlocks\pdcurs34
path=c:\codeblocks\mingw\bin
cd C:\CodeBlocks\pdcurs34
cd win32
mingw32-make -f mingwin32.mak
Tiene que empezar el proceso de compilación.
7. Volvemos al programa instalado. Ejecutamos CodeBlocks.exe (Habrá un acceso directo en el escritorio)
8. En menú principal, configuramos (File, Edit ... Settings --> Compiler and debugger...)
GNU GCC Compiler --> Compiler Flags, activamos informar de todas las alertas -Wall
Toolchain executables --> Compiler's instalation directory tiene que ser la dirección donde está el CodeBlocks\MinGW (ej: C:\CodeBlocks\MinGW). Al pinchar autodetect se detecta.
Ultimo paso, ahora al compilador hay que incluir biblioteca PDCurses.   
Linker settings --> add. Buscar C:\CodeBlocks\win32. Habrá pdcurses.* panel.*
donde * - puede ser .a o .so (ej: pdcurses.a panel.a)
9. Listo.

Para comprobar, escribir siguiente programa: (File - new - Project - Console aplication - lenguaje C - nombre de proyecto - folder to create project in (en el escritorio por ejemplo) - compilador GNU GCC Compiler - Finish) Ahora, en carpeta Source - main.c

#include <curses.h>
int main() {
initscr();
move(10,32);
printw("Hola mundo!!!");
refresh();
getch();
endwin();
return 0;
}

Si, tras compilar y ejecutar te sale la frase Hola Mundo! en el centro de la consola, ¡Enhorabuena!
Si no, empezar desde el principio de los pasos escritos.

Saludos y buena suerte en programación.

lunes, 15 de noviembre de 2010

martes, 9 de noviembre de 2010

Ejecutar aplicaciones de Windows en Linux

WINE - WINdows Emulator puede ejecutar aplicaciones de windows en otros O.S.
Ejecutar aplicaciones de Windows en Linux, BSD, Solaris and Mac OS X. Descargar aqui

Caracteristicas del WINE