yjzlfrm.pas
来自「本人编写的有关军队营房工作的管理系统」· PAS 代码 · 共 238 行
PAS
238 行
unit yjzlfrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ExtCtrls, Grids, db,DBGridEh, PrnDbgeh;
type
Tyjzl = class(TForm)
Panel1: TPanel;
SpeedButton1: TSpeedButton;
Panel2: TPanel;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
DBGridEh1: TDBGridEh;
SpeedButton2: TSpeedButton;
PrintDBGridEh1: TPrintDBGridEh;
procedure SpeedButton1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure DBGridEh1CellClick(Column: TColumnEh);
procedure DBGridEh1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
procedure DBGridEh1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGridEh1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
private
{ Private declarations }
function getid:string;
public
{ Public declarations }
procedure showbuttons;
end;
var
yjzl: Tyjzl;
implementation
uses datafrm,tjyjzlfrm,xgyjzlfrm,yjzldwfrm;
{$R *.dfm}
procedure Tyjzl.SpeedButton1Click(Sender: TObject);
begin
close;
end;
procedure tyjzl.showbuttons;
begin
yjzl.SpeedButton9.Enabled:=yfgldata.yjzl.RecordCount>0;
yjzl.SpeedButton10.Enabled:=yfgldata.yjzl.RecordCount>0;
yjzl.SpeedButton11.Enabled:=yfgldata.yjzl.RecordCount>0;
yjzl.SpeedButton2.Enabled:=yfgldata.yjzl.RecordCount>0;
end;
procedure Tyjzl.FormShow(Sender: TObject);
begin
yjzl.showbuttons;
end;
function tyjzl.getid:string;
var
n:integer;
str,str0:string;
find: boolean;
begin
find:=false;
n:=1;
if yfgldata.yjzl.RecordCount>0 then
while not find do
begin
if n<10 then
str:='Y00'+trim(inttostr(n))
else
if n<100 then
str:='Y0'+trim(inttostr(n))
else
if n<1000 then
str:='Y'+trim(inttostr(n))
else
begin
messagebox(yjzl.handle,'营具种类超过999种,不能继续添加。','营房工作管理系统',16);
close;
end;
if not yfgldata.yjzl.Locate('营具代码',str,[loCaseInsensitive]) then
begin
str0:=str;
find:=true;
end;
n:=n+1;
end
else
str0:='Y001';
result:=str0;
end;
procedure Tyjzl.SpeedButton8Click(Sender: TObject);
begin
application.CreateForm(ttjyjzl,tjyjzl);
try
begin
tjyjzl.Edit1.Text:=yjzl.getid;
tjyjzl.Edit2.Text:='新营具名称';
tjyjzl.Edit3.Text:='个';
tjyjzl.Edit5.Text:='上级价拨';
tjyjzl.ShowModal;
end;
finally
tjyjzl.Free;
end;
end;
procedure Tyjzl.SpeedButton9Click(Sender: TObject);
var
id:string;
begin
if yfgldata.yjzl.RecordCount>0 then
if messagebox(yjzl.Handle,'本营具种类删除后,系统内与之相关的记录将要被删除,确认要删除本营具种类吗?','营房工作管理系统',33)=1 then
begin
id:=yfgldata.yjzl.fieldbyname('营具代码').AsString;
while yfgldata.yj.Locate('营具代码',id,[loCaseInsensitive]) do
begin
yfgldata.yj.Delete;
end;
yfgldata.yj.First;
while yfgldata.yj1.Locate('代码',id,[loCaseInsensitive]) do
begin
yfgldata.yj1.Delete;
end;
yfgldata.yj1.First;
while yfgldata.grjyyj.Locate('代码',id,[loCaseInsensitive]) do
begin
yfgldata.grjyyj.Delete;
end;
yfgldata.grjyyj.First;
while yfgldata.grjyyj1.Locate('代码',id,[loCaseInsensitive]) do
begin
yfgldata.grjyyj1.Delete;
end;
yfgldata.grjyyj1.First;
while yfgldata.kcyj1.Locate('代码',id,[loCaseInsensitive]) do
begin
yfgldata.kcyj1.Delete;
end;
yfgldata.kcyj1.First;
while yfgldata.kcyj.Locate('营具代码',id,[loCaseInsensitive]) do
begin
yfgldata.kcyj.Delete;
end;
yfgldata.kcyj.First;
while yfgldata.dwyj1.Locate('代码',id,[loCaseInsensitive]) do
begin
yfgldata.dwyj1.Delete;
end;
yfgldata.dwyj1.First;
while yfgldata.dwyj.Locate('代码',id,[loCaseInsensitive]) do
begin
yfgldata.dwyj.Delete;
end;
yfgldata.dwyj.First;
yfgldata.yjzl.Delete;
yjzl.showbuttons;
end
else
messagebox(yjzl.handle,'没有营具种类可以删除。','营房工作管理系统',16);
end;
procedure Tyjzl.DBGridEh1CellClick(Column: TColumnEh);
begin
yjzl.showbuttons;
end;
procedure Tyjzl.DBGridEh1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
yjzl.showbuttons;
end;
procedure Tyjzl.DBGridEh1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
yjzl.showbuttons;
end;
procedure Tyjzl.DBGridEh1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
yjzl.showbuttons;
end;
procedure Tyjzl.SpeedButton10Click(Sender: TObject);
begin
application.CreateForm(txgyjzl,xgyjzl);
try
begin
xgyjzl.Edit1.Text:=yfgldata.yjzl.FieldByName('营具代码').AsString;
xgyjzl.Edit2.Text:=yfgldata.yjzl.FieldByName('营具名称').AsString;
xgyjzl.Edit3.Text:=yfgldata.yjzl.FieldByName('单位').AsString;
xgyjzl.DBNumberEditEh1.Value:=yfgldata.yjzl.FieldByName('单价').AsFloat;
xgyjzl.Edit4.Text:=yfgldata.yjzl.FieldByName('规格').AsString;
xgyjzl.DateTimePicker1.Date:=yfgldata.yjzl.FieldByName('购入时间').AsDateTime;
xgyjzl.Edit5.Text:=yfgldata.yjzl.FieldByName('获取方式').AsString;
xgyjzl.ShowModal;
end;
finally
xgyjzl.Free;
end;
end;
procedure Tyjzl.SpeedButton2Click(Sender: TObject);
begin
yjzl.PrintDBGridEh1.PageHeader.CenterText.Clear;
yjzl.PrintDBGridEh1.PageHeader.CenterText.Add('营具种类列表');
yjzl.PrintDBGridEh1.Preview;
end;
procedure Tyjzl.SpeedButton11Click(Sender: TObject);
begin
application.CreateForm(tyjzldw,yjzldw);
try
begin
yjzldw.ShowModal;
end;
finally
yjzldw.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?