Archivo de la categoría: Sugerencias

Exprimiendo el FOR EACH de Harbour

La cláusula FOR EACH que Harbour incorporó al lenguaje CA-Clipper fue una gran mejora, pero hay mucha gente que sólo lo utiliza de su forma más básica:

FOR EACH value IN aValues
  ? value
NEXT

Sin embargo ofrece multitud de posibilidades. Vamos a enumerar unas cuantas:

  • Iterar sobre más de una variable:
    FOR EACH a, b, c IN aVal, cVal, hVal
      ? a, b, c
    NEXT
  • Establecer orden descendente:
    FOR EACH a IN aVal DESCEND
      ? a
    NEXT
  • Asignar caracteres de una cadena de forma directa: (atención a la @)
    s := "abcdefghijk"
    FOR EACH c IN @s
      IF c $ "aei"
        c := Upper( c )
      ENDIF
    NEXT
    ? s // AbcdEfghIjk
  • Control por POO sobre las variables de iterador:
    • :__enumIndex() retorna el actual ordinal en la iteración. El equivalente a nFor
    • :__enumIsFirst() retorna si es el primer elemento en la iteración
    • :__enumIsLast() retorna si es el último elemento en la iteración
    • :__enumBase() retorna la variable base que está siendo procesada. Útil cuando se procesan más de una variable.
    • :__enumValue() retorna el valor de la variable que está siendo procesada. Útil cuando se procesan más de una variable.
      FOR EACH a IN aVal
        ? a:__enumIndex()
      NEX

Harbour incluso permite modificar como se debe de recorrer la iteración utilizando los métodos :__enumStart(), :__enumSkip() y :__EnumStop(). Tenéis un ejemplo de uso en el fichero \harbour\tests\foreach2.prg.

Espero que os haya sido de utilidad.

Un saludo

Múltiples escritorios de Windows 10

Estimados usuarios de Xailer,

Tan sólo quiero compartir con vosotros una pequeña herramienta que acabo de descubrir. Siempre he echado en falta en Windows la posibilidad de tener varios escritorios virtuales, y de hecho probé varias aplicaciones, que no me gustaron, antes de que por fin con Windows 10 los incluyese. La solución aportada por Windows 10 funciona muy bien, pero de forma inconcebible se les ha olvidado incluir algo que para mi es esencial que consiste en saber que escritorio virtual estoy en cada momento. Manias de uno 😉

Pues bien, si alguno tenéis manías como las mías, existe una pequeñísima utilidad que hace el trabajo poniendo un pequeño icono en la barra de tareas que además permite cambiar el fondo de pantalla cuando cambiemos de escritorio. Su nombre es VirtualDesktopManager y lo podéis descargar de aqui: https://github.com/m0ngr31/VirtualDesktopManager/releases. Como veis es un enlace un proyecto en GitHub, por lo que incluso está todo el código fuente del proyecto.

¡Espero que os guste!

Un saludo

¡Migrar a SQL ya!

Estimados usuarios de Xailer,

Espero que con el título de este artículo haya conseguido llamaros la atención 😉 El motivo del mismo es debido a que a pesar del gran esfuerzo que hemos realizado para dar soporte a otros motores de bases de datos mucho más potentes que nuestros obsoletos DBF, seguimos observando que la mayoría de vosotros seguís anclados en los DBFs.  A pesar de que alguno le parezca una burrada lo que voy a decir, yo personalmente comparo el sistema de archivos DBF con la máquina escribir. Funcionar, funcionan, pero donde esté el más simple tratamiento de textos que se quite cualquier máquina de escribir. Las máquinas de escribir son máquinas del pasado y están bien en una almoneda, pero poco más.  Me temo que los DBFs ni siquiera tienen sitio en alguna parte.  Soy un enamorado del lenguaje xBase, pero me temo que su sistema nativo de archivos está muy superado. Sigue leyendo

Xailer IDE: Mejorando su visualización

Estimados usuarios de Xailer,

En esta ocasión quiero simplemente compartir con vosotros formas sencillas de mejorar el IDE de Xailer que yo personalmente utilizo y espero que os pueda ser de utilidad a todos vosotros.

Por defecto, el editor de código fuente del IDE utiliza una fuente no proporcional de nombre ‘Courier’ que seguro que todos conocéis, que junto con la fuente ‘FixedSys’, vienen acompañando a Windows desde hace muchísimo tiempo, Desde hace tiempo decidí cambiar dicha fuente por defecto por alguna más bonita y actual (a mi modo de ver) y esta es mi elección:

https://www.google.com/fonts/specimen/Droid+Sans+Mono

Que podéis descargar desde la siguiente dirección:

http://www.fontsquirrel.com/fonts/droid-sans-mono

Seguro que alguno de vosotros ya está trabajando con otras fuentes en Xailer. Si es así os agradezco que lo indiquéis en los comentarios de este artículo.

Un saludo