uni_workstation.pas
来自「一个非常不错的经费报销管理软件」· PAS 代码 · 共 150 行
PAS
150 行
unit Uni_WorkStation;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMenu, DB, Menus, Grids, DBGridEh, StdCtrls, Mask, DBCtrls,
ExtCtrls, ComCtrls, ToolWin, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient;
type
TFrm_WorkStation = class(TForm)
TB_Main: TToolBar;
TB_Insert: TToolButton;
TB_Update: TToolButton;
TB_Delete: TToolButton;
TB_Post: TToolButton;
TB_Cancel: TToolButton;
TB_Refresh: TToolButton;
TB_Help: TToolButton;
TB_Close: TToolButton;
Panel1: TPanel;
P_Edit: TPanel;
PopupMenu1: TPopupMenu;
N_State: TMenuItem;
DSbsWorkStation: TDataSource;
XPMenu1: TXPMenu;
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
DBEdit2: TDBEdit;
TB_Ping: TToolButton;
Ping: TIdTCPClient;
CoolBar1: TCoolBar;
Splitter1: TSplitter;
DBGbsWorkStation: TDBGridEh;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
StatusBar1: TStatusBar;
procedure N_StateClick(Sender: TObject);
procedure TB_RefreshClick(Sender: TObject);
procedure TB_InsertClick(Sender: TObject);
procedure TB_UpdateClick(Sender: TObject);
procedure TB_DeleteClick(Sender: TObject);
procedure TB_PostClick(Sender: TObject);
procedure TB_CancelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TB_CloseClick(Sender: TObject);
procedure TB_PingClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_WorkStation: TFrm_WorkStation;
implementation
{$R *.dfm}
uses Uni_dm,Uni_Main,Uni_Function;
procedure TFrm_WorkStation.N_StateClick(Sender: TObject);
var
i:Integer;
begin
for i :=0 to TB_Main.ButtonCount-1 do
TB_Main.Buttons[i].Enabled:=not TB_Main.Buttons[i].Enabled;
P_Edit.Visible:=TB_Post.Enabled;
end;
procedure TFrm_WorkStation.TB_RefreshClick(Sender: TObject);
begin
DM.bsWorkStation.Close;
DM.bsWorkStation.Open;
end;
procedure TFrm_WorkStation.TB_InsertClick(Sender: TObject);
begin
N_StateClick(Sender);
with DM do
begin
bsWorkStation.Insert;
bsWorkStation.FieldByName('id').AsString:=GetGUID;
bsWorkStation.FieldByName('istate').AsInteger:=0;
bsWorkStation.Post;
end;
end;
procedure TFrm_WorkStation.TB_UpdateClick(Sender: TObject);
begin
N_StateClick(Sender);
end;
procedure TFrm_WorkStation.TB_DeleteClick(Sender: TObject);
begin
if not DM.bsWorkStation.IsEmpty
then begin
DM.bsWorkStation.Edit;
DM.bsWorkStation.FieldByName('iState').AsInteger:=-1;
DM.bsWorkStation.Post;
end;
TB_RefreshClick(Sender);
end;
procedure TFrm_WorkStation.TB_PostClick(Sender: TObject);
begin
N_StateClick(Sender);
DM.bsWorkStation.Edit;
DM.bsWorkStation.FieldByName('iState').AsInteger:=1;
DM.bsWorkStation.Post;
TB_RefreshClick(Sender);
end;
procedure TFrm_WorkStation.TB_CancelClick(Sender: TObject);
begin
N_StateClick(Sender);
TRY
DM.bsWorkStation.Cancel;
if DM.bsWorkStation.FieldByName('iState').AsInteger=0 then
DM.bsWorkStation.Delete;
EXCEPT
END;
end;
procedure TFrm_WorkStation.FormShow(Sender: TObject);
begin
TB_RefreshClick(Sender);
end;
procedure TFrm_WorkStation.TB_CloseClick(Sender: TObject);
begin
Close;
end;
procedure TFrm_WorkStation.TB_PingClick(Sender: TObject);
begin
Ping.Host:=DM.bsWorkStation.FieldByName('cIP').AsString;
Ping.Destroy;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?