bueno despues de mi bien librado tema del dblookupcombobox gracias a juan laplata, el sistemita de autoevaluación de examenes ya esta, manejo las respuestas y preguntas a través de arreglos y funciona perfecto, pero tengo el siguiente código:
procedure pro_resp( var val,val2:string);
var
resp:string;
begin
contador:=0;
ModuloEasyExa.q_resp.SQL.Text:='SELECT correcta from respuestas WHERE idPregunta='+val2+' and respuesta='+val;
ModuloEasyExa.q_resp.Open;
ModuloEasyExa.q_resp.First;
if (ModuloEasyExa.q_resp.RecordCount > 0) then
begin
resp:=ModuloEasyExa.q_resp.FieldByName('correcta').AsString;
if (resp = 's')then
begin
showmessage('correcta');
contador:=contador+1;
end
else
showmessage('incorrecta');
begin
end;
end;
ModuloEasyExa.q_resp.Close;
end;
procedure Texamen.RadioButton1Click(Sender: TObject);// esto se repite en 20 radiobuttons
begin
val:=resp[0,0];
val2:=id[0];
pro_resp(val,val2);
end;
En mi radio button le paso los valores del arreglo que tiene esa posición, mando a llamar al procedimiento donde evalua la respuesta seleccionada y el id de la pregunta, con esos campos hace una consulta y dependiendo de lo que mande es que se imprime un mensaje.
Bueno, la cosa es q me dijeron que eso es muy costoso para la máquina, ya que mandar el parametro y hacer la consulta por cada vez q selecciones un radio no tendria que ser,optimizalo
, me dijeron :"haz una consulta donde los campos se queden en memoria y por medio de 'locate' puede jalar los datos que necesites" , no entendi nada y por mas q dije: "expliquenme con mazanas", nadamas nada, alguien tiene idea de lo qu quisieron dar a entender o como se hace?.
Saludos.