?? frmmain.~pas
字號:
end;
function TMain.SaveFP01:Boolean;
var
FMax: Integer;
i, s: integer;
aDate:TDateTime;
begin
Result:=False;
if InVoiceTable.Cells[0, 3] = '' then
begin
Exit;
end;
with MyData do
begin
try
aDate:=Now;
TaxGl.SQL.Clear;
TaxGl.SQL.Add('Select * From TaxZly');
TaxGl.Open;
ADOPub.SQL.Clear;
ADOPub.SQL.Add('Select * From ZlyMxb');
ADOPub.Open;
TaxGl.Insert;
TaxGl.FieldByName('發(fā)票號碼').AsString := Edit1.Text;
TaxGl.FieldByName('單位名稱').AsString := Edit2.Text;
TaxGl.FieldByName('開票日期').AsString := DateTimeToStr(
DateTimePicker1.Date);
TaxGl.FieldByName('標識號碼').AsString := DateTimeToStr(aDate);
for i := 3 to 5 do
begin
ADOPub.Insert;
ADOPub.FieldByName('標識號碼').AsString := DateTimeToStr(aDate);
ADOPub.FieldByName('發(fā)票號碼').AsString := Edit1.Text;
ADOPub.FieldByName('開票日期').AsString :=DateTimeToStr(DateTimePicker1.Date);
if InVoiceTable.Cells[0, i] <> '' then
ADOPub.FieldByName('租賃項目').AsString := InVoiceTable.Cells[0, i];
if InVoiceTable.Cells[2, i] <> '' then
ADOPub.FieldByName('開始日期').AsString := InVoiceTable.Cells[2, I];
if InVoiceTable.Cells[4, i] <> '' then
ADOPub.FieldByName('結束日期').AsString := InVoiceTable.Cells[4, I];
if InVoiceTable.Cells[5, i] <> '' then
ADOPub.FieldByName('天數').AsInteger := StrToInt(InVoiceTable.Cells[5, i]);
if InVoiceTable.Cells[6, i] <> '' then
ADOPub.FieldByName('單位').AsString := InVoiceTable.Cells[6, i];
if InVoiceTable.Cells[7, i] <> '' then
ADOPub.FieldByName('數量').AsInteger := StrToInt(InVoiceTable.Cells[7, i]);
if InVoiceTable.Cells[8, i] <> '' then
ADOPub.FieldByName('收費標準').AsInteger := StrToInt(InVoiceTable.Cells[8,
i]);
if InVoiceTable.Cells[9, i] <> '' then
ADOPub.FieldByName('金額').AsCurrency := StrToCurr(InVoiceTable.Cells[9,
i]);
ADOPub.Post; //內三行保存
end;
if InVoiceTable.Cells[2, 6] <> '' then
TaxGl.FieldByName('金額大寫').AsString := InVoiceTable.Cells[2, 6];
if InVoiceTable.Cells[9, 6] <> '' then
TaxGl.FieldByName('金額合計').AsCurrency := StrToCurr(InVoiceTable.Cells[9,
6]);
if InVoiceTable.Cells[6, 9] <> '' then
TaxGl.FieldByName('開票人').AsString := InVoiceTable.Cells[6, 9];
if InVoiceTable.Cells[10, 9] <> '' then
TaxGl.FieldByName('收款人').AsString := InVoiceTable.Cells[10, 9];
if InVoiceTable.Cells[2, 7] <> '' then
TaxGl.FieldByName('備注').AsString := InVoiceTable.Cells[2, 7];
TaxGl.Post; //外殼保存
SpeedButton15.Enabled := False;
SpeedButton20.Enabled := True;
Result:=True;
except
Result:=False;
end;
end;
end;
function TMain.UpdateFP:Boolean;
var
aTmp: string;
i:Integer;
aStr:array[1..9] of string;
begin
Result:=False;
aStr[1]:=Edit1.Text;
aStr[2]:=Edit2.Text;
aStr[3]:=DateTimeToStr(DateTimePicker1.DateTime);
aStr[4]:=InVoiceTable.Cells[2,6];
aStr[5]:=InVoiceTable.Cells[9,6];
aStr[6]:=InVoiceTable.Cells[6,9];
aStr[7]:=InVoiceTable.Cells[10,6];
aStr[8]:=InVoiceTable.Cells[2,7];
aStr[9]:=DataSource1.DataSet.FieldByName('標識號碼').AsString;
try
DataSource1.DataSet.Edit;
DataSource1.DataSet.FieldByName('單位名稱').AsString:=aStr[2];
DataSource1.DataSet.FieldByName('開票日期').AsString:=aStr[3];
DataSource1.DataSet.FieldByName('金額大寫').AsString:=aStr[4];
DataSource1.DataSet.FieldByName('金額合計').AsString:=aStr[5];
DataSource1.DataSet.FieldByName('開票人').AsString:=aStr[6];
DataSource1.DataSet.FieldByName('收款人').AsString:=aStr[7];
DataSource1.DataSet.FieldByName('備注').AsString:=aStr[8];
DataSource1.DataSet.Post;
except
DataSource1.DataSet.Cancel;
end;
with MyData do
begin
aTmp:='Select * From ZlyMxb Where 發(fā)票號碼='+QuotedStr(aStr[1])+
' and 標識號碼='+QuotedStr(aStr[9]);
ADOPub.SQL.Clear;
ADOPub.SQL.Add(aTmp);
ADOPub.Open;
i:=3;
while not ADOPub.Eof do
begin
try
ADOPub.Edit;
ADOPub.FieldByName('開票日期').AsString:=aStr[3];
ADOPub.FieldByName('租賃項目').AsString:=InVoiceTable.Cells[0,i];
ADOPub.FieldByName('開始日期').AsString:=InVoiceTable.Cells[2,i];
ADOPub.FieldByName('結束日期').AsString:=InVoiceTable.Cells[4,i];
ADOPub.FieldByName('天數').AsString:=InVoiceTable.Cells[5,i];
ADOPub.FieldByName('單位').AsString:=InVoiceTable.Cells[6,i];
ADOPub.FieldByName('數量').AsString:=InVoiceTable.Cells[7,i];
ADOPub.FieldByName('收費標準').AsString:=InVoiceTable.Cells[8,i];
ADOPub.FieldByName('金額').AsString:=InVoiceTable.Cells[9,i];
Inc(i);
ADOPub.Post;
except
DataSource1.DataSet.Cancel;
end;
ADOPub.Next;
end;
end;
Result:=True;
end;
procedure TMain.SpeedButton15Click(Sender: TObject);
begin
if Trim(Edit1.Text)='' then
begin
MessageBox(Handle, '請正確填寫發(fā)票號碼!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit1.SetFocus;
Exit;
end;
if Trim(Edit2.Text)='' then
begin
MessageBox(Handle, '請正確填寫單位名稱!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Edit2.SetFocus;
Exit;
end;
if WorksFlags = 3 then
begin
MyData.ADOCon.BeginTrans;
if UpdateFP then //開始更新
begin
MyData.ADOCon.CommitTrans;
WorksFlags:=2;
Edit1.ReadOnly:=True;
Edit2.ReadOnly:=True;
SpeedButton15.Enabled:=False;
SpeedButton20.Enabled:=True;
ModeFlags:=False;
Application.MessageBox('修改成功!', '貝殼提示', MB_OK +
MB_ICONWARNING + MB_DEFBUTTON3 + MB_TOPMOST);
end
else
begin
MyData.ADOCon.RollbackTrans;
WorksFlags:=3;
ModeFlags:=True;
Edit1.ReadOnly:=True;
Application.MessageBox('修改失敗!', '貝殼提示', MB_OK +
MB_ICONWARNING + MB_DEFBUTTON3 + MB_TOPMOST);
end;
end
else
begin
MyData.ADOCon.BeginTrans;
if SaveFP01 then //開始保存
begin
MyData.ADOCon.CommitTrans;
WorksFlags:=2;
InVoiceTable.Clear;
Edit2.Clear;
edit1.Clear;
DrawFP01;
ModeFlags:=False;
SpeedButton15.Enabled:=False;
SpeedButton20.Enabled:=True;
Edit1.ReadOnly:=False;
Edit2.ReadOnly:=False;
Application.MessageBox('保存成功!', '貝殼提示', MB_OK +
MB_ICONWARNING + MB_DEFBUTTON3 + MB_TOPMOST);
end
else
begin
MyData.ADOCon.RollbackTrans;
WorksFlags:=3;
ModeFlags:=True;
Application.MessageBox('保存失敗!', '貝殼提示', MB_OK +
MB_ICONWARNING + MB_DEFBUTTON3 + MB_TOPMOST);
end;
end;
end;
procedure TMain.SpeedButton20Click(Sender: TObject);
begin
WorksFlags:=3;
ModeFlags:=True;
Edit2.ReadOnly:=False;
SpeedButton20.Enabled:=False;
SpeedButton15.Enabled:=True;
end;
procedure TMain.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9',#13,#10,#8,#9,#26]) then Key:=#0;
end;
procedure TMain.SpeedButton1Click(Sender: TObject);
begin
Edit3.Clear;
with MyData do
begin
TaxGl.SQL.Clear;
TaxGl.SQL.Add('Select * From TaxZly');
TaxGl.Open;
end;
GroupBox1.Visible:=True;
end;
procedure TMain.DBGridEh1DblClick(Sender: TObject);
var
I:Integer;
aTmp:string;
aStr:array[1..9] of string;
aSubStr:array[1..8] of string;
begin
if DataSource1.DataSet.RecordCount<=0 then
begin
MessageBox(Handle, '沒有可顯示的數據!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
Exit;
end;
GroupBox1.Visible:=False;
InVoiceTable.Clear;
DrawFP01;
aStr[1]:=DataSource1.DataSet.FieldByName('發(fā)票號碼').AsString;
aStr[2]:=DataSource1.DataSet.FieldByName('單位名稱').AsString;
aStr[3]:=DataSource1.DataSet.fieldByName('開票日期').AsString;
aStr[4]:=DataSource1.DataSet.fieldByName('標識號碼').AsString;
aStr[5]:=DataSource1.DataSet.fieldByName('金額大寫').AsString;
aStr[6]:=DataSource1.DataSet.fieldByName('金額合計').AsString;
aStr[7]:=DataSource1.DataSet.fieldByName('開票人').AsString;
aStr[8]:=DataSource1.DataSet.fieldByName('收款人').AsString;
aStr[9]:=DataSource1.DataSet.fieldByName('備注').AsString;
Edit1.Text:=aStr[1];
Edit2.Text:=aStr[2];
DateTimePicker1.DateTime:=StrToDateTime(aStr[3]);
InVoiceTable.Cells[2,6]:=aStr[5];
InVoiceTable.Cells[9,6]:=aStr[6];
InVoiceTable.Cells[6,9]:=aStr[7];
InVoiceTable.Cells[10,9]:=aStr[8];
InVoiceTable.Cells[2,7]:=aStr[9];
with MyData do
begin
ADOPub.SQL.Clear;
aTmp:='Select * From ZlyMxb Where 發(fā)票號碼='+QuotedStr(aStr[1])+
' and 開票日期='+QuotedStr(aStr[3]);
ADOPub.SQL.Add(aTmp);
ADOPub.Open;
i:=3;
while not ADOPub.Eof do
begin
aSubStr[1]:=ADOPub.FieldByName('租賃項目').AsString;
aSubStr[2]:=ADOPub.FieldByName('開始日期').AsString;
aSubStr[3]:=ADOPub.FieldByName('結束日期').AsString;
aSubStr[4]:=ADOPub.FieldByName('天數').AsString;
aSubStr[5]:=ADOPub.FieldByName('單位').AsString;
aSubStr[6]:=ADOPub.FieldByName('數量').AsString;
aSubStr[7]:=ADOPub.FieldByName('收費標準').AsString;
aSubStr[8]:=ADOPub.FieldByName('金額').AsString;
InVoiceTable.Cells[0,i]:=aSubStr[1];
InVoiceTable.Cells[2,i]:=aSubStr[2];
InVoiceTable.Cells[4,i]:=aSubStr[3];
InVoiceTable.Cells[5,i]:=aSubStr[4];
InVoiceTable.Cells[6,i]:=aSubStr[5];
InVoiceTable.Cells[7,i]:=aSubStr[6];
InVoiceTable.Cells[8,i]:=aSubStr[7];
InVoiceTable.Cells[9,i]:=aSubStr[8];
Inc(i);
ADOPub.Next;
end;
end;
SpeedButton20.Enabled:=True;
SpeedButton15.Enabled:=False;
edit1.ReadOnly:=True;
edit2.ReadOnly:=True;
ModeFlags:=False;
end;
procedure TMain.QueryTabel(aSql: string);
begin
with MyData do
begin
TaxGl.SQL.Clear;
TaxGl.SQL.Add(aSql);
TaxGl.Open;
end;
end;
procedure TMain.Button1Click(Sender: TObject);
begin
// QueryTabel('Select * From TaxZly');
GroupBox1.Visible:=False;
end;
procedure TMain.BitBtn1Click(Sender: TObject);
begin
QueryTabel('Select * From TaxZly Where 發(fā)票號碼 Like '''+'%'+Edit3.Text+'%''');
end;
procedure TMain.SpeedButton6Click(Sender: TObject);
var
aStr:array[1..8] of TDataSet;
begin
TaxPrint:=TTaxPrint.Create(Self);
aStr[1]:=DataSource1.DataSet.fieldByName('發(fā)票號碼').DataSet;
aStr[2]:=DataSource1.DataSet.fieldByName('單位名稱').DataSet;
aStr[3]:=DataSource1.DataSet.fieldByName('開票日期').DataSet;
aStr[4]:=DataSource1.DataSet.fieldByName('金額大寫').DataSet;
aStr[5]:=DataSource1.DataSet.fieldByName('金額合計').DataSet;
aStr[6]:=DataSource1.DataSet.fieldByName('開票人').DataSet;
aStr[7]:=DataSource1.DataSet.fieldByName('收款人').DataSet;
aStr[8]:=DataSource1.DataSet.fieldByName('備注').DataSet;
with TaxPrint do
begin
QRDBText1.DataSet:=aStr[1];
QRDBText2.DataSet:=aStr[2];
QRDBText3.DataSet:=aStr[3];
QRDBText4.DataSet:=aStr[4];
QRDBText8.DataSet:=aStr[5];
QRDBText5.DataSet:=aStr[6];
QRDBText6.DataSet:=aStr[7];
QRDBText7.DataSet:=aStr[8];
QRLabel22.Caption:=InVoiceTable.Cells[0,3];
QRLabel23.Caption:=InVoiceTable.Cells[2,3];
QRLabel24.Caption:=InVoiceTable.Cells[4,3];
QRLabel25.Caption:=InVoiceTable.Cells[5,3];
QRLabel26.Caption:=InVoiceTable.Cells[6,3];
QRLabel27.Caption:=InVoiceTable.Cells[7,3];
QRLabel28.Caption:=InVoiceTable.Cells[8,3];
QRLabel29.Caption:=InVoiceTable.Cells[9,3];
QRLabel31.Caption:=InVoiceTable.Cells[0,4];
QRLabel32.Caption:=InVoiceTable.Cells[2,4];
QRLabel33.Caption:=InVoiceTable.Cells[4,4];
QRLabel34.Caption:=InVoiceTable.Cells[5,4];
QRLabel35.Caption:=InVoiceTable.Cells[6,4];
QRLabel36.Caption:=InVoiceTable.Cells[7,4];
QRLabel30.Caption:=InVoiceTable.Cells[8,4];
QRLabel37.Caption:=InVoiceTable.Cells[9,4];
QRLabel39.Caption:=InVoiceTable.Cells[0,5];
QRLabel40.Caption:=InVoiceTable.Cells[2,5];
QRLabel41.Caption:=InVoiceTable.Cells[4,5];
QRLabel42.Caption:=InVoiceTable.Cells[5,5];
QRLabel43.Caption:=InVoiceTable.Cells[6,5];
QRLabel44.Caption:=InVoiceTable.Cells[7,5];
QRLabel45.Caption:=InVoiceTable.Cells[8,5];
QRLabel38.Caption:=InVoiceTable.Cells[9,5];
QuickRep1.Preview;
end;
end;
procedure TMain.SpeedButton10Click(Sender: TObject);
begin
Admin:=TAdmin.Create(Self);
Admin.ShowModal;
end;
procedure TMain.SpeedButton11Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TMain.N11Click(Sender: TObject);
begin
SpeedButton4Click(Sender);
end;
procedure TMain.N32Click(Sender: TObject);
begin
MessageBox(Handle, '票據打印系統(tǒng)!', '操作提示', MB_OK + MB_ICONWARNING +
MB_DEFBUTTON3 + MB_TOPMOST);
end;
procedure TMain.N1Click(Sender: TObject);
begin
SpeedButton10Click(sender);
end;
procedure TMain.N10Click(Sender: TObject);
begin
Application.Terminate;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -