uni_tiein_item.~pas
来自「一个非常不错的经费报销管理软件」· ~PAS 代码 · 共 192 行
~PAS
192 行
unit Uni_Tiein_Item;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, XPMenu, Grids, DBGridEh, Gauges, ComCtrls, ToolWin,
StdCtrls, Buttons, ExtCtrls;
type
TFrm_Tiein_Item = class(TForm)
Panel1: TPanel;
SPB_Net: TSpeedButton;
Label1: TLabel;
CBX_ZT: TComboBox;
P_Tiein_Branchs: TPanel;
Panel2: TPanel;
ToolBar1: TToolBar;
TB_out: TToolButton;
TB_in: TToolButton;
Gauge: TGauge;
DBG_bsTiein_Item: TDBGridEh;
XPMenu1: TXPMenu;
dsbsTiein_Branchs: TDataSource;
StatusBar1: TStatusBar;
procedure CBX_ZTEnter(Sender: TObject);
procedure SPB_NetClick(Sender: TObject);
procedure TB_outClick(Sender: TObject);
procedure TB_inClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_Tiein_Item: TFrm_Tiein_Item;
implementation
{$R *.dfm}
uses Uni_dm,Uni_Function,Uni_Main;
procedure TFrm_Tiein_Item.CBX_ZTEnter(Sender: TObject);
begin
CBX_ZT.Items.Clear;
with DM do
begin
bsTieinSetup.Close;
bsTieinSetup.Open;
while not bsTieinSetup.Eof do
begin
CBX_ZT.Items.Add(bsTieinSetup.FieldByName('Ztmc').AsString);
bsTieinSetup.Next;
end;
end;
CBX_ZT.ItemIndex:=0;
end;
procedure TFrm_Tiein_Item.SPB_NetClick(Sender: TObject);
begin
if DM.bsTieinSetup.Locate('Ztmc',CBX_ZT.Text,[]) then
begin
if TieDataOpen then
begin
P_Tiein_Branchs.Visible:=True;
end
else
begin
P_Tiein_Branchs.Visible:=False;
end;
end;
end;
procedure TFrm_Tiein_Item.TB_outClick(Sender: TObject);
VAR
i,L:Integer;
begin
try
DM.R9GL_Kmxx.Close;
DM.R9GL_Kmxx.SQL.Text:='select *from GL_Kmxx';
DM.R9GL_Kmxx.Open;
if DM.R9GL_Kmxx.IsEmpty then
begin
MessageBoxInfo('无下载数据!!');
Exit;
end;
//
Gauge.Progress:=0;
Gauge.MaxValue:=DM.R9GL_Kmxx.RecordCount*2;
Gauge.Visible:=True;
DBG_bsTiein_Item.DataSource:=nil;
DM.bsTiein_Item.Close;
DM.bsTiein_Item.SQL.Text:='delete From bsTiein_Item';
DM.bsTiein_Item.ExecSQL;
//
DM.bsTiein_Item.Close;
DM.bsTiein_Item.SQL.Text:='select *From bsTiein_Item';
DM.bsTiein_Item.Open;
while not DM.R9GL_Kmxx.Eof do
begin
DM.bsTiein_Item.append;
DM.bsTiein_Item.FieldByName('kmdm').AsString:=DM.R9GL_Kmxx.FieldByName('kmdm').AsString;
DM.bsTiein_Item.FieldByName('kmmc').AsString:=DM.R9GL_Kmxx.FieldByName('kmmc').AsString;
DM.bsTiein_Item.FieldByName('zjm').AsString:=DM.R9GL_Kmxx.FieldByName('zjm').AsString;
DM.bsTiein_Item.Post;
Gauge.Progress:=Gauge.Progress+1;
DM.R9GL_Kmxx.Next;
end;
//
DM.bsTiein_Item.Close;
DM.bsTiein_Item.SQL.Text:='select *From bsTiein_Item order by len(kmdm)';
DM.bsTiein_Item.Open;
i:=1;
L:=0;
while not DM.bsTiein_Item.Eof do
begin
IF Length(Trim(DM.bsTiein_Item.FieldByName('kmdm').AsString))<>L THEN
begin
i:=i+1;
L:=Length(Trim(DM.bsTiein_Item.FieldByName('kmdm').AsString));
end;
//
DM.bsTiein_Item.Edit;
DM.bsTiein_Item.FieldByName('iGrade').AsInteger:=i;
DM.bsTiein_Item.Post;
//
Gauge.Progress:=Gauge.Progress+1;
DM.bsTiein_Item.Next;
end;
DM.bsTiein_Item.Close;
DM.bsTiein_Item.SQL.Text:='select *From bsTiein_Item order by kmdm';
DM.bsTiein_Item.Open;
DBG_bsTiein_Item.DataSource:=dsbsTiein_Branchs;
MessageBoxInfo('数据下载完毕!共'+IntToStr(DM.R9GL_Kmxx.RecordCount)+'条记录。');
except
MessageBoxError('数据下载失败!');
end;
end;
procedure TFrm_Tiein_Item.TB_inClick(Sender: TObject);
begin
try
DM.bsTiein_Item.Close;
DM.bsTiein_Item.SQL.Text:='select *From bsTiein_Item order by kmdm';
DM.bsTiein_Item.Open;
Gauge.Progress:=0;
Gauge.MaxValue:=DM.bsTiein_Item.RecordCount;
Gauge.Visible:=True;
DBG_bsTiein_Item.Enabled:=False;
DM.bsItem.Close;
DM.bsItem.SQL.Text:='select *from bsItem where istate>0 order by cNum';
DM.bsItem.Open;
while not DM.bsTiein_Item.Eof do
begin
if DM.bsItem.Locate('cNum',Trim(DM.bsTiein_Item.FieldByName('kmdm').AsString),[]) then
begin
//覆盖
DM.bsItem.Edit;
DM.bsItem.FieldByName('cNum').AsString:=Trim(DM.bsTiein_Item.FieldByName('kmdm').AsString);
DM.bsItem.FieldByName('cName').AsString:=Trim(DM.bsTiein_Item.FieldByName('kmmc').AsString);
DM.bsItem.FieldByName('iGrade').AsInteger:=DM.bsTiein_Item.FieldByName('iGrade').AsInteger;
DM.bsItem.FieldByName('iState').AsInteger:=1;
DM.bsItem.Post;
end
else
begin
//插入
DM.bsItem.Insert;
DM.bsItem.FieldByName('id').AsString:=GetGUID;
DM.bsItem.FieldByName('cNum').AsString:=Trim(DM.bsTiein_Item.FieldByName('kmdm').AsString);
DM.bsItem.FieldByName('cName').AsString:=Trim(DM.bsTiein_Item.FieldByName('kmmc').AsString);
DM.bsItem.FieldByName('iGrade').AsInteger:=DM.bsTiein_Item.FieldByName('iGrade').AsInteger;
DM.bsItem.FieldByName('iState').AsInteger:=1;
DM.bsItem.Post;
end;
Gauge.Progress:=Gauge.Progress+1;
DM.bsTiein_Item.Next;
end;
DBG_bsTiein_Item.Enabled:=True;
MessageBoxInfo('数据导入完毕!共'+IntToStr(DM.bsTiein_Item.RecordCount)+'条记录。');
except
MessageBoxError('数据导入失败!!');
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?