📄 unit4.pas
字号:
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 + -