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

📄 discorb_u.pas

📁 基于OOP设计的一套较好的ERP系统
💻 PAS
字号:
unit DiscoRb_u;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Buttons, StdCtrls, Mask, DBCtrls, Db, DBTables;

type
  TDiscoRb_Form = class(TForm)
    SpeedButton1: TSpeedButton;
    TTParDiscoRb: TTable;
    DSParDiscoRb: TDataSource;
    TTParDiscoRbNumeroprimaRiba: TFloatField;
    TTParDiscoRbNumeroultimaRiba: TFloatField;
    TTParDiscoRbBollovirtuale: TCurrencyField;
    TTParDiscoRbProvinciaintendenza: TStringField;
    TTParDiscoRbNumeroautorizzazione: TStringField;
    TTParDiscoRbDataautorizzazione: TDateField;
    Label4: TLabel;
    DBEdit4: TDBEdit;
    Label5: TLabel;
    DBEdit5: TDBEdit;
    Label6: TLabel;
    DBEdit6: TDBEdit;
    Memo1: TMemo;
    Memo2: TMemo;
    SpeedButton2: TSpeedButton;
    TTParDiscoRbNomefile: TStringField;
    Label7: TLabel;
    DBEdit3: TDBEdit;
    SpeedButton3: TSpeedButton;
    DLG: TOpenDialog;
    TTParRiba: TTable;
    DSParRiba: TDataSource;
    TTParRibaDal: TDateField;
    TTParRibaAl: TDateField;
    TTParRibaBanca: TStringField;
    TTParRibaRibacumulativa: TBooleanField;
    TTParRibaStampadistinta: TBooleanField;
    TTParRibaValuta: TStringField;
    TTParRibaDatagenerazionedisco: TDateField;
    TTParRibaTotaleriba: TCurrencyField;
    DBCheckBox1: TDBCheckBox;
    SpeedButton4: TSpeedButton;
    TTIntesta: TTable;
    DSIntesta: TDataSource;
    TTIntestaRagionesociale: TStringField;
    TTIntestaIndirizzoSL: TStringField;
    TTIntestaCapSL: TStringField;
    TTIntestaLocalitaSL: TStringField;
    TTIntestaProvinciaSL: TStringField;
    TTIntestaPresso: TStringField;
    TTIntestaIndirizzoU: TStringField;
    TTIntestaCapU: TStringField;
    TTIntestaLocalitaU: TStringField;
    TTIntestaProvinciaU: TStringField;
    TTIntestaTelefono: TStringField;
    TTIntestaPartitaiva: TStringField;
    TTIntestaRegistrazione: TStringField;
    Label3: TLabel;
    DBEdit7: TDBEdit;
    TTParDiscoRbGruppo: TFloatField;
    Label8: TLabel;
    DBEdit8: TDBEdit;
    SpeedButton5: TSpeedButton;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function formatta(StrIn, Riempi, Allin : String ; Dim : integer) : String;
    procedure ExportRiba();
    procedure Spazio(NumeroSpazi : Integer ; Var Riga : String);
    function ggmmaa(Data : TDateTime) : String;

  end;

var
  DiscoRb_Form: TDiscoRb_Form;

implementation

{$R *.DFM}

Uses intesta_u, stp_Riba_u, uelBanca;

function TDiscoRb_Form.formatta(StrIn, Riempi, Allin : String ; Dim : integer) : String;
var
   lung, diffr, j : Integer;
   Ris, riempimento : String;

begin
//Formattazione: StrIn: Stringa input
//               Riempi : carattere di riempimento
//               Allin : allineamento (dx-sx)
//               Dim: lunghezza stringa risultato
//  S : String;
//  S := 'ABCDEF';
//  S := Copy(S, 2, 3);	{ 'BCD' }

    StrIn := UpperCase(StrIn);

    lung := Length(StrIn);
//Se la stringa ha la stessa lunghezza della dimensione voluta
    ris := StrIn;
//Se la stringa ha lunghezza superiore alla dimensione voluta...
    if lung > Dim then
       begin
            if allin = 'dx' then
               ris := copy(StrIn,(lung - dim  + 1),dim)
            else
               ris := copy(StrIn,1,dim);
       end
//Se la stringa e' piu' piccola della dimensione voluta, quindi occorre riempire...
    else
        begin
             if riempi = '' then
                riempi := ' ';

             diffr := dim - lung;
             riempimento := '';
             for j := 1 to diffr do
                 riempimento := riempimento + riempi;

             if allin = 'dx' then
                ris := riempimento + StrIn
             else
                ris := StrIn + Riempimento;

        end;

    result := ris;

end;

procedure TDiscoRb_Form.Spazio(NumeroSpazi : Integer ; Var Riga : String);
var
   i : Integer;

begin
//Aggiunge in Riga tanti spazi quanti indicati in Numero spazi

      for i := 1 to NumeroSpazi do
          riga := riga + ' ';

end;

function TDiscoRb_form.ggmmaa(Data : TDateTime) : String;
var
   Anno, Mese, Giorno : Word;
   Ris : String;

begin
//Restituisce Data nel formato GGMMAA

      DecodeDate(Data, Anno, Mese, Giorno);

      //ris := Format('%2d%2d%2d',[Giorno, Mese, Anno]);
      ris := FormatFloat('00',Giorno);
      ris := ris + FormatFloat('00',Mese);
      ris := ris + copy(FormatFloat('00',Anno),3,2);

      result := ris;

end;

procedure TDiscoRb_Form.ExportRiba();
var
   Fout : TextFile;
   Riga, CodAzi, CodAbi, CodCab : String;
   CodAbiDb, CodCabDb, debit, valuta : String;
   Trb, Drb, BnRb, Bnc, sog : TTable;
   CntRiba, CntRec, CntFat : longInt;
   Totale : Currency;
   Anno, Mese, Giorno : word;

begin

     Trb := TTable.create(self);
     Trb.databaseName := 'euro2000';
     Trb.TableName := 'Triba.db';
     Trb.open;

//Posizionamento sulla prima Riba del gruppo
     if not Trb.Locate('Gruppo',TTParDiscoRbGruppo.Value,[locaseinsensitive]) then
        begin
             showMessage('Attenzione!' + #13 + 'Non 

⌨️ 快捷键说明

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