PDF de programación - atix09

Imágen de pdf atix09

atix09gráfica de visualizaciones

Actualizado el 29 de Enero del 2021 (Publicado el 7 de Marzo del 2018)
694 visualizaciones desde el 7 de Marzo del 2018
5,2 MB
70 paginas
Creado hace 15a (20/04/2009)
Dirección y Coordinación General
Esteban Saavedra López ([email protected])

Diseño y Maquetación 
Jenny Saavedra López ([email protected])
Esteban Saavedra López ([email protected])

Revisiones
Esteban Saavedra López
Jenny Saavedra López

Noticias
Ivonne Menacho
Jenny Saavedra López
Marcia Velasquez

Autores Frecuentes
Arnold Guzmán
Carlos Ramos
Ernesto Rico Smith
Esteban Saavedra López

Joseph Sandoval
Lucy Ayarde Romero
Rocio Figueroa
Williams Chorolque Choque

Herramientas
La edición de esta revista fue realizada de forma integra haciendo uso de Software
Libre



Al empezar un nuevo proyecto o una nueva actividad en nuestras vidas, siempre
sentimos el miedo de saber como nos irá, pero al completar un ciclo, nos damos
cuenta realmente de lo difícil o sencillo que fue, de las cosas que olvidamos, de las
cosas que aprendimos, de las cosas que faltaron; lo importante es que aprendimos,
y ganamos experiencia, aspectos que nos ayudaran a encarar un nuevo ciclo en
nuestras vidas, en nuestro conocimiento y en nuestros proyectos

Un año de emprendimiento, un título que refleja de forma clara y concisa lo que el
equipo de la revista Atix trato de hacer; hace un año decidimos emprender este reto,
que sabíamos que era una tarea difícil, con muchísimas falencias presupuestarias y
logísticas, pero a cambio proponíamos muchas ganas, mucho esfuerzo, y sobre
todo mucha predisposición a salir adelante, ahora después de haber concluido un
año, nos damos cuenta que nuestro compromiso dió sus frutos, no solo para
quienes conforman el equipo de la revista, sino también para nuestros lectores, y
autores, por que estamos seguros que lo logrado en este año de emprendimiento
vale más que cualquier sacrificio y restricción que hayamos podido tener.

En éste noveno número ponderamos los mensajes de libertad y aliento que
recibimos de la comunidad nacional e internacional, mensajes que nos motivan y
comprometen más a seguir trabajando en bien del conocimiento, las tecnologías y el
software libre, por que esto representa nuestra libertad.

Un año de emprendimiento y la satisfacción de haber 

cumplido nuestro primer ciclo.

Bienvenidos a nuestro noveno número

Esteban Saavedra López
Director y Coordinador General

Programando con
NCURSES en C

Ncurses es una biblioteca de programación que provee una API que permite al
programador escribir interfaces basadas en texto, TUIs. También optimiza el refresco de
la pantalla, lo que permite reducir la latencia experimentada cuando se usan intérpretes
de comandos remotos. Incluso en las interfaces de usuario modo texto podemos
elaborar aplicaciones elegantes y llamativas.

probable es que en algún momento se halla
enfrentado con uno de estos programas; si
usted es un usuario acostumbrado a las
interfaces gráficas de usuario (GUIs) quizás
no le fue de mucho agrado trabajar con estos
programas.
Hace apenas unas 3 décadas (fácil decirlo)
no existían las interfaces gráficas, todo
programa estaba orientado a la consola.
Poco a poco se buscaron las formas para
hacer que estos programas fuesen más
intuitivos y amigables para el usuario; en
afán de alcanzar este propósito se crearon
APIs para elaborar aplicaciones de usuario,
con elementos fáciles de identificar y
manejar, por ejemplo, colores, menús, uso
del ratón, etc. Una de estas APIs fue
desarrollada por la compañía Borland, un
conjunto de bibliotecas no estándar para
lenguaje C que incluyó en su famosos IDEs
Borland C y Turbo C. Quién no conoce las
famosas conio.h,   dos.h,   graphics.h,
etc. con las que podíamos crear incluso vídeo
juegos.
Pues bien, en este artículo
aprenderemos de forma básica como hacer
esto pero en sistemas GNU/Linux.

Introducción
En estos días en donde las interfaces
gráficas dominan la mayor parte de las
aplicaciones que se desarrollan, algún lector
podría pensar que escribir un artículo de
programación sobre interfaces en modo texto
(TUIs) es algo anticuado, sin embargo, es
cierto que hasta hoy en día aún se emplean
este tipo de programas, en unos sistemas un
poco más que en otros. Dentro de los
sistemas tipos UNIX aún es muy común
interactuar con estos programas y los
sistemas GNU/Linux no podrían ser la
excepción. Usted como usuario de estos
sistemas o como usuario normal lo más


Gráfico 1.

