⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit4.pas

📁 理论考试程序,可以自由下载,学习,请多多指点,批评
💻 PAS
📖 第 1 页 / 共 4 页
字号:
Messagebox(application.handle,pchar('计算机已自动交卷!'),'信息',mb_ok+mb_iconinformation);
BitBtn2Click(Sender);
//XP_Button2.Enabled:=false;
//XP_Button3.Enabled:=false;
//XP_Button7.Enabled:=false;
//a.Enabled:=false;
//b.Enabled:=false;
//c.Enabled:=false;

//tab1.close;
exit;

end;
//Label1.Caption:=Mysysj;
//Label2.Caption:=Mysysj;
Label3.Caption:=Mysysj;

end;

procedure TForm4.BitBtn1Click(Sender: TObject);
var xx:integer;
begin
Txtbz1.Text:='0';
Tmpsql:='delete from  ktb ';
 with ADOQuery1  do begin
    close;
    sql.Clear;
    SQL.Add(tmpsql);
    execsql;
    end;
   ADOQuery1.Close;

a.Enabled:=True;
b.Enabled:=True;
c.Enabled:=True;
bitbtn2.Enabled:=True;
//bitbtn3.Enabled:=True;
bitbtn4.Enabled:=True;
bitbtn5.Enabled:=True;
bitbtn1.Enabled:=false;


mymz:=60;
d:=mymz;
Myfz:=44;
e:=Myfz;
Timer1.Enabled:=true;



end;

procedure TForm4.AClick(Sender: TObject);
begin
 //if strtoint(Trim(Txtzxh.Text))=99  then  begin



if  Not  Tab2.Active  Then Tab2.Active ;
     Tab2.Open;
 if not tab2.Locate('ktxh;bz', VarArrayOf([inttostr(strtoint(Trim(txtzxh.Text))-strtoint(Trim(txtzxh1.Text))+1),null]), [loPartialKey]) then begin
     Tab2.Append;
     Tab2.FieldByName('ktxh').Asstring:=Trim(listbox2.items.strings[strtoint(Trim(txtzxh.Text))]);//Trim(Txtzxh.Text);
     Tab2.FieldByName('ktda').Asstring:='A';
     Tab2.FieldByName('bz').AsString:='1';
     Tab2.Post;
     end
     else
     begin
     Tab2.Edit;
     tab2.FieldByName('ktda').Asstring:='A';
     Tab2.Post;
     end;
    Tab2.close;
  // end;


 // end;
  {tmpsql:='SELECT * FROM examfold WHERE xzda<>'+''''+'X'+'''' +'order by int(xh)';
   with ADOQuery1 do begin
     close;
     sql.Clear;
     SQL.Add(tmpsql);
      OPEN;
      first;
       listbox2.Clear;
     // listbox1.Items.Add(fieldbyname('xh').AsString);
      while not eof do  begin
     listbox2.Items.Add(fieldbyname('xh').AsString);
      next;
      end;

      close;
      end;   }

  tmpsql:='select * from ktb  order by ktxh ';

  with ADOQuery1 do begin
    close;
    sql.Clear;
    SQL.Add(tmpsql);
    OPEN;
  button1.Caption :='已做'+inttostr(recordcount)+'道题,'+'未做'+inttostr(100-recordcount)+'道题' ;
   close;
   end;

  if Trim(Txtbz1.text)<>'1' then
   A.Font.Color:=clgreen;
  // a.Brush.Color:=clgreen;
   B.Font.Color:=clblack;
   C.Font.Color:=clblack;
//   Tab1.Open;
 //  Tab1.close;


 BitBtn5Click(Sender);

end;

procedure TForm4.BClick(Sender: TObject);
begin

{if  Not  Tab1.Active  Then Tab1.Active ;
    Tab1.Open;
  if  Tab1.Locate('xh;bz', VarArrayOf([Trim(Txtzxh.Text),'1' ]), [loPartialKey]) Then begin
   Tab1.Edit;
   Tab1.FieldByName('xzda').AsString:='B';
  Tab1.Post;
  Tab1.close;
  end; }
  //if strtoint(Trim(Txtzxh.Text))=99 then  begin

   if  Not  Tab2.Active  Then Tab2.Active ;
     Tab2.Open;
 if not tab2.Locate('ktxh;bz', VarArrayOf([inttostr(strtoint(Trim(txtzxh.Text))-strtoint(Trim(txtzxh1.Text))+1),'1']), [loPartialKey]) then begin
     Tab2.Append;
     Tab2.FieldByName('ktxh').Asstring:=Trim(listbox2.items.strings[strtoint(Trim(txtzxh.Text))]);//Trim(Txtzxh.Text);
     Tab2.FieldByName('ktda').Asstring:='B';
     Tab2.FieldByName('bz').AsString:='1';
     Tab2.Post;
     end
     else
     begin
     Tab2.Edit;
     tab2.FieldByName('ktda').Asstring:='B';
     Tab2.Post;
     end;
    Tab2.close;
  // end;

   tmpsql:='select * from ktb  order by ktxh ';

  with ADOQuery1 do begin
    close;
    sql.Clear;
    SQL.Add(tmpsql);
    OPEN;
   button1.Caption :='已做'+inttostr(recordcount)+'道题,'+'未做'+inttostr(100-recordcount)+'道题' ;
   close;
   end;

    if Trim(Txtbz1.Text)<>'1' then

   B.Font.Color:=clgreen;
   a.Font.Color:=clblack;
   C.Font.Color:=clblack;
  BitBtn5Click(Sender);
end;

procedure TForm4.CClick(Sender: TObject);
begin
{if  Not  Tab1.Active  Then Tab1.Active ;
    Tab1.Open;
  if  Tab1.Locate('xh;bz', VarArrayOf([Trim(Txtzxh.Text),'1' ]), [loPartialKey]) Then begin
   Tab1.Edit;
   Tab1.FieldByName('xzda').AsString:='C';
  Tab1.Post;
  Tab1.close;
  end; }

 if  Not  Tab2.Active  Then Tab2.Active ;
     Tab2.Open;
 if not tab2.Locate('ktxh;bz', VarArrayOf([inttostr(strtoint(Trim(txtzxh.Text))-strtoint(Trim(txtzxh1.Text))+1),'1']), [loPartialKey]) then begin
     Tab2.Append;
     Tab2.FieldByName('ktxh').Asstring:=Trim(listbox2.items.strings[strtoint(Trim(txtzxh.Text))]);//Trim(Txtzxh.Text);
     Tab2.FieldByName('ktda').Asstring:='C';
     Tab2.FieldByName('bz').AsString:='1';
     Tab2.Post;
     end
     else
     begin
     Tab2.Edit;
     tab2.FieldByName('ktda').Asstring:='C';
     Tab2.Post;
     end;
    Tab2.close;
 // end;

  tmpsql:='select * from ktb  order by ktxh ';

  with ADOQuery1 do begin
    close;
    sql.Clear;
    SQL.Add(tmpsql);
    OPEN;
   button1.Caption :='已做'+inttostr(recordcount)+'道题,'+'未做'+inttostr(100-recordcount)+'道题' ;
   close;
   end;

    if Trim(Txtbz1.Text) <>'1' then

  C.Font.Color:=clgreen;
   B.Font.Color:=clblack;
   A.Font.Color:=clblack;
  BitBtn5Click(Sender);
end;

procedure TForm4.BitBtn2Click(Sender: TObject);
 var Myzqs,Mycws,Mywzt,xx,yesno:integer;

 begin

  form11.showmodal;



 //  YesNo:=Application.MessageBox(PChar('交卷按"1",否则,按"0",是否确认交卷,?'),PChar('交卷'),MB_YESNO+MB_DEFBUTTON2+MB_ICONQUESTION);
   //           If YesNo=IdYes Then Begin

    if form11.Edit1.Text='1' then begin

{  if  (strtoint(Trim(Txtzxh.Text))-strtoint(Trim(Txtzxh1.Text))+1)<50 then begin
     Messagebox(application.handle,pchar('您没有做完试卷,请耐心做完!'),'结束答卷',mb_ok+mb_iconwarning);
     exit;
     end; }
 Timer1.Enabled:=false;
 //label1.Caption:='45:00';
 //tmpsql:='select * from examfold where xzda in ('+''''+'A'+''''+','+''''+'B'+''''+','+''''+'C'+''''+')';





{tmpsql:='select * from examfold where cint(xh)>='+Trim(Txtzxh1.Text)+ ' and cint(xh)<= '+Trim(Txtzdh.Text)+  '  order by cint(Xh)' ;
 //showmessage(Tmpsql);
 // exit;
      with ADOQuery1 do begin
     close;
     sql.Clear;
     SQL.Add(tmpsql);
      OPEN;
     first;
     Myzqs:=0;
     Mywzt:=0;
     Mycws:=0;
     xx:=0;
     while not eof do begin

   if Trim(FieldByName('xzda').AsString)='X' then   begin
        Mywzt:=Mywzt+1;   //未答题
       end;

      if Trim(FieldByName('xzda').AsString)<>'X' then   begin
   //    showmessage(Trim(FieldByName('xzda').AsString)+'R'+Trim(FieldByName('zqda').AsString));
           if Trim(FieldByName('xzda').AsString)<>Trim(FieldByName('zqda').AsString)  Then
               Mycws:=Mycws+1 //错误题
            //    if Trim(FieldByName('xzda').AsString)=Trim(FieldByName('zqda').AsString)  Then
              else
                Myzqs:=Myzqs+1
      end;
    //  xx:=xx+1;

     next;
   // close;
    end;
 //   showmessage(inttostr(xx));
    close;
   // exit;
     end;
   IF Myzqs>=90 then
   form5.Label1.Caption:='您有'+inttostr(Mywzt)+'道题未做,'+inttostr(Mycws)+'道题错误,'+'考试成绩:'+inttostr(Myzqs)+'分。恭喜您及格了.'
   else
   form5.Label1.Caption:='您有'+''+inttostr(Mywzt)+'道题未做,'+inttostr(Mycws)+'道题错误'+',考试成绩:'+inttostr(Myzqs)+'分。您未及格,请继续努力.';
   form5.ShowModal;
    listbox2.Items.Clear;
   if not fileexists('c:\单机版\kscj.txt') Then begin
    listbox2.Items.Clear;
 // listbox2.items.Add(Trim(form1.Txtkh.Text)+inttostr(Myzqs)+Trim(form1.Txtxm.Text));
 // listbox2.items.savetofile('c:\单机版\kscj.txt');
  end
  else
  begin
  listbox2.items.LoadFromFile('c:\单机版\kscj.txt');
 // listbox2.items.Add(Trim(form1.Txtkh.Text)+inttostr(Myzqs));
 // listbox2.items.savetofile('c:\单机版\kscj.txt'); }
///新程序
tmpsql:='select ktda from ktb ';
  with ADOQuery1  do begin
    close;
    sql.Clear;
    SQL.Add(tmpsql);
    OPEN;
    Mywzt:=100-recordcount;
    close;
    end;
 tmpsql:='select * from ktb  order by ktxh ';
  with ADOQuery1 do begin
    close;
    sql.Clear;
    SQL.Add(tmpsql);
    OPEN;
    first;
    Myzqs:=0;
    Mycws:=0;
  while not  ADOQuery1.Eof  do begin
     tmpsql1:='select Key_Right from ClientQuestion where xh='+''''+Trim(ADOQuery1.fieldByname('ktxh').AsString) +'''';
      with ADOQuery2  do begin
      close;
      sql.Clear;
      SQL.Add(tmpsql1);
       OPEN;
      first;
       if Trim(ADOQuery1.FieldByName('ktda').AsString)=Trim(ADOQuery2.FieldByName('Key_Right').AsString)  Then
       Myzqs:=Myzqs+1
        else
        Mycws:=Mycws+1;
         close;
     //  end;
       end;
       ADOQuery1.next;
        end;
     end;
  ADOQuery1.close;
  ADOQuery2.close;
 // form5.Label1.Caption := '正确:'+inttostr(myzqs)+'道'+#13+'未做题:'+inttostr(mywzt)+'道'+#13+'错误题:'+inttostr(Mycws)+'道'+#13+'分  数:'+inttostr(myzqs)+'分';
   form5.Label1.Caption := '您的成绩已成功保存,分数为'+inttostr(myzqs)+'分';//+#13+'未做题:'+inttostr(mywzt)+'道'+#13+'错误题:'+inttostr(Mycws)+'道'+#13+'分  数:'+inttostr(myzqs)+'分';
   form5.Edit1.Text:=inttostr(myzqs);
   form5.ShowModal;
  end;
  end;


procedure TForm4.BitBtn3Click(Sender: TObject);
begin
memo1.Clear;
Txtfcbz.Text:='1' ;
if Not tab1.Active then  Tab1.Active;  //分三个考题类型 1.选择题 1-300 2.图示题 301-500 3.判断题501-800
  Tab1.Open ;
 if  tab1.Locate('xh;bz', VarArrayOf([inttostr(strtoint(Trim(txtzxh.Text))-strtoint(Trim(txtzxh1.Text))+1),null]), [loPartialKey]) then begin
  Memo1.Lines.Add(inttostr(strtoint(Trim(txtzxh.Text))-strtoint(Trim(txtzxh1.Text))+1)+'、'+tab1.fieldbyname('question').AsString);
      edit1.Text:=Trim(Tab1.fieldbyname('key_1').AsString);
      edit2.Text:=Trim(Tab1.fieldbyname('key_2').AsString);
      edit3.Text:=Trim(Tab1.fieldbyname('key_3').AsString);
      edit4.Text:=Trim(Tab1.fieldbyname('key_4').AsString);
      if Trim(tab1.fieldbyname('key_right').AsString)='1' then //是否是选择题
   begin
   edit1.Font.Color:=clblue;
   edit2.Font.Color:=clblack;
   edit3.Font.Color:=clblack;
   edit4.Font.Color:=clblack;
   edit1.Text:=edit1.Text+  ' √';
   end;


if Trim(tab1.fieldbyname('key_right').AsString)='2' then //是否是选择题
   begin
   edit2.Font.Color:=clblue;
   edit1.Font.Color:=clblack;
   edit3.Font.Color:=clblack;
   edit4.Font.Color:=clblack;
    edit2.Text:=edit2.Text+  ' √';

   end;
if Trim(tab1.fieldbyname('key_right').AsString)='3' then //是否是选择题
   begin
   edit3.Font.Color:=clblue;
   edit2.Font.Color:=clblack;
   edit1.Font.Color:=clblack;
   edit4.Font.Color:=clblack;
    edit3.Text:=edit3.Text+  ' √';

   end;

if Trim(tab1.fieldbyname('key_right').AsString)='4' then //是否是选择题
   begin
   edit4.Font.Color:=clblue;
   edit2.Font.Color:=clblack;
   edit3.Font.Color:=clblack;
   edit1.Font.Color:=clblack;
   edit4.Text:=edit4.Text+  ' √';
   end;
   end;

  Tab1.Close;
end;

procedure TForm4.BitBtn6Click(Sender: TObject);
begin
memo1.Clear;
memo2.Clear;
Txtzqbz1.Visible:=false;
 Txtzqbz2.Visible:=false ;
 Txtzqbz3.Visible:=false;
 Txtzqbz4.Visible:=false;

 a.Font.Color:=clblack;
 b.Font.Color:=clblack;
 c.Font.Color:=clblack;
{if strtoint(Trim(Txtzxh.Text))<=strtoint(Trim(Txtzxh1.Text)) then  begin
   //label2.Caption :='第1道题:';
    exit;
   end;  }
  // if Txtzxh.Text


//   Tab1.Open ;
 //  tab1.first;
 //

    {  if  txtzxh.Text<>'99' then
      txtzxh.Text:=inttostr(strtoint(Trim(txtzxh.Text))+1)
      else
      txtzxh.Text:='99' ; }
       txtzxh.Text:='0';

Tmpsql:='select * from  ClientQuestion where xh ='+''''+Trim(listbox2.items.strings[strtoint(Trim(txtzxh.Text))])+'''' ;
   with ADOQuery1 do begin
     close;
     sql.Clear;
     SQL.Add(tmpsql);
    open ;
    first;

//if  // tab1.Locate('xh;bz', VarArrayOf([strtoint(Trim(txtzxh.Text)),null]), [loPartialKey]) then begin
  //    tab1.Locate('xh;bz', VarArrayOf([listbox2.items.strings[strtoint(Trim(txtzxh.Text))],null]), [loPartialKey]) then begin

      Memo1.Lines.Add(inttostr(strtoint(Trim(txtzxh.Text))-strtoint(Trim(txtzxh1.Text))+1)+'、'+fieldbyname('question').AsString);
      edit1.Text:=Trim(fieldbyname('key_1').AsString);
      edit2.Text:=Trim(fieldbyname('key_2').AsString);
      edit3.Text:=Trim(fieldbyname('key_3').AsString);
      edit4.Text:=Trim(fieldbyname('key_4').AsString);
      if Txtfcbz.Text='1' then begin
      if Trim(fieldbyname('key_right').AsString)='1' then //是否是选择题
   begin
   edit1.Font.Color:=clblue;
   edit2.Font.Color:=clblack;
   edit3.Font.Color:=clblack;
   edit4.Font.Color:=clblack;
   edit1.Text:=edit1.Text+  ' √';
   end;


if Trim(fieldbyname('key_right').AsString)='2' then //是否是选择题
   begin
   edit2.Font.Color:=clblue;
   edit1.Font.Color:=clblack;
   edit3.Font.Color:=clblack;
   edit4.Font.Color:=clblack;
    edit2.Text:=edit2.Text+  ' √';

   end;
if Trim(fieldbyname('key_right').AsString)='3' then //是否是选择题
   begin
   edit3.Font.Color:=clblue;
   edit2.Font.Color:=clblack;
   edit1.Font.Color:=clblack;
   edit4.Font.Color:=clblack;
    edit3.Text:=edit3.Text+  ' √';

   end;

if Trim(fieldbyname('key_right').AsString)='4' then //是否是选择题
   begin
   edit4.Font.Color:=clblue;
   edit2.Font.Color:=clblack;
   edit3.Font.Color:=clblack;
   edit1.Font.Color:=clblack;
   edit4.Text:=edit4.Text+  ' √';
   end;
   end;


 if fileexists('c:\同步练习\image\'+Trim(fieldbyname('Question_ID').AsString)+'.jpg')  then
 image1.Picture.LoadFromFile('c:\同步练习\image\'+Trim(fieldbyname('Question_ID').AsString)+'.jpg')
 else
 image1.Picture.LoadFromFile('c:\同步练习\image\clear.jpg');
 close;
end;
 //查询答案
Tmpsql:='Select ktda from  ktb where ktxh='+''''+listbox2.items.strings[strtoint(Trim(txtzxh.Text))]+'''' ;
 with ADOQuery1 do begin
    close;
    sql.Clear;
    SQL.Add(tmpsql);
    OPEN;
     if recordcount=0 then
     begin
    Txtzqbz1.Visible:=false;
    Txtzqbz2.Visible:=false ;
    Txtzqbz3.Visible:=false;
    Txtzqbz4.Visible:=false;
    close;
    exit;
     end;
     first;
     if Trim(fieldbyname('ktda').AsString)='1' then begin
        Txtzqbz1.Visible:=true;
        Txtzqbz2.Visible:=false ;
        Txtzqbz3.Visible:=false;
        Txtzqbz4.Visible:=false;
     end;
     if Trim(fieldbyname('ktda').AsString)='2' then begin
        Txtzqbz2.Visible:=true;
        Txtzqbz1.Visible:=false ;
        Txtzqbz3.Visible:=false;
        Txtzqbz4.Visible:=false;
     end;

     if Trim(fieldbyname('ktda').AsString)='3' then begin
        Txtzqbz3.Visible:=true;
        Txtzqbz1.Visible:=false ;
        Txtzqbz2.Visible:=false;
        Txtzqbz4.Visible:=false;
     end;
    if Trim(fieldbyname('ktda').AsString)='4' then begin
        Txtzqbz4.Visible:=true;
        Txtzqbz1.Visible:=false ;
        Txtzqbz3.Visible:=false;
        Txtzqbz2.Visible:=false;
     end;



   close;
   end;

 

end;

procedure TForm4.BitBtn7Click(Sender: TObject);
begin
//exit;
memo1.Clear;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -