Asesor Informático

………………………………….El día a día, en la senda del mejoramiento informático

Extracción de información desde Internet: la consola viene al rescate

Posted by hectormamani en enero 8, 2016

La distracción frente al computador es una de las principales causas del fracaso en los procesos de extracción de información. ¿Es posible mejorar esto?

Los estudiantes llegan al laboratorio, reciben instrucciones, comienzan a recabar información y luego producen informes. Algo que parece tan simple, en la realidad se encuentra con muchos obstáculos, principalmente porque l@s estudiantes se distraen:

  • La página que están visitando contiene enlaces publicitarios que les llevan a otras páginas.
  • Podemos abrir otra pestaña y comenzar a ver otras páginas, que no necesariamente tienen relación con el trabajo asignado.
  • La página que vemos no solo no muestra suficiente información, sino que contiene datos de otros recursos que no aportan en nada.
  • Animaciones y efectos, explican conceptos, pero a veces necesitan herramientas externas, privativas, para que se visualicen o justo el parlante no está conectado o tod@s quieren escucharlo al mismo tiempo…

¿Será que debemos volver a los libros? Pienso que nunca hay que dejarlos de lado, sin embargo, creo que se puede utilizar Internet sin caer en los problemas descritos anteriormente:

  • Atomizar el trabajo en el laboratorio: Sinceramente, no necesitamos 1 hora para buscar definiciones. 15 a 20 minutos y luego unos 10 minutos para un breve, breve, informe al respecto.
  • Calificar: Que la actividad realizada signifique algo tangible como una bonificación o bien notas por proceso. Como toda evaluación, debe quedar claramente estipulada. Esto ayuda doblemente porque los estudiantes ya no usan la típica excusa “y para qué lo hago ahora, si lo puedo hacer en casa?”.

Los puntos anteriores ponen énfasis en la relación docente->estudiante pero ¿Qué pasa en el sentido inverso? Si pudiésemos educar para que l@s estudiantes realicen un trabajo independiente y responsable, basado en el contenido producido, en sus implicancias y en el análisis, es altamente probable que optimicemos el tiempo de uso del computador y pasáramos más tiempo con nuestros seres queridos.

La propuesta

Desde el punto de vista informático: Mis dos frentes son  el entorno gráfico y los formatos. Si usamos para navegar por internet un entorno en donde las animaciones no tienen cabida, solo sirve el teclado y no tenemos ningún otro programa disponible: enfocamos la atención. Aparte, es más rápido, mucho más rápido. No tenemos ventanas de actualizaciones, advertencias de antivirus, “se me cerró la ventana”, etc. Hay que leer, porque todo está en texto, con lo cual estimulamos la capacidad de extraer información.

Toda la maravilla anterior.. es lo más básico dentro del uso habitual de un computador, es la consola o terminal. Es lo que existía antes de que se le incrustara el entorno de ventanas que conocemos y que nos pusiéramos “mouse-adictos”.. ¡Siempre ha estado ahí!

Al principio uno puede decir “es fome”, pero créanme, l@s chic@s se maravillan cuando les muestro algo en el computador, abriendo ventanas y moviéndome por el entorno sin necesidad de tocar el mouse. Cuando aprenden un par de instrucciones (comandos) se sienten poderos@s, es toda una novedad.

Sobre el formato, ya lo he publicado en otras entradas, pero bueno, se trata de lo siguiente: Si pedimos que se realicen informes en un programa específico, sin decir el formato del archivo, el programa en cuestión utilizará uno propio y no necesariamente será compatible con aquel programa que querramos usar para ver finalmente el informe realizado. Por ejemplo, se les pide que realicen una tarea entregando “un word” y después llega al email del docente un archivo realizado en office 2015, con tablas que se ven chuecas y fotos descuadradas.. porque el docente no tiene ese software, tampoco está obligado a tenerlo (entiéndase, comprarlo). Menos lo está el establecimiento educacional. Aquí las ventajas de los formatos abiertos saltan a la vista, se les puede enseñar a l@s chic@s a usar Libreoffice y se acabó el problema, (sí, se acabó), incluso pueden usar OpenOffice Apache, Abiword, etc. Otra solución, es el uso de un formato estandar o cerca de ser estandar, que no importe dónde lo vea, me asegure que el contenido podrá ser visualizado. Independiente del computador o sistema operativo que esté usando, independiente del software con el cual lo creó. Al usar el entorno de consola que estoy proponiendo, el archivo de texto plano podrá ser leído sin problemas, es mucho más liviano y, nuevamente, asegura que se focalice la atención en el texto, en la redacción del mismo, no en la forma.

Como seguna patita, se puede considerar el uso de html5, el lenguaje de las páginas web. Desde la consola se pueden crear las páginas, usando tablas, con textos más grandes, organizado, etc. solo conociendo un par de comandos básicos. Con poco tiempo de entrenamiento, es altamente productivo.

Bonus track

Loggearse. A nuestros estudiantes les encantan los nombres de usuario y contraseñas.. muchos de ellos tienen cuentas en redes sociales y se da el caso de que necesitan un email para ingresar. Ellos saben que deben escribir nombre@algo.algo pero no tienen idea qué es un email. (!!) Entonces, en estos sistemas de consola, también se usa un nombre de usuario y contraseña que, incluso, podría ser único para cada estudiante. Claro, podría ser un peldaño más complejo para l@s encargad@s de TI del establecimiento, porque básicamente significaría instalar un servidor, pero las ventajas son elocuentes. Al estar esa cuenta en red, bastaría con que el estudiante guardara su archivo en una carpeta previamente establecida para que el docente automáticamente tuviera acceso a ella, hasta viéndola desde su celular. Ya no existiría eso de “me falta poco profesora” “no le llegó el email”? nada de nada, solo guardas tu archivo y listo. Claro, podemos usar servicios como google drive, zoho, etc. pero implica nuevamente entrar en el mundo de las ventanas; mi propuesta es más natural, todo por consola.

Y sí, también podemos enviar emails desde la consola, en un artículo lo escribí.. la sensación fue genial, solo usé una linea de texto y envié el correo.

Resumiendo: búsquedas y creación de contenidos mediante la consola de comandos. ¿Te atreves a revolucionar la educación?

Posted in ciencia, docencia, geografía, html5, investigación, lenguaje, libreoffice, matemáticas, Ofimática, pedagogía entretenida, Problemas del día a día | Etiquetado: , , , , , , , | Leave a Comment »

Editando informes con LibreOffices Writer y macros

Posted by hectormamani en diciembre 30, 2015

Algunos software de análisis, generan informes para imprimir. A veces necesitamos editar los mismos, para lo cual lo más sencillo puede ser instalar una impresora virtual, que genera un archivo pdf; luego aplicamos libreoffice draw y listo, ya tenemos nuestro archivo pdf editado como queramos. Sin embargo, algunos programas de  análisis, solo generan un documento de texto plano con (aquí el problema) dos dígitos antes de cada linea de texto.

La solución: usar macros. Con un par de instrucciones, le diremos a LibreOffice Writer que quite esos dígitos y tendremos nuestro documento en perfectas condiciones para editarlo a nuestro gusto.

  1. Copiamos el texto a LibreOffice Writer
  2. Herramientas->Macros->Organizar macros.. LibreOffice Basic
  3. Nos aparecerá un recuadro para seleccionar macros, si queremos que esté disponible para otros documentos, seleccionamos Mis Macros; si solo queremos que esté disponible para el documento, seleccionamos el documento (dice “sin título” si aún no lo hemos guardado)
  4. Seleccionamos nuevo  y copiamos:


rem define variables
dim document as object
dim dispatcher as object
rem variables ciclo
dim iCount as Integer
dim args4(1) as new com.sun.star.beans.PropertyValue
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem comienza el ciclo,
rem reemplazar el 1959 con nº de lineas que tengas que editar
For iCount = 0 To 1959
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
args4(0).Name = "Count"
args4(0).Value = 1
args4(1).Name = "Select"
args4(1).Value = false
rem aquí baja a la linea siguiente
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args4())
rem aquí termina incrementando nuestro contador de lineas
next iCount
end sub

Guardamos, colocamos un nombre y luego lo ejecutamos. Las macros son muy útiles, sobretodo cuando tenemos que repetir procesos. Recuerdo que un amigo las usaba para editar su libro: después de cada imagen necesitaba un espacio, el estilo de letra era espaciado, etc.

Con este post, termino este año, muy contento de poder aportar desde la informática al mundo de la educación. Viva el software libre! nos vemos el próximo año!

Posted in docencia, libreoffice, Problemas del día a día | Etiquetado: , , , | Leave a Comment »

¿Su computador no arranca? ¡Sálvelo con software libre!

Posted by hectormamani en diciembre 2, 2015

Para las personas que aún siguen usando Micro$oft Windo$ en sus diferentes versiones, se les vuelve habitual que las cosas fallen.. desde algún virus que les “escondió” sus archivos, hasta impresoras que dejan de funcionar, teclados de notebooks que se congelan y redes que desaparecen.. sin embargo, en el mundo libre estas experiencias son, desde mi punto de vista, muy, pero muy poco usuales; y si las hay, la solución generalmente pasa por instalar algo que faltaba y no formatear todo (!!).

Hace unos días llegó a mis manos un equipo que no arrancaba, la misión era rescatar la información. Como era antiguo y no muy bien cuidado, carecía de unidad de cd y los puertos USB no funcionaban. Entonces, realicé algo de cirugía al estilo del doctor Victor Frankinstein (la película es entretenida). Tomé el disco duro y se lo coloqué a otro equipo en mejores condiciones técnicas. Claro, este proceso que resumo en dos lineas en realidad tiene varios detalles, el tema de la estática, el traspaso del bus de datos (el cable ancho que lleva la información desde el disco duro a la placa madre), etc. En fin, hasta ahí todo bien.

Gracias a que la unidad de CD funcionaba bien, utilicé un sistema operativo libre, Lubuntu (ok, no es tan libre) para ingresar al disco duro. Todo eso también resultó. Me dí cuenta que solo contaba con 5 GB libres..

¿Qué hacer? (continuará)

Posted in Uncategorized | Leave a Comment »

Fin de año feliz con base de datos

Posted by hectormamani en diciembre 2, 2015

En estas fechas es común imprimir una montaña de informes, de todo tipo, dentro de los cuales es importantísimo que los datos sean correctos. Cuando se trata de realizar cambios, estar revisando curso por curso, alumno por alumno, es un trabajo agotador y propenso a errores, por el mismo tedio de las tareas repetitivas, pero es justamente en este ámbito en donde la informática es implacable.

En vez de realizar los cambios uno a uno, mejor es realizar un simple filtro por las características que buscamos, que en base de datos es una consulta y con los datos obtenidos realizar lo que queramos.

Como ejemplo: Digamos que necesitamos cambiar el valor de la variable A, en todos los alumnos cuyo rendimiento sea mayor a “5”. La consulta nos quedaría:


UPDATE "tabla1"
SET "A" = 5
WHERE "rendimiento" > 5

y listo!

Lo anterior, si bien no es ampliamente conocido (algunos docentes siguen usando calculadoras.. en el 2015, generalmente por un tema de “comodidad”, aunque yo le llamo costumbre..) tampoco es la gran cosa. Sin embargo, el pensar en ese tipo de solución, me ha ayudado a buscar opciones en sistemas privativos ya establecidos (como Syscol) para realizar justamente tareas parecidas y créanme, el ahorro de tiempo es enorme.

Por lo tanto, no olvide pensar en “base de datos”, indague en su sistema y si no tiene uno, le recomiendo libreoffice base, para comenzar a realizar uno.. a fin de año, cuando el tiempo apremie de seguro lo necesitará!

Posted in base de datos, docencia, libreoffice Base, Ofimática, Problemas del día a día | Etiquetado: , , | Leave a Comment »

LibreOffice 5: ¡Ya está aquí!

Posted by hectormamani en agosto 7, 2015

introLa nueva versión del cada vez más actualizado LibreOffice ya está entre nosotros. La suite ofimática desarrollada por la Document Foundation, completamente gratuita y no por eso menos poderosa, nos brinda la posibilidad de crear documentos, presentaciones, hojas de cálculo, dibujos, bases de datos y editar ecuaciones (esto último ideal para textos educativos).

También:

  • Editar archivos pdf y convertir a pdf.
  • Conectarse con cuentas en Internet como Google Drive.
  • Editar archivos de otros formatos, como aquellos de pago como Office (Micro$oft Word, Excel, Power Point).
  • Personalizar al máximo con importanción de temas desde Mozilla Firefox.
  • Posee versiones portátiles para funcionar desde un pendrive, sin necesidad de instalarlo.
  • Es más liviano que otras herramientas ofimáticas.
  • Y, por si fuera poco, su código fuente, el ADN, está completamente disponible para quien quiera, lo cual permite realizar mejoras por parte de la comunidad de desarrolladores.
  • Como es software libre, usted puede compartirlo con otros, sin ningún problema ético/legal ya que la licencia otorga los permisos correspondientes.
  • Una gran comunidad de ayuda, tanto por redes sociales, como también foros, chat y listas de correo (https://es.libreoffice.org/ pinchar en “recibe ayuda” y luego selecciona la opción que usted quiera).

Para ver una lista detallada de todas las mejoras de esta versión, puede visitar el siguiente enlace.

En mi experiencia, lo vengo usando desde OpenOffice.org, OpenOffice Apache y las versiones anteriores a LibreOffice; me ha servido para poder ayudar a aquellas personas que no tienen los medios como para pagar licencias de otros programas y respetan los derechos de autor (no quieren instalar copias no licenciadas). Incluso, ahorrando, al darle nueva vida a ese equipo que estaba “botado” (esto de la mano de GNU/Linux, obviamente).

Otra de las ventajas son las versiones. Personas que cuentan con LibreOffice no tienen problemas al momento de exportar a otros formatos, por ejemplo, si alguien no tiene el programa.

¿Cómo lo instalo? Simplemente lo descarga desde la página oficial de LibreOffice, no le instalará nada extra como barras de navegación y cosas molestas, solo LibreOffice. Automáticamente la página detectará la versión que usted necesita, tanto si usa Micro$oft Windows o Mac o si es bienaventurad@ en usar GNU/Linux. Aparecerá una ventana por si quiere realizar una donación, la cual ni siquiera necesita rechazar, solo esperar un momento y comenzar a descargar.

No solo para adultos

Los más pequeños pueden comenzar usando la versión OpenOffice4kids, más liviana aún y que está diseñada especialmente, con íconos más grandes y menos opciones en la barra principal. Luego, se puede configurar para usuario de nivel medio y avanzado, con lo cual se agregan más opciones en el panel principal. Todo lo anterior guardando los principios de respeto de los derechos de usuario, otorgando la posibilidad de copia y modificación.

Esperemos que pronto de el salto a los móviles, de todas maneras ya se cuenta con versiones que permiten editar documentos, por lo menos.

Posted in Uncategorized | Leave a Comment »

¡No al DRM! Luchando por la libertad en la era digital

Posted by hectormamani en abril 20, 2015

Primero, vamos por las definiciones. DRM, como nos dice la fsf.org, más que Digital Rights Managment (gestión de derechos digitales) es en realidad una Digital Restrictions Managment (gestión de restricciones digitales). Lo podemos resumir como lo “un término genérico que se refiere a las tecnologías de control de acceso usadas por editoriales y titulares de derechos de autor para limitar el uso de medios o dispositivos digitales. También se utiliza para referir a las restricciones asociadas a instancias específicas de obras digitales o dispositivos. Los DRM se solapan, hasta cierto punto, con la protección de copia de software, aunque el término DRM es generalmente aplicado a medios creativos (música, películas, etc.). ” (ver DRM wikipedia)

Si bien, una gran cantidad de DRM’s han fallado, debido al agujero analógico por citar o por algo tan sencillo como reproducir un CD en un sistema operativo libre, aún existe “el hambre” por generar estas restricciones. Esto ocurre en parte por el modelo de negocio del contenido digital, que necesita de ventas de copias únicas para sobrevivir.

Figúrese usted, si seguimos la norma y compramos un libro u obra digital audiovisual que contenga esta.. política, por así llamarle, entregamos datos personales de cuándo y cuántas veces reproduzco el contenido; se limita el respaldo, copia, el dispositivo que uso para reproducirlo y hasta se vulnera la seguridad de los equipos al instalar software sin aviso, para pode llevar a cabo el DRM (porque debe existir “algo” que informe a la empresa propietaria sobre mis acciones..). Viéndolo desde el punto de vista práctico, ¿Por qué un usuario desearía esto? Fácil, porque no se le dice. Solo sabe que su libro no se ve en otra tablet que no sea la propia…

Una pregunta natural viene siendo, ¿Es legal quitar el DRM de una obra, considerando que la misma viola las libertades de las personas? ¿Si compro una obra con DRM, en realidad de qué soy dueño?

Implicancias

Mi preocupación apunta a las acciones a mediano, largo plazo. Me imagino una sociedad en que la tecnología llega a ser la administradora de la vida de las personas; en donde el software dicta quién eres y qué haces. Con el DRM en las calles, prácticamente estarías “alquilando” tu propia existencia, ya que todo estaría controlado, medido y “repartido”, pasando en primera instancia por los recurso básicos. ¿Muy catastrófico? De muestra un botón, hace unas tres semanas, leía una noticia sobre una persona a la cual se le había cortado el suministro eléctrico, “porque el sistema decía que era morosa”. Pasó sin energía, iban y venían técnicos y nada de nada, simplemente, no tenían la autorización para otorgar “los permisos de usuario” si hacemos la anología…

Estos ejemplos, suman y siguen. A futuro, es altamente probable que no exista un mediador humano que ejecute la orden, atención en esta parte, sino que sea completamente automatizada. El DRM podría entonces transformarse en una vara de justicia para quiénes han o no (1 ó 0) cometido un fraude, transitado por una calle “que no han pagado”, etc. y para eso, estamos a la vuelta de la esquina. (peliculas de este estilo hay por montones: El juez, Gatacca, El precio del mañana, etc.

¿Qué separa a las máquinas del control? En parte, los recursos, la “inteligencia” (más bien, el ser conscientes de sí mismos) y la capacidad de cómputo.. ¿Cómo? pero acaso los computadores no son mucho más rápido que nosotros mismos? Sí y.. no, pero con el advenimiento de la computación cuántica, estos límites se sobrepasan increíblemente y las posibilidades son, de una raza o nivel nuevo de seres… informáticos.

Opciones

Primero que todo, difundir la temática, informar y no usar herramientas que contengan dicha tecnología, empresas privativas como Micro$oft, Netflix, Sony, Apple (ITunes con su FairPlay) y Ubi$oft por nombrar algunas han o usan DRM. En este último caso, el problema fue nefasto, al usar un plugin en el navegador que causaba o permitía tomar el control del equipo a distancia.

¿Qué tal si cambiamos el modelo económico? Generalmente a los “gigantes” les cuesta moverse, lo raro es cómo llegan a invertir tantos recursos (tiempo, dinero, neuronas) en buscar formas de control en vez de mejorar sus productos y venderlos más barato; esta combinación obviamente sube las ventas, aparte del buen servicio de soporte. Me llama mucho la atención qué mente maestra se esconde detrás de tamaño despilfarro. Es así como, algunos grupos usan las redes para difundir sus discos, sabiendo que el mundo las podrá descargar, se hacen conocidos y cuando llega el momento de un concierto, ¡Fijo que agotan las entradas!

Educación

Es importantísimo que estos temas se traten en educación. Las escuelas en general adolecen de estas temáticas éticas tecnológicas, limitándose a pedir que los estudiantes usen software ofimático privativo y uno que otro programa de presentación alboratado de efectos, solo porque el Gobierno de turno, por lo menos en mi país, no otorga horas suficientes a los docentes/Establecimientos. Nadie discute que leer y sumar sea una meta trascendente, pero 15 horas semanales? Solo porque los puntajes a nivel de otros países son bajos, no significa que la solución sea quitarle horas a otras asignaturas.. ¿Qué tal si le damos significado a lo que nuestros estudiantes leen? Un ejemplo típico, el estudiante saca un 3,5 en la prueba de matemáticas de sumas y restas básicas (50% de la nota máximo en mi país), pero el mismo estudiante nunca le hacen tonto con el vuelto cuando va a comprar, incluso, se gana unos pesos comparando el precio del mandado.. Asignaturas como arte y música son miradas en menos, siendo que son ideales para enseñar en la práctica; con la informática, la informática aplicada a la vida, pasa lo mismo.

Posted in Uncategorized | Leave a Comment »

Creando pdf a partir de imágenes

Posted by hectormamani en abril 20, 2015

Algunas veces necesitamos crear un pdf a partir de imágenes, sea porque un amigo no seleccionó bien la opción en el scanner (digamos que pasó accidentalmente) o bien porque hemos descargado un archivo de varias imágenes, uno a uno. En el caso de Fedora 21, utilicé un solo comando y listo!

convert *.jpg salida.pdf

En donde convert toma todos los archivos jpg y, dependiendo el orden, los deja en uno que llamamos “salida.pdf”. Este detalle es importante, porque en mi caso, tenía archivos llamados a1.jpg, a2.jpg, etc.. el problema surgió al llegar al a10.jpg convert no entiende que a1 sea primero que a10.. en cambio, si tuviera a01 ningún problema. La solución fue sencilla, solo dejé los archivos del 1 al 9 en una carpeta, los del 10 al 99 en otra.. y ejecuté el comando en cada una de ellas.

Luego, para unir pdf’s usé el comando pdunit así:

pdfunit archivo1.pdf archivo2.pdf salida.pdf

y listo! para el caso del pdfunit se debe tener instalado poppler-utils (en mi caso, ya estaba instalado)

La simpleza de los comandos da una fuerza monumental al software libre!

Posted in Uncategorized | Leave a Comment »

LibreOffice: Combinando correspondencia, varios registros en una sola hoja

Posted by hectormamani en abril 6, 2015

Combinar correspondencia en LibreOffice es sumamente sencillo. El problema me surgía cuando debo copiar más de un registro en una hoja…

Es común que el Gobierno de turno, a través de la organización que beneficia a los estudiantes con alimento o alguna beca, envíe información a los estudiantes que, a principio de año, quieren o no continuar con el beneficio; tal vez sería más fácil seguir otorgándolo y solo dejar de hacerlo cuando cada uno de ellos lo solicitara, pero supongo que, como estrategia para disminuir los beneficios, se espera que l@s estudiantes/apoderados respondan a un llamado. Si no lo hacen en los plazos determinados, el Gobierno corta la ayuda y otorga una cantidad de menor a los establecimientos. En resumen, este proceso es crítico. ¿Qué pasa si, además de comunicar a los padres/apoderados, se debe “generar” un campo extra, por ejemplo, el curso en que actualmente se encuentra el estudiante? De no hacerlo correctamente, también se pierde “la respuesta” y otra ración menos para el establecimiento educacional.

Lo anterior es otra muestra de la descoordinación de los organismos de Estado, que supongo, no solo pasa en mi país; si existiera tal comunicación, aquella pregunta llegaría lista para entregar directamente a los establecimientos. ¿Por qué no habilitar un formulario por Internet? Sencillamente porque la pregunta es a los apoderados, no a los estudiantes y éstos no necesariamente poseen un acercamiento a las tecnologías.

Con todos estos antecedentes, tenemos el siguiente escenario: se necesitan generar varias comunicaciones por hoja, en donde aparezcan el nombre y el curso de cada estudiante. Se tiene la lista de beneficiados con su RUT correspondiente (identificación personal, DNI en otros países).

¿Cómo se solucionó?

  1. Se creó una base de datos en LibreOffice Base con:
    1. Una tabla con los datos de los estudiantes beneficiados
    2. Una tabla con los datos de todos los estudiantes del establecimiento
  2. Se creó una tabla con los datos requeridos, a partir de una consulta (Select) devolviendo, nombre y curso para cada identificador presente en la tabla A, presente en la tabla B
  3. Se creó una nueva tabla, esta vez con más datos por registro, esto es: Registro1{Nombre1,Curso1,Nombre2,Curso2,Nombre3,Curso3} Considerando que se necesitarían tres nombres por cada hoja.
  4. Se generó un documento con tres comunicaciones por hoja en LibreOffice Writer, agregando los campos desde la tabla de la base de datos generada en el paso 3 (Insertar-> Campos->Otros y luego seleccionar el campo de la tabla correspondiente)
  5. Se presionó imprimir.. y luego se le indicó a LibreOffice Writer que se quería crear un documento nuevo (también existe la opción de imprimir directamente, pero bueno, eran 431 hojas!).
  6. Como paso extra, se exportó el documento creado en el paso 5 a un formato pdf (considerando que varias personas lo imprimirían, no necesitan modificarlo, para trabajar en paralelo y usar recursos de manera más eficiente).

Claro, se puede usar LibreOffice Calc en vez de LibreOffice Base, para esto la función BUSCARV es la que reemplazaría a la Select del paso 2; Un paso previo obviamente sería preparar los datos. Resulta que la tabla A tiene identificadores en formato de texto y la tabla B en formato numérico, para pasar de texto a número se usó la función VALOR en LibreOffice Calc.

Para la inserción de los campos desde LibreOffice Base hacia el documento “madre” en LibreOffice Writer se usó esta guía

Todo marcha bien cuando tienes que imprimir un registro por hoja, pero cuando son varios nombres en la misma hoja (con el objetivo de optimizar recursos), el tema se complica un poco. La solución simple que usé fue crear registros con la cantidad de pares nombre/curso que se necesitaran, en este caso 3 por registro, como se dice en el paso 3, en cada registro posees tres nombres con sus cursos correspondientes.

Aparte de la claridad del método, me sorprendió el resultado.. un pdf de 431 hojas en tan solo 1.1 MB Cuando quise aplicar el paso 5, en un sistema operativo privativo, el programa generó un error. En cambio, al hacerlo sobre sistemas operativos libres, Fedora, Ubuntu y Debian, el proceso tomó menos de un 1 minuto… se le puede aliviar la pega a los sistemas operativos privativos indicando en el paso 5 que se desea generar un documento, digamos, desde el registro 1 al 50 y luego otro del 51 al 100, etc. Supongo que también la potencia del procesador y la cantidad de memoria RAM puedan tener relación.

Un final feliz para una tarea que llevaba semanas e involucraba a varias personas (aumentando el riesgo de errores).

Posted in base de datos, capacitaciones, docencia, investigación, libreoffice, libreoffice Base, Ofimática, Problemas del día a día | Etiquetado: , , , | Leave a Comment »

LibreOffice On line y en Android!

Posted by hectormamani en marzo 26, 2015

Para todos los amantes de las tecnologías libres, esta es una gran noticia que nos permitirá expandir el concepto de libertad informática a otras plataformas; LibreOffice es la ley! Leer el resto de esta entrada »

Posted in Uncategorized | Leave a Comment »

¡Imprimir Formularios.. de una sola vez!

Posted by hectormamani en diciembre 5, 2014

Bueno, después de leer el libro de Mauricio, aquí les dejo mi código para imprimir varios formularios. La idea es ingresar un número y luego la macro va imprimiendo, a partir del registro que se encuentra visible, de ahí avanza al siguiente registro hasta completar la cantidad ingresada:



REM  *****  BASIC  *****


Option Explicit

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
Dim Contador As Integer
Dim respuesta as Integer
rem ----------------------------------------------------------------------
rem get access to the document

Respuesta = InputBox("Ingresa el número de copias")

document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")


    'Inicia el contador con los límites especificados
    
    For Contador = 1 To Respuesta
        'Este es el código que se ejecuta el número de veces
        'especificado con los límites en nuestro caso "Respuesta" veces
        document   = ThisComponent.CurrentController.Frame
        dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
        dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())
        dispatcher.executeDispatch(document, ".uno:NextRecord", "", 0, Array())

    Next
    

End Sub


¿Cómo se puede mejorar? Bueno, se me ocurre que no tengo porqué saber la cantidad de registros que quiero imprimir, en el caso que nos convoca, no sé la cantidad de alumnos en un curso, por lo tanto, lo óptimo sería que mostrara una lista de los cursos disponibles, seleccionarlo y luego, imprimir. Se me ocurre que podría consultar por el dato del campo “curso” y fuera imprimiendo hasta que fuera distinto… Lo anterior solo funciona con registros ordenados, por lo tanto, es un problema a la hora de ingresar nuevos registros, ya que estos quedarán fuera del margen establecido. Ejemplo, el curso A contiene alumnos desde el registro 13 al registro 63; la base tiene 1450 registros. Si ingreso uno nuevo, el siguiente no estará en la posición 64, estará en la 1451.. Mucho más óptimo es que el formulario tome los datos a partir de una consulta! Entonces, solo mostrará los datos por curso.. y listo!

Posted in docencia, lenguaje, Ofimática, sofware libre | Etiquetado: , , , , , | Leave a Comment »