Otro proyecto famoso dentro de los entornos
UNIX fue CURSES, del cual hablaremos en
la siguiente sección.
El presente documento tiene la finalidad de
introducir al usuario a la teoría y algo de
práctica con la biblioteca ncurses, no
pretende ser un tutorial extenso y formal. Se
espera que con la información que aquí se
maneje se pueda dotar al usuario de las
bases necesarias para poder investigar y
mejorar por su parte. Al final del documento
se listan algunas referencias y enlaces a
material muy valioso que puede ser de
utilidad para el lector.

¿Qué es NCURSES?
Antes de conocer ciertamente el significado
de ncurses
tenemos que hablar sobre
Curses, una biblioteca creada por Ken Arnold
lanzada inicialmente bajo un sistema UNIX
BSD. Esta biblioteca contenía funciones para
el manejo de interfaces en modo texto (TUIs),
las cuales permitían la manipulación de

varios elementos del terminal, tales como los
colores, manejo del cursor, menús, etc. La
biblioteca curses fue descontinuada hace
algunos años.
Ncurses es el acrónimo de New Curses, uno
de los proyectos de GNU bajo la licencia MIT,
unos de los pocos que no está licenciado
bajo las muy conocidas GPL o LGPL,
licencias nativas del GNU. Hoy día, Ncurses
viene a reemplazar esta biblioteca y ofrece
todas las funciones antes mencionadas para
todos los sistemas tipo-UNIX, incluso existe
una versión para windows
llamada
PDCURSES.

¿Qué podemos hacer con
ellas?
Con el uso de estas bibliotecas podemos
elaborar aplicaciones en modo texto con
interfaces llamativas y fáciles de usar. Podría
contarles más pero como dice el dicho, una
imagen dice más que mil palabras.

Gráfico 2.

En la imagen de arriba se muestra el programa Yast en modo consola que utiliza la distribución
Suse para administrar el sistema. Además de este programa existen otros como por ejemplo, el
programa para configurar la compilación del kernel, el cual ejecutamos con el comando make 
menuconfig.

Gráfico 3.

Creo que con éstos ejemplos es suficiente
para darnos idea de que tipo de aplicaciones
podemos elaborar con Ncurses.

¿En dónde las podemos
utilizar?
Como ya se comentaba anteriormente, las
aplicaciones basadas en interfaces modo
texto a pesar de que aún se utilizan son ya
muy pocas, con decir, que en sistemas como
windows son raros los usuarios nuevos que
saben de la existencia de este tipo de
programas. Pero aplicándolo a nuestros
sistemas GNU/Linux aún podemos elaborar y
dar uso a éste tipo de aplicaciones, en el
gráfico 2 se muestra un ejemplo del tipo de
aplicaciones que se pueden realizar con
Ncurses. Todo es cuestión de imaginación.
Los programas que siempre hemos
elaborado para visualizarse en la pantalla
negra ahora pueden ser más amigables y

Ncurses

para modelar

elegantes si utilizamos las funciones de la
biblioteca
la
presentación del programa.
Sin más preámbulo pasemos ahora a trabajar
con la biblioteca Ncurses, primero algo de
teoría y después la práctica.

Instalación
Antes de iniciar con el tutorial es necesario
preparar las herramientas necesarias para
trabajar con Ncurses, las cosas que
necesitaremos son el compilador de C (gcc) y
por supuesto las bibliotecas Ncurses.
Detallar la instalación abarcaría mucho
espacio, por lo que saltaré este punto,
además, la mayoría de las distribuciones
tienen gestores de paquetes con los cuales
será fácil instalar estas herramientas. O si lo
prefieren pueden ir a la página oficial del
proyecto
en
http://www.gnu.org/software/ncurses/ 
y conseguir el material necesario.



Gráfico 4: Página oficial del proyecto.

Empezando con NCURSES

Ventanas
Las ventanas son áreas rectangulares de n
filas por m columnas sobre las cuales
trabajaremos, realmente una ventana es una
matriz de n*m en donde cada índice de la
matriz es un espacio en el que se pueden
escribir caracteres, ya sean símbolos o
espacios en blanco en el caso de no tener
nada en la pantalla. Esta comparación nos
permite asimilar de mejor manera las
operaciones sobre ventanas, tales como
escribir caracteres en ciertas posiciones de
pantalla en las cuales especificamos número
de fila y número de columna, tal y como
accedemos al índice de una matriz. Más
adelante trataremos las operaciones sobre
ventanas.
Por cierto, después de realizar operaciones
en
la pantalla debemos refrescarla
(actualizar), llamar a una función para que
haga visibles los cambios.

int refresh(void);
int wrefresh(WINDOW *win);

La primer función no recibe parámetros y
refresca a la ventana estándar. La segunda

hace lo mismo pero para una ventana en
especifico, la cual se indica en su primer
parámetro.

Cursores
Hay 2 tipos de cursores que debemos
conocer, cursores físicos y cursores lógicos,
los pr
  • Links de descarga
http://lwp-l.com/pdf9269

Comentarios de: atix09 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad