Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 2 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Sep 29, 2010 6:26 pm
Mensajes: 1

Nota Publicado: Mié Sep 29, 2010 7:03 pm 
Arriba  
Hola a todos
Por ser mi primer post me voy a presentar, tengo 58 años y me gusta muchisimo la programación(por el momento como un entretenimiento) como emprenderán no voy a la universidad y me nutro de un manual de
Deitel&Deitel y los foros.-
Desconozco si enoja el echo de alguien que usa el sistema operativo Windows efectué preguntas en el foro de linux, pero creanme que hace unos cuantos días que estoy buscando información y google siempre me pone la pág. de uds. y con el forista ortigoza, que parece conocer la biblioteca curses.-
Bueno la pregunta es esa ¿como hacer para ponerle un titulo personalizado a la ventana creada con curses.h y como manejar las dimensiones de la misma?

Espero ayuda.
Gracias Daniel

 Perfil Email  

Desconectado
Forista Mayor
Forista Mayor
Avatar de Usuario

Registrado: Lun Feb 26, 2007 12:00 am
Mensajes: 998
Ubicación: Guadalajara, Jalisco. Mexico

Nota Publicado: Jue Oct 07, 2010 4:45 pm 
Arriba  
Saludos.

Desconozco como manejar el titulo en ventajas que manejen NCurses la verdad, pero las dimensiones, al menos, se como se pueden "conocer", pero no se si se puedan cambiar.

Para saber cual es la dimension o "resolucion" de la pantalla en la que esta corriendo la aplicacion en NCurses, se puede usar este codigo:

Código:
// Suponiendo que se esta elaborando la aplicacion en lenguaje C
# include <stdio.h>
# include <ncurses.h>

int main ()
{
   // Intento iniciar NCurses
   if ( initscr () != NULL )
   {
      // No ha fallado, por lo que ya puedo ver de que tamaño es la pantalla
      int dim_x , dim_y; // Estas variables solo me ayudaran a almacenar las dimensiones
      getmaxyx ( stdscr , dim_y , dim_x ); // Obtengo las dimensiones
      printw ( "La dimension de la pantalla es: %i de alto, %i de ancho\n" , dim_y , dim_x );
      // Aqui, para poder ver la salida del programa, se refresca la pantalla
      refresh ();
      // Y hago una pausa
      getch ();
      // Termino y cierro NCurses
      endwin ();
   }
   return ( 0 );
}


La idea es que se requiere de la funcion getmaxyx, la cual pide tres argumentos:

1.- De qué ventana saber las dimensiones (si sigue estudiando NCurses, podra saber posteriormente que se pueden crear ventanas en NCurses, pero ese es un tema aparte y mas adelantado). En este caso, usted quisiera saber las dimensiones de la terminal completa, lo cual esta representado por "stdscr", que es la "Standard Screen".

2.- Donde va a guardar el valor de la dimension en Y

3.- Donde va a guardar el valor de la dimension en X

Este codigo funciona en GNU/Linux, pero no estoy seguro en windows, mas que nada por la pausa, porque en windows existe una funcion ya que se llama "getch", y es para hacer lo mismo, pausar hasta recibir un teclaso cualquiera, pero en NCurses tambien existe una llamada getch que hace lo mismo, por lo que no se si funcione la pausa en Windows, pero bueno, esos son detalles aparte.

Realmente desconozco si se puede establecer la dimension de la terminal, pero al menos con esto ya sabra de que tamaño es.

Espero haber ayudado.

Saludos.

_________________
Edita los nombres de tus post con "[SOLUCIONADO]" cuando encuentres una solución a tu problema.

Lenovo G470.
Intel Core i3 2.1 GHz (2310M).
Fedora GNU/Linux.

 Perfil Email WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 2 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO