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

📄 unit7.pas

📁 试卷自动生成系统
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit Unit7;

interface

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

type
  Tfilltextform = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    DBMemo1: TDBMemo;
    DBEdit1: TDBEdit;
    DBEdit6: TDBEdit;
   // DBEdit7: TDBEdit;
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    DBNavigator1: TDBNavigator;
    DBGrid1: TDBGrid;
    DBMemo2: TDBMemo;
    DBNavigator2: TDBNavigator;
    DataSource1: TDataSource;
    Query1: TQuery;
    TreeView1: TTreeView;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    DBEdit5: TDBEdit;
    DBEdit4: TDBEdit;
   DBEdit3: TDBEdit;
    DBEdit2: TDBEdit;
    Query2: TQuery;
    DBComboBox1: TDBComboBox;
    Label9: TLabel;
    Label10: TLabel;

    function checknewfilltext:boolean;
    procedure TabSheet1Show(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure DBNavigator2Click(Sender: TObject; Button: TNavigateBtn);
    procedure FormActivate(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
    procedure DBEdit1Change(Sender: TObject);
  private
    { Private declarations }
  public
  temp:integer;
    { Public declarations }
  end;

var
  filltextform: Tfilltextform;
   addfilltext:boolean;
implementation
     uses Unit4, Unit3;
{$R *.dfm}


function Tfilltextform.checknewfilltext:boolean;
var
success:boolean;
begin
success:=true;
with DataModule4.Table_filltext do
begin
if DBEdit1.Text='' then
success:=false;
if DBEdit2.Text='' then
success:=false;
//if DBEdit3.Text='' then
//success:=false;
//if DBEdit4.Text='' then
//success:=false;
//if DBEdit5.Text='' then
//success:=false;
  if DBComboBox1.Text='' then
success:=false;

if DBMemo1.Text='' then
success:=false;

if not success then
begin
showmessage('红色项必须填写,请补上未填的红色项!');
end;
  checknewfilltext:=success;
end;

end;

procedure Tfilltextform.TabSheet1Show(Sender: TObject);
begin
     DBNavigator2.Enabled:=true;
DBNavigator2.DataSource:=DataModule4.DataSource_filltext;
end;

procedure Tfilltextform.TabSheet2Show(Sender: TObject);
begin
DBNavigator2.Enabled:=false;
 DBNavigator1.DataSource:=DataModule4.DataSource_filltext;
end;

procedure Tfilltextform.DBNavigator2Click(Sender: TObject; Button: TNavigateBtn);
begin
 DBMemo1.DataSource:=DataModule4.DataSource_filltext;
  DBEdit1.DataSource:=DataModule4.DataSource_filltext;
  DBEdit2.DataSource:=DataModule4.DataSource_filltext ;
  DBEdit3.DataSource:=DataModule4.DataSource_filltext;
  DBEdit4.DataSource:=DataModule4.DataSource_filltext;
  DBEdit5.DataSource:=DataModule4.DataSource_filltext;
  DBEdit6.DataSource:=DataModule4.DataSource_filltext ;
  DBComboBox1.DataSource:=DataModule4.DataSource_filltext ;


  case button of
   nbDelete:
   begin
   
if Treeview1.Focused=false then
begin
DBNavigator2.BtnClick(nbCancel);
showmessage('请选择一个章节点') ;
  DBNavigator2.BtnClick(nbCancel);
  DBNavigator2.Enabled:=false;
end
else
query2.close;
query2.sql.clear;
query2.sql.text:='delete ti_filltext where tno='''+inttostr(mainform.updateno)+''' ';
query2.ExecSQL;



query2.close;
query2.sql.clear;
query2.sql.text:='update ti_filltext set tno=tno-1 where tno>'''+inttostr(mainform.updateno)+''' and tno like '''+inttostr(mainform.updateno div 10)+'%''';
query2.ExecSQL;
DBNavigator1.DataSource:=DataModule4.DataSource_filltext;
  showmessage(inttostr(DataModule4.Table_filltext.FieldValues['tno']));
   end;
   end;

case button of
nbInsert:
begin
addfilltext:=true;
if Treeview1.Focused=false then
begin
showmessage('请选择一个章节点') ;
  DBNavigator2.BtnClick(nbCancel);
   DBNavigator2.Enabled:=false;
end
else
if treeview1.Focused=true then
begin
 DBNavigator2.Enabled:=false;
if (temp mod 10)=0 then
begin
showmessage('本章知识点已满!');
DBNavigator2.BtnClick(nbCancel);
end
else
begin
DBEdit1.text:=inttostr(temp);
end;
end;
end;
end;

case button of
nbPost:
begin
DataModule4.Table_filltext.Close;
DataModule4.Table_filltext.Open;

end;
end;
end;



procedure Tfilltextform.FormActivate(Sender: TObject);
begin
DBNavigator1.DataSource:=DataModule4.DataSource_filltext;
DBNavigator2.Enabled:=false;
end;

procedure Tfilltextform.TreeView1Click(Sender: TObject);
begin

{
if TreeView1.Selected.text='C语言' then    //总节点
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_choose');
query1.Open;
 end;
 end;           }
                   {
 if TreeView1.Selected.text='第一章 C语言基础知识' then   //第一章
   begin

  query1.Active:=false;
  query1.Active:=true;


if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_choose where tno like ''1%%%''');
query1.Open;
 end;
 end;

                       }
                       {
     if TreeView1.Selected.text='第一节' then         //第一章第一节
   begin
  query1.Active:=false;
  query1.Active:=true;


if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_choose where tno like ''11%%''');
query1.Open;
 end;
 end;
                        }

 if TreeView1.Selected.text='第一知识点 C语言的特点' then  //第一章第一节第一知识点
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_filltext where tno like ''111%'' order by tno');
query1.Open;
begin
  if query1.RecordCount<>0 then
  begin
  query1.Last;
  temp:=query1.FieldValues['tno']+1;
  end
  else if query1.RecordCount=0 then
  begin
     temp:=1111;
  end;
end;

 end;
 end;

                          {
 if TreeView1.Selected.text='第二节' then      //第一章第二节
   begin

  query1.Active:=false;
  query1.Active:=true;


if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_choose where tno like ''12%%''');
query1.Open;
 end;
 end;

                              }
 if TreeView1.Selected.text='第一知识点 C语言的标识符和保留字' then  //第一章第二节第一知识点
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_filltext where tno like ''121%'' order by tno');
query1.Open;
begin
  if query1.RecordCount<>0 then
  begin
  query1.Last;
  temp:=query1.FieldValues['tno']+1;
  end
  else if query1.RecordCount=0 then
  begin
     temp:=1211;
  end;
end;

 end;
 end;
 {
 
     if TreeView1.Selected.text='第三节' then    //第一章第三节
   begin

  query1.Active:=false;
  query1.Active:=true;


if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_choose where tno like ''13%%''');
query1.Open;
 end;
 end;
                           }
if TreeView1.Selected.text='第一知识点 C程序的结构' then      //第一章第三节第一知识点
   begin

  query1.Active:=false;
  query1.Active:=true;


if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_filltext where tno like ''131%'' order by tno');
query1.Open;
begin
  if query1.RecordCount<>0 then
  begin
  query1.Last;
  temp:=query1.FieldValues['tno']+1;
  end
  else if query1.RecordCount=0 then
  begin
     temp:=1311;
  end;
end;

 end;
 end;
                        {
 if TreeView1.Selected.text='第四节' then             //第一章第四节
   begin

  query1.Active:=false;
  query1.Active:=true;


if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_choose where tno like ''14%%''');
query1.Open;
 end;
 end;
                            }


if TreeView1.Selected.text='第一知识点 C程序的开发过程' then     //第一章第四节第一知识点
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_filltext where tno like ''141%'' order by tno');
query1.Open;
begin
  if query1.RecordCount<>0 then
  begin
  query1.Last;
  temp:=query1.FieldValues['tno']+1;
  end
  else if query1.RecordCount=0 then
  begin
     temp:=1411;
  end;
end;

 end;
 end;

 //-----------------------------------------------------------------
 {
 if TreeView1.Selected.text='第二章 数据类型、运算符与表达式' then
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_choose where tno like ''2%%%''');
query1.Open;
 end;
 end;

                     }
                     {
if TreeView1.Selected.text='第一节' then
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_choose where tno like ''21%%''');
query1.Open;
 end;
 end;

                             }

if TreeView1.Selected.text='第一知识点 C语言数据类型' then   //第二章第一节第一知识点
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_filltext where tno like ''211%'' order by tno');
query1.Open;
begin
  if query1.RecordCount<>0 then
  begin
  query1.Last;
  temp:=query1.FieldValues['tno']+1;
  end
  else if query1.RecordCount=0 then
  begin
     temp:=2111;
  end;
end;

 end;
 end;

if TreeView1.Selected.text='第二知识点 整型数据' then
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_filltext where tno like ''212%'' order by tno');
query1.Open;
begin
  if query1.RecordCount<>0 then
  begin
  query1.Last;
  temp:=query1.FieldValues['tno']+1;
  end
  else if query1.RecordCount=0 then
  begin
     temp:=2121;
  end;
end;

 end;
 end;


if TreeView1.Selected.text='第三知识点 实型数据' then
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_filltext where tno like ''213%'' order by tno');
query1.Open;
begin
  if query1.RecordCount<>0 then
  begin
  query1.Last;
  temp:=query1.FieldValues['tno']+1;
  end
  else if query1.RecordCount=0 then
  begin
     temp:=2131;
  end;
end;

 end;
 end;
if TreeView1.Selected.text='第四知识点 字符型数据' then
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_filltext where tno like ''214%'' order by tno');
query1.Open;
begin
  if query1.RecordCount<>0 then
  begin
  query1.Last;
  temp:=query1.FieldValues['tno']+1;
  end
  else if query1.RecordCount=0 then
  begin
     temp:=2141;
  end;
end;

 end;
 end;
                      //---------------------------------------
                      {
if TreeView1.Selected.text='第二节' then
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_choose where tno like ''22%%''');
query1.Open;
 end;
 end;

                             }

if TreeView1.Selected.text='第一知识点 运算符' then
   begin
  query1.Active:=false;
  query1.Active:=true;
if(query1.Active=true)then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ti_filltext where tno like ''221%'' order by tno');
query1.Open;
begin
  if query1.RecordCount<>0 then
  begin
  query1.Last;
  temp:=query1.FieldValues['tno']+1;
  end
  else if query1.RecordCount=0 then
  begin
     temp:=2211;
  end;
end;

 end;

⌨️ 快捷键说明

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