Posts Tagged 'VFP'

Programando una colección de libros VI

¿Os acordáis de aquél programa que estaba haciendo para mantener una biblioteca personal? ¿Si? Bueno, pues yo no.

Hasta hace unos días, que me volví a acordar de él y le pegué un pequeño repaso. Estaba terminado, con instalador y todo, pero nunca llegué a publicarlo. Mejor tarde que nunca, así que ahora es un buen momento, el caso es que… ya que me pongo le lavo un poco la cara, ¿no?

Y en eso estoy, he reescrito de 0 buena parte del código y he pegado un profundo repaso a todas las ventanas, ahora luce un poquito mejor, es mucho más cómoda gracias al redimensionado de ventanas y las nuevas clases de visualización son bastante más rápidas que las anteriores.

Dejo un par de capturas, y en un par de días espero (por fin) terminarlo definitivamente.

…Click para ampliar…

Visión de portadas (aparte de la clásica vista en lista). La textura de madera de fondo es opcional. Nota: el libro 'Memncoch el diablo' no es que no tenga puntuación, es que esta es un 0.

Remodelada ventana de obtención de portadas desde internet, usando la API de Yahoo. Nota: no me preguntéis que pinta un cómic de El Castigador con Arthur C. Clarke, porque yo tampoco lo se, cosas de Yahoo.

Programando una colección de libros V

Avanzo poco a poco con el proyecto. El caso es que no he hecho prácticamente nada y cuando me pongo con él apenas puedo dedicarle media hora, pero aún con tan poco tiempo voy cerrando cosas.

He implementado (por fin) el sistema de préstamos y de citas, ambos incluidos en la ventana de la ficha del libro, en forma de pestañas. El gestor de citas no sé si será muy práctico, pero hecho está. El gestor de préstamos si que es indudablemente práctico, sobre todo para personas con tan poca memoria como yo, que deja cosas y a veces ya no las vuelve a ver.

Ficha del libro, con pestañas para citas y préstamos

El programa conoce a una lista de nuestros amigos habituales, y anotará en cada libro cuando lo hemos prestado y a quién, quedando marcado en rojo para que sea fácilmente localizable. También he hecho una ventana resumen de préstamos para que con un único vistazo estemos al día de todo lo que nos tienen que devolver. Ahora que lo pienso también sería interesante poder introducir también de forma similar los libros que nos han dejado a nosotros, para que nos sirva de recordatorio.

Anotación de citas

Anotación de citas

A partir de ahora poco queda ya por hacer, porque la base ya está hecha y todo lo que venga son añadidos. Se me ocurre también poder enlazar la ficha de cada libro con el archivo del ebook (libro electrónico) si lo tenemos, para facilitar la consulta y búsqueda, así como algún enlace a webs de descarga de ebooks.

De momento nada más, dejo un par de capturas de las ventanas nuevas. (Los préstamos que aparecen son ficticios, están solo para hacer pruebas).

Pestaña de anotación de préstamos

Pestaña de anotación de préstamos

Ventana de estado de préstamos

Ventana de estado de préstamos

Programando una colección de libros IV

Llevaba tiempo con esto parado, pero recientemente me he puesto manos a la obra otra vez. El caso es que hace poco se lo enseñé a uno de mis jefes para ver si aprovechávamos parte del código que hice para un proyecto de la empresa, y la cosa empezó a reventar por todas partes, así que me decidí a pegarle un repaso y terminarlo.

La sorpresa me la llevé cuando me puse manos a la obra y descubrí que tenía una versión mucho más avanzada y que funcionaba perfectamente, pero a esas alturas ya me había picado el gusanillo de nuevo y he decidido terminarlo y distribuirlo.

He pulido algunos detalles y he implementado una herramienta para obtener la portada de los libros automáticamente a través de Internet, sin recurrir al API de Amazon, solo mediante consultas Winhttp al buscador de Yahoo.

Importador automático de portadas

Me queda aún implementar el sistema de prestamos, algún campo para anotar citas de cada libro y poder imprimirlas u ojearlas cómodamente, y alguna funcionalidad más. ¿Sugerencias?

