?? sy_sjndfpjhbl.pas
字號:
{*******************************************************}
{ }
{ 上級年度分配計劃補錄 }
{ }
{ 中軟金馬公司版權所有。2002.12前 }
{ }
{ 編制:中軟金馬郵資票品項目開發組 }
{ }
{ }
{*******************************************************}
(*
省級集郵票管理,地市集郵票
*)
unit SY_SJNDFPJHBL;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
FORMBASE, ExtCtrls, ModiPanel, StdCtrls, Mask, DBCtrls, Grids, DBGrids,
CurrEdit, RXDBCtrl, ToolEdit, ComCtrls, Buttons, DBTables, Db,
RxQuery, RXCtrls, Spin;
type
Tfrm_SJNDFPJHBL = class(TFFormBase)
ModiPanel1: TModiPanel;
Panel1: TPanel;
DBG_FXJH: TDBGrid;
Pnl_edit: TPanel;
DS_FXJH: TDataSource;
DS_FPJH: TDataSource;
DBG_FPJH: TDBGrid;
Label4: TLabel;
Qry_FPJH: TQuery;
Panel4: TPanel;
XttxTitle: TRxLabel;
DWMC: TLabel;
Label1: TLabel;
Label2: TLabel;
DBM_bz: TDBMemo;
Qry_FXJH: TQuery;
USQL_FPJH: TUpdateSQL;
DBDE_zdrq: TDBDateEdit;
DBEdt_sl: TDBEdit;
DBEdt_zbr: TDBEdit;
Label6: TLabel;
Label8: TLabel;
ND: TSpinEdit;
Qry_FPJHJHH: TStringField;
Qry_FPJHND: TStringField;
Qry_FPJHDWDM: TStringField;
Qry_FPJHPPMC: TStringField;
Qry_FPJHJHFPZTS: TFloatField;
Qry_FPJHZT: TStringField;
Qry_FPJHZBR: TStringField;
Qry_FPJHZDRQ: TDateTimeField;
Qry_FPJHBZ: TStringField;
Splitter1: TSplitter;
procedure ModiPanel1BtnClick(Index: TBtnVisible);
procedure FormCreate(Sender: TObject);
procedure NDChange(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Qry_FXJHAfterScroll(DataSet: TDataSet);
procedure DBG_FXJHEnter(Sender: TObject);
procedure Qry_FPJHAfterScroll(DataSet: TDataSet);
private
{ Private declarations }
FDtState: TDataState;
procedure Save;
procedure SetState(Value: TdataState);
function CheckExit(): boolean;
public
{ Public declarations }
end;
function Show_SJNDFPJHBL: Boolean;
var
frm_SJNDFPJHBL: Tfrm_SJNDFPJHBL;
implementation
uses datas, pub;
{$R *.DFM}
function Show_SJNDFPJHBL: Boolean;
begin
Application.CreateForm(Tfrm_SJNDFPJHBL, frm_SJNDFPJHBL);
with frm_SJNDFPJHBL do
try
if CheckRight(frm_SJNDFPJHBL, [Modipanel1]) then
result := ShowModal = MB_OK;
finally
Free;
end;
end;
procedure Tfrm_SJNDFPJHBL.SetState(Value: TdataState);
var
i: integer;
procedure SetControls(Value: Boolean);
begin
ND.Enabled := Value;
DBG_FXJH.Enabled := Value;
DBG_FPJH.Enabled := Value;
DBEdt_sl.ReadOnly := Value;
DBEdt_zbr.ReadOnly := Value;
DBDE_zdrq.ReadOnly := Value;
DBM_bz.ReadOnly := Value;
end;
begin
FDtState := Value;
ModiPanel1.ChangeMode(FDtState = dtBrowse);
SetControls(FDtState = dtBrowse);
end;
procedure Tfrm_SJNDFPJHBL.Save;
begin
if Qry_FPJH.FieldByName('JHFPZTS').IsNull or Qry_FPJH.FieldByName('ZBR').IsNull
or Qry_FPJH.FieldByName('ZDRQ').IsNull then
begin
CHQMsgBox('分配數量,制表人,制表日期不能為空!');
exit;
end;
try
data.DM.StartTransaction;
Qry_FPJH.ApplyUpdates;
data.DM.Commit;
except
data.DM.Rollback;
exit;
end;
Qry_FPJH.CommitUpdates;
SetState(dtBrowse);
end;
procedure Tfrm_SJNDFPJHBL.ModiPanel1BtnClick(Index: TBtnVisible);
var
i: integer;
begin
inherited;
case index of
bnAdd:
if Qry_FPJH.FieldByName('JHH').Value <> Qry_FXJH.FieldByName('JHH').Value then
begin
Qry_FPJH.Append;
Qry_FPJH.FieldByName('JHH').AsString := Qry_FXJH.FieldByName('JHH').AsString;
Qry_FPJH.FieldByName('ND').AsString := ND.Text;
Qry_FPJH.FieldByName('DWDM').AsString := VG_UnitID;
Qry_FPJH.FieldByName('PPMC').AsString := Qry_FXJH.FieldByName('TMC').AsString;
Qry_FPJH.FieldByName('ZT').AsString := '0';
SetState(dtInsert);
end;
bnDelete:
begin
if Qry_FPJH.IsEmpty then
begin
CHQMsgBox('沒有可刪除的數據!');
exit;
end;
if CHQMsgBox('確定要刪除記錄嗎?', 2) = IDYES then
begin
Qry_FPJH.Edit;
Qry_FPJH.Delete;
Qry_FPJH.ApplyUpdates;
// Qry_FPJH.Post;
end;
end;
bnEdit:
begin
if Qry_FPJH.IsEmpty then
begin
CHQMsgBox('沒有可修改的數據!');
exit;
end;
SetState(dtEdit);
Qry_FPJH.Edit;
end;
bnSave:
Save;
bnCancel:
if CHQMsgBox('取消編輯, 確定嗎?', 2) = IDYES then
try
Qry_FPJH.CancelUpdates;
finally
SetState(dtBrowse);
end;
bnClose:
Close;
end;
end;
procedure Tfrm_SJNDFPJHBL.FormCreate(Sender: TObject);
begin
inherited;
// XttxTitle.Caption := '入庫依據單補錄';
DWMC.Caption := '使用單位:' + VG_UnitName;
ND.Value := VG_Year;
DBG_FXJHEnter(DBG_FXJH);
SetState(dtBrowse);
end;
procedure Tfrm_SJNDFPJHBL.NDChange(Sender: TObject);
begin
inherited;
Qry_FPJH.AfterScroll := nil;
Qry_FXJH.AfterScroll := nil;
Qry_FXJH.Close;
Qry_FXJH.Params[0].AsString := ND.Text;
Qry_FXJH.Open;
Qry_FPJH.Close;
Qry_FPJH.Params[0].AsString := ND.Text;
Qry_FPJH.Open;
Qry_FPJH.AfterScroll := Qry_FPJHAfterScroll;
Qry_FXJH.AfterScroll := Qry_FXJHAfterScroll;
end;
procedure Tfrm_SJNDFPJHBL.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
inherited;
CanCLose := CheckExit;
end;
function Tfrm_SJNDFPJHBL.CheckExit(): boolean;
begin
result := true;
if FDtState in [dtInsert, dtEdit] then
case CHQMsgBox('數據已經被更改,是否保存所做修改?', 3) of
IDYes:
ModiPanel1BtnClick(bnSave);
IDNo:
ModiPanel1BtnClick(bnCancel);
IDCancel:
result := false;
end
end;
procedure Tfrm_SJNDFPJHBL.Qry_FXJHAfterScroll(DataSet: TDataSet);
begin
inherited;
if DBG_FXJH.TitleFont.Color = clNavy then
Qry_FPJH.Locate('JHH', Qry_FXJH.FieldByName('JHH').AsString, []);
end;
procedure Tfrm_SJNDFPJHBL.Qry_FPJHAfterScroll(DataSet: TDataSet);
begin
inherited;
if DBG_FPJH.TitleFont.Color = clNavy then
Qry_FXJH.Locate('JHH', Qry_FPJH.FieldByName('JHH').AsString, []);
end;
procedure Tfrm_SJNDFPJHBL.DBG_FXJHEnter(Sender: TObject);
begin
inherited;
if Sender = DBG_FXJH then
begin
DBG_FXJH.TitleFont.Color := clNavy;
DBG_FPJH.TitleFont.Color := clWindowText;
end
else
begin
DBG_FXJH.TitleFont.Color := clWindowText;
DBG_FPJH.TitleFont.Color := clNavy;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -