Secciones de la página

agendadb. age


Agenda de posts


Árbol de ficheros

Tol

Artículos del sitio

Presentación de Tol

Todos los programas

Simuladores visuales

Sitios que me gustan

Por categorías

Algoritmia

Búsqueda y ordenación

Computación fisiológica

Editorial y edición

Gráficos de datos

Herramientas y utilidades

Hipertexto

Informática forense

Lectura óptica de datos

Metaprogramación

No determinista

Ofimática

Recursión e iteración

Reglas y restricciones

Series y estadística









agendadb.age de Omr.Forms

Ejemplo de un conjunto de posts de contenido para publicar

Agenda de posts

<Pst.Sta> C
<Pst.Fil> programacioncodigowjb
<Pst.Tit> Ejemplo básico de programación de una lectora óptica |
          Ejemplo de programa básico para una lectora óptica
<Pst.Lbl> Código fuente WJB
<Pst.Sub> Para leer un formulario, interpretar sus campos de entrada y
          almacenar el resultado en un fichero de texto |
          Programación para leer una hoja de lectura óptica, interpretar
          los datos leídos y guardar los resultados en un fichero ASCII
<Pst.Htm>
<p class="PutDes">
  A continuación se presenta un ejemplo básico del código fuente de
  programación del formulario de la imagen de abajo a la derecha.
  Este es el tipo de código de programación que se almacena en los ficheros de
  extensión ".wjb".
  Este tipo de programación permite leer un sólo formulario, realizar una
  interpretación básica y directa de los campos de entrada y almacenar el
  resultado de la lectura en un fichero de texto o en un fichero CSV
  delimitado por comas para Excel de Microsoft.
  En el programa de lectura óptica JBLee (Comaof) son el tipo de ficheros que
  se emplea en la opción denominada Lectura TXT.
</p>
<p>
  Al tratarse de un ejemplo simple la lectura se resuelve con varios campos
  del tipo denominado múltiples opciones [MO] y un campo del tipo denominado
  identificador horizontal [IH].
</p>
<p>
  Los campos se han definido siguiendo la estructura del propio formulario
  OMR, esto es, de arriba hacia abajo y de izquierda a derecha.
  Pero esto se ha realizado así para facilitar la compresión de este código
  fuente de programa, no porque sea estrictamente necesario.
</p>
<img class="ImgRgh" src="formularios/ucminmunologiaformulariogeneral.gif"
       alt="Ejemplo básico de programación de una lectora óptica"
     title="Código fuente OMR para la lectura de este formulario" />
<pre><code>
[CF]
  Anverso = 42
  Reverso = 0
  Autoreverse = N
  Parar si error = N
  Codigos de barra = 0

[SE]
  Sensibilidad = 25
  Discriminacion = 15

[MO]
  Nombre = "dni            "
  Parametros = 1 1 15 10 8 V 0 0 N 1
  Mascaras = "0123456789"

[MO]
  Nombre = "numero         "
  Parametros = 1 1 6 10 1 V 0 0 N 1
  Mascaras = "0123456789"

[MO]
  Nombre = "tipo           "
  Parametros = 1 11 26 11 20 H 0 1 N 1
  Mascaras = "ABCD"

[MO]
  Nombre = "grupo          "
  Parametros = 1 11 17 11 11 H 0 1 N 1
  Mascaras = "ABCD"

[MO]
  Nombre = "sec            "
  Parametros = 1 11 8 11 2 H 0 1 N 1
  Mascaras = "1234"

[IH]
  Parametros = 1 H 12
  Identificacion = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  "

[MO]
  Nombre = "ítem           "
  Parametros = 1 13 37 42 33 H 0 0 N 1
  Mascaras = "ABCDE"

[MO]
  Nombre = "ítem           "
  Parametros = 1 13 29 42 25 H 0 0 N 1
  Mascaras = "ABCDE"

[MO]
  Nombre = "ítem           "
  Parametros = 1 13 21 42 17 H 0 0 N 1
  Mascaras = "ABCDE"

