Test de Evaluacion
Hola a todos, fijense que tengo un problema, necesito hacer un cuestionario para evaluar a los empleados, ya tengo todos los modulos hechos y son:el nombre de la evaluacion, la seccion de la evaluacion, las preguntas que ira en cada evaluacion y las opciones que tienen las preguntas. Ahora mi duda es como hacer para que se empiece a visualizar el cuestionario(ya que en si eso es el test). Como hago para que se muestre las preguntas y las opciones para que el usuario la seleccione(las opciones seran radiobuttons) y asi tener una calificacion de el. Espero haberme dado a entender. Saludos
|
Hola Elite237,
Recuerdo tu anterior post, tranquilamente podías seguir tratando el tema allí y no iniciar un nuevo hilo. Con respecto a tu duda, como dije antes es más una cuestión de lógica y estética. Si nos pudieras comentar más detalladamente como estás llevando a cabo el sistema te podríamos asesorar. Si haces uso de una base de datos, comentanos como estructuraste tus tablas, que motor empleas. Relacionado con lo de bases de datos: que componentes usas y cómo. Deberías explicarnos mejor como estás haciendo tu trabajo. Sin conocer los detalles podríamos "adivinar" y proponerte alternativas que pueden incluso serte más difíciles de llevar a cabo. No sería muy oportuno que nosotros te hagamos un diseño, por favor, explicanos mejor tus avances y en base a ello si te podremos proponer soluciones y/o alternativas adecuadas a tus requisitos, necesidades y tu experiencia. No lo tomes a mal, pero a "ciegas" lo único que podemos hacer es adivinar. En el otro hilo te he pedido amablemente que tu dieras el primer paso explicandote y aportando los detalles necesarios. No veo un cambio alguno entre lo que has dicho aqui como en el otro hilo. Saludos, |
¿Se trata de crear el Test en tiempo de ejecución a partir de unas preguntas y posibles respuestas?
Si es eso, acláralo, antes de seguir avanzando en el tema. |
Test de Evaluacion
Tienes razon delphius, disculpen por abrir otro hilo y por no escribir claramente. Bien, mi base de datos la hize en firebird, mis tablas son TEVALUACION los campos son eval_clave,eval_nombre,eval_tipo. La tabla TSECCIONES los campos son secc_evaluacion,secc_clave,secc_nombre. La tabla TPREGUNTAS los campos son preg_evaluacion,preg_seccion,preg_clave,preg_descripcion. La tabla TOPCIONES los campos son opci_evaluacion,opci_seccion,opci_pregunta,opci_clave,opci_descripcion,
opci_valor. Ahora explicare como es que funciona:las evaluaciones estan constituidas por un nombre a la evaluacion(ejemplo vendedoras) por una seccion(ejemplo imagen personal), preguntas por cada seccion(ejemplo ¿como es su asistencia en el trabajo?)y por opciones multiples que tendra cada pregunta(ejemplo 1.con faltas y permisos 2.con incapacidad y retardos 3.con puntualidad), lo primero que hize fue crear modulos con altas,bajas,modificaciones y consultas para cada evaluacion,seccion,preguntas y opciones. Lo que quiero hacer es lo siguiente, por ejemplo que el usuario seleccione una evaluacion y que cuando seleccione la evaluacion comience a visualizar las preguntas y opciones con su seccion como encabezado. El detalle es este, como hacer que se empiece a visualizar en forma de cuestionario?Espero haberme dado a entender..Dime si sigo escribiendo en este hilo o me paso al otro.Gracias por tus comentarios |
Correcto!!
Cita:
|
2 Archivos Adjunto(s)
Supongo que podrías crear un Frame que posteriormente será cada una de las preguntas. Con un Label en la parte superior para la pregunta y los componentes correspondiente en la parte inferior para las respuestas.
Luego en ejecución, utilizar un form con un TScrollBox e ir creandop en su interior tantos Frames como preguntas tengas. A cada frame deberás cambiarle las propiedades correspondientes a la pregunta y las respuestas. Algo así como hace el adjunto (mejor una imagen que 1000 palabras). Y un segundo ejemplo para consultar las respuestas (esta tarde estoy aburrido ;););)). |
OK, ahora entiendo mejor.
Estaba pensando en algo, pero tras esa hermosa y buena presentación que ofreció Neftali me he quedado chiquito. La idea mia es mostrar pregunta por pregunta. Nada de crear Frames. Yo me imagino lanzar una consulta SQL para que traiga las preguntas y opciones correspondientes al test a aplicar. E ir mostrando solamente pregunta a pregunta. Es decir registro a registro de la tabla TPREGUNTAS. Ante la selección del usuario y su correspondiente afirmación (por ejemplo, un botón "Seguir") avanzar al siguiente registro y volver a mostrar los datos. Tal vez, si es que realmente los requisitos así lo indican, se podría confirmar en alguna tabla las respuestas que ha dado el usuario ante cada "Seguir". Es decir: guardar en una tabla las respuestas que ha dado el usuario. Creo que la manera que ofrece Neftali es una buena opción. Ya veo si hago un ejemplo ilustrando mi idea. Saludos, |
Delphi 5
Gracias neftali, pero no puedo ejecutar la aplicacion que adjuntaste, quiza es por que estoy usando delphi 5. Ya vi los form que hiciste y si es una muy buena idea, esos componentes que me dices no los he usado, pero investigare bien para aplicarlos.Gracias
|
Hola Elite237,
¿Te arroja algún error? Si es así por favor indicanos el mensaje textual. Yo tengo D6 y pude compilarlo sin problemas. Saludos, |
Error al ejecutar el programa de neftali
Cita:
y despues que se lo quito
|
Hola
Es StrUtils, no SysUtils Salud OS |
El error se debe a que espera al final un punto y coma y no la coma.
Veo que te falta después de esa coma la declaración de la unit FPregunta. Debería ir así:
Saludos, |
Error al ejecutar el programa de neftali
Ya escribi como dices delphius pero despues me manda un mensaje de que no se ha encontrado
aunque despues le modifico en el uses(se lo agrego y se lo quito) y me sale lo mismo |
Cita:
Salud OS |
1 Archivos Adjunto(s)
Cita:
|
Tengo pendiene hacer algo parecido; No con test ni con preguntas, pero sí un formularios que debe ir generando Frames en ejecución; Lamecánica será similar a esta, así que me ha ido bien paa hacer unas pruebas.
Cita:
Podrías ir visualizando los frames a medida que el usuario va contestando, así te aseguras de que va contestando todas las preguntas, en lugar de "soltarselos" todos de golpe. |
Error al ejecutar el programa de neftali
Fijense que ya me corrio el programa, pero cuando presiono el boton de crear test me sale el siguiente error:
|
Cita:
Abre el proyecto y asegurate de que abres todos los formularios en diseño y de que se ven bien. A veces pasa que Delphi 5 no entiende una propiedad del formulario (hecha con una versión porterior). Al abrirlos en diseño, te eliminará las propiedades que no "conozca"; Asegurate de que los formularios y el Frame se ven correctamente en diseño y luego haz el BUILD de todo. Ya dirás... |
Ok, ya pude abrirlo y ejecutarlo.Gracias Neftali, vere como adecuarlo a mi aplicación.Nose que haria sin ustedes.Saludos
|
Cita:
Salud OS |
Cita:
Saludos. |
Hola neftali, fijate que he querido adaptar el programa que hiciste de ejemplo a mi aplicacion, solo que no consigo hacer que se visulice las preguntas y las opciones, y te comento como esta mi apliacacion: por cada seccion hay preguntas, y esas preguntas tienen sus opciones, y lo que quiero hacer es que al momento de seleccionar el tipo de evaluacion de un combobox, pues aparezca las preguntas y las opciones de cada seccion, no se si me de a entender, he hecho query para traer las preguntas y que aparezcan en cada frame, pero me manda el siguiente error:
y quiza es por el codigo que le estoy introduciendo, la verdad no he utilizado frames y no tengo mucha experiencia programando en delphi.Este es el codigo que el estoy introduciendo
|
Hola Elite237, por ahora el único error que veo es que estás asignando dentro de str = format() una sentencia de asignación (Fr.....Caption := ...)
Eso no está permitido en el lenguaje. Mueve esa setencia de asignación antes de realizar el format:
¿Se entiende? Saludos, |
OK, Gracias Delphius, ya lo hize, pero no me hace nada, quedo como el que hizo neftali. Explicare algo que se me ha olvidado decirles: Por cada evaluacion, tengo una seccion, dentro de cada seccion tengo preguntas y a cada pregunta 3 o mas opciones de respuestas. Lo que me piden es que al momento de elegir el tipo de evaluacion a presentar, me muestre todas las secciones de mi evaluacion junto con sus respectivas preguntas y respuestas. Las claves se las asigno de esta manera. Evaluacion vigilante 3....seccion de la evaluacion 3.1....pregunta de la seccion 3.1.1....opcion de la pregunta....3.1.1.1....y asi sucesivamente, dependiendo de la cantidad de secciones, preguntas y opciones tengan cada evaluacion.Me di a entender?...Entonces yo me imagino y quiero hacer(corrigeme si estoy mal)realizar querys para traer esos datos. Pero ¿como se los asigno a las etiquetas y al radiogroup que usa neftali y que se vaya incrementando y muestre las opciones y las preguntas correctamente???
|
Hola Elite237,
Sería muy oportuno como saber como y que consultas SQL estás lanzando. Si nos expusieras el código empleado podríamos saber de que modo asesorarte. Por otro lado veo en el código anterior que expones, que en nungún momento lanzas la consulta a ejecutar. Es decir, no veo el Open. Saludos, |
Ya lo habia checado delphius, gracias. La consulta que quiero hacer primero es la siguiente:
para que me arroje correctamente el nombre de la seccion, y que pertenezca a esa evaluacion. Aqui no hay problema, el problema digo yo es cuando se tenga que checar las preguntas y la opciones correspondan a la seccion y a la evaluacion. |
Yo haría las cosas por partes, más que nada para ubicar los posibles problemas.
Primero lanza la sentencia SQL y asegúrate de que obtienes los datos corrrectos; Una vez hechoesto, ya los asignarás a los frames. En cuanto al código:
|
Que tal neftali,ya hize mis querys, pero me manda un error, que es probable que me lo de por la manera en que la ejecuto:
este es el codigo que utilizo al momento de dar clic en mi boton y me genere todo el cuestionario: Ah y quiero preguntarte, como hacer para que se muestre las opciones que tengo en la bd automaticamente, sin que la haga manualmente.Le paso el query en los parentesis??Checa mi radiogroup del final |
Algunas cosas...
No me queda claro que en esta consulta vas a obtener el campo eval_descripcion y el campo que usas en el WHERE es eval_descripcion; ¿Obtendrás lo que ya tienes no? :confused::confused: En lugar de usar comillas es mejor que utilices QuotedStr; Es más claro y más seguro:
Eso ya te añade el texto y las comillas. En la tercera consulta te falta hacer el Clear antes de añadirla; Posiblemente por eso se te esté quejando de algo relacionado con el SELECT. Lo de los RadiuoGroup no lo he entendido. :o:o:o |
Ok. con la primer consulta, segun lo que yo trato de hacer es lo siguiente:si en caso que el usuario seleccione del combo una evaluacion, pues que me traiga esa evaluacion.
Ahora con la sugerencia que me diste, te agradezxo y la voy a implementar. Por ultimo lo de las opciones te explicare.Tengo una seccion, por ejemplo se llama Imagen Personal. En esa seccion hay varias preguntas, una de ellas por ejemplo es:¿Como es su asistencia al trabajo?.En esa pregunta hay 3 opciones(siempre hay 3 opciones)una de ellas por ejemplo es:Con faltas y permisos. Lo que quiero es que al momento de hacer un clic en el boton me genere el cuestionario, que me muestre en un label la evaluacion, en otro label la seccion y en otro label la pregunta(pero tambien que se genere automaticamente la siguiente pregunta en otro frame). Y despues quiero que en el radiogroup aparezca las opciones para esa pregunta (y tambien que se genere automaticamente en otro frame con su respectivas preguntas, osea no repetidas).Me hago entender?.Gracias por tu tiempo |
Mira he estado intentando hacerlo asi, ya que lo hacia de otra manera, y me arrojaba todos los campos, y eso era por que no estaba tomando alguna clave para comparar, y como los campos que queria condicionar tienen los mismos valores, es por eso que me daba ese resultado. Lo que hize fue que en un combobox cargue la clave y el nombre de la evaluacion, despues sacaba solo la clave de la evaluacion y apartir de ella evaluaba que si era igual a la cave pues me hiciera la consulta. El problema de ahora es que al momento de ejecutarlo no muestra nada, ni el formulario, como que se queda en el viaje, por que sera?alguien sabe?de todas maneras les dejo el codigo que utilizo(gracias a neftali, claro!!)
|
Pasar la consulta al crear el frame
Fijense que logre que me de la seccion, las preguntas de esa seccion, pero el problema que me da es que me vuelve a generar las mismas opciones para todas las preguntas, este es mi codigo que utilizo, le agregre un while, para que me diera las secciones acorde a las preguntas:
|
Creo que ese query3.next en medio del código no va, creo que es al final del bucle:
Una sugerencia, divide y vencerás. Por ejemplo:
Ahora puedes sustituir esas líneas de código por una llamada a este procedimiento, reusándolo.
Si usas esta vieja técnica con otras cosas de tu código, verás que tu procedimiento se acorta bastante, no te mareas con el scroll vertical, es más legible, entendible y encontrarás los errores más rápidamente. Saludos |
Gracias Lepe por tu comentario, ya implemente lo que dijiste. Una duda, el query4.next, tu crees que deba ir hasta el final como los demas??Lo que pasa es que las respuestas me las manda todas juntas en mi radiogroup, y me debe de enviar 3, 4 ó 2 respuestas dependiendo de la pregunta(Disculpen si dije que todas tienen solo 3 respuestas, no lo habia checado bien).Saludos
|
Podrías poner una pequeña copia de las tablas, o al menos una porción de ellas (exportarlas a algun formato sencillo); La verdad es que yo con tanto código me he perdido.
Creo que sería más fácil poder probarlo y seguirte con un pequeño ejemplo. |
Hola neftali, eso que me pides como lo hago?osea para que pueda visualizar la imagen en el foro??.Por otra parte, fijate que mejor lo voy a intentar pero en un StringGrid, la misma problematica, que me muestre todas las secciones,preguntas y opciones,peeeero, que al dar doble clic a la pregunta que esta en el stringrid, me visualice un panel con los radiobutton (con las respuestas). Una duda, debo seguir en este hilo?o crear otro?o llevar mi problematica a otro hilo?
|
Disculpen si me cambie asi de repente de diseño, agradezco su ayuda, en serio, solo que mi jefe me pidio que hiciera un diseño igual al que tienen de excel, por ese motivo lo tengo que cambiar. Espero y todos los que me ayudaron no se sientan incomodos o que no valio la pena su tiempo y su ayuda, pero creanme que para mi si es valioso, ya que aprendi cosas nuevas y algun dia lo hare de esa manera. Saludos a todos
|
Cita:
Si crearas un nuevo hilo, toda esa información quedaría disgregada. En mi opinión, lo mejor es continuar este. |
Upps...disculpa, es que ya abri otro hilo..Ahora que hago??Les aviso a los que me respondieron en el nuevo hilo que se vengan a este?? o como??que me sugieres?
|
Hola Elite237,
Yo estoy mareado al ver el código y estoy igual que Neftali. Si nos pudieras hacer llegar la estructura de las tablas (el diagrama DER, o Diagrama Entidad Relación) tal vez nos refrezque las ideas. Con respecto al uso del TStringGrid es una opción ecónómica, ya que no ocupa tanto espacio como las otras opciones que te fueron presentadas. Lo que no se es si estoy analizando correctamente la manera de usarlo. Yo me imagino que las columnas, representan a las preguntas y las fila las secciones que componen el cuestionario. Cada celda corresponderá entonces a la respuesta asociada a la pregunta de cada sección. Código:
| P1 | P2 | P3 | P4 | Con respecto a que muestre un Frame para legir las opciones, no creo que te resulte demasiado complicado. Yo imagino un escenario en donde la matriz constituye la primera opción (preguntas por sección), de modo que ante la doble pulsación de la celda, se cree un form que contenga las opciones, se elija y al momento de cerrarse que el valor de la opción se transfiera a dicha celda. La idea que me pasa por la cabeza es que se lanze una consulta SQL para traer todas las preguntas para cada sección. "Explorar" los registros y relacionar de algún modo cada pregunta y sección con la columna y fila correspondiente. Por ejemplo, se puede hacer que en las celdas fijas se guarden el ID de la sección. De modo similar podemos hacer relacionar la posición de las columnas con la pregunta. Por ejemplo, la celda [1,3] hace referencia a la tercer pregunta de la fila 1. Si en la celda fija de la fila 1 hemos guardado el ID correspondiente a alguna sección, podemos construir una consulta SQL que nos permita obtener las opciones a la pregunta tercera de la sección ID. Al tener ahora los datos que constituyen a las opciones de dicha pregunta, podemos mostrarlos en ese form que vamos a crear. Espero que se entienda la idea. Saludos, |
La franja horaria es GMT +2. Ahora son las 21:51:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi