📄 unit4.pas
字号:
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ADODB, DB, Buttons, jpeg;
type
TForm4 = class(TForm)
A: TBitBtn;
B: TBitBtn;
C: TBitBtn;
Memo1: TMemo;
Memo2: TMemo;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
Txtzdh: TEdit;
Txtzxh: TEdit;
Tab1: TADOTable;
ADOQuery1: TADOQuery;
Txtzqda: TEdit;
Panel1: TPanel;
Image1: TImage;
Bevel1: TBevel;
Bevel2: TBevel;
Txtzxh1: TEdit;
Txttx: TEdit;
ListBox1: TListBox;
Timer1: TTimer;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Txtxzda: TEdit;
Bevel9: TBevel;
BitBtn3: TBitBtn;
Txtbz1: TEdit;
ListBox2: TListBox;
Image2: TImage;
ADOQuery2: TADOQuery;
Txtlx: TEdit;
Label1: TLabel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
Txtzjcx: TLabel;
Bevel19: TBevel;
Bevel20: TBevel;
Txtsfzh: TLabel;
Bevel21: TBevel;
Bevel23: TBevel;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
Button1: TButton;
BitBtn8: TBitBtn;
Label9: TLabel;
Label6: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
BitBtn12: TBitBtn;
BitBtn13: TBitBtn;
Txtzqbz1: TLabel;
Txtzqbz2: TLabel;
Txtzqbz3: TLabel;
Txtzqbz4: TLabel;
Image3: TImage;
Tab1Question_ID: TWideStringField;
Tab1Question: TWideStringField;
Tab1Graph: TBlobField;
Tab1Key_1: TWideStringField;
Tab1Key_2: TWideStringField;
Tab1Key_3: TWideStringField;
Tab1Key_4: TWideStringField;
Tab1Question_Type: TWideStringField;
Tab1Key_Right: TIntegerField;
Tab1CarType: TWideStringField;
Tab1xh: TWideStringField;
Tab1bz: TWideStringField;
Tab2: TADOTable;
Tab2ID: TAutoIncField;
Tab2ktda: TWideStringField;
Tab2ktxh: TWideStringField;
Tab2bz: TWideStringField;
Label15: TLabel;
BitBtn14: TBitBtn;
Panel2: TPanel;
Label13: TLabel;
Txtfcbz: TEdit;
Bevel3: TBevel;
Label8: TLabel;
Label2: TLabel;
Label3: TLabel;
Bevel4: TBevel;
Bevel5: TBevel;
Memo3: TMemo;
Bevel6: TBevel;
ListBox3: TListBox;
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure AClick(Sender: TObject);
procedure BClick(Sender: TObject);
procedure CClick(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn13Click(Sender: TObject);
procedure BitBtn12Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure BitBtn14Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
Tmpsql,Tmpsql1:String;
mymz,d,Myfz,e,hh,Myx:integer;
implementation
uses Unit5, Unit1, Unit3, Unit11;
{$R *.dfm}
procedure TForm4.BitBtn4Click(Sender: TObject); //shagnyiti
begin
Txtzqbz1.Visible:=false;
Txtzqbz2.Visible:=false ;
Txtzqbz3.Visible:=false;
Txtzqbz4.Visible:=false;
memo1.Clear;
memo2.Clear;
a.Font.Color:=clblack;
b.Font.Color:=clblack;
c.Font.Color:=clblack;
// Tab1.Open ;
// tab1.first;
//
if txtzxh.Text<>'0' then
txtzxh.Text:=inttostr(strtoint(Trim(txtzxh.Text))-1)
else
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;
// txtzxh.Text:=inttostr(strtoint(Trim(txtzxh.Text))-1);
// txtzxh.Text:=Trim(listbox2.Items.Strings[0]);
// tab1.Locate('xh;class2', VarArrayOf([strtoint(Trim(txtzxh.Text)),'无']), [loPartialKey]);
// tab1.Locate('xh;bz', VarArrayOf([listbox2.items.strings[strtoint(Trim(txtzxh.Text))],null]), [loPartialKey]);
// Label2.Caption :='第'+inttostr(strtoint(Trim(edit1.text))-strtoint(Trim(edit2.text)))+'道题:';
// txtzxh.Text:=inttostr(tab1.fieldbyname('xh').AsInteger);
// Memo1.Text:=inttostr(strtoint(Trim(txtzxh.Text))-strtoint(Trim(txtzxh1.Text))+1)+'、'+tab1.fieldbyname('question').AsString;
// Memo1.Lines.Add(inttostr(strtoint(Trim(txtzxh.Text))-strtoint(Trim(txtzxh1.Text))+1)+'、'+tab1.fieldbyname('question').AsString);
// Memo1.Lines.Add(inttostr(strtoint(Trim(txtzxh.Text))-strtoint(Trim(txtzxh1.Text))+1)+'、'+tab1.fieldbyname('question').AsString);
// if 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;
//end;
//tmpsql:='select * from ktb where ktxh='+''''+Trim(Txtzxh.Text)+'''';
tmpsql:='select * from ktb where ktxh='+''''+listbox2.items.strings[strtoint(Trim(txtzxh.Text))]+'''';
// showmessage(tmpsql);
with ADOQuery1 do begin
close;
sql.Clear;
SQL.Add(tmpsql);
OPEN;
if recordcount=0 then begin
close;
exit;
end;
first;
Txtxzda.Text:= Trim(fieldbyname('ktda').AsString);
// Txtzqda.Text:=Trim(fieldbyname('zqda').AsString);
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;
//end;
procedure TForm4.BitBtn5Click(Sender: TObject);
begin
Txtzqbz4.Visible:=true;
Txtzqbz2.Visible:=false ;
Txtzqbz3.Visible:=false;
Txtzqbz1.Visible:=false;
form4.Refresh;
{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:='4';
// Tab2.FieldByName('bz').AsString:='';
Tab2.Post;
end
else
begin
Tab2.Edit;
tab2.FieldByName('ktda').Asstring:='4';
Tab2.Post;
end;
Tab2.close; }
Tmpsql:='select * from ktb where ktxh ='+''''+Trim(listbox2.items.strings[strtoint(Trim(txtzxh.Text))])+'''' ;
with ADOQuery1 do begin
close;
sql.Clear;
SQL.Add(tmpsql);
open ;
Myx:=recordcount;
close;
end;
if Myx=0 then begin
Tmpsql:='insert into ktb(ktxh,ktda) values ('+''''+Trim(listbox2.items.strings[strtoint(Trim(txtzxh.Text))])+''''+','+''''+'4'+''''+')';
with ADOQuery1 do begin
// close;
sql.Clear;
SQL.Add(tmpsql);
execsql;
end;
end;
if Myx=1 then begin
Tmpsql:='update ktb set ktda=4 where ktxh='+''''+Trim(listbox2.items.strings[strtoint(Trim(txtzxh.Text))])+'''' ;
with ADOQuery1 do begin
// close;
sql.Clear;
SQL.Add(tmpsql);
execsql;
end;
end;
// end;
hh:=0;
while hh<10 do
begin
hh:=hh+7;
end;
BitBtn10Click(Sender) ;
tmpsql:='select * from ktb order by ktxh ';
with ADOQuery1 do begin
close;
sql.Clear;
SQL.Add(tmpsql);
OPEN;
Label15.Caption :='已做'+inttostr(recordcount)+'道题,'+'未做'+inttostr(100-recordcount)+'道题' ;
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)='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;
// end;
procedure TForm4.FormActivate(Sender: TObject);
var xx,yy,zz,uu,vv,ww,gg,i,j,k,x,y:integer;
var flfg,jxcs,bzbx,aqjs:string;
begin
form1.ADOConnection1.Close;
if not form1.ADOConnection1.Connected Then form1.ADOConnection1.Connected ;
bitbtn7.Enabled:=true;
bitbtn6.Enabled:=true;
bitbtn6.SetFocus ;
memo1.clear;
memo2.clear;
listbox1.Items.Clear;
//listbox1.Items.LoadFromFile(application.GetNamePath+'c:\单机版\csk.dat') ;
Txtbz1.Text:='0' ;// 是否开始答卷
//if Trim(Txttx.Text)='1' Then begin //法律法规
//label1.Caption:='45.00';
//label2.Caption:='45';
label3.Caption:='45';
Txtzxh.Text:='0';//Trim(listbox1.Items.Strings[0]);
Txtzxh1.Text:='0';//Trim(listbox1.Items.Strings[0]);
Randomize; //选择题随机 //60个 可设定
if Txtzjcx.Caption='A2、B2' then begin //[货车]
Randomize; //1-441法律法规 1060-1700安全驾驶 标志标线490-690 392-441机械常识
// 1-441:法律法规 40
//442-699:道路交通信号 20
//700-938:文明驾驶 10
//939-1065:安全驾驶 10
// 1066-1207:临危处置 5
//1208-1271:机械常识 3
//1321-1390:货车专用 10
// 1391-1448:客车专用 5
// 1272-1320:危险品
// 1449-1497:轮车 10
listbox2.Clear;
// xx:=random(441); //法律法规 50道 441 441道题选择40道题为法律法规
// if xx<300 then xx:=300+random(20);
listbox3.Clear;
for i:= 0 to 44 do begin //30
if listbox2.Items.Count<30 then begin
xx:=random(441);
if xx=0 then xx:=1;
x:=0;
if i=0 then
listbox2.Items.Add(inttostr(xx));
for j:=0 to listbox2.Items.Count-1 do begin
if xx=strtoint(Trim(listbox2.Items.Strings[j])) then
x:=1;
end;
if x=0 then begin
listbox2.Items.Add(inttostr(xx));
end;
end;
end;
// yy:=random(238);
// if yy<700 then yy:=700+random(20); //10 文明驾驶 700-938=238
for i:=0 to 12 do begin
if listbox2.Items.Count<40 then begin
yy:=700+random(238) ;
x:=0;
for j:=0 to listbox2.Items.Count-1 do begin
if yy=strtoint(Trim(listbox2.Items.Strings[j])) then
x:=1;
end;
if x=0 then begin
listbox2.Items.Add(inttostr(yy));
end;
end;
// listbox2.Items.Add(inttostr(yy));
end;
// zz:=random(62);
// if zz<939then zz:=939+random(3); //10安全驾驶 939-1065=62
for i:=0 to 20 do begin
zz:=939+random(62);
if listbox2.Items.Count<50 then begin
x:=0;
for j:=0 to listbox2.Items.Count-1 do begin
if zz=strtoint(Trim(listbox2.Items.Strings[j])) then
x:=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -