⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.pas

📁 一个别人开发的地税发票系统
💻 PAS
📖 第 1 页 / 共 5 页
字号:
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; 
    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;  
    
  public
    
  end;

var
  Main: TMain;
  PubRect: TRect; 
  PubCanvas: TCanvas; 
implementation

uses
  FrmLogin, FrmCustom, FrmData, FrmPitPw, FrmAbout, FrmManage,
  FrmLibrary, FrmBackup;

{$R *.dfm}

var
  aPrintForm: TPitPw; 


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;
      
      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[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;
  end;
  if UpperCase(aSelectMenu) = UpperCase('TaxWxzc') then
  begin
    CurrentFP := 'FP05';
    SpeedButton4.Click;
  end;
  if UpperCase(aSelectMenu) = UpperCase('UserManager') then
  begin
    SpeedButton10.Click;
  end;
  if UpperCase(aSelectMenu) = UpperCase('GenManager') then
  begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -