?? u_observeitem.pas
字號(hào):
unit U_ObserveItem;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
HGrids, HDBGrids, TB97Tlbr, TB97Ctls, TB97, DBTables, Db, Menus;
type
TFm_ObserveItem = class(TForm)
DDS: TDataSource;
Dock: TDock97;
Tb97_Func: TToolbar97;
TbBtn_Edit: TToolbarButton97;
TbBtn_Add: TToolbarButton97;
TbBtn_Delete: TToolbarButton97;
TbSep01: TToolbarSep97;
TbBtn_Help: TToolbarButton97;
TbBtn_Exit: TToolbarButton97;
MGrid: THDBGrid;
DQuery: TQuery;
DUpSQL: TUpdateSQL;
PPM: TPopupMenu;
PM_Add: TMenuItem;
PM_Edit: TMenuItem;
PM_Delete: TMenuItem;
PM_Z01: TMenuItem;
PM_Help: TMenuItem;
PM_Exit: TMenuItem;
DQueryI_PYDHAO: TIntegerField;
DQueryS_PYNR: TStringField;
TbBtn_Save: TToolbarButton97;
TbSep02: TToolbarSep97;
N1: TMenuItem;
PM_Save: TMenuItem;
TbBtn_Print: TToolbarButton97;
TbSp01: TToolbarSep97;
PM_Print: TMenuItem;
PM_Z03: TMenuItem;
procedure TbBtn_ExitClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TbBtn_AddClick(Sender: TObject);
procedure TbBtn_DeleteClick(Sender: TObject);
procedure TbBtn_HelpClick(Sender: TObject);
procedure DQueryBeforePost(DataSet: TDataSet);
procedure DQueryAfterPost(DataSet: TDataSet);
procedure TbBtn_EditClick(Sender: TObject);
procedure TbBtn_SaveClick(Sender: TObject);
procedure TbBtn_PrintClick(Sender: TObject);
private
public
end;
var
Fm_ObserveItem: TFm_ObserveItem;
procedure Show_ObserveItem;
implementation
uses U_Main, U_GlobalProc, U_GlobalVar, U_DM, U_Print;
{$R *.DFM}
procedure Show_ObserveItem;
var
i: integer;
begin
for i := Fm_Main.MDIChildCount - 1 downto 0 do
begin
if (Fm_Main.MDIChildren[i].Name <> 'Fm_Wizard') and
(Fm_Main.MDIChildren[i].Name <> 'Fm_ObserveItem') then
Fm_Main.MDIChildren[i].Close;
end;
if not Assigned(Fm_ObserveItem) then
begin
Fm_ObserveItem := TFm_ObserveItem.Create(Application);
with Fm_ObserveItem do
begin
DQuery.Open;
if DQuery.IsEmpty then
begin
MGrid.Options := MGrid.Options - [tgEditing];
TbBtn_Edit.Enabled := False;
TbBtn_Delete.Enabled := False;
PM_Edit.Enabled := False;
PM_Delete.Enabled := False;
end;
RefreshGridStyle(MGrid);
end;
end;
with Fm_ObserveItem do
begin
if WindowState <> wsMaximized then
WindowState := wsMaximized;
Show;
SetFocus;
end;
end;
procedure TFm_ObserveItem.TbBtn_ExitClick(Sender: TObject);
begin
Close;
end;
procedure TFm_ObserveItem.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DQuery.Close;
Action := caFree;
Fm_ObserveItem := nil;
end;
procedure TFm_ObserveItem.TbBtn_AddClick(Sender: TObject);
var
tmOrder: integer;
begin
tmOrder := 1;
try
with DQuery do
begin
DisableControls;
First;
while not Eof do
begin
if tmOrder <> FieldByName('i_pydhao').AsInteger then
Break;
Inc(tmOrder);
Next;
end;
if Eof then
Append
else
Insert;
FieldByName('i_pydhao').AsInteger := tmOrder;
MGrid.Options := MGrid.Options + [tgEditing];
end;
finally
DQuery.EnableControls;
end;
end;
procedure TFm_ObserveItem.TbBtn_DeleteClick(Sender: TObject);
begin
if not U_GlobalProc.Show_ConfirmMess('真的刪除當(dāng)前條目嗎') then
Exit;
DQuery.Delete;
DQuery.ApplyUpdates;
if DQuery.IsEmpty then
begin
MGrid.Options := MGrid.Options - [tgEditing];
TbBtn_Edit.Enabled := False;
TbBtn_Delete.Enabled := False;
PM_Edit.Enabled := False;
PM_Delete.Enabled := False;
end;
end;
procedure TFm_ObserveItem.TbBtn_HelpClick(Sender: TObject);
begin //
end;
procedure TFm_ObserveItem.DQueryBeforePost(DataSet: TDataSet);
begin //
with DQuery do
if Trim(FieldByName('s_pynr').AsString) = '' then
begin
if (State = dsInsert) or ((State = dsEdit) and
(not U_GlobalProc.Show_ConfirmMess(
'詞條內(nèi)容被修改為空值,是否存盤(pán)?'))) then
begin
Cancel;
if IsEmpty then
begin
MGrid.Options := MGrid.Options - [tgEditing];
MGrid.Col := 1;
end;
Abort;
end;
end;
end;
procedure TFm_ObserveItem.DQueryAfterPost(DataSet: TDataSet);
begin
if not DQuery.IsEmpty then
begin
TbBtn_Edit.Enabled := True;
TbBtn_Delete.Enabled := True;
PM_Edit.Enabled := True;
PM_Delete.Enabled := True;
end else
MGrid.Options := MGrid.Options - [tgEditing];
DQuery.ApplyUpdates;
end;
procedure TFm_ObserveItem.TbBtn_EditClick(Sender: TObject);
begin
MGrid.Col := 2;
DQuery.Edit;
end;
procedure TFm_ObserveItem.TbBtn_SaveClick(Sender: TObject);
begin //
if DQuery.State in [dsEdit, dsInsert] then
DQuery.Post;
end;
procedure TFm_ObserveItem.TbBtn_PrintClick(Sender: TObject);
begin
Show_Print(MGrid);
end;
end.
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -