📄 dfjl_p.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 + -