Febrero de 2004
para el foro y asiduos de

La información contenida en esta página se conserva a título de curiosidad del pasado. El estado actual del programa a que se hace mención en ella puede consultarse a partir de aquí.

Programa de gestión docente (IES-tppc, BDGA,...) para plataforma Windows Pocket PC, desarrollado sobre gestor de base de datos SprintDB Pro versión 1.7 o superior.

La versión 0.9, de febrero de 2004

Se presenta aquí la continuación de la versión Diciembre 2003, que intentaba ser estable pero por una de esas malditas e inesperadas circunstancias salió con un severo tropiezo que provocó no pocos cuelgues de máquinas. El problema se resolvió en pocos días eliminando un temporizador en el arranque y restableciendo un botón [Vale] de obligada (lo siento) pulsación para arrancar la aplicación.

Salvo este inconveniente, todo ha ido funcionando con bastante razonable normalidad en estos casi dos meses. Mientras tanto y como siempre ocurre en estos casos, se han incorporado nuevas opciones e ideas, se han ido detectando y corrigiendo leves fallos, y se han replanteado algunas cuestiones siempre con el afán de hacer la aplicación más clara, potente e intuitiva.

Y como estos procesos de análisis y replanteamiento suelen ser interminables, en un momento determinado hay que parar. Como la aplicación ya tiene forma definida y una incipiente madurez, hay tentaciones de publicarla en su estado a día de hoy como versión 1.0 aunque, ante los posibles desajustes y correcciones que se pueden presentar en esta última fase, mejor la dejamos en 0.9, inmediatamente preliminar a una próxima versión 1.0.

Esta versión 0.9, respecto a su predecesora diciembre 2003, amplía algunas posibilidades, incorpora varios detalles, sin duda interesantes, corrige errores... pero no exige ninguna alteración, ni de tablas, ni de valores de campos, ni nada. Para actualizarse a ella basta con sustituir el fichero RAF actual por el nuevo aquí suministrado. Si alguien todavía está trabajando con la versión Noviembre 2003, puede actualizarse a esta versión respetando todas las precauciones de conversión definidas para el tránsito a la versión Diciembre 2003, o, más seguro aunque más lento, puede hacer una actualización previa a la versión Diciembre 2003.

Esta versión también incorpora un nuevo icono denominado vtab.jpg, suministrado en todo el conjunto de iconos empaquetados en el fichero iconos-feb04.zip adjunto.

En la documentación que sigue se han eliminado las indicaciones específicas para actualizar de Noviembre 2003 a la versión Diciembre 2003, ya que están recogidas en documentos anteriores.

Introducción y cuestiones previas

El arranque preliminar

El formulario de configuración fConf

El primer arranque con entorno estable

La pantalla inicial

La página Personal

La página Otros

La página Faltas

La página Notas

El horario

El módulo de Actividades

Aproximación a la programación

El módulo de Consultas

Componentes para instalación

Problemas de última hora

Algunas características técnicas

Definiciones de tablas

Botiquín de emergencia, aka Troubleshooting

Preliminar

Muchas ideas, mejoras y correcciones, tanto de esta versión como de las precedentes, han surgido de las intervenciones, preguntas, sugerencias de los usuarios y asiduos del foro Software de Administración para la docencia de www.todopocketpc.com. Es justo mostrar desde aquí un sincero reconocimiento a todos ellos.

En particular, agradecer a nuestro compañero de foro Luisloy su buena disposición, colaboración, ideas e interesantes observaciones sobre las diferentes modificaciones que se han ido realizando en estos últimos meses, muchas de ellas basadas en la información por él recopilada y organizada procedente del foro. Y muy especialmente su ayuda para poner al día la documentación de la aplicación y su participación en la elaboración de esta página web.

Introducción y cuestiones previas

¿Qué se necesita?

- El programa SprintDB Pro, versión 1.7a (Windows PPC 2002), versión 1.7b (WM 2003) o versión actual 2.0. Es un programa de gestión de bases de datos para Pocket PC. Sin él no podrás acceder a la base de datos sobre la que funciona la aplicación. Su página web es http://www.kaione.com y en ella podrás encontrar algún tutorial sobre el mismo ya que puede utilizarse para crear tus propias bases de datos sobre cualquier tema. El programa puedes conseguirlo en http://www.handango.com. Busca el nombre del producto y te llevará a la página desde donde puedes descargarlo tras pagar la cantidad correspondiente. Aunque está en inglés las instrucciones son muy sencillas.

- La aplicación. La aplicación consta, a su vez, de varios componentes, dos de ellos fundamentales:

a) La base de datos. Es un fichero en formato Pocket Access .CDB que contiene tablas, consultas y todo cuanto a datos se refiera. Es el almacén de información.

b) Los formularios. Están incluidos en un fichero .RAF específico de SprintDB Pro y contienen todas las pantallas y la programación de la aplicación.

La mayor parte de las modificaciones de una versión a otra se concentran en el fichero de formularios y en los iconos, y normalmente eso es lo único que hay que sustituir para actualizarse. El fichero de base de datos CDB suministrado contiene sólo algunos ejemplos y únicamente tiene sentido copiarlo en instalaciones nuevas. En caso de actualización, si se copia también el .CDB, sustituyendo al propio, se sobrescriben y pierden irreversiblemente todos los datos anteriores.

c) Los iconos. Se trata de una colección de imágenes en formato JPG, suministradas en un fichero ZIP y que deben ser descomprimidas y ubicadas en un directorio o carpeta cualquiera. Hay una opción en el programa para indicar en qué carpeta se deben buscar dichos iconos.

d) Las fotos de alumnos y alumnas (en lo sucesivo, alumnos). Imágenes de circunstancia similar a las del apartado anterior, con la evidente salvedad de que cada uno se tiene que buscar las suyas. El hueco de formulario previsto para su ubicación tiene 100 píxel de ancho por 113 de alto.

Para iniciar la aplicación hay dos posibilidades:

1) Ejecutar el programa SprintDBPro y llamar desde él a nuestra base de datos.

2) Localizar el fichero de la base de datos mediante el explorador y hacer doble clic sobre él.

Bases de datos y formularios

Pantalla correspondiente a SprintDB Pro 2.0

Este fichero se puede llamar como le plazca a uno; aquí se suministra como ies-dic03.cdb pero se le puede cambiar el nombre tranquilamente. Al iniciarlo, e iniciarse consecuentemente SprintDB Pro, se busca un fichero .RAF de formularios y programación con el mismo nombre ies-dic03, para asociar con los datos. Caso de no existir, se crea uno automáticamente. Aquí hay que tener en cuenta dos cosas, tal y como se muestra en la imagen adjunta:

SprintDB Pro tiene establecida una ubicación o carpeta (folder) para los ficheros RAF de formularios. Hay que situar en ella el RAF que se suministra con la aplicación.

A cada base de datos, fichero CDB, se le puede asociar un RAF determinado. Hay, pues, que decirle a SprintDB Pro cómo se llama dicho fichero. El que aquí se suministra se llama ies-feb04.RAF. Por eso, la primera vez que se abre ies-dic03.cdb no se inicia aplicación ni nada porque no existe un ies-dic03.RAF para asociar. Entonces, teniendo abierta la base de datos ies-dic03.cdb, en la opción Change Form File indicar ies-feb04 -omitiendo la extensión .RAF- y todo debería funcionar sin problemas. Por último se puede borrar el fichero ies-dic03.RAF que se creó automáticamente en el primer arranque.

De todo esto se deduce que los nombres pueden ser cualesquiera; sólo se deben respetar unas mínimas convenciones. Una vez comprendidas, se puede (y es muy recomendable) poner a los ficheros de datos y formularios unos nombres claros y representativos.

El fichero CDB de base de datos suministrado a modo de ejemplo se llama ies-dic03.cdb igual que en la versión anterior. Y no es confusión, ni error ni hay en él ganas de confundir. Simplemente se deja con el mismo nombre porque nada ha cambiado en él desde la pasada versión hasta la presente. Además, con un nombre que suena tan lejano en el tiempo, se pretende subrayar su carácter de simple ejemplo que para nada debería sustituir un fichero con datos reales o personales.

Y la eterna advertencia, no por más repetida menos importante: siempre copias de seguridad. Antes de tocar nada, antes de sustituir el RAF antiguo por el presente, antes de hacer el primer arranque de nuestro CDB con el nuevo RAF,... siempre copia de seguridad previa.


El arranque preliminar

Pantalla inicial

Una vez iniciado el programa, si todo ha ido bien, se verá la pantalla de la izquierda. (Si se está actualizando puede que salten varios mensajes de error que se pueden ignorar por el momento).

Lo mejor es pulsar en el botón [ok] de Windows que cerrará la pantalla y pasará al gestor de base de datos. Caso de pulsar en [Vale], continuará el arranque normal hasta la pantalla de presentación. Una vez en ella, pulsar sobre el icono rojo del aspa (si es que está visible) o, en su defecto, en el botón [ok] de Windows que mostrará la pantalla de confirmación presentada a la derecha. Elegir el botón del medio [...permanecer en SprintDB Pro], para poder realizar algunas tareas previas y ajustar convenientemente el gestor de base de datos.

Pantalla de confirmación de salida

Comprobaciones previas generales

Lo primero será comprobar la lista de las tablas y formularios requeridos. Aquí están los que deberían aparecer:

Tablas
Formularios

En los formularios aparece uno nuevo (fPesosNot) para gestionar los pesos de las notas, y se conserva como reliquia el cambiaDouble, necesario en su día para cambiar el tipo de dato de la nota numérica y permitir así la introducción de decimales. Hizo falta en la transición de Noviembre 2003 a Diciembre 2003. Con el tiempo desaparecerá.

Hay que realizar comprobaciones y ajustes vitales en tres tablas:

Comprobaciones previas. Tabla valconf

La tabla valconf

La tabla valconf debe contener al menos los ocho primeros valores de los reseñados a la izquierda. Los tres primeros corresponden a información que aparece en el formulario del horario personal (nombre del centro, nombre del profesor y rótulo a pie de página respectivamente) y sólo pueden ser cumplimentados aquí. Los restantes son valores de configuración que se establecen desde un formulario específico que se verá después, y no es preciso cumplimentarlos aquí. En cualquier caso los ocho términos o valores de la columna elem deben figurar con los nombres escritos exactamente igual a como se muestran en la pantalla de la izquierda.

El noveno valor, PesoMax (controla el peso máximo de nota), ya no es necesario añadirlo manualmente. Si el programa detecta su ausencia, crea el registro automáticamente y le asigna el valor 10 por defecto. Se trata de una novedad, cortés, que se irá haciendo extensiva a otros valores de configuración del sistema en futuras actualizaciones.

Comprobaciones previas. Tabla tiposcalif

La tabla tiposcalif

La tabla tiposcalif tiene un número variable de tipos de calificación. El campo tipcalif presenta la descripción y el pcalif un identificador numérico necesario para manipular notas y que será utilizado como indicador de peso de la nota. Aquí que cada uno añada, elimine o cambie descripciones y valores a su conveniencia (supongo que los de Matemáticas no harán dictados...). Si se omite el número no funcionarán opciones tan interesantes como los filtros de notas o las medias ponderadas basadas en los pesos de calificaciones. Se puede establecer valores entre cero (valor fijo) y el máximo definido en la configuración de la aplicación.

No es necesario manipular manualmente esta tabla; el nuevo formulario fPesosNot precisamente ha sido creado con este propósito.

Comprobaciones previas. Tabla horario

La tabla horario

La tabla horario es una significativa novedad de la anterior versión. El horario se construye a partir de los datos contenidos en esta tabla. Tiene treinta registros, uno por cada hora de la semana, y cada uno de ellos, a su vez, cuatro campos. curso es el código de curso que figura en la ficha del alumno o alumna (en lo sucesivo, alumno); nomcurso el nombre más preciso, descriptivo, de dicho curso (el que aparece en la casilla del horario); colorfondo como su propio nombre indica (se describe más adelante un sistema para calcular códigos de color); tamfuente el tamaño de la fuente (9 es el tamaño por defecto).

Muy importante: es significativo el orden de los registros: el primero, la primera hora del primer día; el séptimo, la primera hora del segundo. Se asume el típico horario de secundaria, seis horas matinales comprendidas entre las 8:30 y las 14:30, aunque en esto hay leves variaciones de unos sitios a otros. Y se ha aprovechado también el horario para condicionar el arranque de la aplicación, presentando inicialmente al grupo con el que se supone se tiene clase en ese momento. Un ejemplo: se arranca la aplicación un martes a las 11:05; rango horario teórico de tercera hora (10:30 a 11:30). La aplicación busca el registro número nueve (seis horas del lunes más tres) y obtiene el valor del campo curso, por ejemplo 3D, y arranca mostrando directamente los alumnos del curso 3º D.

No deja de ser una bobadina, pero es de agradecer que el programa cambie de vez en cuando la cara con la que arranca (luego dicen que cogemos manía a ciertos alumnos...). También es censurable el hecho de que se base en un horario tan ideal como irreal, aunque vistos los mil matices y variaciones que puede haber en un horario de un centro a otro, sin ser perfecto, este sistema resulta razonablemente aproximado.

El formulario de configuración fConf

Y antes del arranque final, una última precaución: apertura del formulario de configuración fConf (que usa la tabla valconf) para hacer de manera automática los ajustes finales:

El formulario fConf

En este formulario se pueden establecer las trayectorias o ubicaciones de los ficheros gráficos de la aplicación (iconos y fotos de alumnos). Pueden estar en cualquier lado -incluso tarjetas externas- pero sus trayectorias deben empezar por el directorio raíz \, ser exactas y estar bien escritas, y finalizar con barra invertida. El propio formulario se encarga de añadir esta última si detecta su falta. La casilla de Confirmar modificaciones... se puede activar si se desea un mensaje de confirmación tras abandonar la edición de ciertos campos de datos. La de Desplazar pantalla..., si se activa, permite abrir hueco en la parte inferior de la pantalla cuando se despliega el teclado virtual y de esta manera no ocultar información. La Fecha inicial... es fundamental para el sistema (en el arranque se emite una advertencia si se encuentra sin cumplimentar). Sirve para las listas de notas de los alumnos que, cuando dejan de estar filtradas, aparecen en su totalidad desde un día de comienzo que suele corresponder al de inicio de curso, y el día actual. Dicho día de inicio es el que debe consignarse en este campo. Para que todas las modificaciones queden grabadas es preceptivo salir pulsando el botón [Grabar].

En cuanto al Calculador de color, se trata de una herramienta auxiliar para averiguar los números de colores para las casillas del horario personal. Seleccionando distintos valores de las tres casillas desplegables se obtiene una muestra de color. Justo debajo de las casillas desplegables aparecerá un número: es el que tendremos que poner en el campo colorfondo de la tabla horario para señalar el color de la casilla correspondiente.

Aparece una nueva casilla en este formulario, en la que se especifica y se permite variar el peso máximo asignado a las notas (por omisión será 10 mientras que el mínimo es siempre 0, no modificable). Junto a ella un botón [Pesos notas], que da paso a un formulario donde se puede hacer toda clase de operaciones con pesos y valores de notas. Este formulario, que se describe más adelante, no está accesible si se ha arrancado directamente el formulario fConf sin pasar previamente por la pantalla inicial de la aplicación.

El primer arranque con entorno estable

Y tras todas estas cuestiones previas, arranca por fin la aplicación. El formulario de arranque es fSys, que muestra la pantalla de presentación. Se pulsa sobre el botón [Vale] y al cabo de unos instantes se acaba presentando el formulario fPrincipal. Pero es preceptivo pasar antes por fSys; de lo contrario no se activa una serie de valores necesarios para el correcto inicio de la aplicación.

En la anterior versión Diciembre 2003 se intentó que el paso por fConf fuera breve y se pasara de forma automática a fPrincipal. El sistema de temporizadores (timers) empleado para ello provocó problemas de bloqueos, bucles infinitos,... independientemente de versiones de SprintDB (1.7 ó 2.0), sistemas operativos (Pocket PC 2002 ó WM 2003) o incluso marcas de dispositivos. Ante el caos se optó por eliminar temporizadores y volver al sistema, incómodo pero fiable, del botón [Vale].


La pantalla inicial

Si todo ha ido bien se verá una pantalla similar a ésta:

El formulario principal

Se trata de la pantalla inicial del programa. Tiene en la parte superior una serie de figuritas o iconos cuyas funciones son:

Cierre de ventana. Común a todos los formularios
Confirma las modificaciones efectuadas en los campos de observaciones de notas o comentarios de faltas y vuelve a la posición normal de la pantalla
Información. Muestra la misma pantalla informativa presentada en el transcurso del arranque
Horario. Presenta el formulario de horario
Configuración. Muestra el formulario fConf, ya descrito anteriormente. Desde aquí es desde donde podremos modificar los pesos de las notas descritos anteriormente.
Actividad. Presenta el formulario de actividades, en el que se pueden ir realizando anotaciones de actividad y seguimiento de cursos
Consultas. Un por ahora limitado módulo donde puede caber todo tipo de listados

También aparece una lista desplegable de grupos con un grupo preseleccionado (1EB en el caso del ejemplo). Dicha preselección está condicionada por el horario. Si éste se ha cumplimentado adecuadamente, en el arranque se mostrará el grupo con el que se tiene clase en la fecha y hora presente o en la próxima hora lectiva, tal y como se explicó en líneas anteriores.

Seguimos. Hay un contador (1/1 en el ejemplo) que indica el número de alumno sobre el total de alumnos pertenecientes al grupo seleccionado. A continuación aparece un recuadro encabezado por los rótulos Nombre y Apellidos que muestra la lista de los alumnos correspondientes al grupo seleccionado arriba (sólo uno en el ejemplo). La lista aparece ordenada alfabéticamente por apellidos. Ni que decir tiene que la lista de alumnos variará cada vez que seleccionemos un grupo distinto. Y más abajo, toda la información correspondiente a dicho alumno. O sea, la elección de grupo genera toda la lista de sus alumnos; la selección de un alumno, a su vez, muestra todos sus datos. Al ser muy abudantes tales datos, están organizados en cuatro páginas seleccionables por sus correspondientes pestañas en la parte inferior: Personal, Otros, Faltas y Notas. Se describen a continuación.


La página Personal

Un campo editable

La página Personal muestra la primera parte, principal, de los datos personales. Hay campos, por este orden, para Dirección, Localidad (no hay campo específico para código postal), Teléfono. Estos campos son editables: al seleccionarse cambian el color de fondo y permiten modificaciones (figura de la izquierda). Al abandonarse la edición se graban automáticamente los cambios, sin previo aviso, salvo que en el módulo de configuración se haya marcado previamente la opción de Confirmar modificaciones de datos. También se puede editar la Fecha de nacimiento; al pulsar sobre el desplegable se muestra el calendario del año y del mes correspondiente a la fecha de nacimiento y desde ahí puede modificarse la misma. También puede quedar divertido decirle a un alumno si nació en martes o en viernes...

Otros campos no son editables, como Edad (calculado a partir de la fecha de nacimiento y con razonable precisión, bisiestos incluidos), Número de hermanos, Posición que ocupa entre ellos, y la Foto. Ésta debe ser un fichero de formato JPG de dimensiones 100 píxel de ancho por 113 de alto, cuyo nombre corresponda exactamente al código del alumno. Es decir: si añadimos un alumno y le asignamos un código 3D1876, su fichero de fotografía deberá llamarse inexcusablemente 3D1876.jpg y estar situado en la trayectoria especificada en el formulario de configuración.

El campo Repite

Y otros campos son especiales, como el Repite/No repite. Es un campo lógico binario con dos posibles valores, 1 Verdadero, 0 Falso. Es editable sobre la marcha. Pulsando a la derecha del recuadro rojo aparece un rótulo ¿Repite? junto con una casilla de verificación (figura adjunta). Si se marca dicha casilla aparece el rótulo Repite ya no como pregunta sino como afirmación. Y viceversa: pulsando de nuevo vuelve a aparecer la pregunta y la casilla para proceder a la deseada selección.

Y llegados a este punto, la cuestión inevitable: ¿Cómo se introducen nuevos alumnos?

Respuesta: a mano. Justificación: las notas o faltas de asistencia, o anotaciones de actividad diaria, son algo que se crea continuamente, y tienen por ello su opción de creación, modificación o borrado. Los alumnos, sin embargo, se crean una vez al principio y muy raras veces se añaden o eliminan (sobre todo una vez transcurridos los quince primeros días y ya ajustados todos los grupos y optativas).

A lo sumo, sufren alguna modificación puntual. Por eso ya desde el principio no me planteé un módulo de introducción de estos datos. Uno se va a la tabla alum, a mano, y en ella va creando alumnos con unas mínimas precauciones elementales en la cumplimentación:

codigo (Código): Se dispone de hasta diez caracteres para un identificador exclusivo para el alumno, letras, números o ambos

curso (Curso): Un identificador de curso de hasta cinco caracteres. Se debe ser coherente y no despistarse; no poner 2B a un alumno, 2 B a otro y 2ºB al siguiente. Que nadie se ofenda, por favor; es que a uno le ha tocado ver de todo...

Esta aplicación fue desarrollada inicialmente para uso particular. Aunque en muchos aspectos se diseñó con criterio abierto para poder adaptarse a una pluralidad de situaciones, en algunos detalles todavía quedan restos de criterios particulares y restrictivos. Y la consideración del campo curso es uno de ellos. Se dispone de cinco caracteres alfanuméricos para identificar a un curso, pero a la hora de realizarse anotaciones de actividad y con vistas al seguimiento de programación didáctica, se asume que existe una convención para nombrar a esos cursos.

Es una circunstancia apreciada al poco tiempo de publicar la versión 0.9 (040218) y subsanable en próximas ediciones.

nombre (Nombre):
apellidos (Apellidos):
fnac (Fecha de nacimiento): de conveniente cumplimentación para el cálculo de edad. Ahora ya no es imprescindible cumplimentarlo inicialmente
numhermanos (Número de hermanos): Es un valor numérico, para futuros posibles cálculos
lugar (Lugar que ocupa): Campo de texto para poner un número. No es preciso poner el ordinal que aparece en la pantalla: el programa se encarga de hacerlo

Para tipos y limitaciones de cada uno de estos campos, consultar la estructura de la tabla alum.

Con estos siete campos queda el alumno perfectamente identificado. El resto de los datos ya se pueden introducir o modificar desde dentro del propio programa.

Para no perder la paciencia con el stylus, existe la razonable alternativa de copiar el fichero .CDB al equipo de sobremesa por medio de ActiveSync, que lo convertirá automáticamente a formato típico Access .MDB. Ahí se pueden modificar y añadir registros tranquilamente para después devolver el fichero al Pocket PC. Si no hay nada raro en la configuración de ActiveSync, la conversión de CDB a MDB y viceversa será transparente y segura. Pero hay que tener precauciones, la primera y más importante es declinar la invitación de Access de transformar el formato del MDB resultante la primera vez que lo abre. La consecuencia es que no se puede alterar su estructura; la ventaja, que no habrá problemas para devolverlo convertido en CDB al Pocket PC después de rellenarlo. En cualquier caso, esta cuestión de conversiones y viajes de formatos es suficientemente compleja y liosa como para apartarse mucho del propósito de este documento. Quede sugerido el procedimiento; el tema se podrá tratar en un sitio distinto.

Otra alternativa es el programa Pocket Controller, un gran invento de simulación que permite ver la pantalla del PPC en el equipo de sobremesa y manejarlo con teclado y ratón, con una velocidad y rendimiento más que aceptables. Aparte de otras muchas funciones como capturas de pantalla, gestión de procesos... Sin ir más lejos, yo lo estoy utilizando en este momento para la extracción de material de la aplicación y la composición de esta página.


La página Otros

La página Otros

La página Otros muestra otros datos personales del alumno. Por orden: Nombre del padre y Profesión, Nombre de la madre y Profesión, y Comentarios varios, tal y como se aprecia en la muestra de la izquierda (bromas aparte). Todos los campos son editables, especialmente el último, de extensión ilimitada y muy útil para cuantas cuestiones de interés haya que anotar a lo largo del curso.

Al activar la pestaña Otros se mantienen intactos el primer bloque (Grupo) y el segundo (Lista de alumnos). Sólo varía el tercero. Si en este punto se selecciona otro alumno del mismo curso o incluso se cambia de curso, persiste el recuadro Otros aunque ya relativo al nuevo alumno y/o grupo seleccionados. Este mecanismo es igual para las cuatro pestañas o páginas de esta pantalla.

Nótese en la muestra adjunta que al entrar en modo de edición al campo de comentarios aparece una rejilla/sistema de escritura flotante que no impide la visualización del área inferior de la pantalla. Pero lo normal es usar sistemas de escritura como Trazos naturales, o Teclado, que ocupan un área significativa tal y como se muestra en la siguiente ilustración:

La página Otros, desplazada

Para estos casos se contempla la posibilidad de activar un desplazamiento de pantalla cada vez que emerge el componente de escritura. Esto se puede habilitar en el módulo de configuración del programa, activando la casilla Desplazar pantalla verticalmente al escribir.

Una vez terminada la edición de este campo se pulsa sobre el icono verde de confirmación, en la parte superior derecha, para finalizar la edición y volver a la pantalla anterior.


La página Faltas

La página Faltas

En esta tercera página Faltas se introduce un nuevo elemento de complejidad: el tercer bloque de información contiene una lista de elementos que, en función de la selección, muestran distinta información en una cuarta área.

Dependiendo de la selección de Grupo y Alumno, aparece una lista sobre fondo rosa con todas las faltas de asistencia anotadas, por orden decreciente de fechas. De cada una de ellas, tres datos: la fecha, si está justificada la falta y un enigmático CJE. Esto último significa Comunicada a Jefatura de Estudios, y constituye una concesión a mi actual centro, donde en algunos niveles sigue siendo necesaria la información facilitada por el profesor (y no creo que sea esto una excepción). Este campo, pues, sirve para llevar este control.

Al comienzo ya de la cuarta área siguen más abajo dos contadores, uno del total de faltas, aparentemente inútil en el ejemplo de la izquierda pero tremendamente útil cuando las faltas son más de las cuatro que caben en la lista, y un contador, en rojo, de faltas no justificadas por el alumno.

La fila siguiente contiene varios controles que actúan sobre la falta seleccionada (marcada en azul). De izquierda a derecha:

Icono de borrar : Elimina la falta seleccionada. Se solicita confirmación antes de proceder.
Control de fecha: Muestra la fecha de la falta seleccionada y puede desplegar un calendario para modificarla. También se pide confirmación antes de realizar el cambio.
Botón [J]: Actúa sobre el valor Justificada de la falta actual. Cambia de a No y viceversa sin pedir confirmación.
Botón [C]: Actúa sobre el valor CJE de la falta actual. Cambia de a No y viceversa sin pedir confirmación.
Botón [Coment]: Al presionarlo se reduce el tamaño de la lista de faltas para dejar espacio para un recuadro de texto en el que se puede escribir un comentario o descripción de la falta de asistencia, de manera similar a como se hace en el caso de las calificaciones. Una vez que se escriba alguna observación en una falta, el botón cambiará de color al pasar sobre la misma recordándonos así que esa ausencia tiene algún comentario escrito.
Icono de escribir : Crea automáticamente y sin pedir confirmación una nueva falta, con la fecha actual y con los valores de Justificada y CJE establecidos en No.

Una falta con comentario

Al pulsar el botón [Coment] se abre un hueco en la lista de faltas para permitir aparecer un recuadro de texto con comentarios o anotaciones referidas a la falta actualmente seleccionada. Si ya estaba visible dicho recuadro, la pulsación sobre el botón lo oculta.

Complementariamente a todo esto, el botón cambia a color anaranjado si la falta seleccionada contiene algún comentario, esté o no visible el campo correspondiente a dicho comentario.

Y el campo de comentario se desplaza todavía un poco más hacia arriba si es activado para realizar alguna modificación en él (sólo si está marcada la opción de desplazamiento).

 

La página Notas

La página Notas

Esta es una página de notable y creciente complejidad. Al igual que la anterior, tiene un tercer bloque de información con la lista de notas (calificaciones) del alumno seleccionado, ordenadas de más reciente a más antigua. Aparecen los datos de Fecha, Tipo (clase de calificación) y Núm. (valor numérico de la calificación) sobre un fondo amarillo. El cuarto bloque de información contiene una descripción de la nota, editable con el simple hecho de ser señalada o, más técnicamente, recibir el foco de teclado. Una cortesía del sistema: al perder el foco o abandonarse el modo de edición, la primera letra se convierte en mayúscula (las buenas formas por encima de todo).

Más abajo, la fila de controles de rigor. Tres de ellos son similares a los de la página de Faltas:

Icono de borrar : Elimina la nota seleccionada. Se solicita confirmación antes de proceder.
Control de fecha: Muestra la fecha de la nota seleccionada y puede desplegar un calendario para modificarla. También se pide confirmación antes de realizar el cambio.
Icono de escribir : Crea automáticamente y sin pedir confirmación una nueva nota, con la fecha actual y con los valores de Tipo y Núm. en blanco.

De los tres restantes, dos son botones de acción y uno una lista desplegable:

La página Notas. El botón [Tipo]

Toda nota tiene un tipo asociado (Examen, Ejercicio en clase, Trabajo voluntario...) que se muestra en la lista de las notas. Al pulsar sobre este botón [Tipo] aparece un cuatro de diálogo en el que se puede desplegar una lista de todos los tipos definidos y elegir el adecuado, o cancelar. La elección quedará reflejada en la lista de notas.

Esta lista de tipos se obtiene de la tabla tiposcalif, que a partir de la presente versión ya se puede modificar desde un formulario específico, el fPesosNot. Cada tipo tiene dos valores o campos: tipcalif, que es el texto descriptivo, y pcalif, que es un código o valor numérico exclusivo para cada tipo de calificación.

La intención inicial para el tipo de nota era la de una mera descripción de la calificación, el saber a qué correspondía. Sin embargo, la necesidad de poder filtrar y manipular de manera más sofisticada las notas, así como la conveniencia de asignar un peso concreto a cada una de ellas, ha exigido la introducción de este valor numérico. En principio el programa contempla códigos entre cero y diez, ambos inclusive, pero se puede definir cualquier rango entre cero y lo que se quiera. Además se pueden tener varios tipos de calificaciones que compartan un mismo peso. Por ejemplo, se puede definir que el examen pese 'x', una intervención puntual pese 'y', un comentario pese 'z', etcétera.Pero también podemos decidir que el examen y el comentario pesen lo mismo en cuyo caso ambos tipos de calificaciones han de tener el mismo valor numérico en el campo pcalif.

Si se omite este valor al definir un tipo de calificación, dicho tipo será ignorado en ciertas operaciones de filtrado y tratamiento de calificaciones. El hecho de crear una nueva nota e identificarla con un tipo implica su asociación con su correspondiente número. Por ello es muy importante tener numerados todos los tipos de calificación antes de empezar a poner notas a alumnos.

La página Notas. El control para Núm.

El control desplegable numérico muestra, valga la redundancia, el valor numérico de la nota seleccionada en la lista de notas. Como en lista aparece completamente visible, y dada la tremenda escasez de espacio, la anchura de este control está limitada y muestra sólo el entero y el primer decimal. Al desplegarse presenta la lista completa de notas de cero a diez, a intervalos de veinticinco centésimas y con la misma restricción de anchura. Cualquier selección realizada queda automáticamente reflejada en la lista de notas y en la correspondiente tabla de calificaciones (calific).

Se ha solucionado parcialmente el problema de cálculo de anchuras de SprintDB. Ahora son visibles todas las notas sin necesidad de arrastrar el límite vertical de las columnas, aunque siempre se puede hacer un ajuste manual para dar a cada columna su anchura idónea, y no la que le calcula con poco acierto SprintDB.

Hay todavía dos controles un poco fuera de lugar aunque no por ello menos útiles. Están a la derecha de la pestaña Notas y son:

1. Un contador de las notas mostradas en la lista, útil cuando hay más de las tres que están visibles.

Promedio y media ponderada

2. Dentro de una casilla que ahora es de color verde, un número que representa la media aritmética de las notas numéricas mostradas en la lista. Esta casilla tiene ahora un comportamiento especial, tipo botón, de modo que al pulsarla se calcula la media ponderada a partir de los pesos o identificadores numéricos de las notas que se hayan definido en el campo pcalif de la tabla tiposcalif. Es decir, en principio esta casilla verde muestra la media aritmética de las notas del alumno, orientativa pero poco útil si no se quiere valorar por igual un examen y un ejercicio en clase, pero si se pulsa sobre ella se calcula la media ponderada en función del peso asignado a cada tipo de nota, según se muestra a la izquierda.


Las Notas, filtradas

La página Notas. Activar filtro

Una de las mayores limitaciones sufridas en el apartado de las notas era el hecho de que se iban amontonando en la lista, por cantidad y por heterogeneidad, lo que hacía que esta información fuera útil pero de eficacia decreciente. El problema se ha resuelto por ahora con un filtro que se activa pulsando sobre el botón [Flt] (por razones de espacio ni siquiera cabe el pobre nombre entero). Dicha pulsación encoge, digamos, el control de descripción de la nota y emergen en su lugar dos controles de fecha, uno de lista desplegable y dos imágenes-botón de activar o cancelar.

Cuando no está establecido ningún filtro, el primer control de fecha (inicial) presenta la fecha que se toma como origen para mostrar todas las notas. Esta fecha hay que fijarla previamente en el formulario de configuración y ya fue explicada anteriormente. El segundo control de fecha (final) presenta la fecha del día actual. Estos son los límites de tiempo que constituyen el intervalo normal, sin filtros ni restricciones. Y pueden ser objeto de cualquier nueva selección posible (si se intenta hacer trampa saltará un mensaje de error y se invalidará la selección).

El siguiente control, de tipo, presenta en lista desplegable todos los tipos ya previamente definidos y conocidos. Ahora bien: aunque muestra las descripciones (tipcalif), trabaja con los valores numéricos (pcalif). Por ello ignorará aquellas notas que no tengan convenientemente establecido dicho valor.

Si se deja en blanco este control se mostrarán todas las calificaciones (con número comprendido entre cero y diez). Pero si, después de haber tenido un valor previo, se deja en blanco borrando su contenido, ello no alterará su código numérico asociado, con lo que se realizará un filtrado de notas erróneo. Si se desea pasar de un valor concreto a uno global, el procedimiento es borrar el filtro y establecerlo de nuevo cambiando sólo las fechas.

Una vez fijados los criterios de filtro, se pulsa sobre el icono de aceptar . Entonces se ocultan los controles para fijar el filtro, el control de descripción de nota recupera sus dimensiones normales y en el cuadro de la lista de notas aparecen sólo aquellas calificaciones que cumplen las condiciones expresadas por el filtro. Los controles inferiores de cómputo de calificaciones y promedio se recalculan y aplican sólo a los registros visibles y filtrados, los cálculos de media ponderada también se aplican sólo a estos registros y el botón [Flt] cambia de apariencia, con fondo rojo, para informar así de que hay un filtro activado y las notas mostradas posiblemente no sean todas. Siguiente ilustración:

La página Notas. Filtro activado

El botón [Flt] sigue estando operativo y cada vez que se pulse se mostrarán los controles para cambiar las condiciones. Si se pulsa estando visibles los controles de filtro, simplemente no actuará.

Para eliminar un filtro establecido, acudir a mostrar los controles de filtro y pulsar sobre el icono no aceptar . Los controles de fecha tomarán sus valores primitivos, el de tipo quedará en blanco, todos ellos se ocultarán y el botón [Flt] recuperará su color gris primitivo para informar así de la inexistencia de filtro.


Los pesos de las notas

Ciertos aspectos de vital importancia como el filtrado de notas o los cálculos de medias ponderadas están condicionados a la existencia de unos códigos numéricos asociados a cada tipo de nota. Dado que dicho código numérico tiene un valor significativo a la hora de considerar la importancia de una nota (su peso), es obligado que dichos números sean proporcionales a la importancia de la nota.

Pero además de indicadores de importancia, estos números son identificadores de notas. Quiere ello decir que a la hora de filtrar las notas no se considera la descripción de éstas sino su identificador numérico. Si dos tipos de nota, sean A y B, tienen el mismo código numérico, al filtrar para que aparezcan las notas A se mostrarán también las notas B.

Es perfectamente posible valorar con el mismo número distintos tipos de notas (por ejemplo, vale igual un trabajo voluntario que una salida a la pizarra), y puede ser útil para calcular medias ponderadas, pero tiene este pequeño inconveniente a la hora de filtrar notas.

El formulario fPesosNot

Se pueden establecer pesos entre cero y... 32.767 (máximo valor que permite el tipo de campo empleado), pero más de 100 ó 500 resulta manifiestamente exagerado. El único requisito previo consiste en acudir al formulario de configuración fConf y fijar el valor máximo que se va a emplear, de manera que el programa pueda saber entre qué limites tiene que moverse.

Pues el presente formulario fPesosNot es el lugar donde se ajustan todos estos valores. Se invoca desde el formulario fConf cuando se pulsa el botón [Pesos notas], y no puede ser abierto individualmente al margen del conjunto de la aplicación. Contiene básicamente una lista con el contenido de la tabla tiposcalif, con sus valores de Descripción de la nota y código numérico de la nota (o Tipo de nota y Peso, que en este caso viene a ser lo mismo). La lista se muestra en orden descendente, de mayor peso a menor. También los botones, identificados por los iconos habituales, para eliminar (se precisa que no exista ninguna nota de ese tipo entre las calificaciones existentes), crear un tipo de nota cuyo valor inicial será 0, variar el peso o cambiar el nombre del tipo de nota previamente seleccionado.

En la parte superior, a modo de cabecera, un rótulo informa del peso máximo actualmente establecido. Si por alguna circunstancia alguna nota tiene un peso superior a dicho máximo, este rótulo aparecerá de color rojo.

Es cierto que no se puede crear un tipo de nota con un peso superior al máximo, pero sí que es posible reducir a posteriori el peso máximo con que trabaja la aplicación. Si es así, en el momento del cambio se advierte de las consecuencias que ello puede tener (las notas cuyos pesos estén fuera de rango se ignorarán), y además se notifica con ese rótulo rojo en el presente formulario.

El horario

A este formulario o módulo se accede pulsando sobre el icono de la parte superior. Muestra algo similar a esto (lo que aparece en el ejemplo es una distribución aleatoria e irreal de cursos, evidentemente):

El horario

Este formulario es dinámico y se construye a partir de valores obtenidos de tablas. Tiene dos fuentes de datos:

a) Tabla valconf. De ella toma los valores que tienen asignados los elementos CentroProf (primer rótulo, con letras grandes en rojo oscuro), NombreProf (segundo rótulo, letras negras de tamaño medio) y Pie (rótulo inferior, con letra pequeña). Obviamente, ni hay por qué poner tales datos en concreto, ni siquiera hay necesidad de cumplimentarlos. Pueden quedar en blanco tranquilamente.

b) Tabla horario. Tal como se explicó más arriba, contiene treinta registros, uno por cada hora de clase, dispuestos por riguroso orden cronológico. Cuestiones complementarias a lo que ya ha sido descrito:

- Si se dejan todos los campos de un registro en blanco, su correspondiente casilla aparecerá vacía, pero de color negro, que es el color cero. Para que aparezca blanca hay que establecer 16777215 en el campo o columna colorfondo. Lógicamente se puede poner cualquier otro. Y a efectos del momento de arrancar la aplicación será ignorada como hora de clase y en consecuencia se mostrará el curso correspondiente a la primera casilla que esté cumplimentada.

- El campo de cumplimentación imprescindible para que aparezca información en la casilla es nomcurso. Y, lógicamente, un código de color en colorfondo para evitar el negro que aparece por defecto. Si se quiere que funcione el mecanismo de selección automática de curso a la hora del arranque, cumplimentar también el campo curso con el mismo valor que se usa en el campo curso de la tabla de alumnos. Y para los casos en que el rótulo es largo y no cabe en la casilla, especificar en tamfuente un valor inferior a 9 (valor por defecto). En el ejemplo adjunto, las casillas grises usan un tamaño 8.

El calculador de color incluido al final del formulario fConf y descrito descrito más arriba sirve para obtener los códigos para colorfondo. Muestra tres listas desplegables con valores decimales de 0 a 255 con el orden RGB (Red, Green, Blue) para incrementar el componente Rojo, Verde y Azul respectivamente y obtener el color deseado. El resultado es puramente informativo; no se puede trasvasar directamente a otro lugar (de momento...).

Para entender bien el mecanismo del horario y la presentación inicial de curso: puede surgir la duda de por qué en la tabla horario suministrada en la base de datos de ejemplo, el campo nomcurso está cumplimentado para todos los cursos pero el campo curso solamente para 1EB. La respuesta es obvia: la tabla de alumnos sólo contiene uno, asignado al grupo 1EB. Es decir, que para la aplicación sólo existe un grupo. Siendo así, si el horario puede invocar la selección previa de hasta cinco grupos, se producirán circunstancias de error con los cuatro restantes. Remedio: dejar en blanco el campo curso en los casos en que no hay una correspondencia real con un grupo. Aplicable también, lógicamente, a actividades ajenas a grupo como guardias, reuniones de departamento, de tutoría y un largo etcétera.

En este apartado se ha corregido un problema que provocaba el bloqueo de la máquina cuando la última hora de la semana , registro número 30, correspondía a una actividad no lectiva (por ejemplo, una guardia); es decir, nomcurso cumplimentado y curso en blanco.


El módulo de Actividades

El formulario de Actividades

Este componente nació con la idea de ser un diario de clase en el que llevar registradas las actividades. Toma sus datos de la tabla activid y no tenía en principio complicación alguna. Y esa es su apariencia, de hecho:

En la parte superior el habitual icono rojo con aspa de cierre, el verde de confirmación para fin de edición, la lista desplegable con los grupos, un icono para acceso al horario, frecuentemente invocado desde esta pantalla, y un contador de registros a la izquierda, para tener al día la curiosidad de cuántas clases llevamos impartidas en dicho grupo. El icono azul de la flecha se comentará después.

En función del grupo elegido en el desplegable superior aparece el ya familiar control de lista, que muestra una línea o registro por cada día de clase con información sobre la fecha y el detalle de la actividad. Y en el recuadro inferior, ese mismo detalle de la actividad aunque ya con una visión más amplia, y editable. La edición se realiza en los mismos términos que en recuadros similares de observaciones o notas de alumnos: cambia el color de fondo al iniciarse dicho modo, se graban automáticamente las modificaciones al abandonarse la edición y se puede configurar la pantalla para desplazarse hacia arriba en caso de usar el teclado como método de introducción de datos.

Los registros de actividad, por coherencia con otros casos similares, se ordenan ahora por cronología inversa, arriba el más reciente. El icono azul de la flecha sitúa el cursor en el último registro de la lista, abajo del todo, lo cual tenía sentido cuando en esa posición final se situaba el registro cronológicamente más reciente. Ahora se limita a conducir al primer registro de la lista. Poco útil, pero en fin...

Modificaciones en Actividades

La hilera de controles de la parte inferior tiene iconos/funciones conocidos y otros nuevos. El de eliminar para borrar el registro seleccionado, previa confirmación tal y como se muestra a la izquierda, el de crear para dar de alta un nuevo registro automáticamente y con la fecha del día, y el control de fecha de la izquierda (cuidado, que hay dos) y de tamaño mayor, que muestra la fecha del registro seleccionado y permite variarla, previa confirmación.

El icono del reloj de arena permite realizar cálculos de tiempos y fechas, desde la fecha actual hasta la especificada en el control de fecha pequeño (el de la derecha). Si en este control no hay fecha especificada aparecerá un mensaje de error. Lo mismo ocurrirá si se especifica una fecha anterior a la actual. El propósito de esta función es el de facilitar cálculos y previsiones de futuro, desde el día actual en adelante, no hacia atrás.

Una vez especificado correctamente el día final del intervalo, la información resultante se reparte en dos mensajes emergentes. El primero, como se aprecia en la siguiente ilustración, informa de los días naturales que quedan hasta dicha fecha. El segundo, ilustración a continuación, ofrece un cálculo aproximado de los días de clase que quedan hasta dicha fecha y para el curso que sigue estando seleccionado en esta pantalla (el curso sobre cuyo diario de actividad estamos trabajando).

Cálculo de fechas

Se advierte claramente en el mensaje de que no se tienen en cuenta festivos ni vacaciones para realizar el cálculo. Lógicamente. Simplemente se calculan las semanas por transcurrir, se acude a la tabla de horario para averiguar el número de horas semanales de clase con dicho grupo y se realiza una sencilla operación aritmética. Si por medio están las Navidades, la Semana Santa o el día del docente, es una circunstancia desconocida para el programa. No es exacto ni milagroso, pero da una idea.

Una posibilidad de cara a futuras versiones sería incluir en la tabla de valores de configuración (valconf) información sobre festivos e intervalos de vacaciones. Nos complicamos la vida, pero bueno...

Más cálculo de fechas

Aproximación a la programación

Hacia la programación didáctica...

El icono responde a una idea ambiciosa que todavía necesita desarrollo y mejoras: el contraste entre la actividad diaria y la programación didáctica. Para ello se introduce otra tabla, temprog, que básicamente contiene un registro por cada parte de la materia, con indicación del nivel a que corresponde, días estimados para impartirla, naturaleza de la actividad y fecha límite para tenerla resuelta.

Al seleccionarse este icono se localiza en la tabla temprog un registro cuyo campo de nivel académico corresponda al grupo sobre el que estamos trabajando y cuya fecha sea igual o aproximada a la del registro actualmente seleccionado en la lista de actividades. Como resultado aparecerá un mensaje similar al mostrado a la izquierda, en el que se detalla la materia o actividad que se debería estar impartiendo o realizando en la fecha seleccionada. Sigue un inacabado Llevamos de retraso... que debería ofrecer un cómputo de días, aunque para ello en cada anotación de actividad habría que remitirse a lo previamente programado en temprog para que se pudiera realizar una comparación objetiva de términos. En fin, habrá que darle forma...

La relación se establece entre la tabla de actividad, que para cada día tiene los campos curso, nivel, fecha y activ (descripción de la actividad), y la tabla temprog, que por cada actividad tiene los campos nivel, tema, tipo, parte, días y fechalimit. El campo de relación es nivel, evidentemente.

En la actual versión 0.9 (040218) cada vez que se añade un registro de actividad se cumplimenta el campo nivel de forma automática y de manera un tanto restrictiva: si el curso tiene tres caracteres y el tercero es 'B', (por ejemplo 2CB, 2º C de Bachillerato), se toma el primer carácter como identificador de curso y se añade la secuencia 'BACH'. Así, para el ejemplo anterior, el campo nivel quedaría cumplimentado como 2BACH. Y si no, se toma el primer carácter y se le añade la secuencia 'ESO'. Por ejemplo, un 4º D tendría un identificador de curso 4D, y en un registro de actividad le figuraría el nivel 4ESO. Los tres caracteres y la B final identifican a los bachilleratos; dos caracteres quedan para ESO.

Evidentemente es un sistema restrictivo y muy particular, que a buen seguro indignará a Garantía Social, Ciclos Formativos, Diversificaciones... Lo siento. Acabo de caer en la cuenta y procuraré subsanarlo a la mayor brevedad. Pero es uno de los contados residuos de un tiempo en que la aplicación era sólo para mí y ni por lo más remoto podía imaginar que iba a acabar funcionando en sitios tan dispares como Asturias, Madrid, Málaga, Zaragoza o Castellón...

En cualquier caso la información suministrada, sin ser exacta ni perfecta, resulta de utilidad. Naturalmente, los resultados aquí vienen precedidos de un laborioso trabajo de programación y distribución de la materia, por parte del profesor, sobre la tabla temprog.


El módulo de Consultas

Consultas...

Este cajón de sastre que aparece bajo el nombre de Consultas y que se invoca con el icono constituye un intento de tener prediseñados los listados más habituales que se precisan. Intento que nunca será plenamente satisfactorio pues, a la vista de la cantidad de campos e información contenida en las diversas tablas de la base de datos, las posibilidades son muchas más de las que razonablemente pueden caber en un programa de estas características. En cualquier caso, el gestor SprintDB Pro dispone de un potente módulo para consultas (Queries) y un no menos potente sistema de consulta de tablas, filtrado, ordenamiento y modificación global.

En fin, este formulario permite las consultas más comunes y elementales. En su apariencia externa tiene el consabido control-aspa roja de cierre, el icono de acceso al horario, un texto descriptivo que va informando de la naturaleza de la consulta realizada, una fila de controles en la parte superior, un contador de registros que cumplen la condición, un control de listados central, que mostrará la información resultante de la consulta, y una hilera de iconos en la parte inferior.

A la izquierda de los controles un icono con la habitual figura de borrar sirve para vaciarlos todos, incluida lista de resultados, y volver a empezar a establecer condiciones.

Los controles de la parte superior reflejan cuatro aspectos que pueden condicionar una consulta: curso, fecha de comienzo, fecha de término y tipo de nota. Así, el primero es una lista desplegable que permite seleccionar el curso; el segundo, un control de fecha inicial o fecha de coincidencia; el tercero el control de fecha final, y el cuarto nos permite condicionar las consultas de notas por el criterio de tipo de nota. Este indicador, como es lógico, sólo funciona con las notas; si se pide algo de actividades o de faltas el contenido de ese campo se ignora.

Bien. ¿Y qué información puede suministrar este sistema? La respuesta está en los cuatro iconos de la parte inferior. Primero se construye la condición con los controles de arriba y después se elige la acción, que puede ser:

En todos los casos se ha intentado evitar duplicidades de información. Si, por ejemplo, se pregunta por las faltas de asistencia en el grupo X durante tales días, se mostrarán los nombres de los alumnos, las fechas de las faltas, pero no el curso, que ya va implícito en la consulta. Asimismo se ha procurado ordenar los resultados en cada caso conforme al criterio supuestamente más útil.

De todas formas, nada es perfecto y la lista sigue y seguirá mucho tiempo abierta.

Algunos ejemplos, simples:

Listas

Consultas

Consultas


Componentes para instalación

Base de datos, ya en formato CDB de Pocket Access 2003. Con algunos registros de ejemplo
feb04-RAF.zip Fichero de formularios RAF de la nueva versión 0.9
iconos-feb04.zip Nuevos iconos para sustituir a los de la versión anterior
img.zip Una única foto de "alumno" para empezar las pruebas


2002-dic03.cdb.zip Base de datos, ya en formato CDB de Pocket Access 2002. ¡Sólo para usuarios de Pocket PC 2002!


Problemas de última hora

Toda esta gestión se ha desarrollado y probado exhaustivamente en un Pocket PC iPAQ con procesador Xscale PXA255, Windows Mobile 2003 y SprintDB Pro versión 2.0. La máquina alternativa para probar otros entornos, versiones y actualizaciones es otra iPAQ con micro Xscale PXA250, Windows PocketPC 2002 y SprintDB Pro 1.7a.

Las pruebas realizadas sobre estas dos máquinas hasta la fecha han resultado satisfactorias. Esperemos que esta tónica continúe largo tiempo...

Algunas características técnicas

Definiciones de tablas utilizadas.

alum

Nombre del campo Tipo Tamaño Índice
codigo Text 10 YES
curso Text 5 NO
nombre Text 20 NO
apellidos Text 30 NO
direccion Text 50 NO
localidad Text 30 NO
telefono Text 10 NO
fnac DateTime NO
padre Text 30 NO
fnacp DateTime NO
profp Text 30 NO
madre Text 30 NO
fnacm DateTime NO
profm Text 30 NO
numhermanos Integer NO
lugar Text 2 NO
repite Yes/No NO
observaciones Memo NO

activid

Nombre del campo Tipo Tamaño Índice
curso Text 5 NO
nivel Text 5 NO
fecha DateTime NO
activ Text 255 NO

calific

Nombre del campo Tipo Tamaño Índice
codigo Text 10 YES
fecha DateTime NO
curso Text 5 YES
tipcalif Text 25 NO
ncalif Double NO
pcalif SmallInt NO
calif Text 255 NO

faltas

Nombre del campo Tipo Tamaño Índice
codigo Text 10 YES
fecha DateTime 10 NO
curso Text 5 YES
justificada Text 2 NO
cje Text 2 NO
comentario Text 255 NO

horario

Nombre del campo Tipo Tamaño Índice
curso Text 5 NO
nomcurso Text 10 NO
colorfondo Integer NO
tamfuente Integer NO

temprog

Nombre del campo Tipo Tamaño Índice
nivel Text 5 NO
tema Text 5 NO
tipo Text 10 NO
parte Text 100 NO
dias Integer NO
fechalimit DateTime ASC

Nombre del campo Tipo Tamaño Índice
pcalif SmallInt NO
tipcalif Text 25 NO

Nombre del campo Tipo Tamaño Índice
elem Text 25 NO
valor Text 255 NO

Para tener en cuenta lo siguiente:

Los campos de tipo Text permiten un máximo de 255 caracteres. Son los más utilizados, para datos, y están definidos para la máxima extensión de 255 allí donde se precisan descripciones (comentarios a una nota o calificación, descripción de la actividad de un día,... fundamentalmente). Entre los numéricos, los Integer se emplean allí donde son necesarios o previsibles cálculos aritméticos y con cifras de cierta magnitud (color de fondo de las casillas del horario); los SmallInt para valores numéricos que no alcanzan unos valores muy elevados (como pcalif, el peso de las calificaciones); y el Double allí donde se necesitan decimales (calificación numérica ncalif). Algunos campos como numhermanos de tipo Integer son, obviamente, un residuo de los desarrollos iniciales que han ido pasando desapercibidos a lo largo de las sucesivas revisiones y actualizaciones. Los campos DateTime almacenan fechas y horas (únicamente se usa de ellos el componente fecha), los Yes/No son los típicos binarios Verdadero/Falso, y el Memo, que únicamente se emplea en el apartado de observaciones del alumno, página Otros, es un campo de Memorándum, texto amplio donde se puede escribir y escribir prácticamente sin más limitación que la paciencia del lector subiendo y bajando la barra de desplazamiento.

Descripción y límites de los tipos de datos:

Tipo Descripción Tamaño/valor máximo
Text Cadena de caracteres Unicode 255 caracteres
Memo Cadena de longitud variable 32.000 caracteres
Integer Entero de 4 bytes con signo 2.147.483.647
SmallInt Entero de 2 bytes con signo 32.767
Double Coma flotante 8 bytes con signo 1,79E +308
DateTime Objeto de Fecha/hora
Yes/No Valor lógico o Boole

Botiquín de emergencia, aka Troubleshooting

Algunas veces parece que algo se traba y no se despliega el calendario mensual cuando se intenta cambiar un campo de fecha. Ocurre con cierta frecuencia. Si se tiene el gestor de tareas WisBar instalado, basta con desplegar su menú de opciones. En ese momento emerge por debajo de dicho menú el calendario en cuestión.

(continuará)

Última actualización: 26-02-2004 a las 1:10