?? yfwxfrm.pas
字號:
unit yfwxfrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, PrnDbgeh, db, Buttons, StdCtrls, Grids, DBGridEh, ExtCtrls, DBCtrls,
ComCtrls, Mask, DBCtrlsEh;
type
Tyfwx = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
DateTimePicker1: TDateTimePicker;
Label5: TLabel;
DBNumberEditEh1: TDBNumberEditEh;
Label6: TLabel;
Edit4: TEdit;
Label7: TLabel;
Edit5: TEdit;
DBGridEh1: TDBGridEh;
Label8: TLabel;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
procedure showwz;
function wxd:string;
{ Public declarations }
end;
var
yfwx: Tyfwx;
implementation
uses datafrm,tjwxwz,dateutils;
{$R *.dfm}
procedure Tyfwx.SpeedButton2Click(Sender: TObject);
var
i:integer;
begin
yfgldata.wxwz1.First;
for i:=1 to yfgldata.wxwz1.RecordCount do
begin
yfgldata.wxwz1.Delete;
end;
close;
end;
procedure Tyfwx.SpeedButton3Click(Sender: TObject);
begin
application.CreateForm(twxwz,wxwz);
wxwz.wztj:=true;
wxwz.Caption:='添加維修物資';
try
wxwz.ShowModal;
finally
wxwz.Free;
end;
end;
procedure Tyfwx.SpeedButton4Click(Sender: TObject);
begin
if messagebox(yfwx.handle,'請確認要刪除本記錄嗎?','營房工作管理系統',33)=1 then
begin
yfwx.DBNumberEditEh1.Value:=yfwx.DBNumberEditEh1.Value-yfgldata.wxwz1.FieldByName('金額').AsFloat;
yfgldata.wxwz1.Delete;
yfwx.showwz;
end;
end;
procedure Tyfwx.SpeedButton5Click(Sender: TObject);
begin
application.CreateForm(twxwz,wxwz);
wxwz.wztj:=false;
wxwz.Caption:='修改維修物資';
wxwz.Edit1.Text:=yfgldata.wxwz1.FieldByName('名稱').AsString;
wxwz.Edit1.ReadOnly:=true;
wxwz.ComboBox1.Text:=yfgldata.wxwz1.FieldByName('單位').AsString;
wxwz.Edit2.Text:=yfgldata.wxwz1.FieldByName('規格').AsString;
wxwz.DBNumberEditEh1.Value:=yfgldata.wxwz1.FieldByName('數量').AsInteger;
wxwz.DBNumberEditEh2.Value:=yfgldata.wxwz1.FieldByName('單價').AsFloat;
wxwz.DBNumberEditEh3.Value:=yfgldata.wxwz1.FieldByName('金額').AsFloat;
try
wxwz.ShowModal;
finally
wxwz.Free;
end;
end;
procedure tyfwx.showwz;
begin
yfwx.SpeedButton4.Enabled:=yfgldata.wxwz1.RecordCount>0;
yfwx.SpeedButton5.Enabled:=yfgldata.wxwz1.RecordCount>0;
end;
procedure Tyfwx.FormShow(Sender: TObject);
var
i:integer;
begin
yfgldata.wxwz1.First;
for i:=1 to yfgldata.wxwz1.RecordCount do
begin
yfgldata.wxwz1.Delete;
end;
yfwx.showwz;
end;
procedure Tyfwx.SpeedButton1Click(Sender: TObject);
var
str,bh:string;
i:integer;
begin
str:='';
bh:=yfwx.wxd;
if yfwx.Edit1.Text='' then str:='維修項目';
if yfwx.Edit2.Text='' then
if str<>'' then
str:=str+'、單位'
else
str:=str+'單位';
if yfwx.Edit3.Text='' then
if str<>'' then
str:=str+'、維修人員'
else
str:=str+'維修人員';
if yfwx.Edit3.Text='' then
if str<>'' then
str:=str+'、責任人'
else
str:=str+'責任人';
if str='' then
begin
if yfgldata.wxwz1.RecordCount<1 then
messagebox(yfwx.handle,'維修物資不能為空。','營房工作管理系統',16)
else
begin
yfgldata.wx.Append;
yfgldata.wx.FieldByName('編號').AsString:=bh;
yfgldata.wx.FieldByName('維修項目').AsString:=yfwx.Edit1.Text;
yfgldata.wx.FieldByName('單位').AsString:=yfwx.Edit2.Text;
yfgldata.wx.FieldByName('維修人員').AsString:=yfwx.Edit3.Text;
yfgldata.wx.FieldByName('日期').AsDateTime:=yfwx.DateTimePicker1.Date;
yfgldata.wx.FieldByName('合計').AsFloat:=yfwx.DBNumberEditEh1.Value;
yfgldata.wx.FieldByName('責任人').AsString:=yfwx.Edit4.Text;
yfgldata.wx.FieldByName('備注').AsString:=yfwx.Edit5.Text;
yfgldata.wx.Post;
yfgldata.wxwz1.First;
for i:=1 to yfgldata.wxwz1.RecordCount do
begin
yfgldata.wxwz.Append;
yfgldata.wxwz.FieldByName('編號').AsString:=bh;
yfgldata.wxwz.FieldByName('名稱').AsString:=yfgldata.wxwz1.FieldByName('名稱').AsString;
yfgldata.wxwz.FieldByName('單位').AsString:=yfgldata.wxwz1.FieldByName('單位').AsString;
yfgldata.wxwz.FieldByName('規格').AsString:=yfgldata.wxwz1.FieldByName('規格').AsString;
yfgldata.wxwz.FieldByName('數量').AsInteger:=yfgldata.wxwz1.FieldByName('數量').AsInteger;
yfgldata.wxwz.FieldByName('單價').AsCurrency:=yfgldata.wxwz1.FieldByName('單價').AsCurrency;
yfgldata.wxwz.FieldByName('金額').AsCurrency:=yfgldata.wxwz1.FieldByName('金額').AsCurrency;
yfgldata.wxwz.Post;
yfgldata.wxwz1.Next;
end;
yfgldata.wxwz1.First;
for i:=1 to yfgldata.wxwz1.RecordCount do
begin
yfgldata.wxwz1.Delete;
end;
close;
end;
end
else
begin
str:=str+'不能為空。';
showmessage(str);
end;
end;
function tyfwx.wxd:string;
var
n:integer;
str,str0:string;
find:boolean;
begin
find:=false;
n:=1;
str0:='W'+inttostr(yearof(now))+'00001';
str:=str0;
yfgldata.wx.First;
while not yfgldata.wx.Eof do
begin
if yearof(yfgldata.wx.FieldByName('日期').AsDateTime)=yearof(now) then
begin
find:=true;
if str<=yfgldata.wx.FieldByName('編號').AsString then
begin
str:=yfgldata.wx.FieldByName('編號').AsString;
end;
end;
yfgldata.wx.Next;
end;
if find then
begin
while str0<=str do
begin
n:=n+1;
if n<10 then
str0:='W'+inttostr(yearof(now))+'0000'+inttostr(n)
else
if n<100 then
str0:='W'+inttostr(yearof(now))+'000'+inttostr(n)
else
if n<1000 then
str0:='W'+inttostr(yearof(now))+'00'+inttostr(n)
else
if n<10000 then
str0:='W'+inttostr(yearof(now))+'0'+inttostr(n)
else
if n<100000 then
str0:='W'+inttostr(yearof(now))+inttostr(n)
else
begin
messagebox(yfwx.handle,'本年度維修登記數量超過程序設計值,不能繼續登記。','營房工作管理系統',16);
close;
end;
end;
end;
result:=str0;
end;
procedure Tyfwx.FormActivate(Sender: TObject);
begin
yfwx.DateTimePicker1.DateTime:=now;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -