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

📄 dfjl_p.pas

📁 考试系统,用DELPHI实现C/S模式,保证数据的安全和稳定,比起ASP要好一点
💻 PAS
字号:
unit dfjl_p;

interface

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

type
  Tf_dfjl = class(TForm)
    Panel1: TPanel;
    bt1: TSpeedButton;
    bt2: TSpeedButton;
    dbg: TDBGridEh;
    Panel2: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    se1: TSpinEdit;
    se2: TSpinEdit;
    Label3: TLabel;
    bt4: TSpeedButton;
    bt3: TSpeedButton;
    bt6: TSpeedButton;
    bt5: TSpeedButton;
    cds: TClientDataSet;
    DataSource1: TDataSource;
    cdstkbh: TIntegerField;
    cdssjbh: TIntegerField;
    cdsjlxh: TIntegerField;
    cdsqsfw: TIntegerField;
    cdsjzfw: TIntegerField;
    cdsdfjl: TStringField;
    procedure readdata;
    procedure enedit;
    procedure unedit;
    procedure bt6Click(Sender: TObject);
    procedure bt3Click(Sender: TObject);
    procedure bt1Click(Sender: TObject);
    procedure bt2Click(Sender: TObject);
    procedure cdsAfterScroll(DataSet: TDataSet);
    procedure bt4Click(Sender: TObject);
    procedure bt5Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
     sSql:string;
     vrt:olevariant;
     sts:smallint;
  public
    { Public declarations }
  end;

var
  f_dfjl: Tf_dfjl;

implementation

uses dm_p, main_p;

{$R *.dfm}

procedure Tf_dfjl.readdata;
begin
   sSql:='select * from k_ksjlb where tkbh='+inttostr(f_main.tkbh)+' and sjbh='
        +inttostr(f_main.sjbh)+' order by jlxh';
   dm.skc.AppServer.getdata(sSql,vrt);
   cds.close;
   cds.Data:=vrt;
end;

procedure Tf_dfjl.enedit;
begin
   bt1.Enabled:=false;
   bt2.Enabled:=false;
   bt3.Enabled:=false;
   bt4.Enabled:=true;
   bt5.Enabled:=true;
   edit1.ReadOnly:=false;
   edit1.SetFocus;
   dbg.Enabled:=false;
end;

procedure Tf_dfjl.unedit;
begin
   bt1.Enabled:=true;
   bt2.Enabled:=true;
   bt3.Enabled:=true;
   bt4.Enabled:=false;
   bt5.Enabled:=false;
   edit1.ReadOnly:=true;
   dbg.Enabled:=true;
   sts:=0;
end;

procedure Tf_dfjl.bt6Click(Sender: TObject);
begin
   close;
end;

procedure Tf_dfjl.bt3Click(Sender: TObject);
begin
//删除
   if cds.IsEmpty then exit;
   if application.MessageBox('您确定要删除该结论吗?','确认信息',4+32)<>6 then exit;
   try
      dm.skc.AppServer.ExecSqls('delete from k_ksjlb where tkbh='+inttostr(f_main.tkbh)
        +' and sjbh='+inttostr(f_main.sjbh)+' and jlxh='+cds.FieldByName('jlxh').AsString);
      cds.Delete;
   except
      on e:exception do
      begin
          application.MessageBox(pchar('无法处理数据!'+#13+#13+e.Message),'错误信息',16);
          close;
      end;
   end;
end;

procedure Tf_dfjl.bt1Click(Sender: TObject);
begin
//添加
   sts:=1;
   enedit;
   edit1.Text:='';
   se1.Value:=0;
   se2.Value:=0;
end;

procedure Tf_dfjl.bt2Click(Sender: TObject);
begin
//修改
   sts:=2;
   enedit;
end;

procedure Tf_dfjl.cdsAfterScroll(DataSet: TDataSet);
begin
   if sts>0 then exit;
   if cds.IsEmpty then
   begin
       edit1.Text:='';
       se1.Value:=0;
       se2.Value:=0;
   end;
   edit1.Text:=cds.fieldbyname('dfjl').AsString;
   se1.Value:=cds.fieldbyname('qsfw').AsInteger;
   se2.Value:=cds.fieldbyname('jzfw').AsInteger;
end;

procedure Tf_dfjl.bt4Click(Sender: TObject);
begin
//存盘
  if trim(edit1.Text)='' then
  begin
      application.MessageBox('请输入得分结论!','提示信息',48);
      edit1.SetFocus;
      exit;
  end;
  if se1.Value>se2.Value then
  begin
      application.MessageBox('起始得分不能大于截止得分!','提示信息',48);
      se1.SetFocus;
      exit;
  end;
  if sts=1 then
  begin
     vrt:='';
     dm.skc.AppServer.adddfjl(f_main.tkbh,f_main.sjbh,trim(edit1.Text),se1.Value,se2.Value,vrt);
     if vrt<>'0' then
     begin
        sSql:=vrt;
        application.MessageBox(pchar(sSql),'错误信息',16);
        exit;
     end;
  end
  else
  begin
     dm.skc.AppServer.ExecSqls('update k_ksjlb set dfjl='''+trim(edit1.Text)+''',qsfw='+se1.Text+',jzfw='+se2.Text+
      ' where tkbh='+inttostr(f_main.tkbh)+' and sjbh='+inttostr(f_main.sjbh)+' and jlxh='
      +cds.FieldByName('jlxh').AsString);
  end;
  unedit;
  readdata;
end;

procedure Tf_dfjl.bt5Click(Sender: TObject);
begin
   unedit;
   cds.AfterScroll(cds);
end;

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

procedure Tf_dfjl.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   cds.Close;
end;

end.

⌨️ 快捷键说明

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