[MO]
  Nombre = "ítem           "
  Parametros = 1 13 13 42 9 H 0 0 N 1
  Mascaras = "ABCDE"

[MO]
  Nombre = "ítem           "
  Parametros = 1 13 5 42 1 H 0 0 N 1
  Mascaras = "ABCDE"

[FF]
</code></pre>
<Pst.End>
______________________________________________________________________________
<Pst.Sta> B
<Pst.Fil> programacioncodigomlo
<Pst.Tit> Ejemplo avanzado de programación de una lectora óptica |
          Ejemplo de programa avanzado para una lectora óptica
<Pst.Lbl> Código fuente MLO
<Pst.Sub> Para poder leer diversos formularios, evaluar su contenido,
          corregir test y guardar en base de datos |
          Programación de un lector óptico OMR para diversas hojas
          de lectora y evaluar, corregir y almacenar datos
<Pst.Htm>
<p class="PutDes">
  A continuación se presenta un ejemplo avanzado del código fuente de
  programación de la lectura de modelos de formulario.
  Este es el tipo de código de programación que se almacena en los ficheros de
  extensión ".mlo".
  Este tipo de programación utiliza definiciones más básicas del tipo WJB (en
  el siguiente ejemplo puede verse como define el WJB que se emplea en la
  variable Formatos).
  Permite leer varios tipos de formularios, evaluar su contenido, corregir
  exámenes y test, ponderar respuestas, etc. y almacenar el resultado de la
  lectura en una base de datos.
  En el programa de lectura óptica son el tipo de ficheros que se emplea en la
  opción denominada JBLee Lectura de modelos (Comaof).
</p>
<img class="ImgRgh"
       src="tecnica/formulariosyrodilloslectoraoptica.png"
       alt="Ejemplo avanzado de programación de una lectora óptica"
     title="Formularios OMR a través del interior de una lectora OMR" />
<pre><code>
[MODELO]
Tipo=Examen monoplantilla
Lectura=Monohoja
Formatos=F:\Archivos\universidad\admision.wjb
DLL=
PuntuacionAprobado=5
NotaMaximaEscalaFinal=10
NotaAprobadoEscalaFinal=5
DecimalesEnSalida=3
Intervalos=10
Intervalos10=10
ListadosNombres=No
FicheroNombresListados=
DniPruebaListados=
DniListados=
NombreListados=
Ape1Listados=
Ape2Listados=


[CABECERA]
Nombre=CREDENCIAL
Comienzo=1
TotalCaracteres=7
GrabarCampo=Si
Alinear=No
RellenarConCeros=No
NoRepetido=Si
DigitoControl=Ninguno
SinDoblesMarcas=Si
Marcado=Si
MarcadoDesdePrimera=No
BuscarEnDB=No
Tabla=
Campo=
Rechazo=Si no existe
Limites=No
LimiteDesde=
LimiteHasta=
LimiteRechazo=Rechazar si esta fuera
ReemplazarSiBlancos=No
ReemplazarSiDobles=No
PosicionNuevoCampo=0
TeclearSiError=Si
ValidarCampoTecleado=Si
AccionEnlace=Ninguna
IndiceScan=No
GrabarImagenScan=No
NumeroImagenesScan=100
ConcatenarOrdenScan=No


[TEST]
Nombre=OPCIONES
Comienzo=8
TotalCaracteres=100
CaracteresXítem=1
SinDoblesMarcas=No
Marcado=No
Total=10
Acierto=1
Fallo=0.25
Doble=0
Blanco=0
PuntuacionAprobado=5
Obligatorio=No
Peso=0
TeclearSiError=No
ValidarCampoTecleado=Si
OpcionesPorRespuesta=4
TipoRespuesta=Alfabetico mayusculas
Intervalos=10
TestConAnulaciones=No
RespuestasPorítem=4
CaracteresPorPregunta=3
TipoRespuestaAnulacion=Alfabetico mayusculas
</code></pre>
<Pst.End>
______________________________________________________________________________
<Pst.Sta> B
<Pst.Fil> lopalonginesopticalprogramming
<Pst.Tit> Programación clásica mediante hojas LOPA II de Longines |
          Hojas de LOPA para la programación de lectores ópticos OMR
<Pst.Lbl> Hojas de programación LOPA |
          Hojas LOngines PArameters
<Pst.Sub> Clásicamente las lectoras se programaban con hojas como la LOPA,
          ya no se hace, salvo excepciones, este artículo cuenta cómo hacerlo |
          Cómo programar una lectora de marcas ópticas mediante hojas de
          lectura óptica de la clase LOPA
<Pst.Htm>
<p class="PutDes">
  Las lectoras ópticas clásicas, como por ejemplo, las lectoras DATASCAN Serie
  5 o DATASCAN Serie 7, se programaban mediante formularios OMR.
  Un formato tradicional de este tipo de formularios de programación son las
  hojas <b>LOPA II</b> (<b>LOngines PArameter</b>, version 2).
</p>
<img class="ImgRgh"
       src="tecnica/lopa2longinesparametersceppu.png"
       alt="Clásicamente las lectoras se programaban con hojas como LOPA"
     title="LOPA II, LOngines PArameters, para programar el CEPPU" />
<p>
  Actualmente están prácticamente en desuso, pero hay todavía en
  funcionamiento modelos de lectoras ópticas de marcas que, en algunos casos,
  necesitan ser programados de esta forma.
</p>
<p>
  Desde <a href="http://www.omrforms.es"><b>OMR</b>Forms</a> podemos
  proporcionar estas hojas de programación LOPA y también ofrecemos servicios
  de programación mediante este tipo de formularios.
</p>
<p>
  El objetivo de este artículo es proporcionar una ayuda básica para el manejo
  de las hojas LOPA de programación, porque, si bien su uso es infrecuente,
  más infrecuente es la información disponible sobre ellas.
</p>
<p>
  Las hojas de programación LOPA se introducen en la lectora óptica antes que
  los paquetes de formularios a leer.
  El objetivo de estas hojas es preparar, esto es, programar la lectora para
  que lea la estructura del formulario que se le introducirá a continuación.
  Estas hojas LOPA tienen una estructura fija, que la lectora conoce, y
  mediante marcas ópticas describe a la lectora los campos, las posiciones,
  los tipos de campo, etc.
  de los formularios que a continuación se le van a introducir.
</p>
<img class="ImgRgh"
       src="tecnica/formularioceppurelleno.png"
       alt="CEPPU, Estimación del Potencial Psicológico de la Unidad"
     title="Formulario CEPPU relleno para leerse, programación de LOPA" />
<p>
  Por tanto, para programar una lectora mediante una hoja de LOPA, o bien ya
  se dispone de ella o bien hay que rellenarla conforme a la estructura del
  formulario que a continuación se va a leer.
  En la figura que ilustra este artículo se muestra una hoja de LOPA ya
  rellena, a modo de ejemplo, de forma que programa la lectora para la lectura
  del formulario CEPPU (Cuestionario para la Estimación del Potencial
  Psicológico de la Unidad del Ejército de Tierra).
</p>
<p>
  Una vez que se dispone de una hoja de LOPA ya rellena el procedimiento a
  seguir, por ejemplo, con una DATASCAN Serie 7, es el siguiente:
</p>
<ol>
 <li>
   Conectamos la lectora óptica al computador a través del puerto serie.
 </li>
 <li>
   Abrimos un hyperterminal en el computador con las siguientes
   características a 9600 baudios, no parity, 8 bits y 1 stop bit por el
   puerto COM al que esté conectada la lectora óptica.
   Si no se hace así, la lectora mostrará el error [9081] en el display al
   cargar la hoja de LOPA y no detectará el pin DTR activado por el
   hyperterminal.
 </li>
 <li>
   Encendemos la lectora óptica, que tras el test inicial pasará de mostrar el
   código [0000] a mostrar el código [__01] en su display.
 </li>
 <li>
   Introducimos la hoja de LOPA rellena como la del ejemplo de este artículo,
   para cargar la definición del formulario que se va a leer, en este ejemplo
   se trata de formularios del modelo CEPPU, y pulsamos el interruptor
   iluminado en verde para que la lectora alimente la hoja.
   La lectora deberá mostrar el código [__12] en su display, indicando que
   esta lista para leer formularios.
 </li>
 <li>
   Ponemos varios formularios rellenos y volvemos a pulsar el interruptor
   iluminado en verde para que la lectora los alimente.
   La lectora leerá los formularios y transmitirá, mostrando el código [__18]
   en su Display, al hyperterminal un registro por cada formulario, volviendo
   a mostrar el código [__12] en su display tras cada formulario leído y
   transmitido.
 </li>
