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

📄 tkmc_p.pas

📁 考试系统,是一个简单的但是很经典的
💻 PAS
字号:
unit tkmc_p;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Grids, DBGridEh, DB, StdCtrls, Buttons, DBClient;

type
  Tf_tkmc = class(TForm)
    Panel1: TPanel;
    dbg: TDBGridEh;
    ds: TDataSource;
    pnl2: TPanel;
    Edit1: TEdit;
    Label1: TLabel;
    chk1: TCheckBox;
    chk2: TCheckBox;
    bt1: TSpeedButton;
    bt2: TSpeedButton;
    bt4: TSpeedButton;
    bt3: TSpeedButton;
    bt7: TSpeedButton;
    bt6: TSpeedButton;
    bt5: TSpeedButton;
    cds: TClientDataSet;
    procedure enedit;
    procedure unedit;
    procedure readdata;
    procedure chk1Click(Sender: TObject);
    procedure chk2Click(Sender: TObject);
    procedure bt7Click(Sender: TObject);
    procedure bt1Click(Sender: TObject);
    procedure bt4Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure bt3Click(Sender: TObject);
    procedure cdsAfterScroll(DataSet: TDataSet);
    procedure bt2Click(Sender: TObject);
    procedure bt5Click(Sender: TObject);
    procedure bt6Click(Sender: TObject);
  private
    sts:smallint;
    vrt:olevariant;
    sSql:string;
  public
    { Public declarations }
  end;

var
  f_tkmc: Tf_tkmc;

implementation

{$R *.dfm}

uses dm_p, main_p;

procedure Tf_tkmc.readdata;
begin
   sSql:='select * from k_tkmcb where dlmc='''+f_main.dlmc+''' or lxbj=0';
   dm.skc.AppServer.getdata(sSql,vrt);
   cds.Active:=false;
   cds.Data:=vrt;
end;

procedure Tf_tkmc.enedit;
begin
   bt1.Enabled:=false;
   bt2.Enabled:=false;
   bt3.Enabled:=false;
   bt4.Enabled:=true;
   bt5.Enabled:=true;
   dbg.Enabled:=false;
   pnl2.Enabled:=true;
end;

procedure Tf_tkmc.unedit;
begin
   bt1.Enabled:=true;
   bt2.Enabled:=true;
   bt3.Enabled:=true;
   bt4.Enabled:=false;
   bt5.Enabled:=false;
   dbg.Enabled:=true;
   pnl2.Enabled:=false;
end;

procedure Tf_tkmc.chk1Click(Sender: TObject);
begin
   chk2.Checked:=not chk1.Checked;
end;

procedure Tf_tkmc.chk2Click(Sender: TObject);
begin
    chk1.Checked:=not chk2.Checked;
end;

procedure Tf_tkmc.bt7Click(Sender: TObject);
begin
   close;
end;

procedure Tf_tkmc.bt1Click(Sender: TObject);
begin
   enedit;
   edit1.Text:='';
   edit1.SetFocus;
   sts:=1;
end;

procedure Tf_tkmc.bt4Click(Sender: TObject);
var s:string;
    lx:integer;
    tkbh,err:olevariant;
begin
    if trim(edit1.Text)='' then
    begin
       edit1.SetFocus;
       application.MessageBox('请输入题库名称!','提示信息',16);
       exit;
    end;
    if chk1.Checked then lx:=0 else lx:=1;
    if sts=1 then
    begin
        dm.skc.AppServer.addlib(f_main.dlmc,lx,trim(edit1.Text),tkbh,err);
        if tkbh=-1 then
        begin
            s:=err;
            application.MessageBox(pchar(s),'错误信息',16);
            exit;
        end;
    end
    else
    begin
        s:='update k_tkmcb set tkmc='''+trim(edit1.Text)+''',lxbj='+inttostr(lx)+' where tkbh='''+cds.fieldbyname('tkbh').AsString+'''';
        dm.skc.AppServer.execSqls(s);
    end;
    readdata;
    unedit;
    sts:=0;
end;

procedure Tf_tkmc.FormShow(Sender: TObject);
begin
   unedit;
   readdata;
end;

procedure Tf_tkmc.bt3Click(Sender: TObject);
begin
   if cds.Active=false then exit;
   if cds.FieldByName('dlmc').AsString<>f_main.dlmc then
   begin
       application.MessageBox('该题库不是你建立的,你不能删除!','提示信息',48);
       exit;
   end;
   if application.MessageBox('您确定要删除该题库吗?','确认信息',4+32)<>6 then exit;
   if f_main.tkbh=cds.FieldByName('tkbh').AsInteger then f_main.tkbh:=0;
   dm.skc.AppServer.ExecSqls('exec deletelib '+cds.FieldByName('tkbh').AsString);
   //readdata;
   cds.Delete;
   unedit;
   sts:=0;
end;

procedure Tf_tkmc.cdsAfterScroll(DataSet: TDataSet);
begin
   if cds.IsEmpty then
   begin
      edit1.Text:='';
      exit;
   end;
   edit1.Text:=cds.FieldByName('tkmc').AsString;
   bt2.Enabled:=cds.FieldByName('dlmc').AsString=f_main.dlmc;
   bt3.Enabled:=cds.FieldByName('dlmc').AsString=f_main.dlmc;
   chk1.Checked:=cds.FieldByName('lxbj').Asinteger=0;
   chk2.Checked:=not chk1.Checked;
end;

procedure Tf_tkmc.bt2Click(Sender: TObject);
begin
    if cds.FieldByName('dlmc').AsString<>f_main.dlmc then
    begin
       application.MessageBox('该题库不是你建立的,你不能修改!','提示信息',48);
       exit;
    end;
    sts:=2;
    enedit;
end;

procedure Tf_tkmc.bt5Click(Sender: TObject);
begin
   sts:=0;
   unedit;
end;

procedure Tf_tkmc.bt6Click(Sender: TObject);
begin
   if cds.IsEmpty then exit;
   f_main.tkbh:=cds.fieldbyname('tkbh').AsInteger;
   f_main.tkmc:=cds.fieldbyname('tkmc').AsString;
   close;
end;

end.

⌨️ 快捷键说明

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