【delphi开源代码栏目提醒】:网学会员为需要delphi开源代码的朋友们搜集整理了Fxjfy.pas相关资料,希望对各位网友有所帮助!
unit Fxjfy;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Fbase, StdCtrls, Buttons, Grids, ComCtrls, DB, ADODB, ExtCtrls;
type
TF_xjfy = class(TF_base)
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
Label2: TLabel;
Edit2: TEdit;
Edit3: TEdit;
SpeedButton1: TSpeedButton;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
SpeedButton3: TSpeedButton;
StringGrid1: TStringGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADOQuery1: TADOQuery;
Panel1: TPanel;
Label3: TLabel;
ADOQuery2: TADOQuery;
procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure getspbh(sender:Tobject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure SpeedButton3Click(Sender: TObject);
procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure StringGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_xjfy: TF_xjfy;
spbh:string;
strdbrows:integer;
implementation
uses Fdm,Fzct,Fjsr,Fjhd,Ffyxz;
{$R *.dfm}
procedure TF_xjfy.getspbh(sender:Tobject);
begin
adoquery1.Last;
if adoquery1.RecordCount=0 then
spbh:=formatdatetime('yyyymmdd',datetimepicker1.Date)+'XJ'+formatfloat('0000000',1)
else
spbh:=formatdatetime('yyyymmdd',datetimepicker1.Date)+'XJ'+formatfloat('0000000',strtoint(copy(adoquery1.Fields[1].asstring,11,7))+1);
end;
procedure TF_xjfy.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if not (key in ['0'..'9','.',#8]) then key:=#0;
end;
procedure TF_xjfy.SpeedButton1Click(Sender: TObject);
begin
inherited;
Application.CreateForm(TF_jsr, F_jsr);
F_jsr.ShowModal;
F_jsr.Free;
end;
procedure TF_xjfy.FormShow(Sender: TObject);
begin
inherited;
F_zct.wf:=8;
DateTimePicker1.Date:=now();
with StringGrid1 do
begin
Cells[1,0]:='费用项目编号';
Cells[2,0]:='费用项目全称';
Cells[3,0]:='费用金额';
end;
with adoquery1 do
begin
close;
SQl.Clear;
SQl.Add('select * from tb_cf where billcode like ''%xj%'' order by billcode');
Open;
end;
getspbh(sender);
Edit2.Text:=spbh;
end;
procedure TF_xjfy.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
inherited;
F_zct.wf:=0;
end;
procedure TF_xjfy.SpeedButton3Click(Sender: TObject);
begin
inherited;
Application.CreateForm(TF_fyxz, F_fyxz);
F_fyxz.ShowModal;
F_fyxz.Free;
end;
procedure TF_xjfy.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
inherited;
if (Acol=3) then
stringgrid1.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goEditing]
else
stringgrid1.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect];
end;
procedure TF_xjfy.BitBtn2Click(Sender: TObject);
var
grow,gcol:integer;
begin
inherited;
Edit3.Clear;
Edit4.Clear;
Panel1.Caption:='';
for grow:=1 to stringgrid1.RowCount do
begin
for gcol:=1 to stringgrid1.ColCount do
begin
stringgrid1.Cells[gcol,grow]:='';
end;
end;
end;
procedure TF_xjfy.BitBtn1Click(Sender: TObject);
var
grow,xhjc:integer;
begin
inherited;
if (Trim(Edit2.Text)='') or (Trim(Edit3.Text)='') or (stringgrid1.Cells[3,1]='') then
begin
Application.MessageBox('请输入完整信息','提示',mb_ok);
Exit;
end;
for xhjc:=1 to strdbrows do
begin
if (stringgrid1.Cells[3,xhjc]='') then
begin
Application.MessageBox('请输入金额','提示',mb_ok);
Exit;
end;
end;
try
F_dm.ADOConnection1.BeginTrans;
with Adoquery1 do //保存明细表信息
begin
Close;
SQl.Clear;
SQl.Add('select * from tb_cf');
open;
For grow:=1 to strdbrows do //当前表单的记录个数
begin
Insert;
FieldByName('billdate').AsDateTime:=strtodate(formatdatetime('yyyy-mm-dd',datetimepicker1.Date));
FieldByName('billcode').AsString:=Trim(Edit2.Text);
FieldByName('handle').AsString:=Trim(Edit3.Text);
FieldByName('summary').As