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

📄 unit4.pas

📁 理论考试程序,可以自由下载,学习,请多多指点,批评
💻 PAS
📖 第 1 页 / 共 4 页
字号:
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 + -