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

📄 utmlr.pas

📁 智能试卷生成系统 Delphi----试卷生成系统代码 用户名:sa 密码:sa
💻 PAS
字号:
unit uTMLR;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, jpeg, DB, ADODB, Buttons;

type
  TfrmTMLR = class(TForm)
    Panel5: TPanel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel1: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    TH_Edit1: TEdit;
    NY_ComboBox1: TComboBox;
    DAA_Edit: TEdit;
    DAB_Edit: TEdit;
    DAC_Edit: TEdit;
    DAD_Edit: TEdit;
    ZJ_ComboBox1: TComboBox;
    LR_Button1: TButton;
    TM_Edit1: TEdit;
    DA_ComboBox1: TComboBox;
    TabSheet2: TTabSheet;
    Panel2: TPanel;
    Label11: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label22: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    TH_Edit2: TEdit;
    Kong_ComboBox: TComboBox;
    NY_ComboBox2: TComboBox;
    TM_Edit2: TEdit;
    Kong_Edit1: TEdit;
    Kong_Edit2: TEdit;
    Kong_Edit3: TEdit;
    Kong_Edit4: TEdit;
    ZJ_ComboBox2: TComboBox;
    Kong_Edit5: TEdit;
    LR_Button2: TButton;
    TabSheet3: TTabSheet;
    Panel3: TPanel;
    Label12: TLabel;
    Label18: TLabel;
    Label23: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    TH_Edit3: TEdit;
    NY_ComboBox3: TComboBox;
    TM_Memo1: TMemo;
    DA_Memo1: TMemo;
    ZJ_ComboBox3: TComboBox;
    LR_Button3: TButton;
    TabSheet4: TTabSheet;
    Panel4: TPanel;
    Label13: TLabel;
    Label19: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    TH_Edit4: TEdit;
    NY_ComboBox4: TComboBox;
    TM_Memo2: TMemo;
    DA_Memo2: TMemo;
    ZJ_ComboBox4: TComboBox;
    LR_Button4: TButton;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    btnCancel: TSpeedButton;
    Label14: TLabel;
    procedure FormShow(Sender: TObject);
    procedure LR_Button1Click(Sender: TObject);
    procedure LR_Button2Click(Sender: TObject);
    procedure LR_Button3Click(Sender: TObject);
    procedure LR_Button4Click(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmTMLR: TfrmTMLR;

implementation

uses uData;

{$R *.dfm}

procedure TfrmTMLR.FormShow(Sender: TObject);
var
  temp,temp1:string;
begin
  NY_ComboBox1.Clear;
  NY_ComboBox2.Clear;
  ZJ_ComboBox1.Clear;
  ZJ_ComboBox2.Clear;
  NY_ComboBox3.Clear;
  ZJ_ComboBox3.Clear;
  NY_ComboBox4.Clear;
  ZJ_ComboBox4.Clear;

  ADOQuery1.Connection := dmPer.acPer ;
  ADOQuery2.Connection := dmPer.acPer ;
  ADOQuery1.Close;

  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select ZJ,ZJName from ZhangJieJG');
  ADOQuery1.Open;
  while not ADOQuery1.Eof do
    begin
      temp:=ADOQuery1.FieldValues['ZJ']+'  '+ADOQuery1.FieldValues['ZJName'];
      ZJ_ComboBox1.Items.Add(temp);
      ZJ_ComboBox2.Items.Add(temp);
      ZJ_ComboBox3.Items.Add(temp);
      ZJ_ComboBox4.Items.Add(temp);
      ADOQuery1.Next;
    end;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select NYD from NanYiDj');
  ADOQuery1.Open;
  while not ADOQuery1.Eof do
    begin
      temp1:=ADOQuery1.FieldValues['NYD'];
      NY_ComboBox1.Items.Add(temp1);
      NY_ComboBox2.Items.Add(temp1);
      NY_ComboBox3.Items.Add(temp1);
      NY_ComboBox4.Items.Add(temp1);
      ADOQuery1.Next;
    end;
end;

procedure TfrmTMLR.LR_Button1Click(Sender: TObject);
var
  temp,x:integer;
  temp1,temp2:string;
begin
  x:=0;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select TypeID from TiXingFen where TypeName=''选择题''');
  ADOQuery1.Open;
  temp:=ADOQuery1.FieldValues['TypeID'];
  if TM_Edit1.Text='' then ShowMessage('题目不能为空')
  else if DAA_Edit.Text='' then ShowMessage('选项A不能为空')
  else if DAB_Edit.Text='' then ShowMessage('选项B不能为空')
  else if DAB_Edit.Text='' then ShowMessage('选项C不能为空')
  else if DAB_Edit.Text='' then ShowMessage('选项D不能为空')
  else if DA_ComboBox1.Text='' then ShowMessage('答案不能为空')
  else if NY_ComboBox1.Text='' then ShowMessage('难易度不能为空')
  else if ZJ_ComboBox1.Text='' then ShowMessage('所在章节不能为空')
  else begin
    temp1:=TM_Edit1.Text;
    ADOQuery2.Close;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Add('SELECT TM FROM TXuanZe');
    ADOQuery2.Open;
    While not ADOQuery2.Eof do
      begin
        temp2:=ADOQuery2.FieldValues['TM'];
        if temp1=temp2 then begin
                              x:=1;
                              break;
                            end;
        ADOQuery2.Next;
      end;
    if x=0 then begin
               ADOQuery1.Close;
               ADOQuery1.SQL.Clear;
               ADOQuery1.SQL.Add('INSERT INTO TXuanZe(TypeID,TM,A,B,C,D,DA,CZ,NY) VALUES(:tp,:TM,:DAA,:DAB,:DAC,:DAD,:DA,:ZJ,:NY)');
               ADOQuery1.Parameters.ParamByName('tp').Value:=temp;
               ADOQuery1.Parameters.ParamByName('TM').Value:=TM_Edit1.Text;
               ADOQuery1.Parameters.ParamByName('DAA').Value:=DAA_Edit.Text;
               ADOQuery1.Parameters.ParamByName('DAB').Value:=DAB_Edit.Text;
               ADOQuery1.Parameters.ParamByName('DAC').Value:=DAC_Edit.Text;
               ADOQuery1.Parameters.ParamByName('DAD').Value:=DAD_Edit.Text;
               ADOQuery1.Parameters.ParamByName('DA').Value:=DA_ComboBox1.Text;
               ADOQuery1.Parameters.ParamByName('ZJ').Value:=ZJ_ComboBox1.Text;
               ADOQuery2.Close;
               ADOQuery2.SQL.Clear;
               ADOQuery2.SQL.Add('Select BH from NanYiDj Where NYD=:NY');
               ADOQuery2.Parameters.ParamByName('NY').Value:=NY_ComboBox1.Text;
               ADOQuery2.Open;
               temp:=ADOQuery2.FieldValues['BH'];
               ADOQuery1.Parameters.ParamByName('NY').Value:=temp;
               ADOQuery1.ExecSQL;
               ADOQuery1.Close;
               ADOQuery1.SQL.Clear;
               ADOQuery1.SQL.Add('Select 1 from TXuanZe');
               ADOQuery1.Open;
               TH_Edit1.Text:=IntToStr(ADOQuery1.RecordCount+1);
               TM_Edit1.Clear;
               DAA_Edit.Clear;
               DAB_Edit.Clear;
               DAC_Edit.Clear;
               DAD_Edit.Clear;
             end
    else showmessage('此题已经存在!');
  end;
end;

procedure TfrmTMLR.LR_Button2Click(Sender: TObject);
type
  SZ=array[1..5]of string;
var
  temp,x,i,y:integer;
  temp1,temp2:string;
  SZx:SZ;
begin
  y:=0;
  i:=1;
  SZx[1]:='';
  if TM_Edit2.Text='' then ShowMessage('题目不能为空')
  else if NY_ComboBox2.Text='' then ShowMessage('难易度不能为空')
  else if ZJ_ComboBox2.Text='' then ShowMessage('所在章节不能为空')
  else if Kong_ComboBox.Text='' then ShowMessage('空数不能为空')
       else begin
              temp:=StrToInt(Kong_ComboBox.Text);
              SZx[1]:=Kong_Edit1.Text;
              SZx[2]:=Kong_Edit2.Text;
              SZx[3]:=Kong_Edit3.Text;
              SZx[4]:=Kong_Edit4.Text;
              SZx[5]:=Kong_Edit5.Text;
              for x:=1 To temp do
                begin
                  i:=x;
                  if SZx[i]='' then break;
                end;
            end;
  if SZx[i]='' then ShowMessage('您少输入了应填空的答案')
  else begin
    temp1:=TM_Edit2.Text;
    ADOQuery2.Close;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Add('SELECT TM FROM TTianKong');
    ADOQuery2.Open;
    While not ADOQuery2.Eof do
      begin
        temp2:=ADOQuery2.FieldValues['TM'];
        if temp1=temp2 then begin
                               y:=1;
                               break;
                            end;
        ADOQuery2.Next;
      end;
    if y=0 then begin
         ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.SQL.Add('Select TypeID From TiXingFen Where TypeName=''填空题''');
         ADOQuery1.Open;
         temp:=ADOQuery1.FieldValues['TypeID'];
         ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.SQL.Add('INSERT INTO TTianKong(TypeID,TM,K1,K2,K3,K4,K5,YTS,NY,CZ) VALUES(:temp,:TM,:K1,:K2,:K3,:K4,:K5,:YTS,:NY,:CZ)');
         ADOQuery1.Parameters.ParamByName('temp').Value:=temp;
         ADOQuery1.Parameters.ParamByName('TM').Value:=TM_Edit2.Text;
         ADOQuery1.Parameters.ParamByName('K1').Value:=Kong_Edit1.Text;
         ADOQuery1.Parameters.ParamByName('K2').Value:=Kong_Edit2.Text;
         ADOQuery1.Parameters.ParamByName('K3').Value:=Kong_Edit3.Text;
         ADOQuery1.Parameters.ParamByName('K4').Value:=Kong_Edit4.Text;
         ADOQuery1.Parameters.ParamByName('K5').Value:=Kong_Edit5.Text;
         ADOQuery1.Parameters.ParamByName('YTS').Value:=StrToInt(Kong_ComboBox.Text);
         ADOQuery2.Close;
         ADOQuery2.SQL.Clear;
         ADOQuery2.SQL.Add('Select BH From NanYiDj Where NYD=:NY');
         ADOQuery2.Parameters.ParamByName('NY').Value:=NY_ComboBox2.Text;
         ADOQuery2.Open;
         temp:=ADOQuery2.FieldValues['BH'];
         ADOQuery1.Parameters.ParamByName('NY').Value:=temp;
         ADOQuery1.Parameters.ParamByName('CZ').Value:=ZJ_ComboBox2.Text;
         ADOQuery1.ExecSQL;
         ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.SQL.Add('Select 1 From TTianKong');
         ADOQuery1.Open;
         TH_Edit2.Text:=IntToStr(ADOQuery1.RecordCount+1);
         TM_Edit2.Clear;
         Kong_Edit1.Clear;
         Kong_Edit2.Clear;
         Kong_Edit3.Clear;
         Kong_Edit4.Clear;
         Kong_Edit5.Clear;
       end
     else showmessage('此题已经存在!');
    end;
end;

procedure TfrmTMLR.LR_Button3Click(Sender: TObject);
var
  temp,x:Integer;
  temp1,temp2:string;
begin
  x:=0;
  if TM_Memo1.Text='' then ShowMessage('题目不能为空')
  else if DA_Memo1.Text='' then ShowMessage('答案不能为空')
  else if NY_ComboBox3.Text='' then ShowMessage('难易度不能为空')
  else if ZJ_ComboBox3.Text='' then ShowMessage('所在章节不能为空')
  else begin
    temp1:=TM_Memo1.Text;
    ADOQuery2.Close;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Add('SELECT TM FROM TJianDa');
    ADOQuery2.Open;
    While not ADOQuery2.Eof do
      begin
        temp2:=ADOQuery2.FieldValues['TM'];
        if temp1=temp2 then begin
                              x:=1;
                              break;
                            end;
        ADOQuery2.Next;
      end;
    if x=0 then begin
         ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.SQL.Add('Select TypeID From TiXingFen Where TypeName=''简答题''');
         ADOQuery1.Open;
         temp:=ADOQuery1.FieldValues['TypeID'];
         ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.SQL.Add('INSERT INTO TJianDa(TypeID,TM,DA,NY,CZ) VALUES(:temp,:TM,:DA,:NY,:CZ)');
         ADOQuery1.Parameters.ParamByName('temp').Value:=temp;
         ADOQuery1.Parameters.ParamByName('TM').Value:=TM_Memo1.Text;
         ADOQuery1.Parameters.ParamByName('DA').Value:=DA_Memo1.Text;
         ADOQuery2.Close;
         ADOQuery2.SQL.Clear;
         ADOQuery2.SQL.Add('Select BH From NanYiDj Where NYD=:NY');
         ADOQuery2.Parameters.ParamByName('NY').Value:=NY_ComboBox3.Text;
         ADOQuery2.Open;
         temp:=ADOQuery2.FieldValues['BH'];
         ADOQuery1.Parameters.ParamByName('NY').Value:=temp;
         ADOQuery1.Parameters.ParamByName('CZ').Value:=ZJ_ComboBox3.Text;
         ADOQuery1.ExecSQL;
         ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.SQL.Add('Select 1 From TJianDa');
         ADOQuery1.Open;
         TH_Edit3.Text:=IntToStr(ADOQuery1.RecordCount+1);
         TM_Memo1.Clear;
         DA_Memo1.Clear;
       end
    else showmessage('此题已经存在!');
  end;
