📄 frmmain.~pas
字号:
unit FrmMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, Menus, ComCtrls, Buttons, ToolWin, ExtCtrls, dxsbar,
OleCtrls, SHDocVw, Grids, BaseGrid, AdvGrid, StdCtrls, AdvEdit,
cxLookAndFeelPainters, cxButtons, Mask, AdvMEdBtn, PlannerMaskDatePicker,
cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit,
cxCalendar, ActnList, asgprint;
type
TCustomCell = record
aRow: integer;
aCol: Integer;
end;
TMain = class(TForm)
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
SpeedButton2: TSpeedButton;
SpeedButton1: TSpeedButton;
ToolButton2: TToolButton;
SpeedButton3: TSpeedButton;
SpeedButton6: TSpeedButton;
ToolButton6: TToolButton;
SpeedButton10: TSpeedButton;
ToolButton7: TToolButton;
SpeedButton12: TSpeedButton;
ToolButton8: TToolButton;
SpeedButton11: TSpeedButton;
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
F1: TMenuItem;
N1: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
T1: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
S1: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N22: TMenuItem;
N21: TMenuItem;
W1: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
N26: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
N29: TMenuItem;
H1: TMenuItem;
N30: TMenuItem;
N31: TMenuItem;
N33: TMenuItem;
N32: TMenuItem;
MainBrower: TWebBrowser;
SpeedButton15: TSpeedButton;
SpeedButton19: TSpeedButton;
N2: TMenuItem;
N3: TMenuItem;
Label7: TLabel;
SpeedButton20: TSpeedButton;
SpeedButton4: TSpeedButton;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
InVoiceTable: TAdvStringGrid;
Label10: TLabel;
BKTitle: TRichEdit;
EditPan: TPanel;
Bevel4: TBevel;
Bevel5: TBevel;
Bevel7: TBevel;
cxTextEdit6: TcxTextEdit;
Label9: TLabel;
Label8: TLabel;
Label6: TLabel;
Label4: TLabel;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
cxDateEdit1: TcxDateEdit;
cxButton5: TcxButton;
AdvEdit7: TAdvEdit;
AdvEdit6: TAdvEdit;
AdvEdit5: TAdvEdit;
AdvEdit4: TAdvEdit;
AdvEdit3: TAdvEdit;
AdvEdit1: TAdvEdit;
Timer1: TTimer;
N34: TMenuItem;
N35: TMenuItem;
N36: TMenuItem;
N37: TMenuItem;
procedure MainBrowerBeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
procedure FormShow(Sender: TObject);
procedure InVoiceTableClickCell(Sender: TObject; ARow, ACol: Integer);
procedure SpeedButton11Click(Sender: TObject);
procedure InVoiceTableCanEditCell(Sender: TObject; ARow, ACol: Integer;
var CanEdit: Boolean);
procedure InVoiceTableDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure InVoiceTableGetEditMask(Sender: TObject; ACol, ARow: Integer;
var Value: string);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure InVoiceTableEditingDone(Sender: TObject);
procedure InVoiceTableKeyPress(Sender: TObject; var Key: Char);
procedure InVoiceTableGetEditorType(Sender: TObject; ACol,
ARow: Integer; var AEditor: TEditorType);
procedure SpeedButton15Click(Sender: TObject);
procedure AdvEdit3Exit(Sender: TObject);
procedure InVoiceTableSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure SpeedButton4Click(Sender: TObject);
procedure AdvEdit1KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton20Click(Sender: TObject);
procedure AdvEdit6KeyPress(Sender: TObject; var Key: Char);
procedure AdvEdit3KeyPress(Sender: TObject; var Key: Char);
procedure AdvEdit4KeyPress(Sender: TObject; var Key: Char);
procedure AdvEdit5KeyPress(Sender: TObject; var Key: Char);
procedure cxDateEdit1KeyPress(Sender: TObject; var Key: Char);
procedure N10Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure cxButton5Click(Sender: TObject);
procedure SpeedButton19Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure N32Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure InVoiceTableClick(Sender: TObject);
private
procedure DrawFP01; //绘制租赁发票
procedure SaveFP01; //保存租赁发票
procedure PrintFP01; //打印租赁发票
procedure DrawFP02; //绘制建筑业发票
procedure SaveFP02; //保存建筑业发票
procedure PrintFP02; //打印建筑业发票
procedure DrawFP03; //绘制转让不动产发票(固定资产)
procedure SaveFP03; //保存不动产发票
procedure PrintFP03; //打印不动产发票
procedure DrawFP04; //绘制其它服务业
procedure SaveFP04; //保存其它服务业
procedure PrintFP04; //打印其它服务业
procedure DrawFP05; //绘制无形沃资产
procedure SaveFP05; //保存其它服务业
procedure PrintFP05; //查询其它服务业
procedure UpdateFP(aTable: string); //更新所有发票(带参数)
procedure ClearEdit; //清空文本框
procedure AutoComputer(DxCell, HjCell, BeginCell: TCustomCell; aIndex: Integer); //自动计算金额
procedure ShowInitialization; //即使化一些设置
function GetMax(aSql: string): Integer; //取得数据库中最大的ID号
function CheckOut: Boolean; //检查输入的信息
function SelectFP01(aText: string): Boolean; //查询发票,以单张
function SelectFP02(aText: string): Boolean; //查询发票,以单张
function SelectFP03(aText: string): Boolean; //查询发票,以单张
function SelectFP04(aText: String): Boolean; //查询发票
function SelectFP05(aText: String): Boolean; //查询发票
{ Private declarations }
public
{ Public declarations }
end;
var
Main: TMain;
PubRect: TRect; //AdvGrid Rect
PubCanvas: TCanvas; //AdvGrid Canvas
implementation
uses
FrmLogin, FrmCustom, FrmData, FrmPitPw, FrmAbout, FrmManage,
FrmLibrary, FrmBackup;
{$R *.dfm}
var
aPrintForm: TPitPw; //Print From
//取出菜页菜单单击标志
function Disassemble(Parameter: string): string;
var
aTmp, aStr: string;
aIndex: Integer;
begin
aTmp := Parameter;
aIndex := Pos('@', aTmp);
if aIndex > 0 then
begin
aStr := Copy(aTmp, aIndex + 1, Length(aTmp) - aindex);
Result := aStr;
end
else
Result := '';
end;
{租赁发票绘制表}
procedure TMain.DrawFP01;
var
j, i: integer;
aTmp: string;
begin
if CurrentFP = 'FP01' then
begin
label4.Caption := '其它内容:';
Label2.Caption := '开票日期:';
Label3.Caption := '发票号码:';
Label9.Caption := '承 租 方:';
Label6.Caption := '客户名称:';
Label8.Caption := '客户编码:';
AdvEdit7.Enabled := False;
Label9.Left := 10;
Label10.Caption := ' ' +
'按照《中华人民共和国企业所得税暂行条例》的规定,这种车贴属于工资的组成部分,只能' +
'在企业所得税前限额扣除,超过部分要做纳税调整。而且按照《中华人民共和国个人所得税法》' +
'的规定,这种车贴也是要征收个人所得税的。如果允许编造这样一个虚假的合同到税务机关代开' +
'发票,企业不仅可以在缴纳所得税前全额扣除,作为员工个人还可以少缴或不缴个人所得税。';
Label10.Visible := True;
with InVoiceTable do
begin
RowCount := 11;
RowHeights[0] := 17;
RowHeights[1] := 17;
GridLineColor := 8684164;
WordWrap := False;
ColWidths[4] := 50;
MergeCells(0, 0, 2, 3);
MergeCells(2, 0, 4, 1);
MergeCells(2, 1, 2, 1);
MergeCells(2, 2, 2, 1);
ColWidths[3] := 20;
MergeCells(4, 1, 1, 1);
ColWidths[4] := 64;
MergeCells(5, 1, 1, 2);
MergeCells(6, 0, 1, 3);
MergeCells(7, 0, 1, 3);
ColWidths[7] := 45;
MergeCells(8, 0, 1, 3);
ColWidths[8] := 45;
MergeCells(9, 0, 4, 1);
MergeCells(9, 1, 4, 2);
Cells[0, 0] := '租 赁 项 目';
Cells[2, 0] := '租 赁 日 期';
Cells[2, 1] := '起';
Cells[2, 2] := '年 月 日';
Cells[4, 1] := '止';
Cells[4, 2] := '年 月 日';
Cells[5, 1] := '天 数';
Cells[6, 0] := '单 位';
Cells[7, 0] := '数 量';
Cells[8, 0] := #13'收费'#13'标准';
Cells[9, 0] := '金 额';
//******************************
RowHeights[3] := 26;
MergeCells(0, 3, 2, 1);
MergeCells(2, 3, 2, 1);
MergeCells(4, 3, 1, 1);
MergeCells(5, 3, 1, 1);
MergeCells(6, 3, 1, 1);
MergeCells(7, 3, 1, 1);
MergeCells(8, 3, 1, 1);
MergeCells(9, 3, 4, 1);
//******************************
RowHeights[4] := 26;
MergeCells(0, 4, 2, 1);
MergeCells(2, 4, 2, 1);
MergeCells(4, 4, 1, 1);
MergeCells(5, 4, 1, 1);
MergeCells(6, 4, 1, 1);
MergeCells(7, 4, 1, 1);
MergeCells(8, 4, 1, 1);
MergeCells(9, 4, 4, 1);
//******************************
RowHeights[5] := 26;
MergeCells(0, 5, 2, 1);
MergeCells(2, 5, 2, 1);
MergeCells(4, 5, 1, 1);
MergeCells(5, 5, 1, 1);
MergeCells(6, 5, 1, 1);
MergeCells(7, 5, 1, 1);
MergeCells(8, 5, 1, 1);
MergeCells(9, 5, 4, 1);
//******************************
RowHeights[6] := 26;
MergeCells(0, 6, 2, 1);
MergeCells(2, 6, 7, 1);
MergeCells(9, 6, 4, 1);
Cells[0, 6] := '金额合计(大写)';
//******************************
MergeCells(0, 7, 2, 2);
MergeCells(2, 7, 11, 2);
Cells[0, 7] := '备 注';
Alignments[0, 7] := taCenter;
//******************************
MergeCells(0, 9, 4, 1);
MergeCells(4, 9, 2, 1);
MergeCells(6, 9, 2, 1);
MergeCells(8, 9, 2, 1);
MergeCells(10, 9, 3, 1);
Cells[0, 9] := '出租方(盖章有效)';
Cells[4, 9] := '开票人:';
Cells[8, 9] := '收款人:';
Alignments[0, 9] := taCenter;
Alignments[4, 9] := taRightJustify;
Alignments[8, 9] := taRightJustify;
MergeCells(0, 10, 13, 1);
//**************************定义单元格颜色
RowColor[0] := 16761798;
RowColor[1] := 16761798;
RowColor[2] := 16761798;
RowColor[3] := 15204327;
RowColor[4] := 15204327;
RowColor[5] := 15204327;
RowColor[6] := 15204327;
RowColor[7] := 15204327;
RowColor[9] := 16761798;
//Colors[9,2]:=4227327;
Colors[0, 6] := 16761798;
Colors[0, 7] := 16761798;
Colors[6, 2] := 15204327;
Colors[9, 6] := 16761798;
Colors[2, 6] := 13041663;
Colors[10, 9] := 15204327;
Colors[6, 9] := 15204327;
Colors[9, 1] := 13041663;
//**************************
for i := 0 to 12 do
for j := 0 to 6 do
begin
Alignments[i, j] := taCenter;
end;
Label10.Top := 252;
BKTitle.Alignment := taCenter;
RichToCell(0, 10, BKTitle);
VAlignment := vtaCenter;
end;
end;
end;
procedure TMain.MainBrowerBeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
var
aSelectMenu: string;
begin
aSelectMenu := Disassemble(URL);
if UpperCase(aSelectMenu) = UpperCase('TaxClose') then
begin
if Application.MessageBox('你是否真的要退出', '贝壳提示', MB_YESNO +
MB_ICONWARNING + MB_DEFBUTTON3 + MB_TOPMOST) = IDYES then
begin
Application.Terminate;
end;
end;
if UpperCase(aSelectMenu) = UpperCase('TaxZlyfp') then
begin
CurrentFP := 'FP01';
SpeedButton4.Click;
end;
if UpperCase(aSelectMenu) = UpperCase('TaxJzyfp') then
begin
CurrentFP := 'FP02';
SpeedButton4.Click;
end;
if UpperCase(aSelectMenu) = UpperCase('TaxGdzc') then
begin
CurrentFP := 'FP03';
SpeedButton4.Click;
end;
if UpperCase(aSelectMenu) = UpperCase('Taxfwhy') then
begin
CurrentFP := 'FP04';
SpeedButton4.Click;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -