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

📄 unit6.pas

📁 试卷生成系统 delphi 试卷生成系统 试卷生成系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Unit6;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Mask, DBCtrls, Buttons, DB, DBTables, Menus;

type
  TForm6 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    juanno: TLabel;
    kecheng: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit1: TEdit;
    Label6: TLabel;
    Label7: TLabel;
    Edit2: TEdit;
    Label8: TLabel;
    tiankong: TPanel;
    Label10: TLabel;
    tino1: TLabel;
    k1: TDBEdit;
    lk1: TLabel;
    k2: TDBEdit;
    k3: TDBEdit;
    k4: TDBEdit;
    lk2: TLabel;
    lk3: TLabel;
    lk4: TLabel;
    BitBtn1: TBitBtn;
    xz: TBitBtn;
    BitBtn3: TBitBtn;
    DataSource1: TDataSource;
    Query1: TQuery;
    Label15: TLabel;
    Label16: TLabel;
    xuanze: TPanel;
    Label9: TLabel;
    tino: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    BitBtn4: TBitBtn;
    tk: TBitBtn;
    nextti: TBitBtn;
    kongshu: TDBEdit;
    DBMemo1: TDBMemo;
    gh: TBitBtn;
    huanjuan: TQuery;
    MainMenu1: TMainMenu;
    N2: TMenuItem;
    N3: TMenuItem;
    cunjuan: TMenuItem;
    BitBtn7: TBitBtn;
    insqdsjk: TQuery;
    Label2: TLabel;
    Label3: TLabel;
    shumu: TLabel;
    Label11: TLabel;
    shumu1: TLabel;
    Label13: TLabel;
    pdzw: TQuery;
    Timer1: TTimer;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    a: TCheckBox;
    b: TCheckBox;
    c: TCheckBox;
    d: TCheckBox;
    updatedaan: TQuery;
    DBEdit1: TDBEdit;
    daan: TEdit;
    Label12: TLabel;
    tinox: TEdit;
    Label14: TLabel;
    Button1: TButton;
    Label17: TLabel;
    tinot: TEdit;
    Label18: TLabel;
    Button2: TButton;
    zhengque: TDBEdit;
    panduan: TQuery;
    DBMemo2: TDBMemo;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure nexttiClick(Sender: TObject);
    procedure tkClick(Sender: TObject);
    procedure xzClick(Sender: TObject);
    procedure ghClick(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure N2Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure aClick(Sender: TObject);
    procedure bClick(Sender: TObject);
    procedure cClick(Sender: TObject);
    procedure dClick(Sender: TObject);
    procedure xuanzeClick(Sender: TObject);
    procedure tiankongClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure k1Click(Sender: TObject);
    procedure k2Click(Sender: TObject);
    procedure k3Click(Sender: TObject);
    procedure k4Click(Sender: TObject);
    procedure k1KeyPress(Sender: TObject; var Key: Char);
    procedure k2KeyPress(Sender: TObject; var Key: Char);
    procedure k3KeyPress(Sender: TObject; var Key: Char);
    procedure k4KeyPress(Sender: TObject; var Key: Char);
    procedure tinoxKeyPress(Sender: TObject; var Key: Char);
    procedure tinotKeyPress(Sender: TObject; var Key: Char);
    procedure N1Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
  private
    { Private declarations }
  public    
    { Public declarations }
  end;

var
  Form6: TForm6;

implementation

uses Unit5,unit3, Unit1, Unit2, Unit4, Unit7, Unit8, Unit9, Unit10, Unit13,
  Unit15, Unit16;

{$R *.dfm}
procedure kongshu1(); //根据填空数目来设定4个填空框的隐现
begin
form6.k1.SetFocus ;
form6.k1.SelectAll ;
case strtoint(form6.kongshu.Text) of
1:begin form6.lk2.Visible :=false;form6.k2.Visible :=false;
  form6.lk3.Visible :=false;form6.k3.Visible :=false;
  form6.lk4.Visible:=false;form6.k4.Visible :=false;end;
2:begin form6.lk3.Visible :=false;form6.k3.Visible :=false;
  form6.lk4.Visible:=false;form6.k4.Visible :=false;end;
3:begin form6.lk4.Visible:=false;form6.k4.Visible :=false;end;
end;
end;
procedure huifu();
begin
  form6.lk2.Visible :=true;form6.k2.Visible :=true;
  form6.lk3.Visible :=true;form6.k3.Visible :=true;
  form6.lk4.Visible :=true;form6.k4.Visible :=true;

end;
procedure TForm6.BitBtn1Click(Sender: TObject);
begin
  huifu();
  query1.Prior ;
  kongshu1();
  if strtoint(tino1.Caption ) >1 then
    tino1.Caption:= inttostr(strtoint( tino1.Caption) -1);
end;

procedure TForm6.BitBtn3Click(Sender: TObject);
begin
  if k1.Text ='' then
   k1.text:=' ';
  if k2.Text ='' then
   k2.text:=' ';
  if k3.Text ='' then
   k3.text:=' ';
  if k4.Text ='' then
   k4.text:=' ';
  query1.Edit;
  huifu();
  query1.next ;

  kongshu1();
  if strtoint(tino1.Caption ) <query1.RecordCount  then
     tino1.Caption:= inttostr(strtoint( tino1.Caption) +1)
  else
   begin
   tino1.Caption :='1';
   query1.Close;
   query1.Open;
   query1.Edit;
   huifu();
   kongshu1();
   end;
end;

procedure TForm6.BitBtn4Click(Sender: TObject);
begin

a.Checked :=false;
b.Checked :=false;
c.Checked :=false;
d.Checked :=false;
  query1.Prior ;


  if strtoint(tino.Caption ) >1 then
   begin
    tino.Caption:= inttostr(strtoint( tino.Caption) -1);
    updatedaan.SQL.Clear;
    updatedaan.SQL.Add('select 考生答案 from 考卷试题库 where 题号=:no');
    updatedaan.ParamByName('no').AsString :=dbedit1.Text ;
    updatedaan.Open;
    daan.Text :=updatedaan.Fields.Fields[0].AsString ;


    end;
end;

procedure TForm6.nexttiClick(Sender: TObject);
begin


query1.next ;
a.Checked :=false;
b.Checked :=false;
c.Checked :=false;
d.Checked :=false;


 if strtoint(tino.Caption ) <query1.RecordCount  then
 begin
   tino.Caption:= inttostr(strtoint( tino.Caption) +1);
   updatedaan.SQL.Clear;
   updatedaan.SQL.Add('select 考生答案 from 考卷试题库 where 题号=:no');
   updatedaan.ParamByName('no').AsString :=dbedit1.Text ;
   updatedaan.Open;
   daan.Text :=updatedaan.Fields.Fields[0].AsString ;
 end
 else
   begin
   tino.Caption :='1';
   query1.Close;
   query1.Open;
   updatedaan.SQL.Clear;
   updatedaan.SQL.Add('select 考生答案 from 考卷试题库 where 题号=:no');
   updatedaan.ParamByName('no').AsString :=dbedit1.Text ;
   updatedaan.Open;
   daan.Text :=updatedaan.Fields.Fields[0].AsString ;
   end;
end;

procedure TForm6.tkClick(Sender: TObject);
begin
  query1.Next ;
  query1.Close;
  query1.ParamByName('tixing').AsString :='填空';
  query1.Open;
  shumu1.Caption :=inttostr(query1.RecordCount); 
  xuanze.Visible :=false;
  tiankong.Visible :=true;
  kongshu1();
  tino.Caption :='1';
  tino1.Caption :='1';

end;

procedure TForm6.xzClick(Sender: TObject);
begin
  query1.Next ;
  query1.Close;
  query1.ParamByName('tixing').AsString :='选择题';
  query1.Open;
  xuanze.Visible :=true;
  tiankong.Visible :=false;
  tino.Caption :='1';
  tino1.Caption :='1';
end;

procedure TForm6.ghClick(Sender: TObject);
begin
huanjuan.ExecSQL ;
form5.chuansong.SQL.Clear ;
if form5.banzidong.tag=0 then
begin
Form5.quanzidongClick(Sender);
query1.ParamByName('tixing').AsString :='选择题';
end
else
Form7.tjClick(Sender);
query1.Close;
if form5.banzidong.tag=1 then
begin
if form7.isxuan.Checked =true then
query1.ParamByName('tixing').AsString :='选择题'
else
begin
query1.ParamByName('tixing').AsString :='填空';

end;
end;
query1.Open;
tino.Caption :='1';
tino1.Caption :='1';

xuanze.Visible :=true;
tiankong.Visible :=false;
if form5.banzidong.tag=1 then
begin
if form7.isxuan.Checked =false then
begin
xuanze.Visible :=false;
tiankong.Visible :=true;
end;
end;
end;

procedure TForm6.BitBtn7Click(Sender: TObject);
begin

  insqdsjk.SQL.Clear ;
  insqdsjk.SQL.Add('select * from 确定试卷库 where 试卷号=:no1' );
  insqdsjk.ParamByName('no1').AsString :=copy(juanno.Caption,9,length(juanno.Caption )-8);
  insqdsjk.Open;
  if  insqdsjk.IsEmpty then
   begin
     insqdsjk.SQL.Clear ;
     insqdsjk.SQL.add('insert into 确定试卷库(题号,题型,所属课程) select  题号,题型,所属课程 from 考卷试题库');
     insqdsjk.ExecSQL ;
     insqdsjk.SQL.Clear ;
     if form7.tag=0 then
       insqdsjk.SQL.Add('update 确定试卷库 set 本题型总分=50,所属课程=:ke,试卷号=:no  where isnull(试卷号)')
     else
       insqdsjk.SQL.Add('update 确定试卷库 set 所属课程=:ke,试卷号=:no  where isnull(试卷号)') ;
     insqdsjk.ParamByName('no').AsString :=copy(juanno.Caption,9,length(juanno.Caption )-8) ;
     insqdsjk.ParamByName('ke').AsString :=teacher.ke.Text ;
     insqdsjk.ExecSQL ;
     if form7.tag=1 then
     begin
       insqdsjk.SQL.Clear ;
       insqdsjk.SQL.Add('update 确定试卷库 set 本题型总分=:fen where 题型=:tx and 试卷号=:no');

⌨️ 快捷键说明

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