?? yjgz.pas
字號:
unit yjgz;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, db,StdCtrls, dxdbtrel, Buttons, ComCtrls, Mask,
DBCtrlsEh, DBCtrls, ImgList;
type
Tyjyjgz = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit2: TEdit;
DBLookupComboBox1: TDBLookupComboBox;
DBNumberEditEh1: TDBNumberEditEh;
SpeedButton3: TSpeedButton;
ComboBox1: TComboBox;
DateTimePicker1: TDateTimePicker;
Label5: TLabel;
SpeedButton1: TSpeedButton;
Edit1: TEdit;
Label6: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Label7: TLabel;
Label8: TLabel;
dxLookupTreeView1: TdxLookupTreeView;
Memo1: TMemo;
Label9: TLabel;
ImageList1: TImageList;
procedure SpeedButton3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBLookupComboBox1CloseUp(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure dxLookupTreeView1CloseUp(Sender: TObject; Accept: Boolean);
private
{ Private declarations }
function getid:string;
public
{ Public declarations }
end;
var
yjyjgz: Tyjyjgz;
implementation
uses datafrm;
{$R *.dfm}
procedure Tyjyjgz.SpeedButton3Click(Sender: TObject);
begin
close;
end;
procedure Tyjyjgz.FormShow(Sender: TObject);
var
present:tdatetime;
begin
present:=now;
yjyjgz.DateTimePicker1.Date:=present;
end;
procedure Tyjyjgz.DBLookupComboBox1CloseUp(Sender: TObject);
begin
if yjyjgz.DBLookupComboBox1.Text<>'' then
begin
yfgldata.yjzl.Locate('營具名稱',yjyjgz.DBLookupComboBox1.Text,[loCaseInsensitive]);
yjyjgz.Edit2.Text:=yfgldata.yjzl.FieldByName('營具代碼').AsString;
end;
end;
procedure Tyjyjgz.RadioButton1Click(Sender: TObject);
begin
yjyjgz.dxLookupTreeView1.Enabled:=not yjyjgz.RadioButton1.Checked;
yjyjgz.Edit1.ReadOnly:=yjyjgz.RadioButton1.Checked;
end;
procedure Tyjyjgz.RadioButton2Click(Sender: TObject);
begin
yjyjgz.dxLookupTreeView1.Enabled:=yjyjgz.RadioButton2.Checked;
yjyjgz.Edit1.ReadOnly:=yjyjgz.RadioButton2.Checked;
end;
procedure Tyjyjgz.RadioButton3Click(Sender: TObject);
begin
yjyjgz.dxLookupTreeView1.Enabled:=not yjyjgz.RadioButton3.Checked;
yjyjgz.Edit1.ReadOnly:=not yjyjgz.RadioButton3.Checked;
end;
function tyjyjgz.getid:string;
var
n:integer;
str,str0:string;
find: boolean;
begin
find:=false;
n:=1;
if yfgldata.yj.RecordCount>0 then
while not find do
begin
if n<10 then
str:=yjyjgz.Edit2.Text+'00000'+trim(inttostr(n))
else
if n<100 then
str:=yjyjgz.Edit2.Text+'0000'+trim(inttostr(n))
else
if n<1000 then
str:=yjyjgz.Edit2.Text+'000'+trim(inttostr(n))
else
if n<10000 then
str:=yjyjgz.Edit2.Text+'00'+trim(inttostr(n))
else
if n<100000 then
str:=yjyjgz.Edit2.Text+'0'+trim(inttostr(n))
else
if n<1000000 then
str:=yjyjgz.Edit2.Text+trim(inttostr(n))
else
begin
messagebox(yjyjgz.handle,'該類營具超過設定數量,不能繼續添加。','營房工作管理系統',16);
close;
end;
if not yfgldata.yj.Locate('編號',str,[loCaseInsensitive]) then
begin
str0:=str;
find:=true;
end;
n:=n+1;
end
else
str0:=yjyjgz.edit2.text+'000001';
result:=str0;
end;
procedure Tyjyjgz.SpeedButton1Click(Sender: TObject);
var
check:boolean;
num:integer;
id:string;
begin
check:=false;
if yjyjgz.RadioButton1.Checked then
check:=(yjyjgz.DBLookupComboBox1.Text<>'') and (yjyjgz.ComboBox1.Text<>'') and (yjyjgz.Edit2.Text<>'');
if yjyjgz.RadioButton2.Checked then
check:=(yjyjgz.DBLookupComboBox1.Text<>'') and (yjyjgz.ComboBox1.Text<>'') and (yjyjgz.dxLookupTreeView1.Text<>'') and (yjyjgz.Edit1.Text<>'') and (yjyjgz.Edit2.Text<>'');
if yjyjgz.RadioButton3.Checked then
check:=(yjyjgz.DBLookupComboBox1.Text<>'') and (yjyjgz.ComboBox1.Text<>'') and (yjyjgz.Edit1.Text<>'') and (yjyjgz.Edit2.Text<>'');
if not check then
messagebox(yjyjgz.handle,'營具信息輸入不全。','營房工作管理系統',16)
else
begin
yjyjgz.Memo1.Clear;
for num:=1 to yjyjgz.DBNumberEditEh1.Value do
begin
id:=yjyjgz.getid;
yfgldata.yj.Append;
yfgldata.yj.FieldByName('編號').AsString:=id;
yfgldata.yj.FieldByName('營具名稱').AsString:=yjyjgz.DBLookupComboBox1.Text;
yfgldata.yj.FieldByName('單位').AsString:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單位');
yfgldata.yj.FieldByName('單價').AsFloat:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單價');
if yjyjgz.RadioButton1.Checked then yfgldata.yj.FieldByName('使用單位').AsString:='庫存';
if yjyjgz.RadioButton2.Checked then yfgldata.yj.FieldByName('使用單位').AsString:=yjyjgz.dxLookupTreeView1.Text;
if yjyjgz.RadioButton3.Checked then yfgldata.yj.FieldByName('使用單位').AsString:=yjyjgz.Edit1.Text;
yfgldata.yj.FieldByName('使用狀況').AsString:=yjyjgz.ComboBox1.Text;
yfgldata.yj.FieldByName('營具代碼').AsString:=yjyjgz.Edit2.Text;
yfgldata.yj.FieldByName('選擇').AsBoolean:=false;
yfgldata.yj.Post;
if yfgldata.yj1.Locate('代碼',yjyjgz.Edit2.Text,[loCaseInsensitive]) then
begin
yfgldata.yj1.Edit;
yfgldata.yj1.FieldByName('數量').AsInteger:=yfgldata.yj1.FieldByName('數量').AsInteger+1;
yfgldata.yj1.FieldByName('合計金額').AsFloat:=yfgldata.yj1.FieldByName('數量').AsFloat*yfgldata.yj1.FieldByName('單價').AsFloat;
yfgldata.yj1.Post;
end
else
begin
yfgldata.yj1.Append;
yfgldata.yj1.FieldByName('代碼').AsString:=yjyjgz.Edit2.Text;
yfgldata.yj1.FieldByName('營具名稱').AsString:=yjyjgz.DBLookupComboBox1.Text;
yfgldata.yj1.FieldByName('單位').AsString:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單位');
yfgldata.yj1.FieldByName('單價').AsFloat:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單價');
yfgldata.yj1.FieldByName('數量').AsInteger:=1;
yfgldata.yj1.FieldByName('合計金額').AsFloat:=yfgldata.yj1.FieldByName('單價').AsFloat*yfgldata.yj1.FieldByName('數量').AsFloat;
yfgldata.yj1.Post;
end;
if yjyjgz.RadioButton1.Checked then
begin
yfgldata.kcyj.Append;
yfgldata.kcyj.FieldByName('編號').AsString:=id;
yfgldata.kcyj.FieldByName('營具名稱').AsString:=yjyjgz.DBLookupComboBox1.Text;
yfgldata.kcyj.FieldByName('單位').AsString:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單位');
yfgldata.kcyj.FieldByName('單價').AsFloat:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單價');
yfgldata.kcyj.FieldByName('使用狀況').AsString:=yjyjgz.ComboBox1.Text;
yfgldata.kcyj.FieldByName('選擇').AsBoolean:=false;
yfgldata.kcyj.FieldByName('營具代碼').AsString:=yjyjgz.Edit2.Text;
yfgldata.kcyj.Post;
if yfgldata.kcyj1.Locate('代碼',yjyjgz.Edit2.Text,[loCaseInsensitive]) then
begin
yfgldata.kcyj1.Edit;
yfgldata.kcyj1.FieldByName('數量').AsInteger:=yfgldata.kcyj1.FieldByName('數量').AsInteger+1;
yfgldata.kcyj1.FieldByName('合計金額').AsFloat:=yfgldata.kcyj1.FieldByName('數量').AsFloat*yfgldata.kcyj1.FieldByName('單價').AsFloat;
yfgldata.kcyj1.Post;
end
else
begin
yfgldata.kcyj1.Append;
yfgldata.kcyj1.FieldByName('代碼').AsString:=yjyjgz.Edit2.Text;
yfgldata.kcyj1.FieldByName('營具名稱').AsString:=yjyjgz.DBLookupComboBox1.Text;
yfgldata.kcyj1.FieldByName('單位').AsString:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單位');
yfgldata.kcyj1.FieldByName('單價').AsFloat:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單價');
yfgldata.kcyj1.FieldByName('數量').AsInteger:=1;
yfgldata.kcyj1.FieldByName('合計金額').AsFloat:=yfgldata.kcyj1.FieldByName('單價').AsFloat*yfgldata.kcyj1.FieldByName('數量').AsFloat;
yfgldata.kcyj1.Post;
end;
end;
if yjyjgz.RadioButton2.Checked then
begin
yfgldata.dwyj.Append;
yfgldata.dwyj.FieldByName('編號').AsString:=id;
yfgldata.dwyj.FieldByName('營具名稱').AsString:=yjyjgz.DBLookupComboBox1.Text;
yfgldata.dwyj.FieldByName('單位').AsString:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單位');
yfgldata.dwyj.FieldByName('單價').AsFloat:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單價');
yfgldata.dwyj.FieldByName('使用狀況').AsString:=yjyjgz.ComboBox1.Text;
yfgldata.dwyj.FieldByName('選擇').AsBoolean:=false;
yfgldata.dwyj.FieldByName('代碼').AsString:=yjyjgz.Edit2.Text;
yfgldata.dwyj.FieldByName('使用單位').AsString:=yjyjgz.dxLookupTreeView1.Text;
yfgldata.dwyj.FieldByName('責任人').AsString:=yjyjgz.Edit1.Text;
yfgldata.dwyj.Post;
yfgldata.dwyj1.Filter:='代碼='''+yjyjgz.Edit2.Text+''' and 使用單位='''+yjyjgz.dxLookupTreeView1.Text+'''';
yfgldata.dwyj1.Filtered:=true;
if yfgldata.dwyj1.RecordCount>0 then
begin
yfgldata.dwyj1.FindFirst;
yfgldata.dwyj1.Edit;
yfgldata.dwyj1.FieldByName('數量').AsInteger:=yfgldata.dwyj1.FieldByName('數量').AsInteger+1;
yfgldata.dwyj1.FieldByName('合計金額').AsFloat:=yfgldata.dwyj1.FieldByName('數量').AsFloat*yfgldata.dwyj1.FieldByName('單價').AsFloat;
yfgldata.dwyj1.Post;
end
else
begin
yfgldata.dwyj1.Append;
yfgldata.dwyj1.FieldByName('代碼').AsString:=yjyjgz.Edit2.Text;
yfgldata.dwyj1.FieldByName('營具名稱').AsString:=yjyjgz.DBLookupComboBox1.Text;
yfgldata.dwyj1.FieldByName('單位').AsString:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單位');
yfgldata.dwyj1.FieldByName('單價').AsFloat:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單價');
yfgldata.dwyj1.FieldByName('數量').AsInteger:=1;
yfgldata.dwyj1.FieldByName('合計金額').AsFloat:=yfgldata.dwyj1.FieldByName('單價').AsFloat*yfgldata.dwyj1.FieldByName('數量').AsFloat;
yfgldata.dwyj1.FieldByName('使用單位').AsString:=yjyjgz.dxLookupTreeView1.Text;
yfgldata.dwyj1.Post;
end;
yfgldata.dwyj1.Filtered:=false;
end;
if yjyjgz.RadioButton3.Checked then
begin
yfgldata.grjyyj.Append;
yfgldata.grjyyj.FieldByName('編號').AsString:=id;
yfgldata.grjyyj.FieldByName('營具名稱').AsString:=yjyjgz.DBLookupComboBox1.Text;
yfgldata.grjyyj.FieldByName('單位').AsString:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單位');
yfgldata.grjyyj.FieldByName('單價').AsFloat:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單價');
yfgldata.grjyyj.FieldByName('使用狀況').AsString:=yjyjgz.ComboBox1.Text;
yfgldata.grjyyj.FieldByName('選擇').AsBoolean:=false;
yfgldata.grjyyj.FieldByName('代碼').AsString:=yjyjgz.Edit2.Text;
yfgldata.grjyyj.FieldByName('借用日期').AsDateTime:=yjyjgz.DateTimePicker1.Date;
yfgldata.grjyyj.FieldByName('借用人').AsString:=yjyjgz.Edit1.Text;
yfgldata.grjyyj.Post;
yfgldata.grjyyj1.Filter:='代碼='''+yjyjgz.Edit2.Text+''' and 借用人='''+yjyjgz.Edit1.Text+'''';
yfgldata.grjyyj1.Filtered:=true;
if yfgldata.grjyyj1.RecordCount>0 then
begin
yfgldata.grjyyj1.FindFirst;
yfgldata.grjyyj1.Edit;
yfgldata.grjyyj1.FieldByName('數量').AsInteger:=yfgldata.grjyyj1.FieldByName('數量').AsInteger+1;
yfgldata.grjyyj1.FieldByName('合計金額').AsFloat:=yfgldata.grjyyj1.FieldByName('數量').AsFloat*yfgldata.grjyyj1.FieldByName('單價').AsFloat;
yfgldata.grjyyj1.Post;
end
else
begin
yfgldata.grjyyj1.Append;
yfgldata.grjyyj1.FieldByName('代碼').AsString:=yjyjgz.Edit2.Text;
yfgldata.grjyyj1.FieldByName('營具名稱').AsString:=yjyjgz.DBLookupComboBox1.Text;
yfgldata.grjyyj1.FieldByName('單位').AsString:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單位');
yfgldata.grjyyj1.FieldByName('單價').AsFloat:=yfgldata.yjzl.Lookup('營具代碼',yjyjgz.Edit2.Text,'單價');
yfgldata.grjyyj1.FieldByName('數量').AsInteger:=1;
yfgldata.grjyyj1.FieldByName('合計金額').AsFloat:=yfgldata.grjyyj1.FieldByName('單價').AsFloat*yfgldata.grjyyj1.FieldByName('數量').AsFloat;
yfgldata.grjyyj1.FieldByName('借用人').AsString:=yjyjgz.Edit1.Text;
yfgldata.grjyyj1.Post;
end;
yfgldata.grjyyj1.Filtered:=false;
end;
yjyjgz.Memo1.Lines.Add(id);
end;
yjyjgz.DBLookupComboBox1.KeyValue:='';
yjyjgz.ComboBox1.ItemIndex:=-1;
yjyjgz.Edit2.Text:='';
yjyjgz.DBNumberEditEh1.Value:=1;
yjyjgz.RadioButton1.Checked:=true;
yjyjgz.RadioButton2.Checked:=false;
yjyjgz.RadioButton3.Checked:=false;
yjyjgz.DateTimePicker1.DateTime:=now;
yjyjgz.dxLookupTreeView1.Text:='';
yjyjgz.Edit1.Text:='';
yjyjgz.DBLookupComboBox1.SetFocus;
messagebox(yjyjgz.handle,'營具記帳完畢,添加的營具編號見編號顯示。','營房工作管理系統',64);
end;
end;
procedure Tyjyjgz.dxLookupTreeView1CloseUp(Sender: TObject;
Accept: Boolean);
begin
if yjyjgz.dxLookupTreeView1.Text<>'' then
begin
yfgldata.dw.Locate('單位代碼',yjyjgz.dxLookupTreeView1.Text,[loCaseInsensitive]);
yjyjgz.Edit1.Text:=yfgldata.dw.FieldByName('單位責任人').AsString;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -