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

📄 main_form.pas

📁 软件实现了以下主要功能:1.手动生成试卷;2.自动生成试卷;3.抽取现有试卷;4.用户管理;5.数据库管理。
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit Main_Form;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, TFlatPanelUnit, TFlatButtonUnit, TFlatGroupBoxUnit,
  StdCtrls, ComCtrls, Grids, DBGrids, CheckTreeView, ImgList, DB, ADODB,
  TFlatRadioButtonUnit, TFlatEditUnit, TFlatSpinEditUnit, WordXP, OleServer,
  Buttons;

type
  TMain_F = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    XYSJ_FBtn: TFlatButton;
    Image1: TImage;
    Panel3: TPanel;
    Panel4: TPanel;
    FlatButton2: TFlatButton;
    Panel5: TPanel;
    Panel6: TPanel;
    Image2: TImage;
    SJ_PC: TPageControl;
    XYSJ_TS: TTabSheet;
    ZDSJ_TS: TTabSheet;
    Panel7: TPanel;
    ZDSJ_FBtn: TFlatButton;
    SDSJ_FBtn: TFlatButton;
    Label1: TLabel;
    SDSJ_TS: TTabSheet;
    SJT_DBG: TDBGrid;
    YLSJ_FBtn: TFlatButton;
    SDZJ_CT: TCheckTree;
    ImageList1: TImageList;
    ZJ_ADOT: TADOTable;
    ZDZJ_CT: TCheckTree;
    ST_DBG: TDBGrid;
    ST_DS: TDataSource;
    ST_ADOQ: TADOQuery;
    FlatGroupBox1: TFlatGroupBox;
    XZT_FRBtn: TFlatRadioButton;
    TKT_FRBtn: TFlatRadioButton;
    JDT_FRBtn: TFlatRadioButton;
    YLLST_FRBtn: TFlatRadioButton;
    XTSJT_FRBtn: TFlatRadioButton;
    XTCZT_FRBtn: TFlatRadioButton;
    FlatGroupBox2: TFlatGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Bevel1: TBevel;
    Bevel2: TBevel;
    XZTSL_FSE: TFlatSpinEditInteger;
    XZTFZ_FSE: TFlatSpinEditInteger;
    TKTSL_FSE: TFlatSpinEditInteger;
    TKTFZ_FSE: TFlatSpinEditInteger;
    JDTSL_FSE: TFlatSpinEditInteger;
    JDTFZ_FSE: TFlatSpinEditInteger;
    YLLSTSL_FSE: TFlatSpinEditInteger;
    YLLSTFZ_FSE: TFlatSpinEditInteger;
    XTSJTSL_FSE: TFlatSpinEditInteger;
    XTSJTFZ_FSE: TFlatSpinEditInteger;
    XTCZTSL_FSE: TFlatSpinEditInteger;
    XTCZTFZ_FSE: TFlatSpinEditInteger;
    JRSJ_FBtn: TFlatButton;
    Bevel3: TBevel;
    Bevel4: TBevel;
    JS_L: TLabel;
    BCSJ_P: TPanel;
    BCSJ_FBtn: TFlatButton;
    Label10: TLabel;
    ZF_FSE: TFlatSpinEditInteger;
    BCSJ_ADOQ: TADOQuery;
    Bevel5: TBevel;
    Bevel6: TBevel;
    Label11: TLabel;
    SJ_DBG: TDBGrid;
    SCSJ_FBtn: TFlatButton;
    SJ_ADOQ: TADOQuery;
    SJT_ADOQ: TADOQuery;
    SJ_DS: TDataSource;
    SJT_DS: TDataSource;
    SJ_WA: TWordApplication;
    SJ_WD: TWordDocument;
    SJ_WF: TWordFont;
    SJTXX_ADOQ: TADOQuery;
    XT_ADOQ: TADOQuery;
    BCDA_FBtn: TFlatButton;
    Help_FBtn: TFlatButton;
    About_FBtn: TFlatButton;
    Panel8: TPanel;
    TKLR_FBtn: TFlatButton;
    TKWH_FBtn: TFlatButton;
    XXSZ_P: TPanel;
    XXSZ_FBtn: TFlatButton;
    FlatGroupBox3: TFlatGroupBox;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Bevel7: TBevel;
    Bevel8: TBevel;
    XZTRY_FSE: TFlatSpinEditInteger;
    XZTZDFZ_FSE: TFlatSpinEditInteger;
    TKTRY_FSE: TFlatSpinEditInteger;
    TKTZDFZ_FSE: TFlatSpinEditInteger;
    JDTRY_FSE: TFlatSpinEditInteger;
    JDTZDFZ_FSE: TFlatSpinEditInteger;
    YLLSTRY_FSE: TFlatSpinEditInteger;
    YLLSTZDFZ_FSE: TFlatSpinEditInteger;
    XTSJTRY_FSE: TFlatSpinEditInteger;
    XTSJTZDFZ_FSE: TFlatSpinEditInteger;
    XTCZTRY_FSE: TFlatSpinEditInteger;
    XTCZTZDFZ_FSE: TFlatSpinEditInteger;
    Bevel9: TBevel;
    Label20: TLabel;
    ZDZF_FSE: TFlatSpinEditInteger;
    FlatGroupBox4: TFlatGroupBox;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Bevel10: TBevel;
    Bevel11: TBevel;
    Bevel12: TBevel;
    Bevel13: TBevel;
    Bevel14: TBevel;
    Bevel15: TBevel;
    Bevel16: TBevel;
    Label29: TLabel;
    XZTZD_FSE: TFlatSpinEditInteger;
    TKTZD_FSE: TFlatSpinEditInteger;
    JDTZD_FSE: TFlatSpinEditInteger;
    YLLSTZD_FSE: TFlatSpinEditInteger;
    XTSJTZD_FSE: TFlatSpinEditInteger;
    XTCZTZD_FSE: TFlatSpinEditInteger;
    Label30: TLabel;
    XZTN_FSE: TFlatSpinEditInteger;
    TKTN_FSE: TFlatSpinEditInteger;
    JDTN_FSE: TFlatSpinEditInteger;
    YLLSTN_FSE: TFlatSpinEditInteger;
    XTSJTN_FSE: TFlatSpinEditInteger;
    XTCZTN_FSE: TFlatSpinEditInteger;
    Bevel17: TBevel;
    Bevel18: TBevel;
    Label31: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    Label41: TLabel;
    Label42: TLabel;
    Label43: TLabel;
    Label44: TLabel;
    Label45: TLabel;
    Label46: TLabel;
    Label47: TLabel;
    Label48: TLabel;
    Label49: TLabel;
    Label50: TLabel;
    Label51: TLabel;
    Label52: TLabel;
    Label53: TLabel;
    Label54: TLabel;
    XZTRY_L: TLabel;
    TKTRY_L: TLabel;
    JDTRY_L: TLabel;
    YLLSTRY_L: TLabel;
    XTSJTRY_L: TLabel;
    XTCZTRY_L: TLabel;
    Label61: TLabel;
    Label62: TLabel;
    Label63: TLabel;
    Label64: TLabel;
    Label65: TLabel;
    Label66: TLabel;
    XTCZTZD_L: TLabel;
    XTSJTZD_L: TLabel;
    YLLSTZD_L: TLabel;
    JDTZD_L: TLabel;
    TKTZD_L: TLabel;
    XZTZD_L: TLabel;
    XTCZTN_L: TLabel;
    XTSJTN_L: TLabel;
    YLLSTN_L: TLabel;
    JDTN_L: TLabel;
    TKTN_L: TLabel;
    XZTN_L: TLabel;
    XTCZTG_L: TLabel;
    XTSJTG_L: TLabel;
    YLLSTG_L: TLabel;
    JDTG_L: TLabel;
    TKTG_L: TLabel;
    XZTG_L: TLabel;
    ZDBCSJ_FBtn: TFlatButton;
    YLDA_FBtn: TFlatButton;
    ZDYLSJ_FBtn: TFlatButton;
    ZDSC_FBtn: TFlatButton;
    procedure XYSJ_FBtnClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure FlatButton2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ZDSJ_FBtnClick(Sender: TObject);
    procedure SDSJ_FBtnClick(Sender: TObject);
    procedure XYSJ_FBtnMouseEnter(Sender: TObject);
    procedure XYSJ_FBtnMouseLeave(Sender: TObject);
    procedure ST_DBGDrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure SDZJ_CTStateChange(Sender: TObject; Node: TTreeNode;
      NewState: TCheckCheckState);
    procedure XZT_FRBtnClick(Sender: TObject);
    procedure JRSJ_FBtnClick(Sender: TObject);
    procedure BCSJ_FBtnClick(Sender: TObject);
    procedure SDZJ_CTMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SCSJ_FBtnClick(Sender: TObject);
    procedure SJ_DBGMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure YLSJ_FBtnClick(Sender: TObject);
    procedure BCDA_FBtnClick(Sender: TObject);
    procedure About_FBtnClick(Sender: TObject);
    procedure XXSZ_FBtnClick(Sender: TObject);
    procedure TKLR_FBtnClick(Sender: TObject);
    procedure TKWH_FBtnClick(Sender: TObject);
    procedure ZDSC_FBtnClick(Sender: TObject);
    procedure ZDYLSJ_FBtnClick(Sender: TObject);
    procedure ZDBCSJ_FBtnClick(Sender: TObject);
    procedure XZTZDFZ_FSEMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Help_FBtnClick(Sender: TObject);
  private
    procedure ShowST;       //用于显示试题
    procedure ShowXJ(TypeID:integer;XiaoJie:string);  //用于指定小节的试题, 由ShowST调用
    procedure ShowZZ(TypeID:integer;ZhengZhang:string);//用于指定整章的试题, 由ShowST调用
    function  CheckFZ:boolean;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Main_F: TMain_F;

implementation

uses
  DataModule,Math,MyFunc, Common_Unit, RateProcess_Form,StrUtils,
  About_Form, Set_Form,CommCtrl,ShellAPI, Unit_Timuluru, TiMuWH_Unit;

{$R *.dfm}

type
  STInfo=record
    TypeID,BH:integer;
  end;

var
  STTypeID,STBH,STND,SJDA:TStringList;
  SJDH:String;
  ZDST:array of STInfo;            //存放选出的题目信息

procedure TMain_F.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=caFree;
end;
//****************************************************************************************
procedure TMain_F.FormDestroy(Sender: TObject);
begin
  STTypeID.Clear;            //试题类型
  FreeAndNil(STTypeID);

  STBH.Clear;                //试题编号
  FreeAndNil(STBH);
  
  STND.Clear;                //试题难度
  FreeAndNil(STND);


  SJDA.Clear;
  FreeAndNil(SJDA);

  ZDST:=nil;
  FreeAndNil(Main_F);
end;
//****************************************************************************************
procedure TMain_F.FlatButton2Click(Sender: TObject);
begin
  close;
end;
//****************************************************************************************
procedure TMain_F.FormShow(Sender: TObject);           //窗体显示
type
  ZJ=record
    ZJID:double;
    ZJName:string;
  end;
var
  temp:string;
  ZDTN,SDTN:TTreeNode;
  i,j,k,MaxNum:integer;
  TempZJ:ZJ;
  HaveZJ:array of ZJ;
begin
  if QX=0 then XXSZ_P.Enabled:=false;        //权限设置

  //XYSJ_FBtnClick(XYSJ_FBtn);
  XYSJ_TS.TabVisible:=false;
  ZDSJ_TS.TabVisible:=false;
  SDSJ_TS.TabVisible:=false;
  //SJ_PC.ActivePage:=XYSJ_TS;
  {ZJ_ADOQ.Close;
  ZJ_ADOQ.SQL.Clear;
  ZJ_ADOQ.SQL.Add('SELECT ZJ,ZJName FROM ZhangJie ORDER BY ZJ');
  ZJ_ADOQ.Open;
  while not ZJ_ADOQ.Eof do
    begin
      temp:=ZJ_ADOQ.FieldValues['ZJ'];
      if Pos('.',temp)=0 then TempTN:=ZJ_CT.Items.AddChild(nil,temp+'  '+ZJ_ADOQ.FieldValues['ZJName'])
      else ZJ_CT.items.AddChild(tempTN,temp+'  '+ZJ_ADOQ.FieldValues['ZJName']);
      ZJ_ADOQ.Next;
    end; }
  ZJ_ADOT.TableName:='ZhangJie';
  ZJ_ADOT.Open;
  i:=0;
  if ZJ_ADOT.RecordCount>0 then SetLength(HaveZJ,ZJ_ADOT.RecordCount);
  while not ZJ_ADOT.Eof do          //取出章节号,和章节名称
    begin
      HaveZJ[i].ZJID:=StrToFloat(ZJ_ADOT.FieldValues['ZJ']);
      HaveZJ[i].ZJName:=ZJ_ADOT.FieldValues['ZJName'];
      i:=i+1;
      ZJ_ADOT.Next;
    end;
  MaxNum:=High(HaveZJ);
  for i:=0 to MaxNum do  //对章节号进行排序
    begin
      k:=i;
      for j:=i+1 to MaxNum do
        if HaveZJ[k].ZJID>HaveZJ[j].ZJID then k:=j;
      if i<>k then

⌨️ 快捷键说明

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