end;

procedure TfrmTMLR.LR_Button4Click(Sender: TObject);
var
  temp,x:Integer;
  temp1,temp2:string;
begin
  x:=0;
  if TM_Memo2.Text='' then ShowMessage('题目不能为空')
  else if DA_Memo2.Text='' then ShowMessage('答案不能为空')
  else if NY_ComboBox4.Text='' then ShowMessage('难易度不能为空')
  else if ZJ_ComboBox4.Text='' then ShowMessage('所在章节不能为空')
  else begin
    temp1:=TM_Memo2.Text;
    ADOQuery2.Close;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Add('SELECT TM FROM TChengxu');
    ADOQuery2.Open;
    While not ADOQuery2.Eof do
      begin
        temp2:=ADOQuery2.FieldValues['TM'];
        if temp1=temp2 then begin
                              x:=1;
                              break;
                            end;
        ADOQuery2.Next;
      end;
    if x=0 then begin
         ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.SQL.Add('Select TypeID From TiXingFen Where TypeName=''程序设计题''');
         ADOQuery1.Open;
         temp:=ADOQuery1.FieldValues['TypeID'];
         ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.SQL.Add('INSERT INTO TChengxu(TypeID,TM,DA,NY,CZ) VALUES(:temp,:TM,:DA,:NY,:CZ)');
         ADOQuery1.Parameters.ParamByName('temp').Value:=temp;
         ADOQuery1.Parameters.ParamByName('TM').Value:=TM_Memo2.Text;
         ADOQuery1.Parameters.ParamByName('DA').Value:=DA_Memo2.Text;
         ADOQuery2.Close;
         ADOQuery2.SQL.Clear;
         ADOQuery2.SQL.Add('Select BH From NanYiDj Where NYD=:NY');
         ADOQuery2.Parameters.ParamByName('NY').Value:=NY_ComboBox4.Text;
         ADOQuery2.Open;
         temp:=ADOQuery2.FieldValues['BH'];
         ADOQuery1.Parameters.ParamByName('NY').Value:=temp;
         ADOQuery1.Parameters.ParamByName('CZ').Value:=ZJ_ComboBox4.Text;
         ADOQuery1.ExecSQL;
         ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.SQL.Add('Select 1 From TChengxu');
         ADOQuery1.Open;
         TH_Edit4.Text:=IntToStr(ADOQuery1.RecordCount+1);
         TM_Memo2.Clear;
         DA_Memo2.Clear;
       end
    else showmessage('此题已经存在!');
  end;
end;

procedure TfrmTMLR.btnCancelClick(Sender: TObject);
begin
  close;
end;

end.

⌨️ 快捷键说明

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