Aquí un repaso de como ha ido avanzando proyecto:
Programando una colección de libros I
Programando una colección de libros II
Programando una colección de libros III

Programando una colección de libros II

Sigo con mi pequeño proyecto de programación, algo más lento de lo que esperaba.

Como ya dije, quería hacer algunos retoques en la vista de libros, como mostrar la portada del libro, pero el grid de Fox tiene ciertas limitaciones, y una de ellas es el trabajar con gráficos. Así que me decidí a programar mi propio grid.

Pese a los problemas iniciales con el scroll (es sorprendente como Fox es capaz de hacer algunas cosas increíblemente bien y otras más simples increíblemente mal), conseguí solucionarlo basándome en la solución de Bernard Bout, y el resultado es francamente bonito.

ubiblio_captura5a_desarroll

Programando una colección de libros

Hace unos días comenté que estaba haciendo un pequeño proyecto personal en Fox, y ahora ya lo tengo lo suficientemente avanzado como para poder hablar de ello.

Básicamente es un programa para organizar nuestra colección de libros. Hace tiempo empecé algo parecido, pero como no es cuestión de reinventar la ruda, finalmente adopté uno de los numerosos programas que hacen esa función, y que son infinitamente mejores de lo que yo jamás podría hacer.

El elegido fue Alexandria, un programa open source para Linux realmente fantástico del que ya hablé en anteriores posts. El caso es que ahora he vuelto a retomar el proyecto, pero solo por entretenimiento y para aprender, conceptos que no siempre van reñidos. Como ya he dicho, mi colección de libros personal la tengo con Alexandria, el cual me parece un programa fantástico y difícilmente mejorable, lo que explica las grandes similitudes de aspecto que tiene mi proyecto.

La Ulthar-Biblioteca (a falta de un nombre definitivo, acepto sugerencias) permite gestionar nuestra colección de libros, almacenando fichas de cada libro con información básica, como es el autor, la colección, año de edición, etc. Datos que permite introducir manualmente, o importándolos automáticamente a través de la base de datos de la Biblioteca Nacional Española (toma ya). También permite guardar información más personal, como es la fecha de adquisición, la fecha de lectura, la valoración, diversas notas, y el lugar de ubicación, para poder localizar fácilmente nuestro libro en caso de que nuestra colección sea considerablemente grande y esté repartida por toda la casa.

Prácticamente ya es funcional, aunque quiero terminar de pulir ciertos detalles, como la vista en tabla, que tiene ciertas limitaciones inherentes al propio Fox, además de añadir un control simple de prestamos, para controlar cuando y a quién le hemos dejado libros y que no se nos olvide, que hay mucho gorrón por ahí que luego no devuelve los libros.

A continuación unas capturas de pantalla.

Vista de la colección de libros

Vista de la colección de libros

Búsqueda en la base de datos remota de la Biblioteca Nacional Española

Búsqueda en la base de datos remota de la Biblioteca Nacional Española

Ficha de un libro en nuestra colección

Ficha de un libro en nuestra colección

VFP corriendo en linux mediante Wine

Estos días he estado arrancando de nuevo Windows para trabajar con Visual Fox Pro, mi herramienta habitual de programación, ya que estoy realizando un pequeño proyecto personal, puramente por entretenimiento. Ya daré más detalles si finalmente queda presentable.

El caso es que es un incordio apagar el sistema y arrancar otro solo por realizar una tarea concreta, que además puede durar diez minutos hasta que me bloqueo y necesito hacer otra cosa.

Wine nunca me había ido muy bien, pero por eso precisamente no lo había probado mucho desde hace tiempo. Ahora en dos minutos, y tras instalar los runtimes de Fox, puedo arrancar Fox desde mi Linux sin problemas. Me queda registrar algunas librerías de uso habitual, pero es cosa de dos minutos más.

Y ahora… a programar.

pantallazo-microsoft-visual-foxpro


Flashbacks

RSS Últimos temas escuchados

  • Ha ocurrido un error; probablemente el feed está caído. Inténtalo de nuevo más tarde.

Licencia

Creative Commons License


Esta obra está bajo una licencia de Creative Commons.

Member of The Internet Defense League