</ol>
<img class="ImgRgh"
       src="tecnica/datascanserie7.png"
       alt="La lectora está programada mediante hojas de LOPA"
     title="DATASCAN Serie 7 con alimentador automático y clasificador" />
<p>
  Una vez que la lectora está programada mediante hojas de LOPA, y cuando
  comprobamos que lee bien los formularios, podemos guardar la definición de
  la hoja LOPA en el computador, para no tener que cargar la hoja de LOPA cada
  vez que encendemos la lectora óptica.
</p>
<p>
  Para guardar la programación en el computador, salimos del hyperterminal
  para dejar libre el puerto serie (COM1 o COM2) y usamos la opción Guardar
  LOPA del programa Lanzador para guardar un fichero con el nombre que se
  desee, en el caso práctico que estamos utilizando de ejemplo, con el
  formulario CEPPU y una lectora DATASCAN Serie 7, podría ser "ceppu.se7" o
  similar.
</p>
<img class="ImgRgh"
       src="tecnica/longinesdata7000.png"
       alt="El hyperterminal para dejar libre el puerto serie COM1 o COM2"
     title="Clásica lectora óptica Longines Data 7000" />
<p>
  Para utilizar una programación de LOPA guardada en el computador podemos
  apagar y volver a encender la lectora, para empezar todo el proceso de cero.
  Cuando la lectora muestre el código [__01] en su display, podemos usar la
  opción de Lectura a TXT del Lanzador, comprobando que:
</p>
<ul>
 <li>
   en Modelo de lectora aparece la que se esté usando, en este ejemplo, una
   DATASCAN Serie 7 y .
 </li>
 <li>
   en Ficheros de formato elegimos con el botón [...] el Tipo: Ficheros de
   LOPA (*.se5, *.se7) y el Nombre: que le hemos dado, en este ejemplo,
   "ceppu.se7".
 </li>
</ul>
<p>
  Con lo anterior ya podemos leer, mediante el programa JBDef, a un fichero de
  texto, tal y como se describe en el artículo
  <a href="leercomjbleeaexcel.html">leer formularios con JBLee y sacar los
  resultados a Excel</a>.
</p>
<Pst.End>

Árbol de ficheros

Omr.Forms construye las páginas web Html del sitio web omrforms.es

  • make.tol proceso principal de generación del sitio web omrforms.es
  • tol directorios de código Tol
    • cmm funciones comunes
    • app funciones específicas de la aplicación
      • pdb.tol de manejo de los posts de una agenda
      • key.tol generación de palabras clave para páginas
    • inc.tol para la inclusión de ficheros Tol
  • agenda directorio destinado a la única agenda de post
    • agendadb.age ejemplo de un conjunto de posts de contenido para publicar
  • web directorio destinado a las páginas web generadas
    • css directorio para ficheros de estilo Cascade Style Sheet
      • common.css fichero de estilo para las páginas Html
    • seed.htm semilla de página Html con Tol embebido para generar otras
    • sitemap.xml mapa del sitio web generado automáticamente en Xml
    • preciospresupuestoslecturaoptica.html ejemplo del código Html de una de las páginas web generadas
  • ejemplos.html ejemplos visuales de 3 páginas Html generadas automáticamente
  • omr_forms.pdf documento resumen de funciones del programa constructor de web

2015 asolver.com | Aviso legal | XHTML | Δ Θ Ξ | Creative Commons | Mapa y funciones del sitio

Tol