1

我有这个代码:

我第一次打开它时,它正是我需要它做的……一个学生回答问题,根据正确/错误的数量,它会显示一个笑脸……我第一次打开它的表格时,它会起作用并且确实如此,但第二次一切正常,但未显示笑脸

procedure TFUNIDAD1_ACTIVIDAD_COMPLETA.Ipregunta1Click(Sender: TObject);
var
  x: Integer;
begin
  for x := 1 to 6 do
    if Sender = Preguntas[x] then // Valida el panel que generó el evento
    begin
      // para Moverlo
      Respuestas[vCodigo].Top := Preguntas[x].Top; // Mueve el boton ubicado en la posicion capturada
                                      //en la variable codigo
      Respuestas[vCodigo].Left := Preguntas[x].Left;/////////
      //para validar

      if x = vCodigo then // Valida si la posicion del panel que genero el evento
      begin       //es igual a la que esta almacenada en Codigo
        Imagenes[x].Picture.LoadFromFile('C:\Educso\Imagenes\Actividades\accept.bmp');
        // si son iguales pone Correcto
        vBuenas := vBuenas + 1;
      end
      else
      begin
        Imagenes[x].Picture.LoadFromFile('C:\Educso\Imagenes\Actividades\delete.bmp');
        // De lo Contrario pone Incorrecto
        vMalas := vMalas + 1;
      end;
    end;

  if vMalas + vBuenas = 6 then
  begin
    if vBuenas = 6 then
      icarita1.Visible := True
    // ICarita.Picture.LoadFromFile('C:\Educso\Imagenes\Actividades\Muy Bien.png')
    else
    if (vbuenas < 6) and (vBuenas <> 0)  then
      icarita2.Visible := True
    // ICarita.Picture.LoadFromFile('C:\Educso\Imagenes\Actividades\Bien.png')
    else
    if vBuenas = 0 then
      icarita3.Visible := True;
    // ICarita.Picture.LoadFromFile('C:\Educso\Imagenes\Actividades\Malo-1.png');
  end;
end;

可能是因为我调用表格的方式吗?

if assigned (ACTIVIDAD_COMPLETA) 
ACTIVIDAD_COMPLETA.free; 
ACTIVIDAD_COMPLETA.close; 
ACTIVIDAD_COMPLETA:=TFUNIDAD1_ACTIVIDAD_COMPLETA.CREATE(APPLICATION);
ACTIVIDAD_COMPLETA.show;

vMalas 和 vBuenas 计算有多少正确/错误的问题。

var FUNIDAD1_ACTIVIDAD_COMPLETA: TFUNIDAD1_ACTIVIDAD_COMPLETA; 
Respuestas:Array [1..6] of TIMAGE;
//Respuestas Preguntas:Array[1..6] of TIMAGE; 
//Preguntas Imagenes:Array[1..6] of TIMAGE; 
//Cotejos vCodigo:integer;
vBuenas:Integer=0; 
vMalas:Integer=0;
4

0 回答 0