[Leer primero "¿le faltan controles a Windows?"].
Finalmente he optado por la solución más sencilla, aunque en su momento no me lo pareció tanto: un único Grid con 3 columnas, una para los personajes, otra para los cantantes, y otra para sus valoraciones:

Al momento de elegir la ópera para la representación, el Grid se rellena con los personajes que pertenecen a esa ópera. Desde el momento en el que se elige una ópera, el Grid de personajes-cantantes-valoraciones se rellena con los personajes de la ficha de la ópera elegida. Además, se habilita el botón de edición de personajes (lapicero azul), desde el cual se les puede asignar un cantante a cada uno con su valoración. Aunque se les haya asignado a cada personaje un cantante y una valoración, si en un momento dado se quiere cambiar de ópera (no creo que sea muy frecuente), el Grid de personajes se vacía y se rellena con los nuevos.
El programa marcha realmente bien, ya ha pasado lo más difícil. Tengo la versión 1.0 al 70%, a falta de búsquedas, impresión de fichas y listados, y unas cuantas pequeñas mejoras y corrección de BUGs que aparezcan.
comentarios (6) |
Ya te lo comenté... ;)
En mi opinión es la mejor solución que podías darle al tema.
Y una cosa... ¿Porque el nombre del documento está en formato DOS? ¿Porque no utilizas los nombres largos? Creo que si el S.O. lo permite no es correcto que una aplicación no haga uso de ello. (Me imagino que igual es problema del Clipper/Harbour, no?)
Un saludo.
Hola Antonio,
El nombre está en formato corto porque es una limitación de los 16 bits. Yo lo capturo con el diálogo de 32 bits, pero luego lo acorto con Lfn2Sfn( cFileName ). Si, ya se que da un poco de vergüenza a estas alturas hacer programas a 16 bits, pero he preferido hacerlo con Clipper por ahora hasta que C3 sea bien estable y tenga la GUI terminada. Si te fijas, otro detalle de los 16 bits es que el diálogo no coge la apariencia de XP. Coge un aspecto a medio camino entre Windows clásico y XP. Pero esto es provisional... xBase está en los 32 bits, soy yo, que soy un poco raro y no me convencen aún ni Harbour ni xHarbour ;-)
No veo el motivo por el cual transformas (y supongo guardas) el path en formato corto, lo más logico es siempre tenerlo en formato largo y cuando necesites utilizarlo en formato corto aplicarle la funcion.
Supongo que el nombre corto lo necesitas cuando utilizar la función File() para chequear si el archivo existe, pues bien, tan solo necesitas hacer un File(Lfn2Sfn( cFileName )).
Daniel,
Lo guardo acortado por dos razones:
1) Me olvido de andar acortandolo cuando lo tengo que utilizar, de forma que cuando pase el programa a 32 bits solo tendré que buscar dónde lo guardo y quitar el Lfn2Sfn().
2) Al guardarlo más corto el campo que necesito en la dbf es más pequeño, y ocupa menos.
¿No te parece más cómodo? :-)
sobre tu comentario que tipo de browse ocupaste para hacer el formulario
el wbrowse estandar de fivewin?
el tcbrowse
el tsbrowse
podrias comentarlo
saludos muy acertados tus comentarios
Antonio,
Utilizo el twBrowse modificado por Hernán Diego Ceccarelli. Puedes bajarlo desde www.dbwide.com.ar