unit Unit1;

//+-----------------------------------------------------------------------------+
//+TKS Software                                                                 +
//+Demo de Utilização da SPED32Dll.dll sem Banco de Dados                       +
//+                                                                             +
//+ Demonstra e implementa a comunicação entre o aplicativo e a dll para a      +
//+geração do arquivo magnético do SPED através da declaração e                 +
//+chamada de todas as funções e registros disponíveis na versão.               +
//+                                                                             +
//+ Para informações e atualizações do produtos acesse:                         +
//+ http://www.igara.com.br/produto.php?cod_produto=3                           +
//+-----------------------------------------------------------------------------+

interface

uses
  ShareMem, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Dateutils, ExtCtrls, ComCtrls, jpeg, Menus, ShellApi,
  Buttons;

type
  TForm1 = class(TForm)
    PopupMenu1:   TPopupMenu;
    Panel3:    TPanel;
    Panel1:    TPanel;
    Sequencia0000000504500460046509901: TMenuItem;
    Label1: TLabel;
    GroupBox1: TGroupBox;
    Label5: TLabel;
    Image3: TImage;
    Label6: TLabel;
    Image1: TImage;
    Label7: TLabel;
    OpenDialog1: TOpenDialog;
    Button19: TButton;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel2: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Button7: TButton;
    PageControl2: TPageControl;
    TabSheet4: TTabSheet;
    Button21: TButton;
    Button1: TButton;
    Button2: TButton;
    Button18: TButton;
    Button15: TButton;
    Button8: TButton;
    Button25: TButton;
    Button17: TButton;
    Button9: TButton;
    Button10: TButton;
    Button12: TButton;
    Button13: TButton;
    Button16: TButton;
    Button23: TButton;
    Button78: TButton;
    Button88: TButton;
    TabSheet9: TTabSheet;
    Button59: TButton;
    Button184: TButton;
    Button185: TButton;
    Button186: TButton;
    Button187: TButton;
    Button188: TButton;
    Button189: TButton;
    Button190: TButton;
    Button191: TButton;
    Button192: TButton;
    Button193: TButton;
    Button194: TButton;
    Button65: TButton;
    Button83: TButton;
    Button84: TButton;
    Button85: TButton;
    Button87: TButton;
    TabSheet5: TTabSheet;
    Button24: TButton;
    Button26: TButton;
    Button77: TButton;
    Button66: TButton;
    Button68: TButton;
    Button75: TButton;
    Button79: TButton;
    Button109: TButton;
    Button110: TButton;
    Button111: TButton;
    Button112: TButton;
    Button6: TButton;
    Button11: TButton;
    Button14: TButton;
    Button28: TButton;
    Button3: TButton;
    Button20: TButton;
    Button27: TButton;
    Button72: TButton;
    Button73: TButton;
    Button56: TButton;
    Button113: TButton;
    Button114: TButton;
    Button122: TButton;
    Button123: TButton;
    Button129: TButton;
    Button41: TButton;
    Button49: TButton;
    Button57: TButton;
    Button115: TButton;
    Button60: TButton;
    Button61: TButton;
    Button124: TButton;
    Button62: TButton;
    Button63: TButton;
    Button67: TButton;
    Button69: TButton;
    Button125: TButton;
    Button128: TButton;
    Button70: TButton;
    Button71: TButton;
    Button4: TButton;
    Button135: TButton;
    Button260: TButton;
    Button136: TButton;
    Button137: TButton;
    Button80: TButton;
    Button74: TButton;
    Button121: TButton;
    Button76: TButton;
    Button91: TButton;
    Button93: TButton;
    Button92: TButton;
    Button94: TButton;
    TabSheet6: TTabSheet;
    Button5: TButton;
    Button116: TButton;
    Button117: TButton;
    Button118: TButton;
    Button127: TButton;
    Button130: TButton;
    Button138: TButton;
    Button141: TButton;
    Button146: TButton;
    Button161: TButton;
    Button164: TButton;
    Button166: TButton;
    Button168: TButton;
    Button119: TButton;
    Button120: TButton;
    Button22: TButton;
    Button47: TButton;
    Button288: TButton;
    Button275: TButton;
    Button126: TButton;
    Button142: TButton;
    Button131: TButton;
    Button147: TButton;
    Button132: TButton;
    Button148: TButton;
    Button281: TButton;
    Button149: TButton;
    Button150: TButton;
    Button151: TButton;
    Button152: TButton;
    Button153: TButton;
    Button167: TButton;
    Button170: TButton;
    Button171: TButton;
    Button172: TButton;
    Button133: TButton;
    TabSheet7: TTabSheet;
    Button134: TButton;
    Button139: TButton;
    Button140: TButton;
    Button145: TButton;
    Button154: TButton;
    Button155: TButton;
    Button156: TButton;
    Button157: TButton;
    Button158: TButton;
    Button176: TButton;
    Button175: TButton;
    Button174: TButton;
    Button173: TButton;
    Button58: TButton;
    Button143: TButton;
    Button144: TButton;
    Button177: TButton;
    Button178: TButton;
    Button183: TButton;
    TabSheet8: TTabSheet;
    Button159: TButton;
    Button160: TButton;
    Button162: TButton;
    Button64: TButton;
    TabSheet11: TTabSheet;
    Button179: TButton;
    Button180: TButton;
    Button181: TButton;
    Button182: TButton;
    TabSheet12: TTabSheet;
    Button44: TButton;
    Button37: TButton;
    Button39: TButton;
    Button38: TButton;
    Button36: TButton;
    Button51: TButton;
    Button86: TButton;
    Button53: TButton;
    Button89: TButton;
    Button207: TButton;
    Button208: TButton;
    Button102: TButton;
    Button54: TButton;
    Button30: TButton;
    Button31: TButton;
    Button32: TButton;
    Button33: TButton;
    Button34: TButton;
    Button35: TButton;
    Button40: TButton;
    Button42: TButton;
    Button29: TButton;
    Button43: TButton;
    Button45: TButton;
    Button46: TButton;
    Button48: TButton;
    Button50: TButton;
    Button52: TButton;
    Button55: TButton;
    Button81: TButton;
    Button95: TButton;
    TabSheet3: TTabSheet;
    GroupBox6: TGroupBox;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label34: TLabel;
    Button96: TButton;
    Button90: TButton;
    Label4: TLabel;
    Button97: TButton;
    Button98: TButton;
    Button99: TButton;
    Button100: TButton;
    Button101: TButton;
    Button103: TButton;
    Button104: TButton;
    Button105: TButton;
    Button106: TButton;
    Button107: TButton;
    Button108: TButton;
    Button163: TButton;
    Button165: TButton;
    Button169: TButton;
    Button195: TButton;
    Button196: TButton;
    Button197: TButton;
    Button198: TButton;
    Button199: TButton;
    Button200: TButton;
    Button201: TButton;
    Button202: TButton;
    Button203: TButton;
    Button204: TButton;
    Button205: TButton;
    Button206: TButton;
    TabSheet2: TTabSheet;
    Button209: TButton;
    Button210: TButton;
    Button211: TButton;
    Button212: TButton;
    Button213: TButton;
    Button214: TButton;
    Button215: TButton;
    Button216: TButton;
    Button217: TButton;
    Button218: TButton;
    Button219: TButton;
    Button220: TButton;
    Button221: TButton;
    Button222: TButton;
    Button223: TButton;
    Button224: TButton;
    Button225: TButton;
    Button226: TButton;
    Button227: TButton;
    Button228: TButton;
    Button229: TButton;
    Button230: TButton;
    Button231: TButton;
    Button232: TButton;
    Button233: TButton;
    Button234: TButton;
    Button235: TButton;
    Button236: TButton;
    Button237: TButton;
    Button238: TButton;
    Button239: TButton;
    Button246: TButton;
    Button241: TButton;
    Button240: TButton;
    Button243: TButton;
    Button242: TButton;
    Button244: TButton;
    Button245: TButton;
    Button247: TButton;
    Button248: TButton;
    Button249: TButton;
    Button250: TButton;
    Button251: TButton;
    Button82: TButton;
    Button252: TButton;
    Button253: TButton;
    Button254: TButton;
    Button255: TButton;
    Button256: TButton;
    Button257: TButton;
    Button258: TButton;
    Button259: TButton;
    TabSheet10: TTabSheet;
    Button261: TButton;
    Button262: TButton;
    Button263: TButton;
    Button264: TButton;
    Button265: TButton;
    Button266: TButton;
    Button267: TButton;
    Button268: TButton;
    Button269: TButton;
    Button270: TButton;
    Button271: TButton;
    Button272: TButton;
    Button273: TButton;
    Button274: TButton;
    Button276: TButton;
    Button277: TButton;
    Button278: TButton;
    Button279: TButton;
    Button280: TButton;
    Button282: TButton;
    Button283: TButton;
    Button284: TButton;
    Button285: TButton;
    Button286: TButton;
    Button287: TButton;
    Button289: TButton;
    Button290: TButton;
    Button291: TButton;
    Button292: TButton;
    Button293: TButton;
    Button294: TButton;
    TabSheet13: TTabSheet;
    Button295: TButton;
    Button296: TButton;
    Button297: TButton;
    Button298: TButton;
    Button299: TButton;
    Button300: TButton;
    Button301: TButton;
    Button302: TButton;
    Button303: TButton;
    Button304: TButton;
    Button305: TButton;
    Button306: TButton;
    Button307: TButton;
    Button308: TButton;
    Button309: TButton;
    Button310: TButton;
    Button311: TButton;
    Button312: TButton;
    Button313: TButton;
    Button314: TButton;
    Button315: TButton;
    Button316: TButton;
    Button317: TButton;
    Button318: TButton;

    procedure Trata_SPED_Int(sender: tobject; retorno: integer);

    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    procedure Button23Click(Sender: TObject);
    procedure Button24Click(Sender: TObject);
    procedure Button25Click(Sender: TObject);
    procedure Button44Click(Sender: TObject);
    procedure Button37Click(Sender: TObject);
    procedure Button38Click(Sender: TObject);
    procedure Button39Click(Sender: TObject);
    procedure Sequncia011Click(Sender: TObject);
    procedure Button36Click(Sender: TObject);
    procedure Label29Click(Sender: TObject);
    procedure Label32Click(Sender: TObject);
    procedure Label33Click(Sender: TObject);
    procedure Label30Click(Sender: TObject);
    procedure Button54Click(Sender: TObject);
    procedure Button22Click(Sender: TObject);
    procedure Button26Click(Sender: TObject);
    procedure Button27Click(Sender: TObject);
    procedure Button28Click(Sender: TObject);
    procedure Button41Click(Sender: TObject);
    procedure Button47Click(Sender: TObject);
    procedure Button49Click(Sender: TObject);
    procedure Button56Click(Sender: TObject);
    procedure Button57Click(Sender: TObject);
    procedure Button58Click(Sender: TObject);
    procedure Button59Click(Sender: TObject);
    procedure Button60Click(Sender: TObject);
    procedure Button61Click(Sender: TObject);
    procedure Button62Click(Sender: TObject);
    procedure Button63Click(Sender: TObject);
    procedure Button65Click(Sender: TObject);
    procedure Button66Click(Sender: TObject);
    procedure Button67Click(Sender: TObject);
    procedure Button68Click(Sender: TObject);
    procedure Button69Click(Sender: TObject);
    procedure Button70Click(Sender: TObject);
    procedure Button71Click(Sender: TObject);
    procedure Button72Click(Sender: TObject);
    procedure Button73Click(Sender: TObject);
    procedure Button74Click(Sender: TObject);
    procedure Button75Click(Sender: TObject);
    procedure Button76Click(Sender: TObject);
    procedure Button77Click(Sender: TObject);
    procedure Button79Click(Sender: TObject);
    procedure Button80Click(Sender: TObject);
    procedure Button86Click(Sender: TObject);
    procedure Button53Click(Sender: TObject);
    procedure Button55Click(Sender: TObject);
    procedure Button21Click(Sender: TObject);
    procedure Button183Click(Sender: TObject);
    procedure Button109Click(Sender: TObject);
    procedure Button110Click(Sender: TObject);
    procedure Button111Click(Sender: TObject);
    procedure Button112Click(Sender: TObject);
    procedure Button113Click(Sender: TObject);
    procedure Button114Click(Sender: TObject);
    procedure Button115Click(Sender: TObject);
    procedure Button116Click(Sender: TObject);
    procedure Button117Click(Sender: TObject);
    procedure Button118Click(Sender: TObject);
    procedure Button119Click(Sender: TObject);
    procedure Button120Click(Sender: TObject);
    procedure Button121Click(Sender: TObject);
    procedure Button122Click(Sender: TObject);
    procedure Button123Click(Sender: TObject);
    procedure Button124Click(Sender: TObject);
    procedure Button125Click(Sender: TObject);
    procedure Button126Click(Sender: TObject);
    procedure Button127Click(Sender: TObject);
    procedure Button128Click(Sender: TObject);
    procedure Button129Click(Sender: TObject);
    procedure Button130Click(Sender: TObject);
    procedure Button131Click(Sender: TObject);
    procedure Button132Click(Sender: TObject);
    procedure Button133Click(Sender: TObject);
    procedure Button134Click(Sender: TObject);
    procedure Button135Click(Sender: TObject);
    procedure Button136Click(Sender: TObject);
    procedure Button137Click(Sender: TObject);
    procedure Button138Click(Sender: TObject);
    procedure Button139Click(Sender: TObject);
    procedure Button140Click(Sender: TObject);
    procedure Button141Click(Sender: TObject);
    procedure Button142Click(Sender: TObject);
    procedure Button143Click(Sender: TObject);
    procedure Button144Click(Sender: TObject);
    procedure Button145Click(Sender: TObject);
    procedure Button146Click(Sender: TObject);
    procedure Button147Click(Sender: TObject);
    procedure Button148Click(Sender: TObject);
    procedure Button149Click(Sender: TObject);
    procedure Button150Click(Sender: TObject);
    procedure Button151Click(Sender: TObject);
    procedure Button152Click(Sender: TObject);
    procedure Button153Click(Sender: TObject);
    procedure Button154Click(Sender: TObject);
    procedure Button155Click(Sender: TObject);
    procedure Button156Click(Sender: TObject);
    procedure Button157Click(Sender: TObject);
    procedure Button158Click(Sender: TObject);
    procedure Button159Click(Sender: TObject);
    procedure Button160Click(Sender: TObject);
    procedure Button161Click(Sender: TObject);
    procedure Button162Click(Sender: TObject);
    procedure Button164Click(Sender: TObject);
    procedure Button166Click(Sender: TObject);
    procedure Button167Click(Sender: TObject);
    procedure Button168Click(Sender: TObject);
    procedure Button170Click(Sender: TObject);
    procedure Button171Click(Sender: TObject);
    procedure Button172Click(Sender: TObject);
    procedure Button173Click(Sender: TObject);
    procedure Button174Click(Sender: TObject);
    procedure Button175Click(Sender: TObject);
    procedure Button176Click(Sender: TObject);
    procedure Button177Click(Sender: TObject);
    procedure Button178Click(Sender: TObject);
    procedure Button179Click(Sender: TObject);
    procedure Button180Click(Sender: TObject);
    procedure Button181Click(Sender: TObject);
    procedure Button182Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button189Click(Sender: TObject);
    procedure Button190Click(Sender: TObject);
    procedure Button185Click(Sender: TObject);
    procedure Button186Click(Sender: TObject);
    procedure Button187Click(Sender: TObject);
    procedure Button188Click(Sender: TObject);
    procedure Button191Click(Sender: TObject);
    procedure Button192Click(Sender: TObject);
    procedure Button193Click(Sender: TObject);
    procedure Button194Click(Sender: TObject);
    procedure Button184Click(Sender: TObject);
    procedure Sequencia0000000504500460046509901Click(Sender: TObject);
    procedure Button198Click(Sender: TObject);
    procedure Button199Click(Sender: TObject);
    procedure Button200Click(Sender: TObject);
    procedure Button201Click(Sender: TObject);
    procedure Button202Click(Sender: TObject);
    procedure Button203Click(Sender: TObject);
    procedure Button204Click(Sender: TObject);
    procedure Button205Click(Sender: TObject);
    procedure Button207Click(Sender: TObject);
    procedure Button208Click(Sender: TObject);
    procedure Button211Click(Sender: TObject);
    procedure Button210Click(Sender: TObject);
    procedure Button209Click(Sender: TObject);
    procedure Button212Click(Sender: TObject);
    procedure Button213Click(Sender: TObject);
    procedure Button214Click(Sender: TObject);
    procedure Button215Click(Sender: TObject);
    procedure Button216Click(Sender: TObject);
    procedure Button217Click(Sender: TObject);
    procedure Button226Click(Sender: TObject);
    procedure Button227Click(Sender: TObject);
    procedure Button228Click(Sender: TObject);
    procedure Button218Click(Sender: TObject);
    procedure Button219Click(Sender: TObject);
    procedure Button220Click(Sender: TObject);
    procedure Button221Click(Sender: TObject);
    procedure Button222Click(Sender: TObject);
    procedure Button341Click(Sender: TObject);
    procedure Button340Click(Sender: TObject);
    procedure Button339Click(Sender: TObject);
    procedure Button229Click(Sender: TObject);
    procedure Button230Click(Sender: TObject);
    procedure Button231Click(Sender: TObject);
    procedure Button232Click(Sender: TObject);
    procedure Button233Click(Sender: TObject);
    procedure Button234Click(Sender: TObject);
    procedure Button235Click(Sender: TObject);
    procedure Button236Click(Sender: TObject);
    procedure Button237Click(Sender: TObject);
    procedure Button246Click(Sender: TObject);
    procedure Button245Click(Sender: TObject);
    procedure Button244Click(Sender: TObject);
    procedure Button243Click(Sender: TObject);
    procedure Button242Click(Sender: TObject);
    procedure Button241Click(Sender: TObject);
    procedure Button240Click(Sender: TObject);
    procedure Button239Click(Sender: TObject);
    procedure Button238Click(Sender: TObject);
    procedure Button343Click(Sender: TObject);
    procedure Button342Click(Sender: TObject);
    procedure Button253Click(Sender: TObject);
    procedure Button252Click(Sender: TObject);
    procedure Button251Click(Sender: TObject);
    procedure Button250Click(Sender: TObject);
    procedure Button257Click(Sender: TObject);
    procedure Button256Click(Sender: TObject);
    procedure Button255Click(Sender: TObject);
    procedure Button254Click(Sender: TObject);
    procedure Button268Click(Sender: TObject);
    procedure Button269Click(Sender: TObject);
    procedure Button270Click(Sender: TObject);
    procedure Button271Click(Sender: TObject);
    procedure Button273Click(Sender: TObject);
    procedure Button258Click(Sender: TObject);
    procedure Button259Click(Sender: TObject);
    procedure Button260Click(Sender: TObject);
    procedure Button261Click(Sender: TObject);
    procedure Button262Click(Sender: TObject);
    procedure Button263Click(Sender: TObject);
    procedure Button264Click(Sender: TObject);
    procedure Button265Click(Sender: TObject);
    procedure Button285Click(Sender: TObject);
    procedure Button286Click(Sender: TObject);
    procedure Button287Click(Sender: TObject);
    procedure Button288Click(Sender: TObject);
    procedure Button274Click(Sender: TObject);
    procedure Button275Click(Sender: TObject);
    procedure Button276Click(Sender: TObject);
    procedure Button277Click(Sender: TObject);
    procedure Button278Click(Sender: TObject);
    procedure Button279Click(Sender: TObject);
    procedure Button280Click(Sender: TObject);
    procedure Button281Click(Sender: TObject);
    procedure Button282Click(Sender: TObject);
    procedure Button283Click(Sender: TObject);
    procedure Button284Click(Sender: TObject);
    procedure Button224Click(Sender: TObject);
    procedure Button223Click(Sender: TObject);
    procedure Button346Click(Sender: TObject);
    procedure Button299Click(Sender: TObject);
    procedure Button298Click(Sender: TObject);
    procedure Button266Click(Sender: TObject);
    procedure Button297Click(Sender: TObject);
    procedure Button296Click(Sender: TObject);
    procedure Button295Click(Sender: TObject);
    procedure Button225Click(Sender: TObject);
    procedure Button247Click(Sender: TObject);
    procedure Button248Click(Sender: TObject);
    procedure Button267Click(Sender: TObject);
    procedure Button289Click(Sender: TObject);
    procedure Button290Click(Sender: TObject);
    procedure Button291Click(Sender: TObject);
    procedure Button292Click(Sender: TObject);
    procedure Button293Click(Sender: TObject);
    procedure Button294Click(Sender: TObject);
    procedure Button347Click(Sender: TObject);
    procedure Button301Click(Sender: TObject);
    procedure Button300Click(Sender: TObject);
    procedure Button302Click(Sender: TObject);
    procedure Button303Click(Sender: TObject);
    procedure Button304Click(Sender: TObject);
    procedure Button305Click(Sender: TObject);
    procedure Button306Click(Sender: TObject);
    procedure Button307Click(Sender: TObject);
    procedure Button308Click(Sender: TObject);
    procedure Button309Click(Sender: TObject);
    procedure Button310Click(Sender: TObject);
    procedure Button311Click(Sender: TObject);
    procedure Button312Click(Sender: TObject);
    procedure Button313Click(Sender: TObject);
    procedure Button314Click(Sender: TObject);
    procedure Button315Click(Sender: TObject);
    procedure Button316Click(Sender: TObject);
    procedure Button317Click(Sender: TObject);
    procedure Button318Click(Sender: TObject);
    procedure Button319Click(Sender: TObject);
    procedure Button320Click(Sender: TObject);
    procedure Button321Click(Sender: TObject);
    procedure Button322Click(Sender: TObject);
    procedure Button323Click(Sender: TObject);
    procedure Button324Click(Sender: TObject);
    procedure Button325Click(Sender: TObject);
    procedure Button326Click(Sender: TObject);
    procedure Button327Click(Sender: TObject);
    procedure Button328Click(Sender: TObject);
    procedure Button329Click(Sender: TObject);
    procedure Button330Click(Sender: TObject);
    procedure Button331Click(Sender: TObject);
    procedure Button332Click(Sender: TObject);
    procedure Button333Click(Sender: TObject);
    procedure Button334Click(Sender: TObject);
    procedure Button335Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button51Click(Sender: TObject);
    procedure Button89Click(Sender: TObject);
    procedure Button102Click(Sender: TObject);
    procedure Button29Click(Sender: TObject);
    procedure Button43Click(Sender: TObject);
    procedure Button45Click(Sender: TObject);
    procedure Button46Click(Sender: TObject);
    procedure Button48Click(Sender: TObject);
    procedure Button50Click(Sender: TObject);
    procedure Button52Click(Sender: TObject);
    procedure Button64Click(Sender: TObject);
    procedure Button82Click(Sender: TObject);
    procedure Button83Click(Sender: TObject);
    procedure Button84Click(Sender: TObject);
    procedure Button85Click(Sender: TObject);
    procedure Button87Click(Sender: TObject);
    procedure Button78Click(Sender: TObject);
    procedure Button88Click(Sender: TObject);
    procedure Button91Click(Sender: TObject);
    procedure Button92Click(Sender: TObject);
    procedure Button93Click(Sender: TObject);
    procedure Button94Click(Sender: TObject);
    procedure Button90Click(Sender: TObject);
    procedure Button96Click(Sender: TObject);
    procedure Button97Click(Sender: TObject);
    procedure Button98Click(Sender: TObject);
    procedure Button99Click(Sender: TObject);
    procedure Button100Click(Sender: TObject);
    procedure Button101Click(Sender: TObject);
    procedure Button103Click(Sender: TObject);
    procedure Button104Click(Sender: TObject);
    procedure Button105Click(Sender: TObject);
    procedure Button106Click(Sender: TObject);
    procedure Button107Click(Sender: TObject);
    procedure Button108Click(Sender: TObject);
    procedure Button163Click(Sender: TObject);
    procedure Button165Click(Sender: TObject);
    procedure Button169Click(Sender: TObject);
    procedure Button195Click(Sender: TObject);
    procedure Button196Click(Sender: TObject);
    procedure Button197Click(Sender: TObject);
    procedure Button206Click(Sender: TObject);
    procedure Button32Click(Sender: TObject);
    procedure Button42Click(Sender: TObject);
    procedure Button30Click(Sender: TObject);
    procedure Button31Click(Sender: TObject);
    procedure Button33Click(Sender: TObject);
    procedure Button34Click(Sender: TObject);
    procedure Button35Click(Sender: TObject);
    procedure Button40Click(Sender: TObject);
    procedure Button81Click(Sender: TObject);
    procedure Button249Click(Sender: TObject);
    procedure Button272Click(Sender: TObject);



  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  TempInt: Integer;

Const

 CNPJ: String = '34261131000144';                //Preencher a variável com um CNPJ válido
 IE:  String =  '26858614';  //'0740873800250';                //Preencher a variável com uma Inscrição Estadual válida
 UF:  String =  'DF';
 CPF: string =  '80910912572';
 CEP: string = '41720050';
 CGC_Nota: String = '';           //Preencher a variável com um CNPJ válido
 IE_Nota:  String = 'ISENTO';     //Preencher a variável com uma Inscrição Estadual válida
 UF_Nota:  String = 'PE';
 CFOP:  String = '5.301';
 MUNI:  String = '2927408';
implementation

Function  Info_Versao: integer; stdcall; external 'SPEDFiscal32dll.dll';

Function Inicia_SPED(Dir_Saida, Dir_Entrada: String): integer; stdcall; external 'SPEDFiscal32dll.dll';
Procedure Finaliza_SPED; stdcall; external 'SPEDFiscal32dll.dll';


Function vCod_Leiaute(COD_VER: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vMovimento(Movimento: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCEP(cCep:String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vUF(UF: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCPF(const CPF: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCNPJ(const CGC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInscEst(Inscricao, UF: string): Boolean; stdcall; external 'SPEDFiscal32dll.dll';

Function vCod_situacao_documento_fiscal(COD_SIT: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_tipo_transporte(IND_CARG: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_emitente_titulo(IND_EMIT: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_tipo_operacao(IND_OPER: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_emitente_documento_fiscal(IND_EMIT: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_origem_processo(IND_PROC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_tipo_titulo_credito(IND_TIT: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_tipo_referencia_base(IND_MED: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_tipo_receita(IND_REC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCod_classific_item_4_4_2(COD_CLASS: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCod_modelo_documento_fiscal_4_1_1(COD_MOD: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_tipo_veiculo_transportador(IND_VEIC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_natureza_frete(IND_NAT_FRT: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_tipo_frete(IND_FRT: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';             //TODO: Funcao nova! Adequar demo!
Function vInd_tipo_transporte_carga_coletada(IND_CARG: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_tipo_servico_prestado(IND_SERV: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vInd_origem(IND_ORIG: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCOD_CFOP(COD_CFOP: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCod_Municipio(Cod_Municipio: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCOD_NCM(COD_NCM: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCOD_PAIS(COD_PAIS: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_PERFIL(IND_PERFIL: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_ATIV(IND_ATIV: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCOD_FIN(COD_FIN: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_MOV(IND_MOV: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vTIPO_ITEM(TIPO_ITEM: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll'; // todo inclui
Function vIND_OPER(IND_OPER: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_PGTO(IND_PGTO: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_PGTO_ANT(IND_PGTO: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCOD_DOC_IMP(COD_DOC_IMP: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_APUR(IND_APUR: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vTP_PROD(TP_PROD: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_ARM(IND_ARM: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_VEIC_OPER(IND_VEIC_OPER: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_FRT_RED(IND_FRT_RED: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_NAV(IND_NAV: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_TFA(IND_TFA: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_REC(IND_REC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_MOV_ST(IND_MOV_ST: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_AJ(IND_AJ: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_DOC(IND_DOC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_PROP(IND_PROP: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_DOC_Informe_tipo_documento(IND_DOC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vTP_CHC(TP_CHC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vTIPO_MEDICAO(TIPO_MEDICAO: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';

Function vIDENT_MERC(IDENT_MERC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCOD_NAT_CC(COD_NAT_CC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_CTA(IND_CTA: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vTIPO_MOV(TIPO_MOV: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCOD_DISP(COD_DISP: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vTP_LIGACAO(TP_LIGACAO: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCOD_GRUPO_TENSAO(COD_GRUPO_TENSAO: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vTP_ASSINANTE(TP_ASSINANTE: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vOPER(OPER: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_APUR_ICMS(IND_APUR_ICMS: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';

Function vCST_ICMS(CST: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCST_IPI(CST_IPI: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCST_PIS(CST_PIS: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCST_COFINS(CST_COFINS: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCOD_RESP_RET(COD_RESP_RET: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vCOD_MOT_RES(COD_MOT_RES: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';

Function vIND_DED(IND_DED: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_PROC(IND_PROC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_OBR(IND_OBR: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_PROF(IND_PROF: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_ESC(IND_ESC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';
Function vIND_SOC(IND_SOC: String): Boolean; stdcall; external 'SPEDFiscal32dll.dll';

//  bloco 0
Function Registro0000(COD_VER, COD_FIN, DT_INI, DT_FIN, NOME, CNPJ, CPF, UF, IE, COD_MUN, IM, SUFRAMA, IND_PERFIL, IND_ATIV: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0001(IND_MOV: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0005(FANTASIA, CEP, ENDERECO, NUM, COMPL, BAIRRO, FONE, FAX, EMAIL: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0015(UF_ST, IE_ST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0100(NOME, CPF, CRC, CNPJ, CEP, ENDERECO, NUM,COMPL,BAIRRO, FONE, FAX, EMAIL, COD_MUN: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0150(COD_PART, NOME, COD_PAIS, CNPJ, CPF, IE, COD_MUN, SUFRAMA, ENDERECO, NUM, COMPL,BAIRRO: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0175(DT_ALT, NR_CAMPO, CONT_ANT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0190(UNID, DESCR: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0200(COD_ITEM, DESCR_ITEM, COD_BARRA, COD_ANT_ITEM, UNID_INV, TIPO_ITEM, COD_NCM, EX_IPI, COD_GEN, COD_LST, ALIQ_ICMS, CEST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0205(DESCR_ANT_ITEM, DT_INI, DT_FIM, COD_ANT_ITEM: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0206(COD_COMB: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0210(COD_ITEM_COMP, QTD_COMP, PERDA : String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0220(UNID_CONV,FAT_CONV: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0300(COD_IND_BEM, IDENT_MERC, DESCR_ITEM, COD_PRNC, COD_CTA, NR_PARC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0305(COD_CCUS, FUNC,  VIDA_UTIL: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0400(COD_NAT, DESCR_NAT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0450(COD_INF, TXT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0460(COD_OBS, TXT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0500(DT_ALT, COD_NAT_CC, IND_CTA, NIVEL, COD_CTA, NOME_CTA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0600(DT_ALT, COD_CCUS, CCUS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro0990: Integer; stdcall; external 'SPEDFiscal32dll.dll';

// bloco b
Function RegistroB001(IND_DAD: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB020(IND_OPER, IND_EMIT, COD_PART, COD_MOD, COD_SIT, SER, NUM_DOC, CHV_NFE, DT_DOC, COD_MUN_SERV, VL_CONT, VL_MAT_TERC, VL_SUB,
                      VL_ISNT_ISS, VL_DED_BC, VL_BC_ISS, VL_BC_ISS_RT, VL_ISS_RT, VL_ISS, COD_INF_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB025(VL_CONT_P, VL_BC_ISS_P, ALIQ_ISS, VL_ISS_P, VL_ISNT_ISS_P, COD_SERV: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB030(COD_MOD, SER, NUM_DOC_INI, NUM_DOC_FIN, DT_DOC, QTD_CANC , VL_CONT, VL_ISNT_ISS, VL_BC_ISS, VL_ISS, COD_INF_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB035(VL_CONT_P, VL_BC_ISS_P, ALIQ_ISS, VL_ISS_P, VL_ISNT_ISS_P, COD_SERV: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB350(COD_CTD, CTA_ISS, CTA_COSIF, QTD_OCOR, COD_SERV, VL_CONT, VL_BC_ISS, ALIQ_ISS, VL_ISS, COD_INF_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB420(VL_CONT, VL_BC_ISS, ALIQ_ISS, VL_ISNT_ISS, VL_ISS, COD_SERV: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB440(IND_OPER, COD_PART, VL_CONT_RT, VL_BC_ISS_RT, VL_ISS_RT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB460(IND_DED, VL_DED, NUM_PROC, IND_PROC, PROC, COD_INF_OBS, IND_OBR: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB470(VL_CONT, VL_MAT_TERC, VL_MAT_PROP, VL_SUB, VL_ISNT, VL_DED_BC, VL_BC_ISS, VL_BC_ISS_RT, VL_ISS , VL_ISS_RT, VL_DED, VL_ISS_REC, VL_ISS_ST , VL_ISS_REC_UNI: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB510(IND_PROF, IND_ESC, IND_SOC, CPF, NOME: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB500(VL_REC, QTD_PROF, VL_OR: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroB990: Integer; stdcall; external 'SPEDFiscal32dll.dll';

//  bloco c
Function RegistroC001(IND_MOV: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC100_ANTES_ABR2012(IND_OPER, IND_EMIT, COD_PART, COD_MOD, COD_SIT, SER, NUM_DOC, CHV_NFE, DT_DOC, DT_E_S, VL_DOC, IND_PGTO, VL_DESC, VL_ABAT_NT, VL_MERC, IND_FRT, VL_FRT, VL_SEG, VL_OUT_DA, VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, VL_IPI, VL_PIS, VL_COFINS, VL_PIS_ST, VL_COFINS_ST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC100(IND_OPER, IND_EMIT, COD_PART, COD_MOD, COD_SIT, SER, NUM_DOC, CHV_NFE, DT_DOC, DT_E_S, VL_DOC, IND_PGTO, VL_DESC, VL_ABAT_NT, VL_MERC, IND_FRT, VL_FRT, VL_SEG, VL_OUT_DA, VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, VL_IPI, VL_PIS, VL_COFINS, VL_PIS_ST, VL_COFINS_ST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC101(VL_FCP_UF_DEST, VL_ICMS_UF_DEST, VL_ICMS_UF_REM: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC105(OPER, UF: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC110(COD_INF, TXT_COMPL: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC111(NUM_PROC, IND_PROC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC112(COD_DA, UF, NUM_DA, COD_AUT, VL_DA, DT_VCTO, DT_PGTO: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC113(IND_OPER, IND_EMIT, COD_PART, COD_MOD, SER, SUB_SER, NUM_DOC, DT_DOC, CHV_DOCe: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC114(COD_MOD, ECF_FAB, ECF_CX, NUM_DOC, DT_DOC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC115(IND_CARGA, CNPJ_COL, IE_COL, CPF_COL, COD_MUN_COL, CNPJ_ENTG, IE_ENTG, CPF_ENTG, COD_MUN_ENTG: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC116(COD_MOD, NR_SAT, CHV_CFE, NUM_CFE, DT_DOC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC120(COD_DOC_IMP, NUM_DOC__IMP, PIS_IMP, COFINS_IMP, NUM_ACDRAW: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC130(VL_SERV_NT, VL_BC_ISSQN, VL_ISSQN, VL_BC_IRRF, VL_IRRF, VL_BC_PREV, VL_PREV: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC140(IND_EMIT, IND_TIT, DESC_TIT, NUM_TIT, QTD_PARC, VL_TIT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC141(NUM_PARC, DT_VCTO, VL_PARC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC160(COD_PART, VEIC_ID, QTD_VOL, PESO_BRT, PESO_LIQ, UF_ID: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC165(COD_PART, VEIC_ID, COD_AUT, NR_PASSE, HORA, TEMPER, QTD_VOL, PESO_BRT, PESO_LIQ, NOM_MOT, CPF, UF_ID: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC170(NUM_ITEM, COD_ITEM, DESCR_COMPL, QTD, UNID, VL_ITEM, VL_DESC, IND_MOV, CST_ICMS, CFOP, COD_NAT, VL_BC_ICMS, ALIQ_ICMS, VL_ICMS, VL_BC_ICMS_ST, ALIQ_ST, VL_ICMS_ST, IND_APUR, CST_IPI, COD_ENQ, VL_BC_IPI, ALIQ_IPI, VL_IPI, CST_PIS, VL_BC_PIS, ALIQ_PIS, QUANT_BC_PIS, ALIQ_PIS_R, VL_PIS, CST_COFINS, VL_BC_COFINS, ALIQ_COFINS_PERC, QUANT_BC_COFINS, ALIQ_COFINS_R, VL_COFINS, COD_CTA, VL_ABAT_NT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC171(NUM_TANQUE, QTDE: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC172(VL_BC_ISSQN, ALIQ_ISSQN, VL_ISSQN: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC173(LOTE_MED, QTD_ITEM, DT_FAB, DT_VAL, IND_MED, TP_PROD, VL_TAB_MAX: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC174(IND_ARM, NUM_ARM, DESCR_COMPL: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC175(IND_VEIC_OPER, CNPJ, UF, CHASSI_VEIC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC176(COD_MOD_ULT_E, NUM_DOC_ULT_E, SER_ULT_E, DT_ULT_E, COD_PART_ULT_E, QUANT_ULT_E, VL_UNIT_ULT_E, VL_UNIT_BC_ST, CHAVE_NFE_ULTE, NUM_ITEM_ULT_E, VL_UNIT_BC_ICMS_ULT_E, ALIQ_ICMS_ULT_E, VL_UNIT_LIMITE_BC_ICMS_ULT_E, VL_UNIT_ICMS_ULT_E, ALIQ_ST_ULT_E, VL_UNIT_RES, COD_RESP_RET, COD_MOT_RES, CHAVE_NFE_RET, COD_PART_NFE_RET, SER_NFE_RET, NUM_NFE_RET, ITEM_NFE_RET, COD_DA, NUM_DA, VL_UNIT_RES_FCP_ST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC177(COD_SELO_IPI, QT_SELO_IPI: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC178(CL_ENQ, VL_UNID, QUANT_PAD: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC179(BC_ST_ORIG_DEST, ICMS_ST_REP, ICMS_ST_COMPL, BC_RET, ICMS_RET: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC190(CST_ICMS,CFOP,ALIQ_ICMS,VL_OPR,VL_BC_ICMS,VL_ICMS, VL_BC_ICMS_ST,VL_ICMS_ST,VL_RED_BC,VL_IPI, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC191(VL_FCP_OP, VL_FCP_ST, VL_FCP_RET: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC195(COD_OBS, TXT_COMPL: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC197(COD_AJ, DESCR_COMPL_AJ, COD_ITEM, VL_BC_ICMS, ALIQ_ICMS, VL_ICMS, VL_OUTROS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC300(COD_MOD, SER, SUB_SER, NUM_DOC_INI, NUM_DOC_FIN, DT_DOC, VL_DOC, VL_PIS, VL_COFINS, COD_CTA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC310(NUM_DOC_CANC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC320(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ICMS, VL_ICMS, VL_RED_BC, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC321(COD_ITEM, QTD, UNID, VL_ITEM, VL_DESC, VL_BC_ICMS, VL_ICMS, VL_PIS, VL_COFINS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC350(SER, SUB_SER, NUM_DOC, DT_DOC, CNPJ_CPF, VL_MERC, VL_DOC, VL_DESC, VL_PIS, VL_COFINS, COD_CTA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC370(NUM_ITEM, COD_ITEM, QTD, UNID, VL_ITEM, VL_DESC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC390(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ICMS, VL_ICMS, VL_RED_BC, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC400(COD_MOD, ECF_MOD, ECF_FAB, ECF_CX: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC405(DT_DOC, CRO, CRZ, NUM_COO_FIN, GT_FIN, VL_BRT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC410(VL_PIS, VL_COFINS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC420(COD_TOT_PAR, VLR_ACUM_TO, NR_TOT, DESCR_NR_TOT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC425(COD_ITEM,QTD,UNID,VL_ITEM,VL_PIS,VL_COFINS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC460(COD_MOD, COD_SIT, NUM_DOC, DT_DOC, VL_DOC, VL_PIS, VL_COFINS, CPF_CNPJ, NOM_ADQ: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC465(CHV_CFE, NUM_CCF: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC470(COD_ITEM, QTD, QTD_CANC, UNID, VL_ITEM, CST_ICMS, CFOP, ALIQ_ICMS, VL_PIS, VL_COFINS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC490(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ICMS, VL_ICMS, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC495(ALIQ_ICMS, COD_ITEM, QTD, QTD_CANC, UNID, VL_ITEM, VL_DESC, VL_CANC, VL_ACMO, VL_BC_ICMS, VL_ICMS, VL_ISEN, VL_NT, VL_ICMS_ST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC500(IND_OPER, IND_EMIT, COD_PART, COD_MOD, COD_SIT, SER, SUB_SER, COD_CONS, NUM_DOC, DT_DOC, DT_E_S, VL_DOC, VL_DESC, VL_FORN, VL_SERV_NT, VL_TERC, VL_DA, VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, COD_INF, VL_PIS, VL_COFINS, TP_LIGACAO, COD_GRUPO_TENSAO: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC510(NUM_ITEM, COD_ITEM, COD_CLASS, QTD, UNID, VL_ITEM, VL_DESC, CST_ICMS, CFOP, VL_BC_ICMS, ALIQ_ICMS, VL_ICMS, VL_BC_ICMS_ST, ALIQ_ST, VL_ICMS_ST, IND_REC, COD_PART, VL_PIS, VL_COFINS, COD_CTA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC590(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR , VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, VL_RED_BC, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC600(COD_MOD, COD_MUN, SER, SUB_SER, COD_CONS, QTD_CONS, QTD_CANC, DT_DOC, VL_DOC, VL_DESC, CONS, VL_FORN, VL_SERV_NT, VL_TERC, VL_DA, VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, VL_PIS, VL_COFINS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC601(NUM_DOC_CANC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC610(COD_CLASS, COD_ITEM, QTD, UNID, VL_ITEM, VL_DESC, CST_ICMS, CFOP, ALIQ_ICMS, VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, VL_PIS, VL_COFINS, COD_CTA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC690(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ICMS, VL_ICMS, VL_RED_BC, VL_BC_ICMS_ST, VL_ICMS_ST, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC700(COD_MOD, SER, NRO_ORD_INI, NRO_ORD_FIN, DT_DOC_INI, DT_DOC_FIN, NOM_MEST, CHV_COD_DIG: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC790(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, VL_RED_BC, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC791(UF, VL_BC_ICMS_ST, VL_ICMS_ST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC800(COD_MOD, COD_SIT, NUM_CFE, DT_DOC, VL_CFE, VL_PIS, VL_COFINS, CNPJ_CPF, NR_SAT, CHV_CFE, VL_DESC, VL_MERC, VL_OUT_DA, VL_ICMS, VL_PIS_ST, VL_COFINS_ST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC850(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ICMS, VL_ICMS, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC860(COD_MOD, NR_SAT, DT_DOC, DOC_INI, DOC_FIM: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC890(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ICMS, VL_ICMS, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroC990: Integer; stdcall; external 'SPEDFiscal32dll.dll';

//bloco d
Function RegistroD001(IND_MOV: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD100_ANTES_ABR2012 (IND_OPER, IND_EMIT, COD_PART, COD_MOD, COD_SIT, SER, SUB_SER, NUM_DOC, CHV_CTE, DT_DOC, DT_A_P, TP_CT_E, CHV_CTE_REF, VL_DOC, VL_DESC, IND_FRT, VL_SERV, VL_BC_ICMS, VL_ICMS, VL_NT, COD_INF, COD_CTA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD100(IND_OPER, IND_EMIT, COD_PART, COD_MOD, COD_SIT, SER, SUB_SER, NUM_DOC, CHV_CTE, DT_DOC, DT_A_P, TP_CT_E, CHV_CTE_REF, VL_DOC, VL_DESC, IND_FRT, VL_SERV, VL_BC_ICMS, VL_ICMS, VL_NT, COD_INF, COD_CTA, COD_MUN_ORIG, COD_MUN_DEST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD101(VL_FCP_UF_DEST, VL_ICMS_UF_DEST, VL_ICMS_UF_REM: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD110(NUM_ITEM, COD_ITEM, VL_SERV, VL_OUT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD120(COD_MUN_ORIG, COD_MUN_DEST, VEIC_ID, UF_ID: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD130(COD_PART_CONSG, COD_PART_RED, IND_FRT_RED, COD_MUN_ORIG, COD_MUN_DEST, VEIC_ID, VL_LIQ_FRT, VL_SEC_CAT, VL_DESP, VL_PEDG, VL_OUT, VL_FRT, UF_ID: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD140(COD_PART_CONSG, COD_MUN_ORIG, COD_MUN_DEST, IND_VEIC, VEIC_ID, IND_NAV, VIAGEM, VL_FRT_LIQ, VL_DESP_PORT, VL_DESP_CAR_DESC, VL_OUT, VL_FRT_BRT, VL_FRT_MM: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD150(COD_MUN_ORIG, COD_MUN_DEST, VEIC_ID, VIAGEM, IND_TFA, VL_PESO_TX, VL_TX_TERR, VL_TX_RED, VL_OUT, VL_TX_ADV: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD160(DESPACHO, CNPJ_CPF_REM, IE_REM, COD_MUN_ORI, CNPJ_CPF_DEST, IE_DEST, COD_MUN_DEST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD161(IND_CARGA, CNPJ_CPF_COL, IE_COL, COD_MUN_COL, CNPJ_CPF_ENTG, IE_ENTG, COD_MUN_ENTG: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD162(COD_MOD, SER, NUM_DOC, DT_DOC, VL_DOC, VL_MERC, QTD_VOL, PESO_BRT, PESO_LIQ: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD170(COD_PART_CONSG, COD_PART_RED, COD_MUN_ORIG, COD_MUN_DEST, OTM, IND_NAT_FRT, VL_LIQ_FRT, VL_GRIS, VL_PDG, VL_OUT, VL_FRT, VEIC_ID, UF_ID : String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD180(NUM_SEQ, IND_EMIT, CNPJ_CPF_EMIT , UF_EMIT, IE_EMIT , COD_MUN_ORIG, CNPJ_CPF_TOM , UF_TOM, IE_TOM, COD_MUN_DEST, COD_MOD , SER , SUB_SER , NUM_DOC , DT_DOC , VL_DOC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD190(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ICMS, VL_ICMS, VL_RED_BC, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD195(COD_OBS, TXT_COMPL: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD197(COD_AJ, DESCR_COMPL_AJ, COD_ITEM, VL_BC_ICMS, ALIQ_ICMS, VL_ICMS, VL_OUTROS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD300(COD_MOD, SER, SUB_SER, NUM_DOC_INI, NUM_DOC_FIN, CST_ICMS, CFOP, ALIQ_ICMS, DT_DOC, VL_OPR, VL_DESC, VL_SERV, VL_SEG, VL_OUT_DESP, VL_BC_ICMS, VL_ICMS, VL_RED_BC, COD_OBS, COD_CTA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD301(NUM_DOC_CANC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD310(COD_MUN_ORIG, VL_SERV, VL_BC_ICMS, VL_ICMS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD350(COD_MOD, ECF_MOD, ECF_FAB, ECF_CX: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD355(DT_DOC, CRO, CRZ, NUM_COO_FIN, GT_FIN, VL_BRT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD360(VL_PIS, VL_COFINS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD365(COD_TOT_PAR, VLR_ACUM_TOT, NR_TOT, DESCR_NR_TOT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD370(COD_MUN_ORIG, VL_SERV, QTD_BILH, VL_BC_ICMS, VL_ICMS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD390(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ISSQN, ALIQ_ISSQN, VL_ISSQN, VL_BC_ICMS, VL_ICMS, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD400(COD_PART, COD_MOD, COD_SIT, SER, SUB_SER, NUM_DOC, DT_DOC, VL_DOC, VL_DESC, VL_SERV, VL_BC_ICMS, VL_ICMS, VL_PIS, VL_COFINS, COD_CTA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD410(COD_MOD, SER, SUB_SER, NUM_DOC_INI, NUM_DOC_FIN, DT_DOC, CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_DESC, VL_SERV, VL_BC_ICMS, VL_ICMS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD411(NUM_DOC_CANC: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD420(COD_MUN_ORIG, VL_SERV, VL_BC_ICMS, VL_ICMS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD500(IND_OPER, IND_EMIT, COD_PART, COD_MOD, COD_SIT, SER, SUB_SER, NUM_DOC, DT_DOC, DT_A_P, VL_DOC, VL_DESC, VL_SERV, VL_SERV_NT, VL_TERC, VL_DA, VL_BC_ICMS, VL_ICMS, COD_INF, VL_PIS, VL_COFINS, COD_CTA, TP_ASSINANTE: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD510(NUM_ITEM, COD_ITEM, COD_CLASS, QTD, UNID, VL_ITEM, VL_DESC, CST_ICMS, CFOP, VL_BC_ICMS, ALIQ_ICMS, VL_ICMS, VL_BC_ICMS_UF, VL_ICMS_UF, IND_REC, COD_PART, VL_PIS, VL_COFINS, COD_CTA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD530(IND_SERV, DT_INI_SERV, DT_FIN_SERV, PER_FISCAL, COD_AREA, TERMINAL: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD590(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, VL_RED_BC, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD600(COD_MOD, COD_MUN, SER, SUB_SER, COD_CONS, QTD_CONS, DT_DOC, VL_DOC, VL_DESC, VL_SERV, VL_SERV_NT, VL_TERC, VL_DA, VL_BC_ICMS, VL_ICMS, VL_PIS, VL_COFINS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD610(COD_CLASS, COD_ITEM, QTD, UNID, VL_ITEM, VL_DESC, CST_ICMS, CFOP, ALIQ_ICMS, VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, VL_RED_BC, VL_PIS, VL_COFINS, COD_CTA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD690(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, VL_RED_BC, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD695(COD_MOD, SER, NRO_ORD_INI, NRO_ORD_FIN, DT_DOC_INI, DT_DOC_FIN, NOM_VOL, CHV_COD_DIG: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD696(CST_ICMS, CFOP, ALIQ_ICMS, VL_OPR, VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, VL_RED_BC, COD_OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD697(UF, VL_BC_ICMS_ST, VL_ICMS_ST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroD990: Integer; stdcall; external 'SPEDFiscal32dll.dll';

// bloco e
Function RegistroE001(IND_MOV:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE100(DT_INI, DT_FIN: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE110(VL_TOT_DEBITOS, VL_AJ_DEBITOS, VL_TOT_AJ_DEBITOS, VL_ESTORNOS_CRED, VL_TOT_CREDITOS, VL_AJ_CREDITOS, VL_TOT_AJ_CREDITOS, VL_ESTORNOS_DEB, VL_SLD_CREDOR_ANT, VL_SLD_APURADO, VL_TOT_DED, VL_ICMS_RECOLHER, VL_SLD_CREDOR_TRANSPORTAR, DEB_ESP:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE111(COD_AJ_APUR, DESCR_COMPL_AJ, VL_AJ_APUR: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE112(NUM_DA, NUM_PROC, IND_PROC, PROC, TXT_COMPL: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE113(COD_PART, COD_MOD, SER, SUB_SER, NUM_DOC, DT_DOC, COD_ITEM, VL_AJ_ITEM, CHV_DOCe: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE115(COD_INF_ADIC, VL_INF_ADIC, DESCR_COMPL_AJ: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE116(COD_OR,VL_OR,DT_VCTO,COD_REC,NUM_PROC,IND_PROC,PROC,TXT_COMPL, MES_REF:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE116_ANTES_JAN2011(COD_OR,VL_OR,DT_VCTO,COD_REC,NUM_PROC,IND_PROC,PROC,TXT_COMPL:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE200(UF, DT_INI, DT_FIN: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE210(IND_MOV_ST, VL_SLD_CRED_ANT_ST, VL_DEVOL_ST, VL_RESSARC_ST, VL_OUT_CRED_ST, VL_AJ_CREDITOS_ST, VL_RETENCAO_ST, VL_OUT_DEB_ST, VL_AJ_DEBITOS_ST, VL_SLD_DEV_ANT_ST, VL_DEDUCOES_ST, VL_ICMS_RECOL_ST, VL_SLD_CRED_ST_TRANSPORTAR, DEB_ESP_ST: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE220(COD_AJ_APUR, DESCR_COMPL_AJ, VL_AJ_APUR: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE230(NUM_DA, NUM_PROC, IND_PROC, PROC, TXT_COMPL: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE240(COD_PART, COD_MOD, SER, SUB_SER, NUM_DOC, DT_DOC, COD_ITEM, VL_AJ_ITEM, CHV_DOCe: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE250(COD_OR, VL_OR, DT_VCTO, COD_REC, NUM_PROC, IND_PROC, PROC, TXT_COMPL, MES_REF: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE250_ANTES_JAN2011(COD_OR, VL_OR, DT_VCTO, COD_REC, NUM_PROC, IND_PROC, PROC, TXT_COMPL: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE300(UF, DT_INI, DT_FIN: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE310(IND_MOV_DIFAL, VL_SLD_CRED_ANT_DIFAL, VL_TOT_DEBITOS_DIFAL , VL_OUT_DEB_DIFAL , VL_TOT_DEB_FCP , VL_TOT_CREDITOS_DIFAL,  VL_TOT_CRED_FCP , VL_OUT_CRED_DIFAL , VL_SLD_DEV_ANT_DIFAL, VL_DEDUCOES_DIFAL, VL_RECOL , VL_SLD_CRED_TRANSPORTAR, DEB_ESP_DIFAL, VL_SLD_CRED_ANT_FCP, VL_OUT_DEB_FCP, VL_OUT_CRED_FCP, VL_SLD_DEV_ANT_FCP, VL_DEDUCOES_FCP, VL_RECOL_FCP,
                      VL_SLD_CRED_TRANSPORTAR_FCP, DEB_ESP_FCP: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE311(COD_AJ_APUR, DESCR_COMPL_AJ, VL_AJ_APUR: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE312(NUM_DA, NUM_PROC , IND_PROC , PROC , TXT_COMPL: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE313(COD_PART, COD_MOD, SER, SUB, NUM_DOC , CHV_DOCe, DT_DOC, COD_ITEM , VL_AJ_ITEM:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE316(COD_OR, VL_OR, DT_VCTO, COD_REC, NUM_PROC, IND_PROC, PROC, TXT_COMPL, MES_REF:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE500(IND_APUR, DT_INI, DT_FIN: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE510(CFOP, CST_IPI, VL_CONT_IPI, VL_BC_IPI, VL_IPI:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE520(VL_SD_ANT_IPI,VL_DEB_IPI,VL_CRED_IPI,VL_OD_IPI,VL_OC_IPI,VL_SC_IPI,VL_SD_IPI:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE530(IND_AJ, VL_AJ, COD_AJ, IND_DOC, NUM_DOC, DESCR_AJ: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE531(COD_PART, COD_MOD, SER, SUB, NUM_DOC, DT_DOC, COD_ITEM, VL_AJ_ITEM, CHV_NFE: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroE990: Integer; stdcall; external 'SPEDFiscal32dll.dll';

// bloco g
Function RegistroG001(IND_MOV:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroG110(DT_INI, DT_FIN, SALDO_IN_ICMS, SOM_PARC, VL_TRIB_EXP, VL_TOTAL, IND_PER_SAI, ICMS_APROP, SOM_ICMS_OC:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroG125(COD_IND_BEM, DT_MOV, TIPO_MOV, VL_IMOB_ICMS_OP, VL_IMOB_ICMS_ST, VL_IMOB_ICMS_FRT, VL_IMOB_ICMS_DIF, NUM_PARC, VL_PARC_PASS:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroG126(DT_INI, DT_FIM, NUM_PARC, VL_PARC_PASS, VL_TRIB_OC, VL_TOTAL, IND_PER_SAI, VL_PARC_APROP: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroG130(IND_EMIT, COD_PART, COD_MOD, SERIE, NUM_DOC, CHV_NFE_CTE, DT_DOC:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroG140(NUM_ITEM, COD_ITEM: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroG990: Integer; stdcall; external 'SPEDFiscal32dll.dll';

// bloco h
Function RegistroH001(IND_MOV:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroH005(DT_INV,VL_INV,MOT_INV:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroH005_ANTES_JUL2012(DT_INV, VL_INV:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroH010(COD_ITEM, UNID, QTD, VL_UNIT, VL_ITEM, IND_PROP, COD_PART, TXT_COMP, COD_CTA, VL_ITEM_IR: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroH020(CST_ICMS, BC_ICMS, VL_ICMS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroH990: Integer; stdcall; external 'SPEDFiscal32dll.dll';

// bloco k
Function RegistroK001(IND_MOV:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK100(DT_INI, DT_FIN:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK200(DT, COD_ITEM, QTD, IND_EST, COD_PART:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK210(DT_INI_OS, DT_FIN_OS,COD_DOC_OS, COD_ITEM_ORI, QTD_ORI:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK215(COD_ITEM_DES, QTD_DES:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK220(DT_MOV, COD_ITEM_ORI, COD_ITEM_DEST, QTD_ORI, QTD_DEST:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK230(DT_INI_OP, DT_FIN_OP, COD_DOC_OP, COD_ITEM, QTD_ENC:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK235(DT_SAIDA, COD_ITEM, QTD, COD_INS_SUBST:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK250(DT_PROD, COD_ITEM, QTD:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK255(DT_CONS ,COD_ITEM ,QTD ,COD_INS_SUBST:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK260(COD_OP_OS, COD_ITEM, DT_SAIDA, QTD_SAIDA, DT_RET, QTD_RET:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK265(COD_ITEM, QTD_CONS, QTD_RET:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK270(DT_INI_AP, DT_FIN_AP, COD_OP_OS, COD_ITEM, QTD_COR_POS, QTD_COR_NEG, ORIGEM:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK275(COD_ITEM, QTD_COR_POS, QTD_COR_NEG, COD_IND_SUBST:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK280(DT_EST, COD_ITEM, QTD_COR_POS, QTD_COR_NEG, IND_EST, COD_PART:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK290(DT_INI_OP, DT_FIN_OP, COD_DOC_OP: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK291(COD_ITEM, QTD: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK292(COD_ITEM, QTD: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK300(DT_PROD: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK301(COD_ITEM, QTD: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK302(COD_ITEM, QTD: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function RegistroK990: Integer; stdcall; external 'SPEDFiscal32dll.dll';

// bloco1
Function Registro1001(IND_MOV:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1010(IND_EXP, IND_CCRF, IND_COMB, IND_USINA, IND_VA, IND_EE, IND_CART, IND_FORM, IND_AER, IND_GIAF1, IND_GIAF3, IND_GIAF4: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1100(IND_DOC, NRO_DE, DT_DE, NAT_EXP, NRO_RE, DT_RE, CHC_EMB, DT_CHC, DT_AVB, TP_CHC, PAIS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1105(COD_MOD, SERIE, NUM_DOC, CHV_NFE, DT_DOC, COD_ITEM: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1110(COD_PART, COD_MOD, SER, NUM_DOC, DT_DOC, CHV_NFE, NR_, QTD, UNID: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1200(COD_AJ_APUR, SLD_CRED, CRED_APR, CRED_RECEB, CRED_UTIL, SLD_CRED_FIM: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1210(TIPO_UTIL, NR_DOC, VL_CRED_UTIL, CHV_DOCe: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1300(COD_ITEM, DT_FECH, ESTQ_ABERT, VOL_ENTR, VOL_DISP, VOL_SAIDAS, ESTQ_ESCR, VAL_AJ_PERDA, VAL_AJ_GANHO, FECH_FISICO: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1310(NUM_TANQUE, ESTQ_ABERT, VOL_ENTR, VOL_DISP, VOL_SAIDAS, ESTQ_ESCR, VAL_AJ_PERDA, VAL_AJ_GANHO, FECH_FISICO: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1320(NUM_BICO, NR_INTERV, MOT_INTERV, NOM_INTERV, CNPJ_INTERV, CPF_INTERV, VAL_FECHA, VAL_ABERT, VOL_AFERI, VOL_VENDAS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1350(SERIE, FABRICANTE, MODELO, TIPO_MEDICAO: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1360(NUM_LACRE, DT_APLICACAO: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1370(NUM_BICO, COD_ITEM, NUM_TANQUE: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1390(COD_PROD: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1391(DT_REGISTRO, QTD_MOID, ESTQ_INI, QTD_PRODUZ, ENT_ANID_HID, OUTR_ENTR, PERDA, CONS, SAI_ANI_HID, SAIDAS, ESTQ_FIN, ESTQ_INI_MEL, PROD_DIA_MEL, UTIL_MEL, PROD_ALC_MEL, OBS: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1400(COD_ITEM, MUN, VALOR: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1500(IND_OPER, IND_EMIT, COD_PART, COD_MOD, COD_SIT, SER, SUB_SER, COD_CONS, NUM_DOC, DT_DOC, DT_E_S, VL_DOC, VL_DESC, VL_FORN, VL_SERV_NT, VL_TERC, VL_DA, VL_BC_ICMS, VL_ICMS, VL_BC_ICMS_ST, VL_ICMS_ST, COD_INF, VL_PIS, VL_COFINS, TP_LIGACAO, COD_GRUPO_TENSAO: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1510(NUM_ITEM, COD_ITEM, COD_CLASS, QTD, UNID, VL_ITEM, VL_DESC, CST_ICMS, CFOP, VL_BC_ICMS, ALIQ_ICMS, VL_ICMS, VL_BC_ICMS_ST, ALIQ_ST, VL_ICMS_ST, IND_REC, COD_PART, VL_PIS, VL_COFINS, COD_CTA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1600(COD_PART, TOT_CREDITO, TOT_DEBITO: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1700(COD_DISP, COD_MOD, SER, SUB_SER, NUM_DOC_INI, NUM_DOC_FIN, NUM_AUT: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1710(NUM_DOC_INI, NUM_DOC_FIN: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1800(VL_CARGA, VL_PASS, VL_FAT, IND_RAT, VL_ICMS_ANT, VL_BC_ICMS, VL_ICMS_APUR, VL_BC_ICMS_APUR, VL_DIF: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1900(IND_APUR_ICMS, DESCR_COMPL_OUT_APUR: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1910(DT_INI, DT_FIN: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1920(VL_TOT_TRANSF_DEBITOS_OA, VL_TOT_AJ_DEBITOS_OA, VL_ESTORNOS_CRED_OA, VL_TOT_TRANSF_CREDITOS_OA, VL_TOT_AJ_CREDITOS_OA, VL_ESTORNOS_DEB_OA, VL_SLD_CREDOR_ANT_OA, VL_SLD_APURADO_OA, VL_TOT_DED, VL_ICMS_RECOLHER_OA, VL_SLD_CREDOR_TRANSP_OA, DEB_ESP_OA: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1921(COD_AJ_APUR, DESCR_COMPL_AJ, VL_AJ_APUR: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1922(NUM_DA, NUM_PROC, IND_PROC, PROC, TXT_COMPL: String): Integer; stdcall;  external 'SPEDFiscal32dll.dll';
Function Registro1923(COD_PART, COD_MOD, SER, SUB_SER, NUM_DOC, DT_DOC, COD_ITEM, VL_AJ_ITEM, CHV_DOCe: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1925(COD_INF_ADIC, VL_INF_ADIC, DESCR_COMPL_AJ: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1926(COD_OR, VL_OR, DT_VCTO, COD_REC, NUM_PROC, IND_PROC, PROC, TXT_COMPL, MES_REF: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1960(IND_AP, G1_01, G1_02, G1_03, G1_04, G1_05, G1_06, G1_07, G1_08, G1_09, G1_10, G1_11: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1970(IND_AP, G3_01, G3_02, G3_03, G3_04, G3_05, G3_06, G3_07, G3_T , G3_08, G3_09: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1975(ALIQ_IMP_BASE, G3_10, G3_11, G3_12: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1980(IND_AP, G4_01, G4_02, G4_03, G4_04, G4_05, G4_06, G4_07, G4_08, G4_09, G4_10, G4_11, G4_12: String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro1990: Integer; stdcall; external 'SPEDFiscal32dll.dll';

// bloco 9
Function Registro9001(IND_MOV:String): Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro9900: Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro9990: Integer; stdcall; external 'SPEDFiscal32dll.dll';
Function Registro9999: Integer; stdcall; external 'SPEDFiscal32dll.dll';


{$R *.dfm}

procedure TForm1.Trata_SPED_Int(sender: tobject; retorno: integer);
begin
 if retorno = -1 then
  showmessage('Erro na chamada do ' + tbutton(sender).Caption + ', verifique o erro em ' + edit1.text)
 else if retorno = 0 then
  //showmessage('Registro OK, verifique o registro no arquivo de saída em ' + edit1.text)
 else
  showmessage('Retorno desconhecido');
end;


procedure TForm1.Button1Click(Sender: TObject);
var
 TempInt: integer;
begin
// Registro0001 - ABERTURA DO ARQUIVO DIGITAL E IDENTIFICAÇÃO DO CONTRIBUINTE
TempInt := Registro0001('0'                          //Indicador de movimento
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0005 - DADOS COMPLEMENTARES DO CONTRIBUINTE
try
 TempInt := Registro0005('Nome de fantasia',        //Nome de fantasia associado:
                         '41720-400',               //Código de Endereçamento Postal:
                         'Logradouro',              //Logradouro e endereço do imóvel:
                         '236',                     //Número do imóvel:
                         'Complemento',             //Dados complementares do endereço:
                         'Bairro',                  //Bairro em que o imóvel está situado:
                         '7133711818',              //Número do telefone:
                         '7133711818',              //Número do fax:
                         'tks@igara.com.br'         //Endereço do correio eletrônico:
                         );

 Trata_SPED_Int(sender, TempInt);
except
 showmessage('erro');
 end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroC140 - ESCRITURAÇÃO CENTRALIZADA
TempInt := RegistroC140('1',               //Indicador do emitente do título
                        '99',              //Indicador do tipo de título de crédito:
                        '01',              //Descrição complementar do título de crédito
                        '02',              //Número ou código identificador do título de crédito
                        '03',              //Quantidade de parcelas a receber/pagar
                        '04'               //Valor original do título de crédito
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button18Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0015 - DADOS DO CONTRIBUINTE SUBSTITUTO
TempInt := Registro0015(UF,   //Sigla da unidade da federação
                        IE    //Inscrição Estadual
                        );



 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button15Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0100 - DADOS DO CONTABILISTA
TempInt := Registro0100('Nome do contabilista',    //Nome do contabilista/escritório:
                        CPF,                       //Número de inscrição no CPF:
                        '12345',                   //Número de inscrição no Conselho Regional:
                        '',                        //CNPJ do escritório de contabilidade, se houver:
                        '22222222',                //Código de Endereçamento Postal:
                        'Logradouro',              //Logradouro e endereço do imóvel:
                        '236',                     //Número do imóvel:
                        'Complemento',             //Dados complementares do endereço:
                        'Bairro',                  //Bairro em que o imóvel está situado:
                        '7144600000',              //Número do telefone:
                        '7112345679',              //Número do fax:
                        'tks@igara.com.br',        //Endereço do correio eletrônico:
                        '2927408'                  //Código do município, conforme tabela IBGE:
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button4Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroC610 - DADOS DO TÉCNICO/EMPRESA
TempInt := RegistroC610('19',     // Código de classificação do item de energia elétrica, conforme Tabela 4.4.1
                        '01',     // Código do item (campo 02 do Registro 0200)
                        '02',     // Quantidade acumulada do item
                        '03',     // Unidade do item  (Campo 02 do registro 0190)
                        '04',     // Valor acumulado do item
                        '05',     // Valor acumulado dos descontos
                        '06',     // Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                        CFOP,     // Código Fiscal de Operação e Prestação conforme tabela indicada no item 4.2.2
                        '08',     // Alíquota do ICMS
                        '09',     // Valor acumulado da base de cálculo do ICMS
                        '10',     // Valor acumulado do ICMS debitado
                        '11',     // Valor da base de cálculo do ICMS substituição tributária
                        '12',     // Valor do ICMS retido por substituição tributária
                        '13',     // Valor do PIS
                        '14',     // Valor da COFINS
                        '15'      // Código da conta analítica contábil debitada/creditada
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button8Click(Sender: TObject);
var
 TempInt: Integer;
begin                                              
//Registro0150 - TABELA DE CADASTRO DO PARTICIPANTE
TempInt := Registro0150('123456',                //Código de identificação do participante:
                        '321',                   //Nome pessoal ou empresarial:
                        '4901',                  //Código do país do participante:
                        '',                      //CNPJ do participante:
                        '',                      //CPF do participante na unidade da federação do destinatário:
                        '',                      //Inscrição Estadual do participante:
                        '',                      //Código do município:
                        '',                      //Número de inscrição na Suframa:
                        'Logradouro',            //Logradouro e endereço do imóvel:
                        '123',                   //Número do imóvel:
                        'Complemento',           //Dados complementares do endereço:
                        'Bairro'                 //Bairro em que o imóvel está situado:
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button25Click(Sender: TObject);
var
 TempInt: Integer;

begin
// Registro0175 - ENDEREÇO DO PARTICIPANTE
TempInt := Registro0175('08/04/2009',                //Data de alteração do cadastro:
                        '10',                        //Número do campo alterado (Somente campos 03 a 13):
                        'Logradouro'                 //Conteúdo anterior do campo:
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button9Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0200 - TABELA DE IDENTIFICAÇÃO DO ITEM
TempInt := Registro0200('12345',                   //Código do item:
                        '02',                       //Descrição do item:
                        '010107',                   //Código de barra do produto, se houver:
                        '1234',                     //Código anterior do item (ultima apresentado):
                        '123456',                   //Unidade de medida do estoque:
                        '00',                       //Tipo Item - Ativ. Ind, Com e Serviços:
                        '5',                        //Código da Nomenclatura Comum do Mercosul:
                        '6',                        //Código EX, conforme a TIPI:
                        '',                         //Código gênero item, tabela indicada item 4.2.1:
                        '00.00',                    //Código serviço Anexo I - Lei nº116/03:
                        '9',                       //Alíquota ICMS aplicável (operações internas):
                        '1234567'                  //Código Especificador da Substituição Tributária 
                        );

   Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button10Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0205 - ALTERAÇÃO DO ITEM
TempInt := Registro0205('Descricao',                    //Descrição anterior do item
                        '18/11/2008',                     //Data inicial de utilização do código
                        '19/11/2008',                     //Data final de utilização do código
                        '123'                           //Código anterior do item com relação à última informação apresentada
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button19Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0210 - MERCADORIA COMPONENTE/RELAÇÃO INSUMO/PRODUTO

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button12Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0400 - TABELA DE NATUREZA DA OPERAÇÃO/PRESTAÇÃO
TempInt := Registro0400('1234567890',       //Código da natureza
                        '01'                //Descrição da natureza
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button13Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0450 - TABELA DE INFORMAÇÃO COMPLEMENTAR/OBSERVAÇÃO
TempInt := Registro0450('ab',                   //Código da informação complementar do documento fiscal
                        'abc'                   //Texto livre
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button14Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroC120 - OPERAÇÕES DE IMPORTAÇÃO (CÓDIGO 01)

TempInt := RegistroC120('0',              //Documento de importação:
                        '02',             //Número do documento de Importação.
                        '03',             //Valor pago de PIS na importação
                        '04',             //Valor pago de COFINS na importação
                        '05'              //Número do Ato Concessório do regime Drawback
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button16Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0460 - DOCUMENTO DE ARRECADAÇÃO REFERENCIADO
TempInt := Registro0460('123',                  //Código da Observação do lançamento fiscal:
                        '456'                   //Descrição da observação vinculada ao lançamento  fiscal:
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button23Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0990 - ENCERRAMENTO DO BLOCO 0
TempInt := Registro0990;
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button24Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroC001 - ABERTURA DO BLOCO C
TempInt := RegistroC001('0'                           //Indicador de movimento
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button20Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroC141 - PIS/COFINS
TempInt := RegistroC141('02',                //Número da parcela a receber/pagar
                        '18/11/2010',        //Data de vencimento da parcela
                        '1'                  //Valor da parcela a receber/pagar
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button22Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroC161 - ISS
TempInt := RegistroD161('0',         //Indicador do tipo de transporte da carga coletada:
                        CNPJ,        //Número do CNPJ do contribuinte do local de coleta
                        IE,          //Inscrição Estadual do contribuinte do local de coleta
                        '1100205',   //Código do Município do local de coleta, conforme tabela IBGE
                        CNPJ,        //Número do CNPJ do contribuinte do local de entrega
                        IE,          //Inscrição Estadual do contribuinte do local de entrega
                        '1100205'    //Código do Município do local de entrega, conforme tabela IBGE
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button26Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroC100 - FATURA (CÓDIGO 01)
TempInt := RegistroC100('1',                          // Indicador do tipo de operação:
                        '0',                          // Indicador do emitente do documento fiscal:
                        '2',                          // Código do participante (campo 02 do Registro 0150):
                        '01',                         // Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                        '05',                         // Código da situação do documento fiscal, conforme a Tabela 4.1.2
                        '1',                          // Série do documento fiscal
                        '1',                          // Número do documento fiscal
                        '',                           // Chave da Nota Fiscal Eletrônica
                        '',                           // Data da emissão do documento fiscal
                        '',                           // Data da entrada ou da saída
                        '',                           // Valor total do documento fiscal
                        '0',                           // Indicador do tipo de pagamento:
                        '',                           // Valor total do desconto
                        '',                           // Abatimento não tributado e não comercial Ex. desconto ICMS nas remessas para ZFM:
                        '',                           // Valor das mercadorias constantes no documento fiscal
                        '0',                           // Indicador do tipo do frete:
                        '',                           // Valor do frete indicado no documento fiscal
                        '',                           // Valor do seguro indicado no documento fiscal
                        '',                           // Valor de outras despesas acessórias
                        '',                           // Valor da base de cálculo do ICMS
                        '',                           // Valor do ICMS
                        '',                           // Valor da base de cálculo do ICMS substituição tributária
                        '',                           // Valor do ICMS retido por substituição tributária
                        '00',                           // Valor total do IPI
                        '00',                           // Valor total do PIS
                        '00',                           // Valor total da COFINS
                        '00',                           // Valor total do PIS retido por substituição tributária
                        '00'                            // Valor total da COFINS retido por substituição tributária
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button27Click(Sender: TObject);
var
 TempInt: Integer;
begin

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button28Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroC130 - VOLUMES TRANSPORTADOS (CÓDIGO 01 E CÓDIGO 04)
TempInt := RegistroC130('01',                        //Valor dos serviços sob não-incidência ou não-tributados pelo ICMS
                        '02',                        //Valor da base de cálculo do ISSQN
                        '03',                        //Valor do ISSQN
                        '04',                        //Valor da base de cálculo do Imposto de Renda Retido na Fonte
                        '05',                        //Valor do Imposto de Renda - Retido na Fonte
                        '06',                        //Valor da base de cálculo de retenção da Previdência Social
                        '07'                         //Valor destacado para retenção da Previdência Social
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button41Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO C300: RESUMO DIÁRIO DAS NOTAS FISCAIS DE VENDA A CONSUMIDOR (CÓDIGO 02)
 
 TempInt := RegistroC300(
                         '08',                     //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1 
                         '',                       //  Série do documento fiscal
                         '',                       //  Subsérie do documento fiscal
                         '',                       //  Número do documento fiscal inicial
                         '',                       //  Número do documento fiscal final
                         '24/07/2008',             //  Data da emissão dos documentos fiscais
                         '',                       //  Valor total dos documentos
                         '',                       //  Valor total do PIS
                         '',                       //  Valor total da COFINS
                         ''                        //  Código da conta analítica contábil debitada/creditada
);
 
 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button47Click(Sender: TObject);
var
 TempInt: Integer;
begin
//COMPLEMENTO DO CONHECIMENTO MULTIMODAL DE CARGAS (CÓDIGO 26)
 
 TempInt := RegistroD170('01',               //  Código do participante (campo 02 do Registro 0150): - consignatário, se houver
                         '02',               //  Código do participante (campo 02 do Registro 0150): - redespachante, se houver
                         '1100205',          //  Código do município de origem do serviço, conforme a tabela IBGE
                         '03',               //  Código do município de destino, conforme a tabela IBGE
                         '04',               //  Registro do operador de transporte multimodal
                         '1',                //  Indicador da natureza do frete:
                         '05',               //  Valor líquido do frete
                         '06',               //  Valor do gris (gerenciamento de risco):
                         '07',               //  Somatório dos valores de pedágio:
                         '08',               //  Outros valores:
                         '09',               //  Valor total do frete:
                         '1234',             //  Placa de identificação do veículo:
                         UF                  //  Sigla da UF da placa do veículo:
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button49Click(Sender: TObject);
var
 TempInt: integer;
begin

//DOCUMENTOS CANCELADOS DE NOTAS FISCAIS DE VENDA A CONSUMIDOR (CÓDIGO 02)
 
 TempInt := RegistroC310(
                         ''                        //Número do documento fiscal cancelado
);
 
 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button56Click(Sender: TObject);
var
 TempInt: Integer;
begin
//RegistroC190 - REGISTRO ANALÍTICO DO DOCUMENTO (CÓDIGO 01, 1B, 04 E 55)

TempInt := RegistroC190('300',                  // Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                        '1100',                 // Código Fiscal de Operação e Prestação do agrupamento de itens
                        '',                     // Alíquota do ICMS
                        '00',                   // Valor operação correspondente combinação de CST_ICMS, CFOP, e alíquota do ICMS, + despesas acessórias (frete, seguros etc) e IPI
                        '00',                   // Parcela "Valor da base de cálculo do ICMS" referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                        '00',                   // Parcela "Valor do ICMS" referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                        '00',                   // Parcela "Valor da base de cálculo do ICMS" da substituição tributária referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                        '00',                   // Parcela valor creditado/debitado do ICMS da substituição tributária, referente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                        '00',                   // Valor não tributado em função da redução da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                        '00',                   // Parcela correspondente ao "Valor do IPI" referente à combinação CST_ICMS, CFOP e alíquota do ICMS.
                        ''                      // Código da observação do lançamento fiscal (campo 02 do Registro 0460)
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button57Click(Sender: TObject);
var
 TempInt: integer;
Begin
//REGISTRO ANALÍTICO DO RESUMO DIÁRIO DAS NOTAS FISCAIS DE VENDA A CONSUMIDOR (CÓDIGO 02)

 TempInt := RegistroC320('123',                    //  Código   da   Situação   Tributária,   conforme   a Tabela indicada no item 4.3.1
                         CFOP,                     //  Código Fiscal de Operação e Prestação
                         '123456',                 //  Alíquota do ICMS
                         '01',                     //  Valor total acumulado das operações correspondentes à combinação   de  CST_ICMS, CFOP e alíquota do ICMS, incluídas as despesas acessórias e acréscimos.
                         '02',                     //  Valor acumulado da base de cálculo do  ICMS, referente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                         '03',                     //  Valor acumulado do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '04',                     //  Valor não tributado em  função da redução da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                         '123456'                  //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
                         );
 
 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button58Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroE116 - OPERAÇÕES COM VEÍCULOS NOVOS (CÓDIGO 01)
TempInt := RegistroE116('000',                 // Código da obrigação a recolher, conforme a Tabela 5.4
                        '01',                  // Valor da obrigação a recolher
                        '18/11/2008',          // Data de vencimento da obrigação
                        '02',                  // Código de receita referente à obrigação, próprio da unidade da federação, conforme legislação estadual,
                        '03',                  // Número do processo ou auto de infração ao qual a obrigação está vinculada, se houver.
                        '',                    // Indicador da origem do processo:
                        'Descricao',           // Descrição resumida do processo que embasou o lançamento
                        'Descricao',           // Descrição complementar das obrigações a recolher.
                        '02/2002'              // Informe o mês de referência no formato “mmaaaa”  //Campo será incluído no registro a partir do período de apuração de Janeiro de 2011
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button59Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro1001 - ABERTURA DO BLOCO 1
TempInt := Registro1001('1'              // Indicador de movimento:
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button60Click(Sender: TObject);
var
 TempInt: Integer;
begin
//EQUIPAMENTO ECF (CÓDIGO 02 e 2D)

 TempInt := RegistroC400('02',                     //  Código   do   modelo   do   documento   fiscal, conforme a Tabela 4.1.1
                         '1234',                   //  Modelo do equipamento
                         '4321',                   //  Número de série de fabricação do ECF
                         '022'                     //  Número do caixa atribuído ao ECF
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button61Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REDUÇÃO Z (CÓDIGO 02 e 2D)
 
 TempInt := RegistroC405('18/11/2008',             //  Data do movimento a que se refere a Redução Z
                         '01',                     //  Posição do Contador de Reinício de Operação
                         '02',                     //  Posição do Contador de Redução Z
                         '03',                     //  Número do Contador de Ordem de Operação do último documento emitido no dia. (Número do COO na Redução Z)
                         '04',                     //  Valor do Grande Total final
                         '05'                      //  Valor da venda bruta
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button62Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO DOS TOTALIZADORES PARCIAIS DA REDUÇÃO Z (COD 02 e 2D)
 
 TempInt := RegistroC420('S0500',                   //  Código do totalizador, conforme Tabela 4.4.6
                         '02',                   //  Valor acumulado no totalizador, relativo à respectiva Redução Z.
                         '03',                   //  Número do totalizador quando ocorrer mais de uma situação com a mesma carga tributária efetiva.
                         '04'                    //  Descrição da situação tributária relativa ao totalizador parcial, quando houver mais de um com a mesma carga tributária efetiva.
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button63Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroC425 - ITENS DO RESUMO DIÁRIO DOS DOCUMENTOS (CÓDIGO 02)
TempInt := RegistroC425('1234',     //Código do item (campo 02 do Registro 0200)
                        '1234',     //Quantidade acumulada do item
                        '1234',     //Unidade do item
                        '1234',     //Valor acumulado do item
                        '1234',     //Valor do PIS
                        '1234'      //Valor da COFINS
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button66Click(Sender: TObject);
var
 TempInt: integer;
begin
//PROCESSO REFERENCIADO

 TempInt := RegistroC111('01',                       //  Identificação do processo ou ato concessório
                         '0'                         //  Indicador da origem do processo:
                          );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button65Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro1990 - ENCERRAMENTO DO BLOCO 1
TempInt := Registro1990;
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button67Click(Sender: TObject);
var
 TempInt: Integer;
begin
//DOCUMENTO FISCAL EMITIDO POR ECF (CÓDIGO 02 e 2D)

 TempInt := RegistroC460('01',                   //  Código   do   modelo   do   documento   fiscal, conforme a Tabela 4.1.1
                         '02',                   //  Código   da   situação   do   documento   fiscal, conforme a Tabela 4.1.2
                         '03',                   //  Número do documento fiscal (COO)
                         '18/06/2010',           //  Data da emissão do documento fiscal
                         '04',                   //  Valor total do documento fiscal
                         '05',                   //  Valor do PIS
                         '06',                   //  Valor da COFINS
                         CNPJ,                   //  CPF ou CNPJ do adquirente
                         '07'                    //  Nome do adquirente
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button68Click(Sender: TObject);
var
 TempInt: integer;
begin

//DOCUMENTO DE ARRECADAÇÃO REFERENCIADO

 TempInt := RegistroC112('0',                      //  Código do modelo do documento de arrecadação :
                         UF,                       //  Unidade federada beneficiária do recolhimento
                         '01',                     //  Número do documento de arrecadação
                         '02',                     //  Código completo da autenticação bancária
                         '03',                     //  Valor do total do documento de arrecadação (principal, atualização monetária, juros e multa)
                         '18/11/2008',             //  Data de vencimento do documento de arrecadação
                         '18/11/2008'              //  Data de pagamento do documento de arrecadação, ou data do vencimento, no caso de ICMS antecipado a recolher.
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button69Click(Sender: TObject);
var
 TempInt: Integer;
begin
//ITENS DO DOCUMENTO FISCAL EMITIDO POR ECF (CÓDIGO 02 e 2D)
 
 TempInt := RegistroC470('01',                 //  Código do item (campo 02 do Registro 0200)
                         '02',                 //  Quantidade do item
                         '03',                 //  Quantidade cancelada,  no caso de cancelamento parcial de item
                         '04',                 //  Unidade do item (Campo 02 do registro 0190)
                         '05',                 //  Valor total do item
                         '06',                 //  Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1.
                         CFOP,                 //  Código Fiscal de Operação e Prestação
                         '07',                 //  Alíquota do ICMS - Carga tributária efetiva em percentual
                         '08',                 //  Valor do PIS
                         '09'                  //  Valor da COFINS
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button70Click(Sender: TObject);
var
 TempInt: Integer;
begin
//NOTA FISCAL/CONTA DE ENERGIA ELÉTRICA (CÓDIGO   06) E NOTA FISCAL CONSUMO FORNECIMENTO DE GÁS (CÓDIGO 28)

 TempInt := RegistroC500('0',               //  Indicador do tipo de operação: 0- Entrada; 1- Saída
                         '1',               //  Indicador do emitente do documento fiscal: 0- Emissão própria; 1- Terceiros
                         '03',              //  Código do participante (campo 02 do Registro 0150): - do adquirente, no caso das saídas; - do fornecedor no caso de entradas
                         '29',              //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '04',              //  Código   da   situação   do   documento   fiscal, conforme a Tabela 4.1.2
                         '05',              //  Série do documento fiscal
                         '06',              //  Subsérie do documento fiscal
                         '01',              //  Código de classe de consumo de energia elétrica, conforme a Tabela 4.4.5 ou Código da classe de consumo   de   gás   canalizado   conforme   Tabela 4.4.3.
                         '07',              //  Número do documento fiscal
                         '18/11/2008',      //  Data da emissão do documento fiscal
                         '19/11/2008',      //  Data da entrada ou da saída
                         '08',              //  Valor total do documento fiscal
                         '09',              //  Valor total do desconto
                         '10',              //  Valor total fornecido/consumido
                         '11',              //  Valor total dos serviços não-tributados pelo ICMS
                         '12',              //  Valor total cobrado em nome de terceiros
                         '13',              //  Valor total de despesas acessórias indicadas no documento fiscal
                         '14',              //  Valor acumulado da base de cálculo do ICMS
                         '15',              //  Valor acumulado do ICMS
                         '16',              //  Valor acumulado da base de cálculo do ICMS substituição tributária
                         '17',              //  Valor acumulado do ICMS retido por substituição tributária
                         '18',              //  Código da informação complementar do documento fiscal (campo 02 do Registro 0450)
                         '19',              //  Valor do PIS
                         '20',              //  Valor da COFINS
                         '',                //  Código de tipo de Ligação
                         ''                 //  Código de grupo de tensão
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button71Click(Sender: TObject);
var
 TempInt: Integer;
begin
//Registro C510: ITENS DO DOCUMENTO NOTA FISCAL/CONTA ENERGIA ELÉTRICA (CÓDIGO 06) E NOTA FISCAL/CONTA DE FORNECIMENTO DE GÁS (CÓDIGO 28) E NOTA FISCAL/CONTA DE FORNECIMENTO D'ÁGUA CANALIZADA (CÓDIGO 29).

 TempInt := RegistroC510('01',                     //  Número seqüencial do item no documento fiscal
                         '02',                     //  Código do item (campo 02 do Registro 0200)
                         '2207',                   //  Código   de   classificação   do   item   de   energia elétrica, conforme a Tabela 4.4.1
                         '03',                     //  Quantidade do item
                         '04',                     //  Unidade do item (Campo 02 do registro 0190)
                         '05',                     //  Valor do item
                         '06',                     //  Valor total do desconto
                         '07',                     //  Código   da   Situação   Tributária,   conforme   a Tabela indicada no item 4.3.1
                         CFOP,                     //  Código Fiscal de Operação e Prestação
                         '08',                     //  Valor da base de cálculo do ICMS
                         '09',                     //  Alíquota do ICMS
                         '10',                     //  Valor do ICMS creditado/debitado
                         '11',                     //  Valor da base de cálculo referente à substituição tributária
                         '12',                     //  Alíquota do  ICMS da substituição  tributária na unidade da federação de destino
                         '13',                     //  Valor do ICMS referente à substituição tributária
                         '0',                      //  Indicador do tipo de receita:0- Receita própria;1- Receita de terceiros
                         '15',                     //  Código   do   participante   receptor   da   receita, terceiro   da   operação   (campo   02   do   Registro 0150)
                         '16',                     //  Valor do PIS
                         '17',                     //  Valor da COFINS
                         '18'                      //  Código da conta analítica contábil debitada/creditada
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button72Click(Sender: TObject);
var
 TempInt: integer;
begin

//ARMAZENAMENTO DE COMBUSTIVEIS (código 01, 55)

 TempInt := RegistroC171('01',                       //  Tanque onde foi armazenado o combustível
                         '02'                        //  Quantidade ou volume armazenado
                          );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button73Click(Sender: TObject);
var
 TempInt: integer;
begin

//OPERAÇÕES COM ISSQN (CÓDIGO 01)

 TempInt := RegistroC172('123',                       //  Valor da base de cálculo do ISSQN
                         '456',                       //  Alíquota do ISSQN
                         '789'                        //  Valor do ISSQN
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button74Click(Sender: TObject);
var
 TempInt: integer;
begin

//OPERAÇÕES COM MEDICAMENTOS (CÓDIGO 01, 55)

 TempInt := RegistroC173('123',                       //  Número do lote de fabricação do medicamento
                         '456',                       //  Quantidade de item por lote
                         '18/11/2008',                //  Data de fabricação do medicamento
                         '18/11/2008',                //  Data de expiração da validade do medicamento
                         '3',                         //  Indicador de tipo de referência da base de cálculo do ICMS (ST) do produto farmacêutico:
                         '1',                         //  Tipo de produto:
                         '789'                        //  Valor do preço tabelado ou valor do preço máximo
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button75Click(Sender: TObject);
var
 TempInt: integer;
begin

//OPERAÇÕES COM ARMAS DE FOGO (CÓDIGO 01)

 TempInt := RegistroC174('0',                        //  Indicador do tipo da arma de fogo:
                         '123',                      //  Numeração de série de fabricação da arma
                         '456'                       //  Descrição da arma, compreendendo: número do cano, calibre, marca, capacidade de cartuchos, tipo de funcionamento, quantidade de canos, comprimento, tipo de alma, quantidade e sentido das raias e demais elementos que permitam sua perfeita identificação
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button76Click(Sender: TObject);
var
 TempInt: Integer;
begin
//Registro C590: REGISTRO ANALÍTICO DO DOCUMENTO - NOTA FISCAL/CONTA DE ENERGIA ELÉTRICA  (CÓDIGO 06), NOTA FISCAL CONSUMO FORNECIMENTO DE GÁS (CÓDIGO 28) E NOTA FISCAL/CONTA DE FORNECIMENTO D'ÁGUA CANALIZADA (CÓDIGO 29).

 TempInt := RegistroC590('01',              //  Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1.
                         CFOP,              //  Código Fiscal de Operação e Prestação do agrupamento de itens
                         '02',              //  Alíquota do ICMS
                         '03',              //  Valor  da operação correspondente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                         '04',              //  Parcela   correspondente   ao   "Valor   da   base   de cálculo   do   ICMS"   referente   à   combinação   de CST_ICMS, CFOP e alíquota do ICMS.
                         '05',              //  Parcela   correspondente   ao   "Valor   do   ICMS" referente à combinação de CST_ICMS,  CFOP e alíquota do ICMS.
                         '06',              //  Parcela   correspondente   ao   "Valor   da   base   de cálculo   do   ICMS"   da   substituição   tributária referente à combinação de CST_ICMS,  CFOP e alíquota do ICMS.
                         '07',              //  Parcela   correspondente   ao   valor creditado/debitado   do   ICMS   da   substituição tributária, referente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                         '08',              //  Valor não tributado em função da redução da base de cálculo do  ICMS,   referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '09'               //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button77Click(Sender: TObject);
var
 TempInt: Integer;
begin
//CONSOLIDAÇÃO DIÁRIA DE NOTAS FISCAIS/CONTAS DE   ENERGIA   ELÉTRICA   (CÓDIGO   06),   NOTA   FISCAL/CONTA   DE FORNECIMENTO   D'ÁGUA  CANALIZADA  (CÓDIGO   29)   E   NOTA FISCAL/CONTA DE FORNECIMENTO DE GÁS  (CÓDIGO 28)   (EMPRESAS NÃO OBRIGADAS AO CONVÊNIO ICMS 115/03)

 TempInt := RegistroC600('01',                       //  Código   do   modelo   do   documento   fiscal, conforme a Tabela 4.1.1
                         '02',                       //  Código   do município  dos  pontos   de   consumo, conforme a tabela IBGE
                         '03',                       //  Série do documento fiscal
                         '04',                       //  Subsérie do documento fiscal
                         '05',                       //  Código de classe de consumo de energia elétrica, conforme a Tabela 4.4.5, ou Código de Consumo de   Fornecimento   D´água   -   Tabela   4.4.2   ou Código da classe de consumo de gás canalizado conforme Tabela 4.4.3.
                         '06',                       //  Quantidade   de   documentos   consolidados   neste registro
                         '07',                       //  Quantidade de documentos cancelados
                         '18/11/2008',               //  Data dos documentos consolidados
                         '08',                       //  Valor total dos documentos
                         '09',                       //  Valor acumulado dos descontos
                         '10',                       //  Consumo total acumulado, em kWh (Código 06)
                         '11',                       //  Valor acumulado do fornecimento
                         '12',                       //  Valor   acumulado   dos   serviços   não-tributados pelo ICMS
                         '13',                       //  Valores cobrados em nome de terceiros
                         '14',                       //  Valor acumulado das despesas acessórias
                         '15',                       //  Valor acumulado da base de cálculo do ICMS
                         '16',                       //  Valor acumulado do ICMS
                         '17',                       //  Valor   acumulado da base de  cálculo do  ICMS substituição tributária
                         '18',                       //  Valor   acumulado   do   ICMS   retido   por substituição tributária
                         '19',                       //  Valor acumulado do PIS
                         '20'                        //  Valor acumulado COFINS
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button79Click(Sender: TObject);
var
 TempInt: integer;
begin

//OPERAÇÕES COM VEÍCULOS NOVOS (CÓDIGO 01, 55)

 TempInt := RegistroC175('0',                        //  Indicador do tipo de operação com veículo:
                         CNPJ,                       //  CNPJ da Concessionária
                         UF,                         //  Sigla da unidade da federação da Concessionária
                         '123'                       //  Chassi do veículo
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button80Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroC990 - ENCERRAMENTO DO BLOCO C
TempInt := RegistroC990;
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button5Click(Sender: TObject);
var
 TempInt: Integer;
begin
 // RegistroD001 - ABERTURA DO BLOCO D
 TempInt := RegistroD001('1'             //Indicador de movimento
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
 self.Close;
end;

//procedure TForm1.Button29Click(Sender: TObject);
//begin
  //if vConvenio('2') then
   //Application.MessageBox('Código do Convenio Válido','vConvenio',mb_OK)
  //else
   //Application.MessageBox('Código do Convenio Inválido','vConvenio',mb_OK);
//end;

procedure TForm1.Button44Click(Sender: TObject);
begin
  if vCEP('41720020') then
   Application.MessageBox('Integridade de CEP Válido','Verifica_CEP',mb_OK)
  else
   Application.MessageBox('Integridade de CEP Inválido','Verifica_CEP',mb_OK);
end;

procedure TForm1.Button37Click(Sender: TObject);
begin
  if vUF(UF) then
   Application.MessageBox('Integridade de UF Válido','Verifica_UF',mb_OK)
  else
   Application.MessageBox('Integridade de UF Inválido','Verifica_UF',mb_OK);

end;

procedure TForm1.Button38Click(Sender: TObject);
begin
  if vCNPJ(CNPJ) then
   Application.MessageBox('Integridade de CNPJ Válido','Verifica_CNPJ',mb_OK)
  else
   Application.MessageBox('Integridade de CNPJ Inválido','Verifica_CNPJ',mb_OK);
end;

procedure TForm1.Button39Click(Sender: TObject);
begin
  if vCPF('39228878568') then
   Application.MessageBox('Integridade de CPF Válido','Verifica_CPF',mb_OK)
  else
   Application.MessageBox('Integridade de CPF Inválido','Verifica_CPF',mb_OK);
end;

procedure TForm1.Sequncia011Click(Sender: TObject);
begin
 Button1.Click;
 Button2.Click;
 Button69.Click;
 Button70.Click;
 Button71.Click;
 Button76.Click;
 Button77.Click;
 Button5.Click;
end;

//Função desabilitada por problemas na validação de Insc. Est. de produtores rurais.
//Para validar Insc. Est. utilize a dll oficial disponível p/ download em www.SPED.gov.br.
procedure TForm1.Button36Click(Sender: TObject);
begin
 if vInscEst('', '') then
   Application.MessageBox('Integridade de Insc.Est. Válido','Verifica_InscEst',mb_OK)
  else
   Application.MessageBox('Integridade de Insc.Est. Inválido','Verifica_InscEst',mb_OK);
end;

procedure TForm1.Label29Click(Sender: TObject);
begin
ShellExecute(Self.Handle, nil, 'http://www.igara.com.br', nil, nil, SW_NORMAL);
end;

procedure TForm1.Label32Click(Sender: TObject);
begin
ShellExecute(Self.Handle, nil, 'http://www.delphibr.com.br', nil, nil, SW_NORMAL);
end;

procedure TForm1.Label33Click(Sender: TObject);
begin
ShellExecute(Self.Handle, nil, 'http://www.victory.hpg.com.br', nil, nil, SW_NORMAL);
end;

procedure TForm1.Label30Click(Sender: TObject);
begin
 ShellExecute(Self.Handle, nil, PChar('mailto:tks@igara.com.br' +
   '?Subject=Sobre a SPED32Dll.dll&Body=E-mail enviado a partir do Demo da SPED32Dll.dll'),
   nil, nil, SW_NORMAL);
end;

//campo 10 do regitro 56
procedure TForm1.Button54Click(Sender: TObject);
begin
 ShowMessage(IntToStr(Info_Versao));
end;

procedure TForm1.Button86Click(Sender: TObject);
begin
 if vMovimento('01') then
  Application.MessageBox(' Valor Para o Movimento Válido','Verifica_Movimento',mb_OK)
 else
  Application.MessageBox(' Valor Para o Movimento Inválido','Verifica_Movimento',mb_OK);
end;

procedure TForm1.Button53Click(Sender: TObject);
begin
 if vCOD_Municipio('11002050') then
  Application.MessageBox(' Código do Município Válido','Verifica_Codigo_Municipio',mb_OK)
 else
  Application.MessageBox(' Código do Município Inválido','Verifica_Codigo_Municipio',mb_OK);
end;

procedure TForm1.Button207Click(Sender: TObject);
begin
 if vCOD_NCM('010111000') then
  Application.MessageBox(' Código do NCM Válido','Verifica_Codigo_NCM',mb_OK)
 else
  Application.MessageBox(' Código do NCM Inválido','Verifica_Codigo_NCM',mb_OK);
end;

procedure TForm1.Button55Click(Sender: TObject);
begin
  if vIND_PERFIL('A') then
   Application.MessageBox('Indicador de Perfil Válido','vIND_PERFIL',mb_OK)
  else
   Application.MessageBox('Indicador de Perfil Inválido','vIND_PERFIL',mb_OK);
end;


procedure TForm1.Button21Click(Sender: TObject);
var
 TempInt: integer;
begin
 if Inicia_SPED(edit1.text, edit2.text) = -1 then
  application.MessageBox('Erro durante chamada da função Inicia_SPED.',
                         'Atenção', mb_iconerror);

// ABERTURA DO ARQUIVO DIGITAL E IDENTIFICAÇÃO DO CONTRIBUINTE

 TempInt := Registro0000('012',                     //Código da versão do leiaute conforme a tabela indicada no Ato Cotepe
                         '0',                       //Finalidade do arquivo:
                         '01/06/2013',              //Data inicial das informações contidas no arquivo
                         '30/06/2013',              //Data final das informações contidas no arquivo
                         'Nome empresarial',        //Nome empresarial do contribuinte:
                         CNPJ,                      //Número de inscrição da entidade no CNPJ
                         '1234',                    //Número de inscrição da entidade no CPF
                        // '1',                     //Número de inscrição (PIS/PASEP/CI/SUS):
                         'BA',                      //Sigla da unidade da federação:
                         IE,                        //Inscrição Estadual do contribuinte:
                         '2927408',                 //Código do município do domicílio fiscal:
                         '567',                     //Inscrição Municipal do contribuinte:
                         '',                        //Inscrição da entidade na Suframa
                         'A',                       //Perfil de apresentação do arquivo fiscal:
                         '1'                        //Indicador de tipo de atividade:
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button183Click(Sender: TObject);
var
 TempInt: integer;
begin

//INFORMAÇÕES ADICIONAIS DOS AJUSTES DA APURAÇÃO DO ICMS SUBSTITUIÇÃO TRIBUTÁRIA - IDENTIFICAÇÃO DOS DOCUMENTOS FISCAIS

 TempInt := RegistroE240('123',                       //  Código do participante (campo 02 do Registro 0150):
                         '01',                        //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '456',                       //  Série do documento fiscal
                         '567',                       //  Subserie do documento fiscal
                         '678',                       //  Número do documento fiscal
                         '18/02/2013',                //  Data da emissão do documento fiscal
                         '02',                        //  Código do item (campo 02 do Registro 0200)
                         '05',                        //  Valor do ajuste para a operação/item
                         '01245366'                   //  Chave do Documento Eletrônico 
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button109Click(Sender: TObject);
var
 TempInt: integer;
begin

//RESSARCIMENTO DE ICMS EM OPERAÇÕES COM SUBSTITUIÇÃO TRIBUTÁRIA (CÓDIGO 01,55)

 TempInt := RegistroC176('01',                                          // Código do modelo do documento fiscal relativa a última entrada
                         '02',                                          // Número do documento fiscal relativa a última entrada
                         '123',                                         // Série do documento fiscal relativa a última entrada
                         '18/02/2013',                                  // Data relativa a última entrada da mercadoria
                         '345',                                         // Código do participante (do emitente do documento relativa a última entrada)
                         '45',                                          // Quantidade do item relativa a última entrada
                         '56',                                          // Valor unitário da mercadoria constante na NF relativa a última entrada inclusive despesas acessórias.
                         '67',                                          // Valor unitário da base de cálculo do imposto pago por substituição.
                         '1234567890123655420022565656562256223366',    // Número completo da chave da NFe relativo à última entrada
                         '123',                                         // Número sequencial  do item na NF entrada
                         '1234567890123655420022565656562256223366',    // Valor unitário da base de cálculo da operação própria do remetente sob o regime comum de tributação
                         '1234567890123655420022565656562256223366',    // Alíquota do ICMS aplicável à última entrada da mercadoria
                         '1234567890123655420022565656562256223366',    // Valor unitário da base de cálculo do ICMS relativo à última entrada da mercadoria, limitado ao valor da BC da retenção
                         '1234567890123655420022565656562256223366',    // Valor unitário do crédito de ICMS sobre operações próprias do remetente, relativo à última entrada da mercadoria
                         '1234567890123655420022565656562256223366',    // Alíquota do ICMS ST relativa à última entrada da mercadoria
                         '11234567890123655420022565656562256223366',   // Valor unitário do ressarcimento (parcial ou completo) de ICMS decorrente da quebra da ST
                         '1',                                           // Código que indica o responsável pela retenção do ICMS-ST
                         '1',                                           // Código do motivo do ressarcimento
                         '11234567890123655420022565656562256223366',   // Número completo da chave da NF-e emitida pelo substituto, na qual consta o valor do ICMS-ST retido
                         '11234567890123655420022565656562256223366',   // Código do participante do emitente da NF-e em que houve a retenção do ICMS-ST – campo 02 do registro 0150
                         '123',                                         // Série da NF-e em que houve a retenção do ICMSST
                         '123456789',                                   // Número da NF-e em que houve a retenção do ICMS-ST
                         '321',                                         // Número  sequencial  do  item na  NF-e  em que houve a retenção do ICMS-ST
                         '123',                                         // Código do modelo do documento de arrecadação
                         '11234567890123655420022565656562256223366',   // Número do documento de arrecadação estadual, se houver
                         '122131'                                       // Valor unitário do ressarcimento (parcial ou completo) de FCP decorrente da quebra da ST
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button110Click(Sender: TObject);
var
 TempInt: integer;
begin

//OPERAÇÕES COM PRODUTOS SUJEITOS A SELO DE CONTROLE IPI

 TempInt := RegistroC177('01',                       //  Código do selo de controle do IPI, conforme Tabela 4.5.2
                         '02'                        //  Quantidade de selo de controle do IPI aplicada
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button111Click(Sender: TObject);
var
 TempInt: integer;
begin

//OPERAÇÕES COM PRODUTOS SUJEITOS A TRIBUTAÇÀO DE IPI POR UNIDADE OU QUANTIDADE DE PRODUTO.

 TempInt := RegistroC178('01',                       //  Código da classe de enquadramento do IPI, conforme Tabela 4.5.1.
                         '02',                       //  Valor por unidade padrão de tributação
                         '03'                        //  Quantidade total de produtos na unidade padrão de tributação
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button112Click(Sender: TObject);
var
 TempInt: integer;
begin

//INFORMAÇÕES COMPLEMENTARES ST (CÓDIGO 01)

 TempInt := RegistroC179('01',                       //  Valor da base de cálculo ST na origem/destino em operações interestaduais.
                         '02',                       //  Valor do ICMS-ST a repassar/deduzir em operações interestaduais
                         '03',                       //  Valor do ICMS-ST a complementar à UF de destino
                         '04',                       //  Valor da BC de retenção em remessa promovida por Substituído intermediário
                         '05'                        //  Valor da parcela do imposto retido em remessa promovida por substituído intermediário
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button113Click(Sender: TObject);
var
 TempInt: integer;
begin

//OBSERVAÇOES DO LANÇAMENTO FISCAL (CÓDIGO 01, 1B E 55)

 TempInt := RegistroC195('123',                 //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
                         'Descricao'            //  Descrição complementar do código de observação.
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button114Click(Sender: TObject);
var
 TempInt: integer;
begin

//OUTRAS OBRIGAÇÕES TRIBUTÁRIAS, AJUSTES E INFORMAÇÕES DE VALORES PROVENIENTES DE DOCUMENTO FISCAL.

 TempInt := RegistroC197('123',                    //  Código do ajustes/benefício/incentivo, conforme tabela indicada no item 5.3.
                         'Descricao',              //  Descrição complementar do ajuste da apuração, nos casos em que o código da tabela for “9999”
                         '789',                    //  Código do item (campo 02 do Registro 0200)
                         '01',                     //  Base de cálculo do ICMS ou do ICMS ST
                         '02',                     //  Alíquota do ICMS
                         '03',                     //  Valor do ICMS ou do ICMS ST
                         '04'                      //  Outros valores
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button115Click(Sender: TObject);
var
 TempInt: integer;
begin

//ITENS DO RESUMO DIÁRIO DOS DOCUMENTOS (CÓDIGO 02)

 TempInt := RegistroC321('01',                       //  Código do item (campo 02 do Registro 0200)
                         '02',                       //  Quantidade acumulada do item
                         '03',                       //  Unidade do item (Campo 02 do registro 0190)
                         '123',                      //  Valor acumulado do item
                         '234',                      //  Valor do desconto acumulado
                         '345',                      //  Valor acumulado da base de cálculo do ICMS
                         '456',                      //  Valor acumulado do ICMS debitado
                         '567',                      //  Valor acumulado do PIS
                         '678'                       //  Valor acumulado da COFINS
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button116Click(Sender: TObject);
var
 TempInt: Integer;
begin
//NOTA FISCAL DE SERVIÇO DE TRANSPORTE (CÓDIGO 07)  E CONHECIMENTOS  DE TRANSPORTE RODOVIÁRIO DE CARGAS (CÓDIGO 08), CONHECIMENTOS DE TRANSPORTE DE CARGAS AVULSO (CÓDIGO 8B), AQUAVIÁRIO DE CARGAS (CÓDIGO 09), AÉREO (CÓDIGO 10),   FERROVIÁRIO   DE   CARGAS   (CÓDIGO   11)   E   MULTIMODAL   DE CARGAS (CÓDIGO 26),   NOTA FISCAL DE TRANSPORTE FERROVIÁRIO DE   CARGA   (   CÓDIGO   27)   E   CONHECIMENTO   DE   TRANSPORTE ELETRÔNICO – CT-e (CÓDIGO 57)

 TempInt := RegistroD100('1',                      //  Indicador do tipo de operação: 0- Aquisição; 1- Prestação
                         '1',                      //  Indicador do emitente do documento fiscal: 0- Emissão própria; 1- Terceiros
                         '01',                     //  Código do participante (campo 02 do Registro 0150): - do prestador de serviço, no caso de aquisição de serviço; - do tomador do serviço, no caso de prestação de serviços.
                         '57',                     //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '02',                     //  Código da situação do documento fiscal, conforme a Tabela 4.1.2
                         '',                       //  Série do documento fiscal
                         '',                       //  Subsérie do documento fiscal
                         '05',                     //  Número do documento fiscal
                         '06',                     //  Chave do Conhecimento de Transporte Eletrônico
                         '18/03/2013',             //  Data da emissão do documento fiscal
                         '19/03/2013',             //  Data da aquisição ou da prestação do serviço
                         '1',                      //  Tipo de Conhecimento de Transporte Eletrônico conforme definido no Manual de Integração do CT-e
                         '08',                     //  Chave do CT-e de referência cujos valores foram complementados (opção “1” do campo anterior) ou cujo débito foi anulado(opção “2” do campo anterior).
                         '09',                     //  Valor total do documento fiscal
                         '10',                     //  Valor total do desconto
                         '1',                      //  Indicador do tipo do frete: 0- Por conta de terceiros; 1- Por conta do emitente; 2- Por conta do destinatário; 9- Sem frete
                         '11',                     //  Valor total da prestação de serviço
                         '12',                     //  Valor da base de cálculo do ICMS
                         '13',                     //  Valor do ICMS
                         '14',                     //  Valor não-tributado
                         '15',                     //  Código da informação complementar do documento fiscal (campo 02 do Registro 0450)
                         '16',                     //  Código da conta analítica contábil debitada/creditada
                         MUNI,                     //  Código do município de origem do serviço, conforme a tabela IBGE (Preencher com 9999999, se Exterior)
                         MUNI                      //  Código do município de destino, conforme a tabela IBGE(Preencher com 9999999, se Exterior)
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button117Click(Sender: TObject);
var
 TempInt: Integer;
begin
//ITENS DO DOCUMENTO - NOTA FISCAL DE SERVIÇOS DE TRANSPORTE (CÓDIGO 07)

 TempInt := RegistroD110('01',                    //  Número seqüencial do item no documento fiscal
                         '02',                    //  Código do item (campo 02 do Registro 0200)
                         '03',                    //  Valor do serviço
                         '04'                     //  Outros valores
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button118Click(Sender: TObject);
var
 TempInt: Integer;
begin
//COMPLEMENTO DA NOTA FISCAL DE SERVIÇOS DE TRANSPORTE (CÓDIGO 07)

 TempInt := RegistroD120('1100205',                //  Código do município de origem do serviço, conforme a tabela IBGE
                         '1202540',                //  Código do município de destino, conforme a tabela IBGE
                         '1234',                   //  Placa de identificação do veículo
                         'UF'                      //  Sigla da UF da placa do veículo
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button119Click(Sender: TObject);
var
 TempInt: Integer;
begin
//COMPLEMENTO DO CONHECIMENTO AÉREO (CÓDIGO 10)

 TempInt := RegistroD150('1100205',           //  Código do município de origem do serviço, conforme a tabela IBGE
                         '01',                //  Código do município de destino, conforme a tabela IBGE
                         '02',                //  Identificação da aeronave (DAC)
                         '03',                //  Número do vôo.
                         '1',                 //  Indicador do tipo de tarifa aplicada: 0- Exp.; 1- Enc.; 2- C.I.; 9- Outra
                         '04',                //  Peso taxado
                         '05',                //  Valor da taxa terrestre
                         '06',                //  Valor da taxa de redespacho
                         '07',                //  Outros valores
                         '08'                 //  Valor da taxa "ad valorem"
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button120Click(Sender: TObject);
var
 TempInt: Integer;
begin
//CARGA TRANSPORTADA (CÓDIGO  08, 8B, 09, 10, 11, 26 e 27)

 TempInt := RegistroD160('12345678',         //  Identificação do número do despacho
                         CNPJ,               //  CNPJ ou CPF do remetente das mercadorias que constam na nota fiscal.
                         '87654321',         //  Inscrição Estadual do remetente das mercadorias que constam na nota fiscal.
                         '01',               //  Código do Município de origem, conforme tabela IBGE
                         CNPJ,               //  CNPJ ou CPF do destinatário das mercadorias que constam na nota fiscal.
                         '12125',            //  Inscrição Estadual do destinatário das mercadorias que constam na nota fiscal.
                         '10'                //  Código do Município de destino, conforme tabela IBGE
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button121Click(Sender: TObject);
var
 TempInt: integer;
begin

//NOTA FISCAL DE VENDA A CONSUMIDOR (CÓDIGO 02)

 TempInt := RegistroC350('01',                 //  Série do documento fiscal
                         '02',                 //  Subsérie do documento fiscal
                         '03',                 //  Número do documento fiscal
                         '18/03/2013',         //  Data da emissão do documento fiscal
                         CNPJ,                 //  CNPJ ou CPF do destinatário
                         '123',                //  Valor das mercadorias constantes no documento fiscal
                         '234',                //  Valor total do documento fiscal
                         '345',                //  Valor total do desconto
                         '456',                //  Valor total do PIS
                         '567',                //  Valor total da COFINS
                         '678'                 //  Código da conta analítica contábil debitada/creditada
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button122Click(Sender: TObject);
var
 TempInt: integer;
begin

//ITENS DO DOCUMENTO (CÓDIGO 02)

 TempInt := RegistroC370('02',              //  Número seqüencial do item no documento fiscal
                         '01',              //  Código do Item (campo 02 do registro 0200)
                         '03',              //  Quantidade do item
                         '04',              //  Unidade do item (campo 02 do registro 0190)
                         '05',              //  Valor total do item
                         '06'               //  Valor total do desconto no item
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button123Click(Sender: TObject);
var
 TempInt: integer;
begin

//- REGISTRO ANALÍTICO DAS NOTAS FISCAIS DE VENDA A CONSUMIDOR (CÓDIGO 02)

 TempInt := RegistroC390('01',                //  Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                         CFOP,                //  Código Fiscal de Operação e Prestação
                         '03',                //  Alíquota do ICMS
                         '04',                //  Valor total acumulado das operações correspondentes à combinação de CST_ICMS, CFOP e alíquota do ICMS, incluídas as despesas acessórias e acréscimos.
                         '05',                //  Valor acumulado da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                         '06',                //  Valor acumulado do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '07',                //  Valor não tributado em função da redução da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                         '08'                 //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button124Click(Sender: TObject);
var
 TempInt: integer;
begin

//PIS E COFINS TOTALIZADOS NO DIA (CÓDIGO 02 E 2D)

 TempInt := RegistroC410('01',               //  Valor total do PIS
                         '02'                //  Valor total da COFINS
                          );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button125Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO ANALÍTICO DO MOVIMENTO DIÁRIO (CÓDIGO 02 E 2D)

 TempInt := RegistroC490('01',                       //  Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                         CFOP,                       //  Código Fiscal de Operação e Prestação
                         '03',                       //  Alíquota do ICMS
                         '04',                       //  Valor da operação correspondente à combinação de CST_ICMS, CFOP, e alíquota do ICMS, incluídas as despesas acessórias e acréscimos
                         '05',                       //  Valor acumulado da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                         '06',                       //  Valor acumulado do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '07'                        //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button126Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO ANALÍTICO DOS BILHETES CONSOLIDADOS DE PASSAGEM RODOVIÁRIO (CÓDIGO 13), DE PASSAGEM AQUAVIÁRIO (CÓDIGO 14), DE PASSAGEM E NOTA DE BAGAGEM (CÓDIGO 15) E DE PASSAGEM FERROVIÁRIO (CÓDIGO 16)

 TempInt := RegistroD300('02',                   //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '03',                   //  Série do documento fiscal
                         '04',                   //  Subsérie do documento fiscal
                         '05',                   //  Número do primeiro documento fiscal emitido (mesmo modelo, série e subsérie)
                         '06',                   //  Número do último documento fiscal emitido (mesmo modelo, série e subsérie)
                         '07',                   //  Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                         CFOP,                   //  Código Fiscal de Operação e Prestação conforme tabela indicada no item 4.2.2
                         '08',                   //  Alíquota do ICMS
                         '18/03/2013',           //  Data da emissão dos documentos fiscais
                         '09',                   //  Valor total acumulado das operações correspondentes à combinação de CST_ICMS, CFOP e alíquota do ICMS, incluídas as despesas acessórias e acréscimos.
                         '10',                   //  Valor total dos descontos
                         '11',                   //  Valor total da prestação de serviço
                         '12',                   //  Valor de seguro
                         '13',                   //  Valor de outras despesas
                         '14',                   //  Valor total da base de cálculo do ICMS
                         '15',                   //  Valor total do ICMS
                         '16',                   //  Valor não tributado em função da redução da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '17',                   //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
                         '18'                    //  Código da conta analítica contábil debitada/creditada
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button127Click(Sender: TObject);
var
 TempInt: Integer;
begin
//COMPLEMENTO DOS BILHETES (CÓDIGO 13, 14, 15 E 16)

 TempInt := RegistroD310('1100205',                //  Código do município de origem do serviço, conforme a tabela IBGE
                         '01',                     //  Valor total da prestação de serviço
                         '02',                     //  Valor total da base de cálculo do ICMS
                         '03'                      //  Valor total do ICMS
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button128Click(Sender: TObject);
var
 TempInt: integer;
begin

//RESUMO MENSAL DE ITENS DO ECF POR ESTABELECIMENTO (CÓDIGO 02, 2D)

 TempInt := RegistroC495('01',                 //  Alíquota do ICMS
                         '02',                 //  Código do item (campo 02 do Registro 0200)
                         '03',                 //  Quantidade acumulada do item
                         '04',                 //  Quantidade cancelada acumulada, no caso de cancelamento parcial de item
                         '05',                 //  Unidade do item  (Campo 02 do registro 0190)
                         '123',                //  Valor acumulado do item
                         '234',                //  Valor acumulado dos descontos
                         '345',                //  Valor acumulado dos cancelamentos
                         '456',                //  Valor acumulado dos acréscimos
                         '567',                //  Valor acumulado da base de cálculo do ICMS
                         '678',                //  Valor acumulado do ICMS
                         '789',                //  Valor das saídas isentas do ICMS
                         '890',                //  Valor das saídas sob não-incidência ou não-tributadas pelo ICMS
                         '900'                 //  Valor das saídas de mercadorias adquiridas com substituição tributária do ICMS
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button129Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO C601: DOCUMENTOS CANCELADOS - CONSOLIDAÇÃO DIÁRIA DE NOTAS FISCAIS/CONTAS DE ENERGIA ELÉTRICA (CÓDIGO 06), NOTA FISCAL/CONTA DE FORNECIMENTO D'ÁGUA CANALIZADA (CÓDIGO 29) E NOTA FISCAL/CONTA DE FORNECIMENTO DE GÁS (CÓDIGO 28)

 TempInt := RegistroC601('01'                        //  Número do documento fiscal cancelado
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button130Click(Sender: TObject);
var
 TempInt: Integer;
begin
//EQUIPAMENTO ECF (CÓDIGOS 2E, 13, 14, 15 e 16)

 TempInt := RegistroD350('08',                     //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '07',                     //  Modelo do equipamento
                         '06',                     //  Número de série de fabricação do ECF
                         '05'                      //  Número do caixa atribuído ao ECF
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button131Click(Sender: TObject);
var
 TempInt: Integer;
begin
//PIS E COFINS TOTALIZADOS NO DIA (CÓDIGOS 2E, 13, 14, 15 e 16)

 TempInt := RegistroD360('01',               //  Valor total do PIS
                         '02'                //  Valor total da COFINS
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button132Click(Sender: TObject);
var
 TempInt: Integer;
begin
//COMPLEMENTO   DOS   DOCUMENTOS   INFORMADOS (CÓDIGOS 13, 14, 15 e 16 e 2E)

 TempInt := RegistroD370('01',           //  Código   do  município   de   origem  do   serviço, conforme a tabela IBGE
                         '02',           //  Valor total da prestação de serviço
                         '03',           //  Quantidade de bilhetes emitidos
                         '04',           //  Valor total da base de cálculo do ICMS
                         '05'            //  Valor total do ICMS
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button133Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroD990 - ENCERRAMENTO DO BLOCO D ---
TempInt := RegistroD990;
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button134Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroE001 - ABERTURA DO BLOCO E ---
TempInt := RegistroE001('0'            //Indicador de movimento
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button135Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO ANALÍTICO DOS DOCUMENTOS (Notas Fiscais/Contas de Energia Elétrica (Código 06), Nota Fiscal/Conta de Fornecimento d´água CANALIZADA (código 29) e Nota Fiscal/Conta de Fornecimento de Gás (Código 28)

 TempInt := RegistroC690('01',                       //  Código da Situação Tributária, conforme a tabela indicada no item 4.3.1
                         CFOP,                       //  Código Fiscal de Operação e Prestação, conforme a tabela indicada no item 4.2.2
                         '03',                       //  Alíquota do ICMS
                         '04',                       //  Valor da operação correspondente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                         '05',                       //  Parcela correspondente ao "Valor da base de cálculo do ICMS" referente à combinação CST_ICMS, CFOP  e alíquota do ICMS
                         '06',                       //  Parcela correspondente ao "Valor do ICMS" referente à combinação CST_ICMS, CFOP e alíquota do ICMS
                         '07',                       //  Valor não tributado em função da redução da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '08',                       //  Valor da base de cálculo do ICMS substituição tributária
                         '09',                       //  Valor do ICMS retido por substituição tributária
                         '10'                        //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button136Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO ANALÍTICO DOS DOCUMENTOS (COD 06)

 TempInt := RegistroC790('01',                       //  Código da Situação Tributária, conforme a tabela indicada no item 4.3.1
                         CFOP,                       //  Código Fiscal de Operação e Prestação, conforme a tabela indicada no item 4.2.2
                         '03',                       //  Alíquota do ICMS
                         '04',                       //  Valor da operação correspondente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                         '05',                       //  Parcela correspondente ao "Valor da base de cálculo do ICMS" referente à combinação CST_ICMS, CFOP, e alíquota do ICMS
                         '06',                       //  Parcela correspondente ao "Valor do ICMS" referente à combinação CST_ICMS,  CFOP e alíquota do ICMS
                         '07',                       //  Valor da base de cálculo do ICMS substituição tributária
                         '08',                       //  Valor do ICMS retido por substituição tributária
                         '09',                       //  Valor não tributado em função da redução da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '10'                        //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button137Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO DE INFORMAÇÕES DE ICMS ST POR UF (COD 06)

 TempInt := RegistroC791( UF,                       //  Sigla da unidade da federação a que se refere a retenção ST
                         '01',                      //  Valor da base de cálculo do ICMS substituição tributária
                         '02'                       //  Valor do ICMS retido por substituição tributária
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button138Click(Sender: TObject);
var
 TempInt: integer;
begin

//COMPLEMENTO DO CONHECIMENTO RODOVIÁRIO DE CARGAS (CÓDIGO 08)

 TempInt := RegistroD130('01',                       //  Código do participante (campo 02 do Registro 0150):
                         '02',                       //  Código do participante (campo 02 do Registro 0150):
                         '1',                        //  Indicador do tipo do frete da operação de redespacho:
                         '1100205',                  //  Código do município de origem do serviço, conforme a tabela IBGE
                         '1100205',                  //  Código do município de destino, conforme a tabela IBGE
                         '06',                       //  Placa de identificação do veículo
                         '07',                       //  Valor líquido do frete
                         '08',                       //  Soma de valores de Sec/Cat (serviços de coleta/custo adicional de transporte)
                         '09',                       //  Soma de valores de despacho
                         '10',                       //  Soma dos valores de pedágio
                         '11',                       //  Outros valores
                         '12',                       //  Valor total do frete
                         UF                          //  Sigla da UF da placa do veículo
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button139Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroE100 - REGISTRO MESTRE DA REDUÇÃO Z ---
TempInt := RegistroE100('01/06/2013',   // Data inicial a que a apuração se refere:
                        '30/06/2013'    // Data final a que a apuração se refere:
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button140Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroE110 - REGISTRO ANALÍTICO DO DOCUMENTO (REDUÇÃO Z) ---
TempInt := RegistroE110('00',    //Valor total dos débitos por "Saídas e prestações com débito do imposto"
                        '00',    //Valor total dos ajustes a débito decorrentes do documento fiscal.
                        '00',    //Valor total de "Ajustes a débito"
                        '00',    //Valor total de Ajustes “Estornos de créditos”
                        '00',    //Valor total dos créditos por "Entradas e aquisições com crédito do imposto"
                        '00',    //Valor total dos ajustes a crédito decorrentes do documento fiscal.
                        '00',    //Valor total de "Ajustes a crédito"
                        '00',    //Valor total de Ajustes “Estornos de Débitos”
                        '00',    //Valor total de "Saldo credor do período anterior"
                        '00',    //Valor total de "Saldo devedor (02+03+04+05-06-07-08-09-10) antes das deduções"
                        '00',    //Valor total de "Deduções"
                        '00',    //Valor total de "ICMS a recolher (11-12)
                        '00',    //Valor total de "Saldo credor a transportar para o período seguinte”
                        '00'     //Valores recolhidos ou a recolher, extra-apuração.
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button141Click(Sender: TObject);
var
 TempInt: integer;
begin

//COMPLEMENTO DO CONHECIMENTO AQUAVIÁRIO DE CARGAS (CÓDIGO 09)

 TempInt := RegistroD140('01',                       //  Código do participante (campo 02 do Registro 0150):
                         '1100205',                  //  Código do município de origem do serviço, conforme a tabela IBGE
                         '1100205',                  //  Código do município de destino, conforme a tabela IBGE
                         '1',                        //  Indicador do tipo do veículo transportador:
                         '05',                       //  Identificação da embarcação (IRIM ou Registro CPP)
                         '1',                        //  Indicador do tipo da navegação:
                         '07',                       //  Número da viagem
                         '08',                       //  Valor líquido do frete
                         '09',                       //  Valor das despesas portuárias
                         '10',                       //  Valor das despesas com carga e descarga
                         '11',                       //  Outros valores
                         '12',                       //  Valor bruto do frete
                         '13'                        //  Valor adicional do frete para renovação da Marinha Mercante
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button142Click(Sender: TObject);
var
 TempInt: integer;
begin

//DOCUMENTOS CANCELADOS DOS BILHETES DE PASSAGEM RODOVIÁRIO (CÓDIGO 13), DE PASSAGEM AQUAVIÁRIO (CÓDIGO 14), DE PASSAGEM E NOTA DE BAGAGEM (CÓDIGO 15) E DE PASSAGEM FERROVIÁRIO (CÓDIGO 16)

 TempInt := RegistroD301('01'                        //  Número do documento fiscal cancelado
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button143Click(Sender: TObject);
var
 TempInt: Integer;
begin
//PERÍODO DA APURAÇÃO DO ICMS - SUBSTITUIÇÃO TRIBUTÁRIA

 TempInt := RegistroE200('UF',                       //  Sigla da unidade da federação a que se refere a apuração do ICMS ST
                         '18/11/2008',               //  Data inicial a que a apuração se refere
                         '19/11/2008'                //  Data final a que a apuração se refere
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button144Click(Sender: TObject);
var
 TempInt: Integer;
begin
//APURAÇÃO DO ICMS - SUBSTITUIÇÃO TRIBUTÁRIA

 TempInt := RegistroE210('1',            //  Indicador de movimento: 0 - Sem operações com ST; 1 - Com operações de ST
                         '01',           //  Valor do "Saldo credor de período anterior - Substituição Tributária"
                         '02',           //  Valor total do ICMS ST de devolução de mercadorias
                         '03',           //  Valor total do ICMS ST de ressarcimentos
                         '04',           //  Valor total de Ajustes "Outros créditos ST" e "Estorno de débitos ST"
                         '05',           //  Valor total dos ajustes a crédito de ICMS ST, provenientes de ajustes do documento fiscal.
                         '06',           //  Valor Total do ICMS retido por Substituição Tributária
                         '07',           //  Valor Total dos ajustes "Outros débitos ST" e "Estorno de créditos ST"
                         '08',           //  Valor total dos ajustes a débito de ICMS ST, provenientes de ajustes do documento fiscal.
                         '09',           //  Valor total de "Saldo devedor antes das deduções" = (08+09+10)-(03+04+05+06+07)]
                         '10',           //  Valor total dos ajustes "Deduções ST"
                         '11',           //  Imposto a recolher ST (11-12)
                         '12',           //  Saldo credor de ST a transportar para o período seguinte [(03+04+05+06+07)– (08+09+10)].
                         '13'            //  Valores   recolhidos   ou   a   recolher,   extra-apuração.
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button145Click(Sender: TObject);
var
 TempInt: Integer;
begin
//OBRIGAÇÕES DO ICMS A RECOLHER - SUBSTITUIÇÃO TRIBUTÁRIA

 TempInt := RegistroE250('01',                     //  Código da obrigação a recolher, conforme a Tabela 5.4
                         '02',                     //  Valor da obrigação ICMS ST a recolher
                         '18/11/2008',             //  Data de vencimento da obrigação
                         '03',                     //  Código   de   receita   referente   à   obrigação,   próprio da unidade da federação
                         '04',                     //  Número do processo ou auto de infração ao qual a obrigação está vinculada, se houver
                         '',                       //  Indicador da origem do processo: 0- Sefaz; 1- Justiça Federal; 2- Justiça Estadual; 9- Outros
                         'Descricao',              //  Descrição resumida do processo que embasou o lançamento
                         'Descricao',              //  Descrição complementar das obrigações a recolher
                         '11/2008'                 //  Informe o mês de referência no formato “mmaaaa”  //Campo será incluído no registro a partir do período de apuração de Janeiro de 2011
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button146Click(Sender: TObject);
var
 TempInt: integer;
begin

//- REDUÇÃO Z (CÓDIGOS 2E, 13, 14, 15 e 16)

 TempInt := RegistroD355('18/11/2008',               //  Data do movimento a que se refere a Redução Z
                         '01',                       //  Posição do Contador de Reinício de Operação
                         '02',                       //  Posição do Contador de Redução Z
                         '03',                       //  Número do Contador de Ordem de Operação do último documento emitido no dia. (Número do COO na Redução Z)
                         '04',                       //  Valor do Grande Total final
                         '05'                        //  Valor da venda bruta
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button147Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO DOS TOTALIZADORES PARCIAIS DA REDUÇÃO Z (CÓDIGOS 2E, 13, 14, 15 e 16)

 TempInt := RegistroD365('123',                       //  Código do totalizador, conforme Tabela 4.4.6
                         '234',                       //  Valor acumulado no totalizador, relativo à respectiva Redução Z.
                         '35',                        //  Número do totalizador quando ocorrer mais de uma situação com a mesma carga tributária efetiva.
                         'Descricao'                  //  Descrição da situação tributária relativa ao totalizador parcial, quando houver mais de um com a mesma carga tributária efetiva.
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button148Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO ANALÍTICO DO MOVIMENTO DIÁRIO (CÓDIGOS 13, 14, 15, 16 E 2E)

 TempInt := RegistroD390('123',                       //  Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1.
                         CFOP,                        //  Código Fiscal de Operação e Prestação
                         '345',                       //  Alíquota do ICMS
                         '456',                       //  Valor da operação correspondente à combinação de CST_ICMS, CFOP, e alíquota do ICMS, incluídas as despesas acessórias e acréscimos
                         '567',                       //  Valor da base de cálculo do ISSQN
                         '678',                       //  Alíquota do ISSQN
                         '789',                       //  Valor do ISSQN
                         '890',                       //  Base de cálculo do ICMS acumulada relativa à alíquota informada
                         '900',                       //  Valor do ICMS acumulado relativo à alíquota informada
                         '000'                        //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button149Click(Sender: TObject);
var
 TempInt: integer;
begin

//DOCUMENTOS INFORMADOS (CÓDIGOS 13, 14, 15 E 16)

 TempInt := RegistroD410('01',                       //  Código do modelo do documento fiscal , conforme a Tabela 4.1.1
                         '02',                       //  Série do documento fiscal
                         '03',                       //  Subsérie do documento fiscal
                         '04',                       //  Número do documento fiscal inicial (mesmo modelo, série e subsérie)
                         '05',                       //  Número do documento fiscal final(mesmo modelo, série e subsérie)
                         '18/11/2008',               //  Data da emissão dos documentos fiscais
                         '06',                       //  Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                         CFOP,                       //  Código Fiscal de Operação e Prestação
                         '08',                       //  Alíquota do ICMS
                         '09',                       //  Valor total acumulado das operações correspondentes à combinação de CST_ICMS, CFOP e alíquota do ICMS, incluídas as despesas acessórias e acréscimos.
                         '10',                       //  Valor acumulado dos descontos
                         '11',                       //  Valor acumulado da prestação de serviço
                         '12',                       //  Valor acumulado da base de cálculo do ICMS
                         '13'                        //  Valor acumulado do ICMS
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button150Click(Sender: TObject);
var
 TempInt: integer;
begin

//DOCUMENTOS CANCELADOS DOS DOCUMENTOS INFORMADOS (CÓDIGOS 13, 14, 15 E 16)

 TempInt := RegistroD411('01'           //  Número do documento fiscal cancelado
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button151Click(Sender: TObject);
var
 TempInt: integer;
begin

//COMPLEMENTO DOS DOCUMENTOS INFORMADOS(CÓDIGOS 13, 14, 15 E 16)

 TempInt := RegistroD420('1100205',                   //  Código do município de origem do serviço, conforme a tabela IBGE
                         '234',                       //  Valor total da prestação de serviço
                         '567',                       //  Valor total da base de cálculo do ICMS
                         '789'                        //  Valor total do ICMS
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button152Click(Sender: TObject);
var
 TempInt: integer;
begin

//NOTA FISCAL DE SERVIÇO DE COMUNICAÇÃO (CÓDIGO 21) E NOTA FISCAL DE SERVIÇO DE TELECOMUNICAÇÃO (CÓDIGO 22)

 TempInt := RegistroD500('0',                        //  Indicador do tipo de operação:
                         '1',                        //  Indicador do emitente do documento fiscal:
                         '03',                       //  Código do participante (campo 02 do Registro 0150):
                         '04',                       //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '05',                       //  Çódigo da situação do documento fiscal, conforme a Tabela 4.1.2
                         '06',                       //  Série do documento fiscal
                         '07',                       //  Subsérie do documento fiscal
                         '08',                       //  Número do documento fiscal
                         '18/11/2008',               //  Data da emissão do documento fiscal
                         '18/11/2008',               //  Data da entrada (aquisição) ou da saída (prestação do serviço)
                         '999',                      //  Valor total do documento fiscal
                         '888',                      //  Valor total do desconto
                         '777',                      //  Valor da prestação de serviços
                         '666',                      //  Valor total dos serviços não-tributados pelo ICMS
                         '555',                      //  Valores cobrados em nome de terceiros
                         '444',                      //  Valor de outras despesas indicadas no documento fiscal
                         '333',                      //  Valor da base de cálculo do ICMS
                         '222',                      //  Valor do ICMS
                         '09',                       //  Código da informação complementar (campo 02 do Registro 0450)
                         '111',                      //  Valor do PIS
                         '101',                      //  Valor da COFINS
                         '10',                       //  Código da conta analítica contábil debitada/creditada
                         '1'                         //  Código do Tipo de Assinante
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button153Click(Sender: TObject);
var
 TempInt: integer;
begin

//ITENS DO DOCUMENTO - NOTA FISCAL DE SERVIÇO DE COMUNICAÇÃO (CÓDIGO 21) E SERVIÇO DE TELECOMUNICAÇÃO (CÓDIGO 22)

 TempInt := RegistroD510('00',                       // Número seqüencial do item no documento fiscal
                         '02',                       // Código do item (campo 02 do Registro 0200)
                         '03',                       // Código de classificação do item do serviço de comunicação ou de telecomunicação, conforme a Tabela 4.4.1
                         '04',                       // Quantidade do item
                         '05',                       // Unidade do item  (Campo 02 do registro 0190)
                         '123',                      // Valor do item
                         '234',                      // Valor total do desconto
                         '06',                       // Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                         CFOP,                       // Código Fiscal de Operação e Prestação
                         '345',                      // Valor da base de cálculo do ICMS
                         '08',                       // Alíquota do ICMS
                         '52254148',                         // Valor do ICMS creditado/debitado
                         '15484878',                         // Valor da base de cálculo do ICMS de outras UFs
                         '456',                      // Valor do ICMS de outras UFs
                         '0',                        // Indicador do tipo de receita:
                         '777',                      // Código do participante (campo 02 do Registro 0150) receptor da receita, terceiro da operação, se houver.
                         '888',                      // Valor do PIS
                         '999',                      // Valor da COFINS
                         '100'                       // Código da conta analítica contábil debitada/creditada
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button154Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroE500 - PERÍODO DA APURAÇÃO DO IPI ---
TempInt := RegistroE500('0',                    // Indicador de período de apuração do IPI:
                        '18/11/2008',           // Data inicial a que a apuração se refere
                        '19/11/2008'            // Data final a que a apuração se refere
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button155Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroE510 - CONSOLIDAÇÃO DOS VALORES DO IPI POR CFOP E CÓDIGO DE TRIBUTAÇÃO
// DO IPI ---
TempInt := RegistroE510(CFOP,               // Código Fiscal de Operação e Prestação do agrupamento de itens
                        '01',               // Código de Tributação do IPI creditado/debitado
                        '1234',             // Parcela correspondente ao "Valor Contábil"
                        '1234',             // Parcela correspondente ao "Valor da base de cálculo do IPI"
                        '1234'              // Parcela correspondente ao "Valor do IPI"
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button156Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroE520 - APURAÇÃO DO IPI ---
TempInt := RegistroE520('1234',         // Saldo credor do IPI transferido do per íodo anterior
                        '1234',         // Valor total dos débitos por "Saídas com débito do imposto"
                        '1234',         // Valor total dos créditos por "Entradas e aquisições com crédito do imposto"
                        '1234',         // Valor de "Outros débitos" do IPI (inclusive estornos de crédito)
                        '1234',         // Valor de "Outros cr éditos" do IPI (inclusive estornos de crédito)
                        '1234',         // Valor do saldo credor do IPI a transportar para o per íodo seguinte
                        '1234'          // Valor do saldo devedor do IPI a recolher
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button157Click(Sender: TObject);
var
 TempInt: Integer;
begin
//AJUSTES DA APURAÇÃO DO IPI

 TempInt := RegistroE530('1',                      //  Indicador do tipo de ajuste: 0- Ajuste a débito; 1- Ajuste a crédito
                         '01',                     //  Valor do ajuste
                         '02',                     //  Código do ajuste da apuração, conforme a Tabela indicada no item 4.5.4.
                         '1',                      //  Indicador da origem do documento vinculado ao ajuste: 0 - Processo Judicial; 1 - Processo Administrativo; 2 - PER/DCOMP; 9 - Outros.
                         '03',                     //  Número do documento / processo / declaração ao qual o ajuste está vinculado, se houver
                         'Descricao'               //  Descrição resumida do ajuste.
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button158Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroE990 - ENCERRAMENTO DO BLOCO E ---
TempInt := RegistroE990;
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button159Click(Sender: TObject);
var
 TempInt: Integer;
begin
// //--- RegistroH001 - ABERTURA DO BLOCO H ---
TempInt := RegistroH001('1'    //Indicador de movimento
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button160Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroH005 - TOTAIS DO INVENTÁRIO ---
TempInt := RegistroH005('01/05/2007',           // Data do inventário
                        '2',                    // Valor total do estoque
                        '05'                    // Motivo do Inventário
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button161Click(Sender: TObject);
var
 TempInt: integer;
begin

//TERMINAL FATURADO

 TempInt := RegistroD530('0',                        //  Indicador do tipo de serviço prestado:
                         '18/11/2008',               //  Data em que se iniciou a prestação do serviço
                         '19/11/2008',               //  Data em que se encerrou a prestação do serviço
                         '02',                       //  Período fiscal da prestação do serviço (MMAAAA)
                         '03',                       //  Código de área do terminal faturado, próprio da prestadora
                         '04'                        //  Identificação do terminal faturado
);

 Trata_SPED_Int(sender, TempInt);
end;



//procedure TForm1.Button197Click(Sender: TObject);
//var
// TempInt: Integer;
//begin
//--- RegistroH020 - INVENTÁRIO ---

 //Trata_SPED_Int(sender, TempInt);
//end;


procedure TForm1.Button162Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroH990 - ENCERRAMENTO DO BLOCO H ---
TempInt := RegistroH990;
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button164Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO ANALÍTICO DO DOCUMENTO (CÓDIGO 21 E 22)

 TempInt := RegistroD590('123',                //  Código da Situação Tributária, conforme a tabela indicada no item 4.3.1
                         CFOP,                 //  Código Fiscal de Operação e Prestação, conforme a tabela indicada no item 4.2.2
                         '345',                //  Alíquota do ICMS
                         '456',                //  Valor da operação correspondente à combinação de CST_ICMS, CFOP, e alíquota do ICMS, incluídas as despesas acessórias e acréscimos
                         '01',                 //  Parcela correspondente ao "Valor da base de cálculo do ICMS" referente à combinação CST_ICMS, CFOP, e alíquota do ICMS
                         '02',                 //  Parcela correspondente ao "Valor do ICMS" referente à combinação CST_ICMS,  CFOP, e alíquota do ICMS
                         '03',                 //  Parcela correspondente ao "Valor da base de cálculo do ICMS" da substituição tributária referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '04',                 //  Parcela correspondente ao valor creditado/debitado do ICMS da substituição tributária, referente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                         '567',                //  Valor não tributado em função da redução da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '678'                 //  Código  da observação  (campo 02 do Registro 0460)
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button198Click(Sender: TObject);
begin
  if vIND_DOC('1') then
   Application.MessageBox('Indicador da origem do documento vinculado ao ajuste Válido','vIND_DOC',mb_OK)
  else
   Application.MessageBox('Indicador da origem do documento vinculado ao ajuste Inválido','vIND_DOC',mb_OK);
end;

procedure TForm1.Button184Click(Sender: TObject);
var
 TempInt: integer;
begin
//REGISTRO DE INFORMAÇÕES SOBRE EXPORTAÇÃO

 TempInt := Registro1100('0',                        //  Informe o tipo de documento:
                         '02',                       //  Número da declaração
                         '18/11/2008',               //  Data da declaração (DDMMAAAA)
                         '0',                        //  Preencher com:
                         '04',                       //  Nº do registro de Exportação
                         '18/11/2008',               //  Data do Registro de Exportação (DDMMAAAA)
                         '05',                       //  Nº do conhecimento de embarque
                         '18/11/2008',               //  Data do conhecimento de embarque (DDMMAAAA)
                         '18/11/2008',               //  Data da averbação da Declaração de exportação (ddmmaaaa)
                         '06',                       //  Informação do tipo de conhecimento de transporte (Preencher conforme tabela de tipo de documento de carga do SISCOMEX)
                         '07'                        //  Código do país de destino da mercadoria (Preencher conforme tabela do SISCOMEX)
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button166Click(Sender: TObject);
var
 TempInt: integer;
begin

//CONSOLIDAÇÃO DA PRESTAÇÃO DE SERVIÇOS - NOTAS DE SERVIÇO DE COMUNICAÇÃO (CÓDIGO 21) E DE SERVIÇO DE TELECOMUNICAÇÃO (CÓDIGO 22)

 TempInt := RegistroD600('08',                       //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '1100205',                  //  Código do município dos terminais faturados, conforme a tabela IBGE
                         '345',                      //  Série do documento fiscal
                         '456',                      //  Subsérie do documento fiscal
                         '01',                       //  Código de classe de consumo dos serviços de comunicação ou de telecomunicação, conforme a Tabela 4.4.4
                         '678',                      //  Quantidade de documentos consolidados neste registro
                         '18/11/2008',               //  Data dos documentos consolidados
                         '12',                       //  Valor total acumulado dos documentos fiscais
                         '23',                       //  Valor acumulado dos descontos
                         '34',                       //  Valor acumulado das prestações de serviços tributados pelo ICMS
                         '45',                       //  Valor acumulado dos serviços não-tributados pelo ICMS
                         '56',                       //  Valores cobrados em nome de terceiros
                         '67',                       //  Valor acumulado das despesas acessórias
                         '78',                       //  Valor acumulado da base de cálculo do ICMS
                         '89',                       //  Valor acumulado do ICMS
                         '90',                       //  Valor do PIS
                         '99'                        //  Valor da COFINS
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button167Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO ANALÍTICO DOS DOCUMENTOS (CÓDIGOS 21 e 22)

 TempInt := RegistroD690('123',                      //  Código da Situação Tributária, conforme a tabela indicada no item 4.3.1
                         CFOP,                       //  Código Fiscal de Operação e Prestação, conforme a tabela indicada no item 4.2.2
                         '345',                      //  Alíquota do ICMS
                         '456',                      //  Valor da operação correspondente à combinação de CST_ICMS, CFOP, e alíquota do ICMS, incluídas as despesas acessórias e acréscimos
                         '12',                       //  Parcela correspondente ao "Valor da base de cálculo do ICMS" referente à combinação CST_ICMS,  CFOP, e alíquota do ICMS
                         '23',                       //  Parcela correspondente ao "Valor do ICMS" referente à combinação CST_ICMS,  CFOP, e alíquota do ICMS
                         '34',                       //  Parcela correspondente ao "Valor da base de cálculo do ICMS" da substituição tributária referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '45',                       //  Parcela correspondente ao valor creditado/debitado do ICMS da substituição tributária, referente à combinação de CST_ICMS,  CFOP, e alíquota do ICMS.
                         '56',                       //  Valor não tributado em função da redução da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '67'                        //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button168Click(Sender: TObject);
var
 TempInt: integer;
begin

//ITENS DO DOCUMENTO CONSOLIDADO (CÓDIGO 21 E 22)

 TempInt := RegistroD610('01',              //  Código de classificação do item do serviço de comunicação ou de telecomunicação, conforme a Tabela 4.4.1
                         '02',              //  Código do item (campo 02 do Registro 0200)
                         '03',              //  Quantidade acumulada do item
                         '04',              //  Unidade do item (Campo 02 do registro 0190)
                         '12',              //  Valor acumulado do item
                         '23',              //  Valor acumulado dos descontos
                         '123',             //  Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                         CFOP,              //  Código Fiscal de Operação e Prestação preponderante
                         '345',             //  Alíquota do ICMS
                         '34',              //  Valor acumulado da base de cálculo do ICMS
                         '45',              //  Valor acumulado do ICMS debitado
                         '56',              //  Valor da base de cálculo do ICMS substituição tributária
                         '67',              //  Valor do ICMS retido por substituição tributária
                         '78',              //  Valor não tributado em função da redução da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '89',              //  Valor acumulado do PIS
                         '90',              //  Valor acumulado da COFINS
                         '678'              //  Código da conta analítica contábil debitada/creditada
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button170Click(Sender: TObject);
var
 TempInt: integer;
begin

//CONSOLIDAÇÃO DA PRESTAÇÃO DE SERVIÇOS - NOTAS DE SERVIÇO DE COMUNICAÇÃO (CÓDIGO 21) E DE SERVIÇO DE TELECOMUNICAÇÃO (CÓDIGO 22)

 TempInt := RegistroD695('08',                       //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '01',                       //  Série do documento fiscal
                         '02',                       //  Número de ordem inicial
                         '03',                       //  Número de ordem final
                         '18/11/2008',               //  Data de emissão inicial dos documentos
                         '18/11/2008',               //  Data de emissão final dos documentos
                         'Nome',                     //  Nome do Volume do arquivo Mestre de Documento Fiscal
                         '567'                       //  Chave de codificação digital do arquivo Mestre de Documento Fiscal
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button171Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO ANALÍTICO DOS DOCUMENTOS (CÓDIGO 21 E 22)

 TempInt := RegistroD696('123',                      //  Código da Situação Tributária, conforme a tabela indicada no item 4.3.1
                         CFOP,                       //  Código Fiscal de Operação e Prestação, conforme a tabela indicada no item 4.2.2
                         '345',                      //  Alíquota do ICMS
                         '12',                       //  Valor da operação correspondente à combinação de CST_ICMS, CFOP, e alíquota do ICMS, incluídas as despesas acessórias e acréscimos
                         '02',                       //  Parcela correspondente ao "Valor da base de cálculo do ICMS" referente à combinação CST_ICMS,  CFOP, e alíquota do ICMS
                         '03',                       //  Parcela correspondente ao "Valor do ICMS" referente à combinação CST_ICMS,  CFOP, e alíquota do ICMS
                         '45',                       //  Valor da base de cálculo do ICMS substituição tributária
                         '56',                       //  Valor do ICMS retido por substituição tributária
                         '67',                       //  Valor não tributado em função da redução da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '678'                       //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button172Click(Sender: TObject);
var
 TempInt: integer;
begin

//REGISTRO DE INFORMAÇÕES DE ICMS ST POR UF (CÓDIGO 21 E 22)

 TempInt := RegistroD697(UF,                       //  Sigla da unidade da federação a que se refere a retenção ST
                         '12',                     //  Valor da base de cálculo do ICMS substituição tributária
                         '34'                      //  Valor do ICMS retido por substituição tributária
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button173Click(Sender: TObject);
var
 TempInt: integer;
begin

//INFORMAÇÕES ADICIONAIS DA APURAÇÃO - VALORES DECLARATÓRIOS.

 TempInt := RegistroE115('123',                       //  Código da informação adicional conforme tabela a ser definida pelas SEFAZ, conforme tabela definida no item 5.2.
                         '12',                        //  Valor referente à informação adicional
                         'Descricao'                  //  Descrição complementar do ajuste
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button174Click(Sender: TObject);
var
 TempInt: integer;
begin

//INFORMAÇÕES ADICIONAIS DOS AJUSTES DA APURAÇÃO DO ICMS - IDENTIFICAÇÃO DOS DOCUMENTOS FISCAIS

 TempInt := RegistroE113('123',                       //  Código do participante (campo 02 do Registro 0150):
                         '08',                        //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '234',                       //  Série do documento fiscal
                         '567',                       //  Subserie do documento fiscal
                         '678',                       //  Número do documento fiscal
                         '18/11/2008',                //  Data da emissão do documento fiscal
                         '900',                       //  Código do item (campo 02 do Registro 0200)
                         '999',                        //  Valor do ajuste para a operação/item
                         '1234567890123655420022565656562256223366'                          // Chave do Documento Eletrônico
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button175Click(Sender: TObject);
var
 TempInt: integer;
begin

//INFORMAÇÕES ADICIONAIS DOS AJUSTES DA APURAÇÃO DO ICMS

 TempInt := RegistroE112('123',                       //  Número do documento de arrecadação estadual, se houver
                         '234',                       //  Número do processo ao qual o ajuste está vinculado, se houver
                         '2',                         //  Indicador da origem do processo:
                         'Descricao',                 //  Descrição resumida do processo que embasou o lançamento
                         'Descricao'                  //  Descrição complementar
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button176Click(Sender: TObject);
var
 TempInt: integer;
begin

//AJUSTE/BENEFÍCIO/INCENTIVO DA APURAÇÃO DO ICMS

 TempInt := RegistroE111('123',                       //  Código do ajuste da apuração e dedução, conforme a Tabela indicada no item 5.1.1.
                         'Descricao',                 //  Descrição complementar do ajuste da apuração.
                         '345'                        //  Valor do ajuste da apuração
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button177Click(Sender: TObject);
var
 TempInt: integer;
begin

//AJUSTE/BENEFÍCIO/INCENTIVO DA APURAÇÃO DO ICMS SUBSTITUIÇÃO TRIBUTÁRIA

 TempInt := RegistroE220('PE019999',             //  Código do ajuste da apuração e dedução, conforme a Tabela indicada no item 5.1.1
                         'Descricao',            //  Descrição complementar do ajuste da apuração
                         '345'                   //  Valor do ajuste da apuração
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button178Click(Sender: TObject);
var
 TempInt: integer;
begin

//INFORMAÇÕES ADICIONAIS DOS AJUSTES DA APURAÇÃO DO ICMS SUBSTITUIÇÃO TRIBUTÁRIA

 TempInt := RegistroE230('123',              //  Número do documento de arrecadação estadual, se houver
                         '234',              //  Número do processo ao qual o ajuste está vinculado, se houver
                         '1',                //  Indicador da origem do processo:
                         'Descricao',        //  Descrição resumida do processo que embasou o lançamento
                         'Descricao'         //  Descrição complementar
);

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button179Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- Registro9001 - ABERTURA DO BLOCO 9 ---
TempInt := Registro9001('0'           //Indicador de movimento
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button180Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- Registro9900 - REGISTROS DO ARQUIVO ---
TempInt := Registro9900;                              //Registro que será totalizado no próximo campo
                                                       //Total de registros do tipo informado no campo anterior


 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button181Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- Registro9990 - ENCERRAMENTO DO BLOCO 9 ---
TempInt := Registro9990;
 Trata_SPED_Int(sender, TempInt);

end;

procedure TForm1.Button182Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- Registro9999 - ENCERRAMENTO DO ARQUIVO DIGITAL ---
 TempInt := Registro9999;
 Trata_SPED_Int(sender, TempInt);

Finaliza_SPED;
ShowMessage('Verifique os arquivo de saída em ' + edit1.text);
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
opendialog1.InitialDir := extractfilepath(application.exename);
if opendialog1.Execute then
 edit1.Text := opendialog1.FileName;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
opendialog1.InitialDir := extractfilepath(application.exename);

if opendialog1.Execute then
 edit2.Text := opendialog1.FileName;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
 edit1.Text := ExtractFileDrive(application.ExeName) + '\';
 edit2.Text := extractfiledir(application.ExeName);

end;

procedure TForm1.Button189Click(Sender: TObject);
var
 TempInt: integer;
begin
//MOVIMENTAÇÃO DIÁRIA DE COMBUSTÍVEIS

 TempInt := Registro1300('01',                //  Código do Produto, constante do registro 0200
                         '18/11/2008',        //  Data do fechamento da movimentação
                         '02',                //  Estoque no inicio do dia, em litros
                         '03',                //  Volume Recebido no dia (em litros)
                         '04',                //  Volume Disponível (04 + 05), em litros
                         '05',                //  Volume Total das Saídas, em litros
                         '06',                //  Estoque Escritural (06 - 07), litros
                         '07',                //  Valor da Perda, em litros
                         '08',                //  Valor do ganho, em litros
                         '09'                 //  Estoque de Fechamento, em litros
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button190Click(Sender: TObject);
var
 TempInt: integer;
begin
//MOVIMENTAÇÃO DIÁRIA DE COMBUSTÍVEIS POR TANQUE

 TempInt := Registro1310('01',                       //  Tanque que armazena o combustível.
                         '02',                       //  Estoque no inicio do dia, em litros
                         '03',                       //  Volume Recebido no dia (em litros)
                         '04',                       //  Volume Disponível (03 + 04), em litros
                         '05',                       //  Volume Total das Saídas, em litros
                         '06',                       //  Estoque Escritural(05 - 06), litros
                         '07',                       //  Valor da Perda, em litros
                         '08',                       //  Valor do ganho, em litros
                         '09'                        //  Volume aferido no tanque, em litros. Estoque de fechamento físico do tanque.
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button185Click(Sender: TObject);
var
 TempInt: integer;
begin
//DOCUMENTOS FISCAIS DE EXPORTAÇÃO

 TempInt := Registro1105('02',                        //  Código do modelo da NF, conforme tabela 4.1.1
                         '234',                       //  Série da Nota Fiscal
                         '345',                       //  Número de Nota Fiscal de Exportação emitida pelo Exportador
                         '456',                       //  Chave da Nota Fiscal Eletrônica
                         '18/11/2008',                //  Data da emissão da NF de exportação
                         '789'                        //  Código do item (campo 02 do Registro 0200)
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button186Click(Sender: TObject);
var
 TempInt: integer;
begin

//OPERAÇÕES DE EXPORTAÇÃO INDIRETA DE PRODUTOS NÃO INDUSTRIALIZADOS PELO ESTABELECIMENTO EMITENTE.

 TempInt := Registro1110('01',                       //  Código do participante-Fornecedor da Mercadoria destinada à exportação (campo 02 do Registro 0150)
                         '02',                       //  Código do documento fiscal, conforme a Tabela 4.1.1
                         '03',                       //  Série do documento fiscal recebido com fins específicos de exportação.
                         '04',                       //  Número do documento fiscal recebido com fins específicos de exportação.
                         '18/11/2008',               //  Data da emissão do documento fiscal recebido com fins específicos de exportação
                         '05',                       //  Chave da Nota Fiscal Eletrônica
                         '06',                       //  Número do Memorando de Exportação
                         '07',                       //  Quantidade do item efetivamente exportado.
                         '08'                        //  Unidade do item  (Campo 02 do registro 0190)
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button187Click(Sender: TObject);
var
 TempInt: integer;
begin

//CONTROLE DE CRÉDITOS FISCAIS - ICMS

 TempInt := Registro1200('123',                      //  Código de ajuste, conforme informado na Tabela indicada no item 5.1.1.
                         '13',                       //  Saldo de créditos fiscais de períodos anteriores
                         '14',                       //  Total de crédito apropriado no mês
                         '15',                       //  Total de créditos recebidos por transferência
                         '16',                       //  Total de créditos utilizados no período
                         '17'                        //  Saldo de crédito fiscal acumulado a transportar para o período seguinte
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button188Click(Sender: TObject);
var
 TempInt: integer;
begin
//UTILIZAÇÃO DE CRÉDITOS FISCAIS - ICMS

 TempInt := Registro1210('MG01',                       // Tipo de utilização do crédito:
                         '03',                         // Número do documento utilizado na baixa de créditos
                         '04',                        // Total de crédito utilizado
                         '1234587844487451488787487'  // Chave do Documento Eletrônico
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button191Click(Sender: TObject);
var
 TempInt: integer;
begin
//VOLUME DE VENDAS

 TempInt := Registro1320('01',                       //  Bico Ligado à Bomba
                         '02',                       //  Número da intervenção
                         'Motivo',                   //  Motivo da Intervenção
                         'Nome',                     //  Nome do Interventor
                         CNPJ,                       //  CNPJ da empresa responsável pela intervenção
                         CPF,                        //  CPF do técnico responsável pela intervenção
                         '05',                       //  Valor da leitura final do contador, no fechamento do bico.
                         '06',                       //  Valor da leitura inicial do contador, na abertura do bico.
                         '07',                       //  Aferições da Bomba, em litros
                         '08'                        //  Vendas (08 - 09 - 10 ) do bico , em litros
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button192Click(Sender: TObject);
var
 TempInt: integer;
begin
//INFORMAÇÃO SOBRE VALORES AGREGADOS

 TempInt := Registro1400('123',                       //  Código do item (campo 02 do Registro 0200)
                         '1100205',                   //  Código do Município de origem
                         '13'                         //  Valor mensal correspondente ao município
                         );

 Trata_SPED_Int(sender, TempInt);
end;



procedure TForm1.Button193Click(Sender: TObject);
var
 TempInt: integer;
begin
//NOTA FISCAL/CONTA DE ENERGIA ELÉTRICA (CÓDIGO 06) - OPERAÇÕES INTERESTADUAIS.

 TempInt := Registro1500('0',                        //  Indicador do tipo de operação:
                         '1',                        //  Indicador do emitente do documento fiscal:
                         '02',                       //  Código do participante (campo 02 do Registro 0150):
                         '08',                       //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '04',                       //  Código da situação do documento fiscal, conforme a Tabela 4.1.2
                         '05',                       //  Série do documento fiscal
                         '03',                       //  Subsérie do documento fiscal
                         '07',                       //  Código de classe de consumo de energia elétrica, conforme a Tabela 4.4.5 ou Código da classe de consumo de gás canalizado conforme Tabela 4.4.3.
                         '06',                       //  Número do documento fiscal
                         '18/11/2008',               //  Data da emissão do documento fiscal
                         '19/11/2008',               //  Data da entrada ou da saída
                         '12',                       //  Valor total do documento fiscal
                         '13',                       //  Valor total do desconto
                         '14',                       //  Valor total fornecido/consumido
                         '15',                       //  Valor total dos serviços não-tributados pelo ICMS
                         '16',                       //  Valor total cobrado em nome de terceiros
                         '17',                       //  Valor total de despesas acessórias indicadas no documento fiscal
                         '18',                       //  Valor acumulado da base de cálculo do ICMS
                         '19',                       //  Valor acumulado do ICMS
                         '20',                       //  Valor acumulado da base de cálculo do ICMS substituição tributária
                         '21',                       //  Valor acumulado do ICMS retido por substituição tributária
                         '22',                       //  Código da informação complementar do documento fiscal (campo 02 do Registro 0450)
                         '23',                       //  Valor do PIS
                         '24',                       //  Valor da COFINS
                         '1' ,                       //  Código de tipo de Ligação
                         '02'                        //  Código de grupo de tensão
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button194Click(Sender: TObject);
var
 TempInt: integer;
begin
//ITENS DO DOCUMENTO NOTA FISCAL/CONTA ENERGIA ELÉTRICA (CÓDIGO 06)

 TempInt := Registro1510('03',              //  Número seqüencial do item no documento fiscal
                         '11',              //  Código do item (campo 02 do Registro 0200)
                         '12',              //  Código de classificação do item de energia elétrica, conforme a Tabela 4.4.1
                         '13',              //  Quantidade do item
                         '14',              //  Unidade do item (Campo 02 do registro 0190)
                         '15',              //  Valor do item
                         '16',              //  Valor total do desconto
                         '17',              //  Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                         CFOP,              //  Código Fiscal de Operação e Prestação
                         '19',              //  Valor da base de cálculo do ICMS
                         '20',              //  Alíquota do ICMS
                         '21',              //  Valor do ICMS creditado/debitado
                         '22',              //  Valor da base de cálculo referente à substituição tributária
                         '23',              //  Alíquota do ICMS da substituição tributária na unidade da federação de destino
                         '24',              //  Valor do ICMS referente à substituição tributária
                         '0',               //  Indicador do tipo de receita:
                         '26',              //  Código do participante receptor da receita, terceiro da operação (campo 02 do Registro 0150)
                         '27',              //  Valor do PIS
                         '28',              //  Valor da COFINS
                         '29'               //  Código da conta analítica contábil debitada/creditada
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Sequencia0000000504500460046509901Click(Sender: TObject);
begin
{ // Bloco 0
Button21.Click;
Button1.Click;
Button2.Click;
Button18.Click;
Button15.Click;
Button8.Click;
Button17.Click;
Button9.Click;
Button23.Click;

  // Bloco 1
Button59.Click;
Button65.Click;

   // Bloco C
Button24.Click;
Button80.Click;

   // Bloco D
Button5.Click;
Button133.Click;

   //Bloco E
Button134.Click;
Button139.Click;
Button140.Click;
Button143.Click;
Button144.Click;
Button158.Click;

 //Bloco 14

Button209.Click;
Button214.Click;

   //Bloco H
Button159.Click;
Button160.Click;
Button164.Click;
Button162.Click;

   //Bloco 9
Button179.Click;
Button180.Click;
Button181.Click;
Button182.Click; }

Button21.Click;
Button1.Click;
Button2.Click;
Button15.Click;
Button8.Click;
Button17.Click;
Button9.Click;
Button12.Click;
Button23.Click;

Button24.Click;
Button26.Click;
Button94.Click;
Button56.Click;
Button80.Click;

Button5.Click;
Button133.Click;

Button134.Click;
Button139.Click;
Button140.Click;
Button158.Click;

Button209.Click;
Button214.Click;

Button159.Click;
Button162.Click;

Button59.Click;
Button65.Click;

Button179.Click;
Button180.Click;
Button181.Click;
Button182.Click;


end;

procedure TForm1.Button199Click(Sender: TObject);
begin
  if vIND_PROP('1') then
   Application.MessageBox('Indicador de propriedade/posse do item Válido','vIND_PROP',mb_OK)
  else
   Application.MessageBox('Indicador de propriedade/posse do item Inválido','vIND_PROP',mb_OK);
end;


procedure TForm1.Button200Click(Sender: TObject);
begin
  if vIND_DOC_Informe_tipo_documento('1') then
   Application.MessageBox('Tipo de documento Válido','vIND_DOC_Informe_tipo_documento',mb_OK)
  else
   Application.MessageBox('Tipo de documento Inválido','vIND_DOC_Informe_tipo_documento',mb_OK);
end;


procedure TForm1.Button201Click(Sender: TObject);
begin
  if vTP_CHC('01') then
   Application.MessageBox('Informação do tipo de conhecimento de transporte Válido','vTP_CHC',mb_OK)
  else
   Application.MessageBox('Informação do tipo de conhecimento de transporte Inválido','vTP_CHC',mb_OK);
end;

procedure TForm1.Button202Click(Sender: TObject);
begin
  if vTIPO_MEDICAO('1') then
   Application.MessageBox('Identificador de medição Válido','vTIPO_MEDICAO',mb_OK)
  else
   Application.MessageBox('Identificador de medição Inválido','vTIPO_MEDICAO',mb_OK);
end;

procedure TForm1.Button203Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0300 - CADASTRO DE BENS OU COMPONENTES DO ATIVO IMOBILIZADO

TempInt := Registro0300('1234',                     //Código individualizado do bem ou componente adotado no controle patrimonial do estabelecimento informante:
                        '1',                        //Identificação do tipo de mercadoria:
                        'Descricao',                //Descrição do bem ou componente (modelo, marca e outras características necessárias a sua individualização):
                        '4321',                     //Código de cadastro do bem principal nos casos em que o bem ou componente ( campo 02) esteja vinculado a um bem principal:
                        '2253',                     //Código da conta analítica de contabilização do bem ou componente (campo 06 do Registro 0500):
                        '010'                       //Número total de parcelas a serem apropriadas, segundo a legislação de cada unidade federada:
                        );

   Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button204Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0305 - INFORMAÇÃO SOBRE A UTILIZAÇÃO DO BEM

TempInt := Registro0305('1234',                   //Código da conta analítica de contabilização da depreciação acumulada do bem (campo 06 do Registro 0500):
                        'Descricao',              //Descrição sucinta da função do bem na atividade do estabelecimento
                        '120'                     //Vida útil estimada do bem, em número de meses:
                        );

   Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button205Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0500 - PLANO DE CONTAS CONTÁBEIS

TempInt := Registro0500('01/01/2009',             //Data da inclusão/alteração:
                        '03',                     //Código da natureza da conta/grupo de contas:
                        'S',                      //Indicador do tipo de conta:
                        '010',                    //Nível da conta analítica/grupo de contas:
                        '1234',                   //Código da conta analítica/grupo de contas:
                        'Nome'                    //Nome da conta analítica/grupo de contas:
                        );

   Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button211Click(Sender: TObject);
var
 TempInt: integer;
begin
//RegistroG125 - MOVIMENTAÇÃO DE BEM OU COMPONENTE DO ATIVO IMOBILIZADO

 TempInt := RegistroG125('01',                       //  Código individualizado do bem ou componente adotado no controle patrimonial do estabelecimento informante:
                         '01/10/2009',               //  Data da movimentação ou do saldo inicial:
                         'SI',                       //  Tipo de movimentação do bem ou componente:
                         '1',                        //  Valor do ICMS da Operação Própria na entrada do bem ou componente:
                         '2',                        //  Valor do ICMS da Oper. por Sub. Tributária na entrada do bem ou componente:
                         '3',                        //  Valor do ICMS sobre Frete do Conhecimento de Transporte na entrada do bem ou componente:
                         '4',                        //  Valor do ICMS - Diferencial de Alíquota, conforme Doc. de Arrecadação, na entrada do bem ou componente:
                         '5',                        //  Número da parcela do ICMS:
                         '6'                         //  Valor da parcela de ICMS passível de apropriação  - antes da aplicação da participação percentual do valor das saídas tributadas/exportação sobre as saídas totais (Modelo D):
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button210Click(Sender: TObject);
var
 TempInt: integer;
begin
//RegistroG110 - ICMS – ATIVO PERMANENTE – CIAP

 TempInt := RegistroG110('01/09/2009',               //  Data inicial a que a apuração se refere:
                         '30/10/2009',               //  Data final a que a apuração se refere:
                         '10',                       //  Saldo inicial de ICMS do CIAP, composto por ICMS de bens que entraram anteriormente ao período de apuração (Modelo C):
                         '12',                       //  Somatório das parcelas de ICMS passível de apropriação de cada bem – campo 10 do G125 (Modelo D):
                         '13',                       //  Valor do somatório das saídas tributadas e saídas para exportação:
                         '14',                       //  Valor total de saídas:
                         '15',                       //  Índice de participação do valor do somatório das saídas tributadas e saídas para exportação no valor total de saídas (Campo 06 dividido pelo campo 07)
                         '16',                       //  Valor de ICMS a ser apropriado na apuração do ICMS, correspondente á multiplicação do campo 05 pelo campo 08.
                         '17'                        //  Valor de outros créditos a ser apropriado na apuração do ICMS, correspondente ao somatório do campo 09 dos registros G126.
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button209Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroG001 - ABERTURA DO BLOCO G
TempInt := RegistroG001('1'              // Indicador de movimento:
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button212Click(Sender: TObject);
var
 TempInt: integer;
begin
//RegistroG130 - Identificação do documento fiscal

 TempInt := RegistroG130('0',                        //  Indicador do emitente do documento fiscal:
                         '02',                       //  Código do participante:
                         '02',                       //  Código do modelo de documento fiscal, conforme tabela 4.1.1:
                         '04',                       //  Série do documento fiscal:
                         '05',                       //  Número de documento fiscal:
                         '06',                       //  Chave do documento fiscal eletrônico:
                         '04/02/2009'                //  Data da emissão do documento fiscal:
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button213Click(Sender: TObject);
var
 TempInt: integer;
begin
//RegistroG140 - IDENTIFICAÇÃO DO ITEM DO DOCUMENTO FISCAL

 TempInt := RegistroG140('01',                       //  Número seqüencial do item no documento fiscal:
                         '02'                        //  Código correspondente do bem no documento fiscal
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button214Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroG990 - ENCERRAMENTO DO BLOCO G
TempInt := RegistroG990;
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button215Click(Sender: TObject);
var
 TempInt: integer;
begin
// Registro1700 - DOCUMENTOS FISCAIS UTILIZADOS

 TempInt := Registro1700('01',                      //  Código dispositivo autorizado
                         '02',                      //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '03',                      //  Série do documento fiscal
                         '04',                      //  Subsérie do documento fiscal
                         '05',                      //  Número do documento fiscal inicial
                         '07',                      //  Número do documento fiscal final
                         '08'                       //  Número da autorização, conforme dispositivo autorizado
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button216Click(Sender: TObject);
var
 TempInt: integer;
begin
// Registro1710 - DOCUMENTOS FISCAIS CANCELADOS/INUTILIZADOS

 TempInt := Registro1710('01',                       //  Número do documento fiscal inicial 
                         '02'                        //  Número do documento fiscal final
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button217Click(Sender: TObject);
var
 TempInt: integer;
begin
// Registro1800 - DOCUMENTOS FISCAIS UTILIZADOS

 TempInt := Registro1800('01',                        //  Valor das prestações cargas (Tributado)
                         '02',                        //  Valor das prestações passageiros/cargas (Não Tributado)
                         '03',                        //  Valor total do faturamento (3+4)
                         '04',                        //  Índice para rateio
                         '05',                        //  Valor do ICMS anteriormente cobrado
                         '06',                        //  Valor da base de cálculo do ICMS
                         '07',                        //  Valor do ICMS apurado (6 x 7)
                         '08',                        //  Valor da base de cálculo do ICMS apurada (6 x 8)
                         '09'                         //  Valor da diferença a ser levada a estorno de crédito na apuração (7 - 9)
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button226Click(Sender: TObject);
var
 TempInt: integer;
begin
//RegistroC105 - IDENTIFICAÇÃO DO ITEM DO DOCUMENTO FISCAL

 TempInt := RegistroG140('0',                       //  Indicador do tipo de operação: 0 - Combustíveis e Lubrificantes; 1 - leasing de veículos ou faturamento direto.
                         UF                         //  Sigla da UF de destino do ICMS_ST
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button227Click(Sender: TObject);
begin
  if vOPER('1') then
   Application.MessageBox('Indicador do tipo de operação Válido','vOPER',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de operação Inválido','vOPER',mb_OK);
end;

procedure TForm1.Button228Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroE116B - OPERAÇÕES COM VEÍCULOS NOVOS (CÓDIGO 01)

// Registro alternativo criado para substituir até DEZ 2010, o registro E116, que contém o campo MES_REF
// que só deverá constar do layout do arquivo txt no período de apuração de janeiro de 2011.

TempInt := RegistroE116_ANTES_JAN2011 ('000',                 // Código da obrigação a recolher, conforme a Tabela 5.4
                                       '01',                  // Valor da obrigação a recolher
                                       '18/11/2008',          // Data de vencimento da obrigação
                                       '02',                  // Código de receita referente à obrigação, próprio da unidade da federação, conforme legislação estadual,
                                       '03',                  // Número do processo ou auto de infração ao qual a obrigação está vinculada, se houver.
                                       '0',                   // Indicador da origem do processo:
                                       'Descricao',           // Descrição resumida do processo que embasou o lançamento
                                       'Descricao'            // Descrição complementar das obrigações a recolher.
                                       );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button218Click(Sender: TObject);
begin
  if vIDENT_MERC('1') then
   Application.MessageBox('Identificação do tipo de mercadoria Válido','vIDENT_MERC',mb_OK)
  else
   Application.MessageBox('Identificação do tipo de mercadoria Inválido','vIDENT_MERC',mb_OK);
end;

procedure TForm1.Button219Click(Sender: TObject);
begin
  if vCOD_NAT_CC('02') then
   Application.MessageBox('Código da natureza da conta/grupo de contas Válido','vCOD_NAT_CC',mb_OK)
  else
   Application.MessageBox('Código da natureza da conta/grupo de contas Inválido','vCOD_NAT_CC',mb_OK);
end;

procedure TForm1.Button220Click(Sender: TObject);
begin
  if vIND_CTA('S') then
   Application.MessageBox('Indicador do tipo de conta Válido','vIND_CTA',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de conta Inválido','vIND_CTA',mb_OK);
end;

procedure TForm1.Button221Click(Sender: TObject);
begin
  if vTIPO_MOV('SI') then
   Application.MessageBox('Tipo de movimentação do bem ou componente Válido','vTIPO_MOV',mb_OK)
  else
   Application.MessageBox('Tipo de movimentação do bem ou componente Inválido','vTIPO_MOV',mb_OK);
end;

procedure TForm1.Button222Click(Sender: TObject);
begin
  if vCOD_DISP('01') then
   Application.MessageBox('Código dispositivo autorizado Válido','vCOD_DISP',mb_OK)
  else
   Application.MessageBox('Código dispositivo autorizado Inválido','vCOD_DISP',mb_OK);
end;

procedure TForm1.Button341Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- REGISTRO A360: ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button340Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- REGISTRO A370: ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button339Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- REGISTRO A380: ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button229Click(Sender: TObject);
var
 TempInt: Integer;
begin
//OBRIGAÇÕES DO ICMS A RECOLHER - SUBSTITUIÇÃO TRIBUTÁRIA

// Registro alternativo criado para substituir até DEZ 2010, o registro E250, que contém o campo MES_REF
// que só deverá constar do layout do arquivo txt no período de apuração de janeiro de 2011.

 TempInt := RegistroE250_ANTES_JAN2011('01',                     //  Código da obrigação a recolher, conforme a Tabela 5.4
                                       '02',                     //  Valor da obrigação ICMS ST a recolher
                                       '18/11/2008',             //  Data de vencimento da obrigação
                                       '03',                     //  Código   de   receita   referente   à   obrigação,   próprio da unidade da federação
                                       '04',                     //  Número do processo ou auto de infração ao qual a obrigação está vinculada, se houver
                                       '1',                      //  Indicador da origem do processo: 0- Sefaz; 1- Justiça Federal; 2- Justiça Estadual; 9- Outros
                                       'Descricao',              //  Descrição resumida do processo que embasou o lançamento
                                       'Descricao'               //  Descrição complementar das obrigações a recolher
                                       );
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button230Click(Sender: TObject);
var
 TempInt: Integer;
begin
//Registro G126 - –OUTROS CRÉDITOS CIAP

 TempInt := RegistroG126('12/01/2010',           //Data inicial do período de apuração
                         '14/02/2010',           //Data final do período de apuração
                         '12',                   //Núm. parc. ICMS - antes aplic. partic. perc. vl saídas trib/export sobre saídas totais
                         '22',                   //Valor do ICMS da Operação Própria na entrada do bem ou componente
                         '24',                   //Valor somatório saídas trib. e saídas para exportação no período indicado neste registro
                         '26',                   //Valor total de saídas no período indicado neste registro
                         '28',                   //Índice partic. valor somatório saídas trib. e saídas p/ exportação vlr total de saídas
                         '30'                    //Valor de outros créditos de ICMS a ser apropriado como na apuração
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button231Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro 1900 - INDICADOR DE SUB-APURAÇÃO DO ICMS

 TempInt := Registro1900('3',                   // Indicador de outra apuração do ICMS
                         'Descricao'            // Descrição complementar de Outra Apuração do ICMS
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button232Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro 1910 - INDICADOR DE SUB-APURAÇÃO DO ICMS

 TempInt := Registro1910('01/01/2009',                   //DT_INI     Data inicial da sub-apuração
                         '31/01/2009'                    //DT_FIN     Data final da sub-apuração
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button233Click(Sender: TObject);
var
 TempInt: Integer;
begin
//Registro 1920 - SUB- APURAÇÃO DO ICMS

 TempInt := Registro1920('10',                  //Valor total dos débitos por "Saídas e prestações com débito do imposto"
                         '12',                  //Valor total de "Ajustes a débito"
                         '14',                  //Valor total de Ajustes “Estornos de créditos”
                         '16',                  //Valor total dos créditos por "Entradas e aquisições com crédito do imposto"
                         '18',                  //Valor total de "Ajustes a crédito"
                         '20',                  //Valor total de Ajustes “Estornos de Débitos”
                         '22',                  //Valor total de "Saldo credor do período anterior"
                         '24',                  //Valor do saldo devedor apurado
                         '26',                  //Valor total de "Deduções"
                         '28',                  //Valor total de "ICMS a recolher (11-12)
                         '30',                  //Valor total de "Saldo credor a transportar para o período seguinte”
                         '32'                   //Valores recolhidos ou a recolher, extra-apuração.
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button234Click(Sender: TObject);
var
 TempInt: Integer;
begin
//Registro 1921: AJUSTE/BENEFÍCIO/INCENTIVO DA SUBAPURAÇÃO DO ICMS ---

 TempInt := Registro1921('123456',              //Código de ajuste, conforme informado na Tabela indicada no item 5.1.1.
                         'Descricacao',         //Descrição complementar do ajuste da apuração.
                         '12'                   //Valor do ajuste da apuração
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button235Click(Sender: TObject);
var
 TempInt: Integer;
begin
//Registro 1922 - INFORMAÇÕES ADICIONAIS DOS AJUSTES DA SUB-APURAÇÃO DO ICMS

 TempInt := Registro1922('123456',                      //Número do documento de arrecadação estadual, se houver
                         '123456',                      //Número do processo ao qual o ajuste está vinculado, se houver
                         '1',                           //Indicador da origem do processo: 0- Sefaz; 1- Justiça Federal; 2- Justiça Estadual; 9- Outros
                         'Descricao',                   //Descrição resumida do processo que embasou o lançamento
                         'Descricao'                    //Descrição complementar das obrigações a recolher
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button236Click(Sender: TObject);
var
 TempInt: Integer;
begin
//Registro 1923: INFORMAÇÕES ADICIONAIS DOS AJUSTES DA SUB-APURAÇÃO DO ICMS – IDENTIFICAÇÃO OS DOCUMENTOS FISCAIS ---

 TempInt := Registro1923('123456',              //Código do participante (campo 02 do Registro 0150):
                         '55',                  //Código do modelo do documento fiscal conforme a Tabela 4.1.1
                         '0123',                //Série do documento fiscal
                         '001',                 //Subsérie do documento fiscal
                         '1251',                //Número do documento fiscal
                         '12/01/2009',          //Data da emissão do documento fiscal
                         '123',                 //Código do item (campo 02 do Registro 0200)
                         '15',                 //Valor do ajuste para a operação/item
                         '2256565565'          // Chave do Documento Eletrônico
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button237Click(Sender: TObject);
var
 TempInt: Integer;
begin
//Registro 1925: INFORMAÇÕES ADICIONAIS DA SUB-APURAÇÃO – VALORES DECLARATÓRIOS

 TempInt := Registro1925('1234',             //Código da informação adicional conforme tabela a ser definida pelas SEFAZ, conforme tabela definida no item 5.2.
                         '10',               //Valor referente à informação adicional
                         'Descricao'         //Descrição complementar do ajuste
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button246Click(Sender: TObject);
begin
  if vCST_ICMS('900') then
   Application.MessageBox('Código da Situação Tributária referente ao ICMS Válido','vCST_ICMS',mb_OK)
  else
   Application.MessageBox('Código da Situação Tributária referente ao ICMS Inválido','vCST_ICMS',mb_OK);
end;


procedure TForm1.Button245Click(Sender: TObject);
var
 TempInt: Integer;
begin
 TempInt := RegistroH020('11',                  //  Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                         '10',                  //  Informe o valor do ICMS a ser debitado ou creditado
                         '09'                   //  Informe a base de cálculo do ICMS
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button244Click(Sender: TObject);
var
 TempInt: Integer;
begin

 TempInt := RegistroD195('123',                 //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
                         'Descricao'            //  Descrição complementar do código de observação.
                         );

 Trata_SPED_Int(sender, TempInt);

end;

procedure TForm1.Button243Click(Sender: TObject);
begin
  if vCST_COFINS('01') then
   Application.MessageBox('Código da Situação Tributária referente ao COFINS Válido','vCOFINS',mb_OK)
  else
   Application.MessageBox('Código da Situação Tributária referente ao COFINS Inválido','vCOFINS',mb_OK);
end;

procedure TForm1.Button242Click(Sender: TObject);
var
 TempInt: Integer;
begin
 TempInt := RegistroD197('123',                    //  Código do ajustes/benefício/incentivo, conforme tabela indicada no item 5.3.
                         'Descricao',              //  Descrição complementar do ajuste da apuração, nos casos em que o código da tabela for “9999”
                         '789',                    //  Código do item (campo 02 do Registro 0200)
                         '01',                     //  Base de cálculo do ICMS ou do ICMS ST
                         '02',                     //  Alíquota do ICMS
                         '03',                     //  Valor do ICMS ou do ICMS ST
                         '04'                      //  Outros valores
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button241Click(Sender: TObject);
begin
  if vCST_IPI('01') then
   Application.MessageBox('Código da Situação Tributária referente ao IPI Válido','vCST_IPI',mb_OK)
  else
   Application.MessageBox('Código da Situação Tributária referente ao IPI Inválido','vCST_IPI',mb_OK);
end;

procedure TForm1.Button240Click(Sender: TObject);
begin
  if vCST_PIS('01') then
   Application.MessageBox('Código da Situação Tributária referente ao PIS Válido','vCST_PIS',mb_OK)
  else
   Application.MessageBox('Código da Situação Tributária referente ao PIS Inválido','vCST_PIS',mb_OK);
end;

procedure TForm1.Button239Click(Sender: TObject);
begin
  if vIND_APUR_ICMS('3') then
   Application.MessageBox('Indicador de outra apuração do ICMS Válido','vIND_APUR_ICMS',mb_OK)
  else
   Application.MessageBox('Indicador de outra apuração do ICMS Inválido','vIND_APUR_ICMS',mb_OK);
end;

procedure TForm1.Button238Click(Sender: TObject);
var
 TempInt: Integer;
begin
//Registro 1926: OBRIGAÇÕES DO ICMS A RECOLHER – OPERAÇÕES REFERENTES À SUB-APURAÇÃO

 TempInt := Registro1926('001',                 //Código da obrigação a recolher, conforme a Tabela 5.4
                         '12',                  //Valor da obrigação ICMS ST a recolher
                         '01/01/2009',          //Data de vencimento da obrigação
                         '01234',               //Código   de   receita   referente   à   obrigação,   próprio da unidade da federação
                         '12345',               //Número do processo ou auto de infração ao qual a obrigação está vinculada, se houver
                         '0',                   //Indicador da origem do processo: 0- Sefaz; 1- Justiça Federal; 2- Justiça Estadual; 9- Outros
                         'Descricao',           //Descrição resumida do processo que embasou o lançamento
                         'Descricao',           //Descrição complementar das obrigações a recolher
                         '06/2009'              //Informe o mês de referência no formato “mmaaaa”
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button343Click(Sender: TObject);
begin
//--- REGISTRO B600: ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button342Click(Sender: TObject);
begin
//--- REGISTRO B700: ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button253Click(Sender: TObject);
begin
//--- RegistroC116 -  CUPOM FISCAL ELETRÔNICO REFERENCIADO

TempInt := RegistroC116('02',        //  Código do modelo do documento fiscal, conforme a Tabela  4.1.1
                        '123456789', //   Número de Série do equipamento SAT
                        '01234567890102394582736475869708049586753728', //   Chave do Cupom Fiscal Eletrônico
                        '123456',    //   Número do cupom fiscal eletrônico
                        '15/11/2009' //   Data da emissão do documento fiscal
                        );



 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button252Click(Sender: TObject);
begin
  if vIND_PGTO_ANT('9') then
   Application.MessageBox('Indicador do tipo de pagamento Válido','vIND_PGTO_ANT',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de pagamento Inválido','vIND_PGTO_ANT',mb_OK);
end;

procedure TForm1.Button251Click(Sender: TObject);
var
 TempInt: Integer;
begin
//NOTA FISCAL DE SERVIÇO DE TRANSPORTE (CÓDIGO 07)  E CONHECIMENTOS  DE TRANSPORTE RODOVIÁRIO DE CARGAS (CÓDIGO 08), CONHECIMENTOS DE TRANSPORTE DE CARGAS AVULSO (CÓDIGO 8B), AQUAVIÁRIO DE CARGAS (CÓDIGO 09), AÉREO (CÓDIGO 10),   FERROVIÁRIO   DE   CARGAS   (CÓDIGO   11)   E   MULTIMODAL   DE CARGAS (CÓDIGO 26),   NOTA FISCAL DE TRANSPORTE FERROVIÁRIO DE   CARGA   (   CÓDIGO   27)   E   CONHECIMENTO   DE   TRANSPORTE ELETRÔNICO – CT-e (CÓDIGO 57)

 TempInt := RegistroD100_ANTES_ABR2012('1',                      //  Indicador do tipo de operação: 0- Aquisição; 1- Prestação
                                       '1',                      //  Indicador do emitente do documento fiscal: 0- Emissão própria; 1- Terceiros
                                       '01',                     //  Código do participante (campo 02 do Registro 0150): - do prestador de serviço, no caso de aquisição de serviço; - do tomador do serviço, no caso de prestação de serviços.
                                       '57',                     //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                                       '02',                     //  Código da situação do documento fiscal, conforme a Tabela 4.1.2
                                       '03',                     //  Série do documento fiscal
                                       '04',                     //  Subsérie do documento fiscal
                                       '05',                     //  Número do documento fiscal
                                       '06',                     //  Chave do Conhecimento de Transporte Eletrônico
                                       '18/11/2009',             //  Data da emissão do documento fiscal
                                       '19/11/2009',             //  Data da aquisição ou da prestação do serviço
                                       '1',                      //  Tipo de Conhecimento de Transporte Eletrônico conforme definido no Manual de Integração do CT-e
                                       '08',                     //  Chave do CT-e de referência cujos valores foram complementados (opção “1” do campo anterior) ou cujo débito foi anulado(opção “2” do campo anterior).
                                       '09',                     //  Valor total do documento fiscal
                                       '10',                     //  Valor total do desconto
                                       '1',                      //  Indicador do tipo do frete: 0- Por conta de terceiros; 1- Por conta do emitente; 2- Por conta do destinatário; 9- Sem frete
                                       '11',                     //  Valor total da prestação de serviço
                                       '12',                     //  Valor da base de cálculo do ICMS
                                       '13',                     //  Valor do ICMS
                                       '14',                     //  Valor não-tributado
                                       '15',                     //  Código da informação complementar do documento fiscal (campo 02 do Registro 0450)
                                       '16'                      //  Código da conta analítica contábil debitada/creditada
                                      );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button250Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroH005 - TOTAIS DO INVENTÁRIO ---
TempInt := RegistroH005_ANTES_JUL2012('01/05/2007',          // Data do inventário
                                      '2'                    // Valor total do estoque
                                      );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button257Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroC860 -  CUPOM FISCAL ELETRÔNICO REFERENCIADO

TempInt := RegistroC860('02',    //Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                        '123456789',   // Número de Série do equipamento SAT
                        '12/11/2013', // Data de emissão dos documentos fiscais
                        '013456',     // Número do documento inicial
                        '023456'     // Número do documento final
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button256Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroC850 -  CUPOM FISCAL ELETRÔNICO REFERENCIADO

TempInt := RegistroC850('023',    // Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                        CFOP,   // Código Fiscal de Operação e Prestação do agrupamento de itens
                        '023456', // Alíquota do ICMS
                        '01',     // “Valor total do CF-e” na combinação de CST_ICMS, CFOP e alíquota do ICMS, correspondente ao somatório do valor líquido dos itens.
                        '02',     //  Valor acumulado da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP, e alíquota do ICMS
                        '03',     //  Parcela correspondente ao "Valor do ICMS" referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                        '123124'  // Código da observação do lançamento fiscal (campo 02 do registro 0460)
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button255Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroC800 -  CUPOM FISCAL ELETRÔNICO REFERENCIADO

TempInt := RegistroC800('02',        // Código do modelo do documento fiscal, conforme a Tabela  4.1.1
                        '02',        // Código da situação do documento fiscal, conforme a Tabela 4.1.2
                        '012345',    // Número do Cupom Fiscal Eletrônico
                        '12/11/2013',// Data da emissão do Cupom Fiscal Eletrônico
                        '01',        // Valor total do Cupom Fiscal Eletrônico
                        '02',        // Valor total do PIS
                        '03',        // Valor total da COFINS
                        CNPJ,        // CNPJ ou CPF do destinatário
                        '123456789', // Número de Série do equipamento SAT
                        '01234567890102394582736475869709586756453728', // Chave do Cupom Fiscal Eletrônico
                        '01',         // Valor total de descontos
                        '02',        // Valor total das mercadorias e serviços
                        '03',       // Valor total de outras despesas acessórias e acréscimos
                        '04',         // Valor do ICMS
                        '05',         // Valor total do PIS retido por subst. trib
                        '06'         // Valor total da COFINS retido por subst. trib.
                        );




 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button254Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroC465 - COMPLEMENTO DO CUPOM FISCAL ELETRÔNICO EMITIDO POR ECF – CF-e-ECF (CÓDIGO 60).


 TempInt := RegistroC465('01234567890102394582736475869709586756453728',    //  Chave do Cupom Fiscal Eletrônico
                         '012345678'                          //  Número do Contador de Cupom Fiscal
                         );

 Trata_SPED_Int(sender, TempInt);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button268Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK250 - INDUSTRIALIZAÇÃO EFETUADA POR TERCEIROS – ITENS PRODUZIDOS ---
TempInt := RegistroK250('01/05/2007',   // Data do reconhecimento da produção ocorrida no terceiro
                        '10',           // Código do item produzido (campo 02 do Registro 0200)
                        '10'           // Quantidade produzida
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button269Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK255 - IINDUSTRIALIZAÇÃO EM TERCEIROS – INSUMOS CONSUMIDOS---
TempInt := RegistroK255('01/05/2007',   // Data do reconhecimento do consumo do insumo referente ao produto informado no campo 04 do Registro K250
                        '10',           // Código do insumo (campo 02 do Registro 0200)
                        '10',           // Quantidade de consumo do insumo.
                        '10'           // Código do insumo que foi substituído, caso ocorra a substituição (campo 02 do Registro 0210)
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button270Click(Sender: TObject);
var
 TempInt: integer;
begin
// if Inicia_Sintegra(edit1.text, edit2.text) = -1 then
//  application.MessageBox('Erro durante chamada da função Inicia_Sintegra.',
//                         'Atenção', mb_iconerror);

//Informação complementar dos documentos fiscais quando das operações interestaduais destinadas a consumidor final não contribuinte - EC 87/15

 TempInt := RegistroC101(
                         '',                       //  Valor total relativo ao Fundo de Combate àPobreza (FCP) da UF de destino
                         '',                       //  Valor total do ICMS Interestadual para a UF de destino 
                         ''                        //  Valor total do ICMS Interestadual para a UF do remetente);
 );
 
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button271Click(Sender: TObject);
var
 TempInt: integer;
begin
 //if Inicia_SPED(edit1.text, edit2.text) = -1 then
 // application.MessageBox('Erro durante chamada da função Inicia_Sintegra.',
 //                        'Atenção', mb_iconerror);
 
//INFORMAÇÃO COMPLEMENTAR DOS DOCUMENTOS FISCAIS
 
 TempInt := RegistroD101(
                         '',                       //  Valor total relativo ao Fundo de Combate à Pobreza (FCP) da UF de destino
                         '',                       //  Valor total do ICMS Interestadual para a UF de destino
                         ''                        //  Valor total do ICMS Interestadual para a UF do remetente);
 );                         

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button273Click(Sender: TObject);
var
 TempInt: integer;
begin

//APURAÇÃO DO ICMS DIFERENCIAL DE ALÍQUOTA – UF ORIGEM/DESTINO EC 87/15

 TempInt := RegistroE310('0',
                         '1',
                         '2',
                         '3',
                         '4',
                         '5',
                         '6',
                         '7',
                         '8',
                         '9',
                         '10',
                         '11',
                         '12',
                         '21',
                         '01',
                         '213',
                         '124555',
                         '2542356',
                         '255455',
                         '123',
                         '2456'

);
//  Indicador de movimento: 0 – Sem operações com ICMS Diferencial de Alíquota da UF de Origem/Destino 1 – Com operações de ICMS Diferencial de Alíquota da UF de Origem/Destino
//  Valor do Saldo credor de período anterior – ICMS Diferencial de Alíquota da UF de Origem/Destino
//  Valor total dos débitos por Saídas e prestações com débito do ICMS referente ao diferencial de alíquota devido à UF do Remetente/Destinatário
//  Valor Total dos ajustes Outros débitos ICMS Diferencial de Alíquota da UF de Origem/Destino e “Estorno de créditos ICMS Diferencial de Alíquota da UF de Origem/Destino
//  Valor total dos débitos FCP por Saídas e prestações
//  Valor total dos créditos do ICMS referente ao diferencial de alíquota devido à UF dos Remetente/Destinatário
//  Valor total dos créditos FCP por Entradas
//  Valor total de Ajustes Outros créditos ICMS Diferencial de Alíquota da UF de Origem/Destino e Estorno de débitos ICMS Diferencial de Alíquota da UF de Origem/Destino
//  Valor total de Saldo devedor ICMS Diferencial de Alíquota da UF de Origem/Destino antes das deduções
//  Valor total dos ajustes Deduções ICMS Diferencial de Alíquota da UF de Origem/Destino
//  Valor recolhido ou a recolher referente a FCP e Imposto do Diferencial de Alíquota da UF de Origem/Destino (10-11)
//  Saldo credor a transportar para o período seguinte referente a FCP e Imposto do Diferencial de Alíquota da UF de Origem/Destino
//  Valores recolhidos ou a recolher, extraapuração.
//  Valor do "Saldo credor de período anterior – FCP"
//  Valor total dos ajustes "Outros débitos FCP" e “Estorno de créditos FCP”
//  Valor total de Ajustes "Outros créditos FCP" e “Estorno de débitos FCP”
//  Valor total de Saldo devedor FCP antes das deduções
//  Valor total das deduções "FCP"
//  Valor recolhido ou a recolher referente ao FCP (18–19)
// Saldo credor a transportar para o período seguinte referente ao FCP
// Valores recolhidos ou a recolher, extra-apuração - FCP.

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button258Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroC890 -  CUPOM FISCAL ELETRÔNICO REFERENCIADO

TempInt := RegistroC890('023',    // Código da Situação Tributária, conforme a Tabela indicada no item 4.3.1
                        CFOP,   // Código Fiscal de Operação e Prestação do agrupamento de itens
                        '023456', // Alíquota do ICMS
                        '01',     // “Valor total do CF-e” na combinação de CST_ICMS, CFOP e alíquota do ICMS, correspondente ao somatório do valor líquido dos itens.
                        '02',  //  Valor acumulado da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP, e alíquota do ICMS
                        '03',   //  Parcela correspondente ao "Valor do ICMS" referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                        '123124' // Código da observação do lançamento fiscal (campo 02 do registro 0460)
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button259Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO 0210 – CONSUMO ESPECÍFICO PADRONIZADO

 TempInt := Registro0210('02',                  // Código do item componente/insumo (campo 02 do Registro 0200)
                         '03',                  // Quantidade do item componente/insumo para se produzir uma unidade do item composto/resultante
                         '04'                   // Perda/quebra normal percentual do insumo/componente para se produzir uma unidade do item composto/resultante
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button260Click(Sender: TObject);
var
 TempInt: Integer;
begin
//CONSOLIDAÇÃO   DOS   DOCUMENTOS   NF/CONTA ENERGIA ELÉTRICA (CÓD 06),  EMITIDAS EM VIA ÚNICA (EMPRESAS OBRIGADAS   AO   CONVÊNIO   ICMS   115/03)  )   E   NOTA   FISCAL/CONTA   DE FORNECIMENTO DE GÁS CANALIZADO (CÓDIGO 28)

 TempInt := RegistroC700('02',                  //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '03',                  //  Série do documento fiscal
                         '04',                  //  Número de ordem inicial
                         '05',                  //  Número de ordem final
                         '18/11/2008',          //  Data de emissão inicial dos documentos
                         '19/11/2008',          //  Data de emissão final dos documentos
                         '06',                  //  Nome do arquivo Mestre de Documento Fiscal
                         '07'                   //  Chave de codificação digital  do arquivo Mestre de Documento Fiscal
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button261Click(Sender: TObject);
var
 TempInt: Integer;
begin
// //--- RegistroK001 - ABERTURA DO BLOCO K ---
TempInt := RegistroK001('1'    //Indicador de movimento
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button262Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK100 - PERÍODO DE APURAÇÃO DO ICMS/IPI ---
TempInt := RegistroK100('01/05/2007',           // Data inicial a que a apuração se refere
                        '01/05/2007'            // Data final a que a apuração se refere
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button263Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroK990 - ENCERRAMENTO DO BLOCO K
TempInt := RegistroK990;
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button264Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK220 - OUTRAS MOVIMENTAÇÕES INTERNAS ENTRE MERCADORIAS ---
TempInt := RegistroK220('01/05/2007',           // Data da movimentação interna
                        '10',                   // Código do item de origem (campo 02 do Registro 0200)
                        '10',                   // Código do item de destino (campo 02 do Registro 0200)
                        '10',                   // Quantidade movimentada do item de origem
                        '10'                    // Quantidade movimentada do item de destino
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button265Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK230 - ITENS PRODUZIDOS ---
TempInt := RegistroK230('01/05/2007',           // Data de início da ordem de produção
                        '10/05/2007',            // Data de conclusão da ordem de produção
                        '10',                   // Código de identificação da ordem de produção
                        '10',                   // Código do item produzido (campo 02 do Registro 0200)
                        '10'                   // Quantidade de produção acabada
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button285Click(Sender: TObject);
var
 TempInt: Integer;
begin
  //--- RegistroK275 -  CORREÇÃO DE APONTAMENTO DOS REGISTROS K210, K220, K230, K250 E K260 ---
TempInt := RegistroK275('12250016',        // Código  da  mercadoria  (campo  02  do Registro 0200)
                        '21062016',       // Quantidade de correção positiva de apontamento ocorrido em período de apuração anterior
                        '12544632',       // Quantidade de correção negativa de apontamento ocorrido em período de apuração anterior
                        '15445544455445'              //Código do insumo que foi substituído, caso ocorra a substituição, relativo aos Registros K235/K255.
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button286Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK280 - CORREÇÃO DE APONTAMENTO – ESTOQUE ESCRITURADO ---
TempInt := RegistroK280('01/05/2007',           // Data do estoque final escriturado que está sendo corrigido)
                        '1005200765954248484', // Código do item (campo 02 do Registro 0200)
                        '10',                   // Quantidade de correção positiva de apontamento ocorrido em período de apuração anterior
                        '10',                   // Quantidade de correção negativa de apontamento ocorrido em período de apuração anterior
                        '10',                   // Indicador do tipo de estoque
                        '2665651144645'         // Código do participante (campo 02 do Registro 0150)
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button287Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroE531 - AJUSTES DA APURAÇÃO DO IPI

 TempInt := RegistroE531('1',                                                      // Código do participante (campo 02 do Registro 0150)
                         '55',                                                     // Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '02',                                                     // Série do documento fiscal
                         '01',                                                     // Subsérie do documento fiscal
                         '03',                                                     // Número do documento fiscal
                         '20/01/2017',                                             // Data da emissão do documento fiscal
                         '12',                                                     // Código do item (campo 02 do Registro 0200)
                         '10',                                                     // Valor do ajuste para a operação/item
                         '123456789012345678901234567890123456789012345678901234'  // Chave da Nota Fiscal Eletrônica (modelo 55)
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button288Click(Sender: TObject);
var
 TempInt: Integer;
begin
//RegistroD180 - INFORMAÇÕES ADICIONAIS DOS AJUSTES DA APURAÇÃO DO IPI – IDENTIFICAÇÃO DOS DOCUMENTOS FISCAIS (01 e 55)

 TempInt := RegistroD180('01',               //    Número de ordem seqüencial do modal
                         '1',                //    Indicador do emitente do documento fiscal: 0- Emissão própria; 1- Terceiros
                       'CNPJ',               //    CNPJ ou CPF do participante emitente do modal
                         UF,                 //    Sigla da unidade da federação do participante emitente do modal
                         IE,                 //    Inscrição Estadual do participante emitente do modal
                         '1100205',          //    Código do município de origem do serviço conforme a tabela IBGE
                         CNPJ,               //    CNPJ/CPF do participante tomador do serviço
                         '03',               //    Sigla da unidade da federação do participante tomador do serviço
                         UF,                 //    Inscrição Estadual do participante tomador do serviço
                         '04',               //    Código do município de destino conforme a tabela IBGE(Preencher com 9999999, se Exterior)
                         '02',               //    Código do modelo do documento fiscal conforme a Tabela 4.1.1
                         '05',               //    Série do documento fiscal
                         '06',               //    Subsérie do documento fiscal
                         '07',               //    Número do documento fiscal
                         '19/11/2008',       //    Data da emissão do documento fiscal
                         '08'                //    Valor total do documento fiscal
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button274Click(Sender: TObject);
var
 TempInt: integer;
begin
// if Inicia_Sintegra(edit1.text, edit2.text) = -1 then
//  application.MessageBox('Erro durante chamada da função Inicia_Sintegra.',
//                         'Atenção', mb_iconerror);
 
//AJUSTE/BENEFÍCIO/INCENTIVO DA APURAÇÃO DO ICMS DIFERENCIAL DE ALÍQUOTA UF ORIGEM/DESTINO EC 87/15
 
 TempInt := RegistroE311(
                         'PE009999',                       //  Código do ajuste da apuração e dedução, conforme a Tabela indicada no item 5.1.1
                         'DESRICAO',                       //  Descrição complementar do ajuste da apuração
                         '01'                        //  Valor do ajuste da apuração
);
 
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button275Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO ANALÍTICO DOS DOCUMENTOS (CÓDIGO 07, 08, 8B, 09, 10, 11, 26, 27 e 57)

 TempInt := RegistroD190('01',                     //  Código da Situação Tributária, conforme a tabela indicada no item 4.3.1
                         CFOP,                     //  Código Fiscal de Operação e Prestação, conforme a tabela indicada no item 4.2.2
                         '02',                     //  Alíquota do ICMS
                         '03',                     //  Valor da operação correspondente à combinação de CST_ICMS, CFOP, e alíquota do ICMS.
                         '04',                     //  Parcela correspondente ao "Valor da base de cálculo do ICMS" referente à combinação CST_ICMS, CFOP, e alíquota do ICMS
                         '05',                     //  Parcela correspondente ao "Valor do ICMS" referente à combinação CST_ICMS,  CFOP e alíquota do ICMS
                         '06',                     //  Valor não tributado em função da redução da base de cálculo do ICMS, referente à combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '07'                      //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button276Click(Sender: TObject);
var
 TempInt: integer;
begin
/// if Inicia_Sintegra(edit1.text, edit2.text) = -1 then
//  application.MessageBox('Erro durante chamada da função Inicia_Sintegra.',
//                         'Atenção', mb_iconerror);

//INFORMAÇÕES ADICIONAIS DOS AJUSTES DA APURAÇÃO DO ICMS DIFERENCIAL DE ALÍQUOTA UF ORIGEM/DESTINO EC 87/15.
 
 TempInt := RegistroE312(
                         '0',                       //  Número do documento de arrecadação estadual, se houver
                         '0',                       //  Número do processo ao qual o ajuste está vinculado, se houver
                         '0',                       //  Indicador da origem do processo: 0- Sefaz; 1- Justiça Federal; 2- Justiça Estadual; 9- Outros
                         '0',                       //  Descrição resumida do processo que embasou o lançamento
                         '0'                        //  Descrição complementar
);
 
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button277Click(Sender: TObject);
var
 TempInt: integer;
begin
// if Inicia_Sintegra(edit1.text, edit2.text) = -1 then
//  application.MessageBox('Erro durante chamada da função Inicia_Sintegra.',
//                         'Atenção', mb_iconerror);
 
//INFORMAÇÕES ADICIONAIS DOS AJUSTES DA APURAÇÃO DO ICMS DIFERENCIAL DE ALÍQUOTA UF ORIGEM/DESTINO EC 87/15 IDENTIFICAÇÃO DOS DOCUMENTOS FISCAIS.
 
 TempInt := RegistroE313(
                         '0',                       //  Código do participante (campo 02 do Registro 0150)
                         '01',                       //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '0',                       //  Série do documento fiscal
                         '0',                       //  Subsérie do documento fiscal
                         '0',                       //  Número do documento fiscal
                         '0',                       //  Chave do Documento Eletrônico
                         '11/01/2015',                //  Data da emissão do documento fiscal
                         '0',                       //  Código do item (campo 02 do Registro 0200)
                         '0'                        //  Valor do ajuste para a operação/item
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button278Click(Sender: TObject);
var
 TempInt: integer;
begin
// if Inicia_Sintegra(edit1.text, edit2.text) = -1 then
//  application.MessageBox('Erro durante chamada da função Inicia_Sintegra.',
//                         'Atenção', mb_iconerror);
 
//OBRIGAÇÕES DO ICMS RECOLHIDO OU A RECOLHER – DIFERENCIAL DE ALÍQUOTA UF ORIGEM/DESTINO EC 87/15.
 
 TempInt := RegistroE316('000', '00', '30122016', '0', '0', '0','0', '0','012016' );

 //  Código da obrigação recolhida ou a recolher, conforme a Tabela 5.4
 //  Valor da obrigação recolhida ou a recolher
 //  Data de vencimento da obrigação
 //  Código de receita referente à obrigação, próprio da unidade da federação da origem/destino, conforme legislação estadual.
 //  Número do processo ou auto de infração ao qual a obrigação está vinculada, se houver
 //  Indicador da origem do processo: 0- SEFAZ; 1- Justiça Federal; 2- Justiça Estadual; 9- Outros
 //  Descrição resumida do processo que embasou o lançamento
 //  Descrição complementar das obrigações recolhidas ou a recolher
 //  Informe o mês de referência no formato “mmaaaa”

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button279Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- REGISTRO K210: ---

 //--- RegistroK210 -  DESMONTAGEM DE MERCADORIAS – ITEM DE ORIGEM ---
TempInt := RegistroK210('01/05/2007',           // Data de início da ordem de serviço
                        '10/05/2016',          // Data de conclusão da ordem de serviço 
                        '10',                 // Código  de  identificação  da ordem de serviço
                        '10',                // Código do item de origem (campo 02 do Registro 0200)
                        '10'                // Quantidade de origem – saída do estoque
                        );
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button280Click(Sender: TObject);
var
 TempInt: Integer;
begin
 //--- RegistroK215 -  DESMONTAGEM DE MERCADORIAS – ITENS DE DESTINO ---
TempInt := RegistroK215('1245258',           // Código do item de destino (campo 02 do Registro 0200)
                        '1452365'           // Quantidade de destino – entrada em estoque
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button281Click(Sender: TObject);
var
 TempInt: Integer;
begin
//RESUMO DE MOVIMENTO DIÁRIO - RMD (CÓDIGO 18)
 
 TempInt := RegistroD400('02',                //  Código do participante (campo 02 do Registro 0150): - agência, filial ou posto
                         '01',                //  Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '03',                //  Código da situação do documento fiscal, conforme a Tabela 4.1.2
                         '04',                //  Série do documento fiscal
                         '05',                //  Subsérie do documento fiscal
                         '06',                //  Número do documento fiscal resumo.
                         '18/11/2008',        //  Data da emissão do documento fiscal
                         '07',                //  Valor total do documento fiscal
                         '08',                //  Valor acumulado dos descontos
                         '09',                //  Valor acumulado da prestação de serviço
                         '10',                //  Valor total da base de cálculo do ICMS
                         '11',                //  Valor total do ICMS
                         '12',                //  Valor do PIS
                         '13',                //  Valor da COFINS
                         '14'                 //  Código da conta analítica contábil debitada/creditada
                          );

   Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button282Click(Sender: TObject);
var
 TempInt: Integer;
begin
 //--- RegistroK260 -  DREPROCESSAMENTO/REPARO DE PRODUTO/INSUMO ---
TempInt := RegistroK260('1245258',           // Código de identificação da ordem de produção, no reprocessamento, ou da ordem de serviço, no reparo
                        '1452365',          // Código do produto/insumo a ser reprocessado/reparado ou já reprocessado/reparado (campo 02 do Registro 0200)
                        '21/06/2016',      // Data de saída do estoque
                        '0',              // Quantidade de saída do estoque
                        '12/07/2016',    //   Data de retorno ao estoque (entrada)
                        '1111222111'    //   Quantidade de retorno ao estoque (entrada)
                        );
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button283Click(Sender: TObject);
var
 TempInt: Integer;
begin
  //--- RegistroK265 -  REPROCESSAMENTO/REPARO  -  MERCADORIAS CONSUMIDAS E/OU RETORNADAS ---
TempInt := RegistroK265('1245258',           // Código da mercadoria (campo 02 do Registro 0200)
                        '2262215652525',     // Quantidade consumida – saída do estoque
                        '21062016'           // Quantidade retornada – entrada em estoque
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button284Click(Sender: TObject);
var
 TempInt: Integer;
begin
  //--- RegistroK270 -  CORREÇÃO DE APONTAMENTO DOS REGISTROS K210, K220, K230, K250 E K260 ---
TempInt := RegistroK270('12/04/2016',        // Data inicial do período de apuração em que ocorreu o apontamento que está sendo corrigido
                        '14/05/216',        // Data final do período de apuração em que ocorreu o apontamento que está sendo corrigido
                        '21062016',         // Código de identificação da ordem de produção ou da ordem de serviço que está sendo corrigida
                        '12544632',       // Código da mercadoria que está sendo corrigido (campo 02 do Registro 0200)
                        '122512322',     // Quantidade de correção positiva de apontamento ocorrido em período de apuração anterior
                        '265122511255', // Quantidade de correção negativa de apontamento ocorrido em período de apuração anterior
                        '1'              //
                             );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button224Click(Sender: TObject);
begin
  if vCOD_GRUPO_TENSAO('2') then
   Application.MessageBox('Código de grupo de tensão Válido','vCOD_GRUPO_TENSAO',mb_OK)
  else
   Application.MessageBox('Código de grupo de tensão Inválido','vCOD_GRUPO_TENSAO',mb_OK);
end;

procedure TForm1.Button223Click(Sender: TObject);
begin
  if vTP_LIGACAO('1') then
   Application.MessageBox('Código de tipo de Ligação Válido','vTP_LIGACAO',mb_OK)
  else
   Application.MessageBox('Código de tipo de Ligação Inválido','vTP_LIGACAO',mb_OK);
end;

procedure TForm1.Button346Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- REGISTRO D480: ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button299Click(Sender: TObject);
var
 TempInt: Integer;
begin
 
//REGISTRO B035: : DETALHAMENTO POR COMBINAÇÃO DE ALÍQUOTA E ITEM DA LISTA DE SERVIÇOS DA LC 116/2003)
 
 TempInt := RegistroB035('1',                       //  Parcela correspondente ao "Valor Contábil" referente à combinação da alíquota e item da lista
                         '2',                       //  Parcela correspondente ao "Valor da base de cálculo do ISS" referente à combinação da alíquota e item da lista
                         '3',                       //  Alíquota do ISS
                         '4',                       //  Parcela correspondente ao "Valor do ISS" referente à combinação da alíquota e item da lista
                         '5',                       //  Parcela correspondente ao "Valor das operações isentas ou nãotributadas pelo ISS" referente à combinação da alíquota e item da lista
                         '6'                        //  Item da lista de serviços, conforme Tabela 4.6.3.
);
 
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button298Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO B030: NOTA FISCAL DE SERVIÇOS SIMPLIFICADA (CÓDIGO 3A)

TempInt := RegistroB030('55',           //Código do modelo do documento fiscal, conforme a Tabela 4.1.3           
                        '001',          //Série do documento fiscal                                               
                         '1231',        //Número do primeiro documento fiscal emitido no dia                      
                         '1236',        //Número do último documento fiscal emitido no dia
                         '01/01/2018',  //Data da emissão dos documentos fiscais
                         '1',           //Quantidade de documentos cancelados
                         '2',           //Valor contábil (valor total acumulado dos documentos)                   
                         '3',           //Valor acumulado das operações isentas ou não-tributadas pelo ISS        
                         '4',           //Valor acumulado da base de cálculo do ISS                               
                         '5',           //Valor acumulado do ISS destacado                                        
                         '6'            //Código da observação do lançamento fiscal (campo 02 do Registro 0460)
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button266Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK200 - ESTOQUE ESCRITURADO ---
TempInt := RegistroK200('01/05/2007',           // Data do estoque final
                        '10',                   // Código do item (campo 02 do Registro 0200)
                        '10',                   // Quantidade em estoque
                        '0',                    // Indicador do tipo de estoque: 0 = Estoque de propriedade do informante e em seu poder; 1 = Estoque de propriedade do informante e em posse de terceiros; 2 = Estoque de propriedade de terceiros e em posse do informante
                        ''                      // Código do participante (campo 02 do Registro 0150): - proprietário/possuidor que não seja o informante do arquivo
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button297Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO B025: DETALHAMENTO POR COMBINAÇÃO DE ALÍQUOTA E ITEM DA LISTA DE SERVIÇOS DA LC 116/2003)

 TempInt := RegistroB025('1',         //Parcela correspondente ao "Valor Contábil" referente à combinação da alíquota e item da lista
                         '2',         //Parcela correspondente ao "Valor da base de cálculo do ISS" referente à combinação da alíquota e item da lista
                         '3',         //Alíquota do ISS
                         '4',         //Parcela correspondente ao "Valor do ISS" referente à combinação da alíquota e item da lista
                         '5',         //Parcela correspondente ao "Valor das operações isentas ou nãotributadas pelo ISS" referente à combinação da alíquota e item da lista
                         '6'          //Item da lista de serviços, conforme Tabela 4.6.3
                         );


 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button296Click(Sender: TObject);
var
 TempInt: integer;
begin
//REGISTRO B020: NOTA FISCAL (CÓDIGO 01), NOTA FISCAL DE SERVIÇOS (CÓDIGO 03), NOTA FISCAL DE SERVIÇOS AVULSA (CÓDIGO 3B), NOTA FISCAL DE PRODUTOR
//(CÓDIGO 04), CONHECIMENTO DE TRANSPORTE RODOVIÁRIO DE CARGAS (CÓDIGO 08), NF-e (CÓDIGO 55) e NFC-e (CÓDIGO 65).
 
 TempInt := RegistroB020('0',           //Indicador do tipo de operação:
                         '0',           //Indicador do emitente do documento fiscal:
                         '12535',       //Código do participante (campo 02 do Registro 0150):
                         '55',          //Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '00',          //Código da situação do documento fiscal, conforme a Tabela 4.1.2
                         '001',         //Série do documento fiscal
                         '1231',        //Número do documento fiscal
                         '12536',       //Chave da Nota Fiscal Eletrônica
                         '01/01/2018',  //Data da emissão do documento fiscal
                         MUNI,          //Código do município onde o serviço foi prestado, conforme a tabela IBGE.
                         '1',           //Valor contábil (valor total do documento)
                         '2',           //Valor do material fornecido por terceiros na prestação do serviço
                         '3',           //Valor da subempreitada
                         '4',           //Valor das operações isentas ou não-tributadas pelo ISS
                         '5',           //Valor da dedução da base de cálculo
                         '6',           //Valor da base de cálculo do ISS
                         '7',           //Valor da base de cálculo de retenção do ISS
                         '8',           //Valor do ISS retido pelo tomador
                         '9',           //Valor do ISS destacado
                         '12'           //Código da observação do lançamento fiscal (campo 02 do Registro 0460)
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button295Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroB001 - ABERTURA DO BLOCO B
TempInt := RegistroB001('0'                           //Indicador de movimento
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button225Click(Sender: TObject);
begin
  if vTP_ASSINANTE('1') then
   Application.MessageBox('Código do Tipo de Assinante Válido','vTP_ASSINANTE',mb_OK)
  else
   Application.MessageBox('Código do Tipo de Assinante Inválido','vTP_ASSINANTE',mb_OK);
end;

procedure TForm1.Button247Click(Sender: TObject);
var
 TempInt: Integer;
begin
 TempInt := Registro1010('S',                //  Ocorreu averbação (conclusão) de exportação no período
                         'N',                //  Existem informações acerca de créditos de ICMS a serem controlados, definidos pela Sefaz
                         'S',                //  É comercio varejista de combustíveis
                         'N',                //  Usinas de açúcar e/álcool – O estabelecimento é produtor de açúcar e/ou álcool carburante
                         'S',                //  Existem informações a serem prestadas neste registro e o registro é obrigatório em sua Unidade da Federação
                         'N',                //  A empresa é distribuidora de energia e ocorreu fornecimento de energia elétrica para consumidores de outra UF
                         'S',                //  Realizou vendas com Cartão de Crédito ou de débito
                         'N',                //  É obrigatório em sua unidade da federação o controle de utilização de documentos fiscais em papel
                         'S',                //  A empresa prestou serviços de transporte aéreo de cargas e de passageiros
                         'N',                //  Possui informações GIAF1?
                         'N',                //  Possui informações GIAF3?
                         'N'                 //  Possui informações GIAF4?
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button248Click(Sender: TObject);
var
 TempInt: Integer;
begin
 //Registro 1390: CONTROLE DE PRODUÇÃO DE USINA

 TempInt := Registro1390('01'                //  Código do produto: 01 – Álcool Etílico Hidratado Carburante; 02 - Álcool Etílico Anidro Carburante; 03 – Açúcar
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button267Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK235 - INSUMOS CONSUMIDOS ---
TempInt := RegistroK235('01/05/2007',   // Data de saída do estoque para alocação ao produto
                        '10',           // Código do item componente/insumo (campo 02 do Registro 0200)
                        '10',           // Quantidade consumida do item
                        '10'           // Código do insumo que foi substituído, caso ocorra a substituição (campo 02 do Registro 0200)
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button289Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK290 - PRODUÇÃO CONJUNTA – ORDEM DE PRODUÇÃO ---
TempInt := RegistroK290('01/05/2017',           // Data do estoque final escriturado que está sendo corrigido
                        '01/05/2017',           // Data de conclusão da ordem de produção
                        '10'                    // Código de identificação da ordem de produção
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button290Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK291 - PRODUÇÃO CONJUNTA – ORDEM DE PRODUÇÃO ---
TempInt := RegistroK291('12345',       // Código do item produzido (campo 02 do Registro 0200)
                        '10'           // Quantidade de produção acabada
                        );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button291Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK292 - PRODUÇÃO CONJUNTA – INSUMOS CONSUMIDOS ---
TempInt := RegistroK292('12345',       // Código do item produzido (campo 02 do Registro 0200)
                        '10'           // Quantidade de produção acabada
                        );
                        
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button292Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- K300 - PRODUÇÃO CONJUNTA – INDUSTRIALIZAÇÃO EFETUADA POR TERCEIROS ---

TempInt := RegistroK300('11/10/2017'       // Data do reconhecimento da produção ocorrida no terceiro
                       );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button293Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK301 - PRODUÇÃO CONJUNTA – INDUSTRIALIZAÇÃO EFETUADA POR TERCEIROS – ITENS PRODUZIDOS ---
TempInt := RegistroK301('12345',       // Código do item produzido (campo 02 do Registro 0200)
                        '10'           // Quantidade produzida
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button294Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK302 - PRODUÇÃO CONJUNTA – INDUSTRIALIZAÇÃO EFETUADA POR TERCEIROS – ITENS PRODUZIDOS ---
TempInt := RegistroK302('12345',       // Código do insumo (campo 02 do Registro 0200)
                        '10'           // Quantidade consumida
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button347Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- REGISTRO E365: ---
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button301Click(Sender: TObject);
var
 TempInt: Integer;
begin
 
//REGISTRO B420: TOTALIZAÇÃO DOS VALORES DE SERVIÇOS PRESTADOS POR COMBINAÇÃO DE ALÍQUOTA E ITEM DA LISTA DE SERVIÇOS DA LC 116/2003
 
 TempInt := RegistroB420('1',                       //  Totalização do Valor Contábil das prestações do declarante referente à combinação da alíquota e item da lista
                         '2',                       //  Totalização do Valor da base de cálculo do ISS das prestações do declarante referente à combinação da alíquota e item da lista
                         '3',                       //  Alíquota do ISS
                         '4',                       //  Totalização do valor das operações isentas ou não-tributadas pelo ISS Referente à combinação da alíquota e item da lista
                         '5',                       //  Totalização, por combinação da alíquota e item da lista, do Valor do ISS
                         '6'                        //  Item da lista de serviços, conforme Tabela 4.6.3.
);
end;

procedure TForm1.Button300Click(Sender: TObject);
var
 TempInt: Integer;
begin
 TempInt := RegistroB350('1',                       //  Código da conta do plano de contas
                         '2',                       //  Descrição da conta no plano de contas
                         '3',                       //  Código COSIF a que está subordinada a conta do ISS das instituições financeiras
                         '4',                       //  Quantidade de ocorrências na conta
                         '5',                       //  Item da lista de serviços, conforme Tabela 4.6.3
                         '6',                       //  Valor contábil
                         '7',                       //  Valor da base de cálculo do ISS
                         '8',                       //  Alíquota do ISS
                         '9',                       //  Valor do ISS
                         '0'                        //  Código da observação do lançamento fiscal (campo 02 do Registro 0460)
);
 
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button302Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO B440: TOTALIZAÇÃO DOS VALORES RETIDOS
 
 TempInt := RegistroB440('0',                       //  Indicador do tipo de operação: 0- Aquisição; 1- Prestação
                         '1',                       //  Código do participante (campo 02 do Registro 0150):
                         '2',                       //  Totalização do Valor Contábil das prestações e/ou aquisições do declarante pela combinação de tipo de operação e participante
                         '3',                       //  Totalização do Valor da base de cálculo de retenção do ISS das prestações e/ou aquisições do declarante pela combinação de tipo de operação e participante
                         '4'                        //  Totalização do Valor do ISS retido pelo tomador das prestações e/ou aquisições do declarante pela combinação de tipo de operação e participante.
);

end;

procedure TForm1.Button303Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO B460: DEDUÇÕES DO ISS
 
 TempInt := RegistroB460('0',                       //  Indicador do tipo de dedução.
                         '1',                       //  Valor da dedução
                         '2',                       //  Número do processo ao qual o ajuste está vinculado, se houver
                         '1',                       //  Indicador da origem do processo:
                         '4',                       //  Descrição do processo que embasou o lançamento
                         '5',                       //  Código da observação do lançamento fiscal
                         '1'                        //  Indicador da obrigação onde será aplicada a dedução
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button304Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO B470: APURAÇÃO DO ISS
 
 TempInt := RegistroB470('1',                       //  A - Valor total referente às prestações de serviço do período
                         '2',                       //  B - Valor total do material fornecido por terceiros na prestação do serviço
                         '3',                       //  C - Valor do material próprio utilizado na prestação do serviço
                         '4',                       //  D - Valor total das subempreitadas
                         '5',                       //  E - Valor total das operações isentas ou não-tributadas pelo ISS
                         '6',                       //  F - Valor total das deduções da base de cálculo (B + C + D + E)
                         '7',                       //  G - Valor total da base de cálculo do ISS
                         '8',                       //  H - Valor total da base de cálculo de retenção do ISS referente às prestações do declarante
                         '9',                       //  I - Valor total do ISS destacado
                         '0',                       //  J - Valor total do ISS retido pelo tomador nas prestações do declarante
                         '1',                       //  K - Valor total das deduções do ISS próprio
                         '2',                       //  L - Valor total apurado do ISS próprio a recolher (I - J - K)
                         '3',                       //  M - Valor total do ISS substituto a recolher pelas aquisições do declarante (tomador)
                         '4'                        //  N - Valor do ISS próprio a recolher pela Sociedade Uniprofissional
);
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button305Click(Sender: TObject);
var
 TempInt: Integer;
begin
 TempInt := RegistroB500('1',                       //  Valor mensal das receitas auferidas pela sociedade uniprofissional
                         '2',                       //  Quantidade de profissionais habilitados
                         '3'                        //  Valor do ISS devido
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button306Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroB990 - ENCERRAMENTO DO BLOCO B
TempInt := RegistroB990;
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button307Click(Sender: TObject);
var
 TempInt: Integer;
begin
 TempInt := RegistroB510('1',                       //  Indicador de habilitação: 0- Profissional habilitado 1- Profissional não habilitado
                         '0',                       //  Indicador de escolaridade: 0- Nível superior 1- Nível médio
                         '0',                       //  Indicador de participação societária: 0- Sócio 1- Não sócio
                         CPF,                       //  Número de inscrição do profissional no CPF.
                         'NOME'                        //  Nome do profissional
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button308Click(Sender: TObject);
begin
  if vIND_DED('9') then
   Application.MessageBox('Indicador do tipo de dedução Válido','vIND_DED',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de dedução Inválido','vIND_DED',mb_OK);
end;

procedure TForm1.Button309Click(Sender: TObject);
begin
  if vIND_ESC('0') then
   Application.MessageBox('Indicador de escolaridade Válido','vIND_ESC',mb_OK)
  else
   Application.MessageBox('Indicador de escolaridade Inválido','vIND_ESC',mb_OK);
end;

procedure TForm1.Button310Click(Sender: TObject);
begin
  if vIND_PROF('0') then
   Application.MessageBox('Indicador de habilitação Válido','vIND_PROF',mb_OK)
  else
   Application.MessageBox('Indicador de habilitação Inválido','vIND_PROF',mb_OK);
end;

procedure TForm1.Button311Click(Sender: TObject);
begin
  if vIND_OBR('9') then
   Application.MessageBox('Indicador da obrigação onde será aplicada a dedução Válido','vIND_OBR',mb_OK)
  else
   Application.MessageBox('Indicador da obrigação onde será aplicada a dedução Inválido','vIND_OBR',mb_OK);
end;

procedure TForm1.Button312Click(Sender: TObject);
begin
  if vIND_PROC('9') then
   Application.MessageBox('Indicador da origem do processo Válido','vIND_PROC',mb_OK)
  else
   Application.MessageBox('Indicador da origem do processo Inválido','vIND_PROC',mb_OK);
end;

procedure TForm1.Button313Click(Sender: TObject);
begin
  if vIND_SOC('0') then
   Application.MessageBox('Indicador de  participação societária Válido','vIND_SOC',mb_OK)
  else
   Application.MessageBox('Indicador de  participação societária Inválido','vIND_SOC',mb_OK);
end;

procedure TForm1.Button314Click(Sender: TObject);
var
 TempInt: Integer;
begin
 //REGISTRO C191: INFORMAÇÕES DO FUNDO DE COMBATE À POBREZA - FCP - NA NFe (CÓDIGO 55)

 TempInt := RegistroC191('1',                       //  Valor do Fundo de Combate à Pobreza (FCP) vinculado à operação própria, na combinação de CST_ICMS, CFOP e alíquota do ICMS
                         '2',                       //  Valor do Fundo de Combate à Pobreza (FCP) vinculado à operação de substituição tributária, na combinação de CST_ICMS, CFOP e alíquota do ICMS.
                         '3'                        //  Valor relativo ao Fundo de Combate à Pobreza (FCP) retido anteriormente nas operações com Substituição Tributárias, na combinação de CST_ICMS, CFOP e alíquota do ICMS

);
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button315Click(Sender: TObject);
var
 TempInt: Integer;
begin
 //REGISTRO 1960: GIAF 1 - GUIA DE INFORMAÇÃO E APURAÇÃO DE INCENTIVOS FISCAIS E FINANCEIROS: INDÚSTRIA (CRÉDITO PRESUMIDO)
 
 TempInt := Registro1960('01',                      //  Indicador da sub-apuração por tipo de benefício (conforme tabela 4.7.1)
                         '1',                       //  Percentual de crédito presumido
                         '2',                       //  Saídas não incentivadas de PI
                         '3',                       //  Saídas incentivadas de PI
                         '4',                       //  Saídas incentivadas de PI para fora do Nordeste
                         '5',                       //  Saldo devedor do ICMS antes das deduções do incentivo
                         '6',                       //  Saldo devedor do ICMS relativo à faixa incentivada de PI
                         '7',                       //  Crédito presumido nas saídas incentivadas de PI para fora do Nordeste
                         '8',                       //  Saldo devedor relativo à faixa incentivada de PI após o crédito presumido nas saídas para fora do Nordeste
                         '9',                       //  Crédito presumido
                         '0',                       //  Dedução de incentivo da Indústria (crédito presumido)
                         '1'                        //  Saldo devedor do ICMS após deduções 
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button316Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO 1970: GIAF 3 - GUIA DE INFORMAÇÃO E APURAÇÃO DE INCENTIVOS FISCAIS E FINANCEIROS: IMPORTAÇÃO (DIFERIMENTO NA ENTRADA E CRÉDITO PRESUMIDO NA SAÍDA SUBSEQUENTE)
 
 TempInt := Registro1970('00',                      //  Indicador da sub-apuração por tipo de benefício (conforme tabela 4.7.1)
                         '1',                       //  Importações com ICMS diferido
                         '2',                       //  ICMS diferido nas importações
                         '3',                       //  Saídas não incentivadas de PI
                         '4',                       //  Percentual de incentivo nas saídas para fora do Estado
                         '5',                       //  Saídas incentivadas de PI para fora do Estado
                         '6',                       //  ICMS das saídas incentivadas de PI para fora do Estado
                         '7',                       //  Crédito presumido nas saídas para fora do Estado.
                         '8',                       //  Dedução de incentivo da Importação (crédito presumido)
                         '9',                       //  Saldo devedor do ICMS antes das deduções do incentivo
                         '0'                        //  Saldo devedor do ICMS após deduções do incentivo 
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button317Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO 1975: GIAF 3 - GUIA DE INFORMAÇÃO E APURAÇÃO DE INCENTIVOS FISCAIS E FINANCEIROS: IMPORTAÇÃO (SAÍDAS INTERNAS POR FAIXA DE ALÍQUOTA)
 
 TempInt := Registro1975('1',                       //  Alíquota incidente sobre as importações-base
                         '2',                       //  Saídas incentivadas de PI
                         '3',                       //  Importações-base para o crédito presumido
                         '4'                        //  Crédito presumido nas saídas internas 
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button318Click(Sender: TObject);
var
 TempInt: Integer;
begin
//REGISTRO 1980: GIAF 4 GUIA DE INFORMAÇÃO E APURAÇÃO DE INCENTIVOS FISCAIS E FINANCEIROS: CENTRAL DE DISTRIBUIÇÃO (ENTRADAS/SAÍDAS)
 
 TempInt := Registro1980('00',                      //  Indicador da sub-apuração por tipo de benefício (conforme Tabela 4.7.1)
                         '1',                       //  Entradas (percentual de incentivo)
                         '2',                       //  Entradas não incentivadas de PI
                         '3',                       //  Entradas incentivadas de PI
                         '4',                       //  Saídas (percentual de incentivo)
                         '5',                       //  Saídas não incentivadas de PI
                         '6',                       //  Saídas incentivadas de PI
                         '7',                       //  Saldo devedor do ICMS antes das deduções do incentivo (PI e itens não incentivados)
                         '8',                       //  Crédito presumido nas entradas incentivadas de PI
                         '9',                       //  Crédito presumido nas saídas incentivadas de PI
                         '0',                       //  Dedução de incentivo da Central de Distribuição (entradas/saídas)
                         '1',                       //  Saldo devedor do ICMS após deduções do incentivo
                         '2'                        //  Índice de recolhimento da central de distribuição
);

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button319Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroK300 -  ---       
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button320Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL050 -  ---
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button321Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL100 -  ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button322Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL150 -  ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button323Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL200 -  ---
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button324Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL250 -  ---
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button325Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL300 -  ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button326Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL350 -  ---
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button327Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL400 -  ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button328Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL450 -  ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button329Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL500 -  ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button330Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL550 -  ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button331Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL600 -  ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button332Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL650 -  ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button333Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL700 -  ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button334Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroL750 -  ---

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button335Click(Sender: TObject);
var
 TempInt: Integer;
begin

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button6Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroC114 -  CUPOM FISCAL REFERENCIADO
TempInt := RegistroC114('2E',                //  Código do modelo do documento fiscal, conforme a tabela indicada no item 4.1.1
                        '123',               //  Número de série de fabricação do ECF
                        '456',               //  Número do caixa atribuído ao ECF
                        '789',               //  Número do documento fiscal
                        '18/11/2008'         //  Data da emissão do documento fiscal
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button11Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- RegistroC115 -  LOCAL DE COLETA E/OU ENTREGA (CÓDIGOS 01, 1B e 04)

TempInt := RegistroC115('0',         //   Indicador do tipo de transporte da carga coletada:
                        CNPJ,        //   Número do CNPJ do contribuinte do local de coleta
                        IE,          //   Inscrição Estadual do contribuinte do local de coleta
                        CPF,         //   CPF do contribuinte do local de coleta das mercadorias.
                        '1100205',   //   Código do Município do local de coleta
                        CNPJ,        //   Número do CNPJ do contribuinte do local de entrega
                        IE,          //   Inscrição Estadual do contribuinte do local de entrega
                        CPF,         //   Cpf do contribuinte do local de entrega
                        '1100205'    //   Código do Município do local de entrega
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button17Click(Sender: TObject);
var
 TempInt: Integer;
begin
//--- Registro0190 -  ---
TempInt := Registro0190('123456',     // Código da unidade de medida:
                        '01'          // Descrição da unidade de medida:
                        );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button51Click(Sender: TObject);
begin
  if vInd_tipo_operacao('01') then
   Application.MessageBox('Indicador do tipo de operação Válido','vInd_tipo_operacao',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de operação Inválido','vInd_tipo_operacao',mb_OK);

end;

procedure TForm1.Button89Click(Sender: TObject);
begin
  if vInd_origem('02') then
   Application.MessageBox('Indicador de origem Válido','vInd_origem',mb_OK)
  else
   Application.MessageBox('Indicador de origem Inválido','vInd_origem',mb_OK);
end;

procedure TForm1.Button102Click(Sender: TObject);
begin
  if vCOD_CFOP(CFOP) then
   Application.MessageBox('Numero de CFOP Válido','vInd_origem',mb_OK)
  else
   Application.MessageBox('Numero de CFOP Inválido','vInd_origem',mb_OK);
end;

procedure TForm1.Button29Click(Sender: TObject);
begin
  if vCod_Leiaute('002') then
   Application.MessageBox('Codigo do Laiaute Válido','vCod_Leiaute',mb_OK)
  else
   Application.MessageBox('Codigo do Laiaute Inválido','vCod_Leiaute',mb_OK);
end;

procedure TForm1.Button43Click(Sender: TObject);
begin
  if vInd_tipo_transporte('05') then
   Application.MessageBox('Indicador do tipo de transporte Válido','vInd_tipo_transporte',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de transporte inválido','vInd_tipo_transporte',mb_OK);
end;

procedure TForm1.Button45Click(Sender: TObject);
begin
  if vInd_origem_processo('06') then
   Application.MessageBox('Indicador da origem do processo Válido','vInd_origem_processo',mb_OK)
  else
   Application.MessageBox('Indicador da origem do processo inválido','vInd_origem_processo',mb_OK);
end;

procedure TForm1.Button46Click(Sender: TObject);
begin
  if vInd_tipo_titulo_credito('03') then
   Application.MessageBox('Indicador do tipo do titulo do credito Válido','vInd_tipo_titulo_credito',mb_OK)
  else
   Application.MessageBox('Indicador do tipo do titulo do credito inválido','vInd_tipo_titulo_credito',mb_OK);
end;

procedure TForm1.Button48Click(Sender: TObject);
begin
  if vInd_tipo_veiculo_transportador('08') then
   Application.MessageBox('Indicador do tipo do veiculo do transportador Válido','vInd_tipo_veiculo_transportador',mb_OK)
  else
   Application.MessageBox('Indicador do tipo do veiculo do transportador inválido','vInd_tipo_veiculo_transportador',mb_OK);
end;

procedure TForm1.Button50Click(Sender: TObject);
begin
  if vInd_tipo_transporte_carga_coletada('09') then
   Application.MessageBox('Indicador do tipo de transporte de carga coletada Válido','vInd_tipo_transporte_carga_coletada',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de transporte de carga coletada inválido','vInd_tipo_transporte_carga_coletada',mb_OK);

end;

procedure TForm1.Button52Click(Sender: TObject);
begin
  if vInd_tipo_servico_prestado('10') then
   Application.MessageBox('Indicador do tipo de serviço prestado Válido','vInd_tipo_servico_prestado',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de serviço prestado inválido','vInd_tipo_servico_prestado',mb_OK);

end;

procedure TForm1.Button64Click(Sender: TObject);
var
 TempInt: integer;
begin
//INVENTÁRIO
 
 TempInt := RegistroH010('01',                     // Código do item (campo 02 do Registro 0200)
                         '3',                      // Unidade do item
                         '2',                      // Quantidade do item
                         '1',                      // Valor unitário do item
                         '1',                      // Valor do item
                         '1',                      // Indicador de propriedade/posse do item: 0- Item de propriedade do informante e em seu poder; 1- Item de propriedade do informante em posse de terceiros; 2- Item de propriedade de terceiros em posse do informante
                         '1234',                   // Código do participante (campo 02 do Registro 0150): proprietário/possuidor que não seja o informante do arquivo
                         'Descricao',              // Descrição complementar.
                         '1234',                   // Código da conta analítica contábil debitada/creditada
                         '10'                      //Valor do item para efeitos do Imposto de Renda.
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button82Click(Sender: TObject);
var
 TempInt: Integer;
begin
// RegistroC100 - FATURA (CÓDIGO 01)
TempInt := RegistroC100_ANTES_ABR2012('1',                          // Indicador do tipo de operação:
                                      '0',                          // Indicador do emitente do documento fiscal:
                                      '2',                          // Código do participante (campo 02 do Registro 0150):
                                      '01',                         // Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                                      '05',                         // Código da situação do documento fiscal, conforme a Tabela 4.1.2
                                      '1',                          // Série do documento fiscal
                                      '1',                          // Número do documento fiscal
                                      '',                           // Chave da Nota Fiscal Eletrônica
                                      '',                           // Data da emissão do documento fiscal
                                      '',                           // Data da entrada ou da saída
                                      '',                           // Valor total do documento fiscal
                                      '9',                          // Indicador do tipo de pagamento:
                                      '',                           // Valor total do desconto
                                      '',                           // Abatimento não tributado e não comercial Ex. desconto ICMS nas remessas para ZFM:
                                      '',                           // Valor das mercadorias constantes no documento fiscal
                                      '0',                           // Indicador do tipo do frete:
                                      '',                           // Valor do frete indicado no documento fiscal
                                      '',                           // Valor do seguro indicado no documento fiscal
                                      '',                           // Valor de outras despesas acessórias
                                      '',                           // Valor da base de cálculo do ICMS
                                      '',                           // Valor do ICMS
                                      '',                           // Valor da base de cálculo do ICMS substituição tributária
                                      '',                           // Valor do ICMS retido por substituição tributária
                                      '00',                           // Valor total do IPI
                                      '00',                           // Valor total do PIS
                                      '00',                           // Valor total da COFINS
                                      '00',                           // Valor total do PIS retido por substituição tributária
                                      '00'                            // Valor total da COFINS retido por substituição tributária
                                     );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button83Click(Sender: TObject);
var
 TempInt: integer;
begin
//BOMBAS

 TempInt := Registro1350('01',                     //  Número de Série da Bomba
                         'Nome do fabricante',     //  Nome do Fabricante da Bomba
                         '02',                     //  Modelo da Bomba
                         '1'                       //  Identificador de medição: 0 - analógico; 1 - digital
);
 
 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button84Click(Sender: TObject);
var
 TempInt: integer;
begin
//LACRES DA BOMBA
 
 TempInt := Registro1360('01',                       //  Número do Lacre associado na Bomba
                         '18/11/2008'                //  Data de aplicação do Lacre
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button85Click(Sender: TObject);
var
 TempInt: integer;
begin
//BICOS DA BOMBA

 TempInt := Registro1370('01',                       //  Número seqüencial do bico ligado a bomba
                         '02',                       //  Código do Produto, constante do registro 0200
                         '03'                        //  Tanque que armazena o combustível.
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button87Click(Sender: TObject);
var
 TempInt: integer;
begin
//TOTAL DAS OPERAÇÕES COM CARTÃO DE CRÉDITO E/OU DÉBITO

 TempInt := Registro1600('01',                       //  Código do participante (campo 02 do Registro 0150): identificação da administradora do cartão de débito/crédito
                         '02',                       //  Valor total das operações realizadas no período referente a  Cartão de Crédito
                         '03'                        //  Valor total das operações realizadas no período referente a Cartão de Débito
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button78Click(Sender: TObject);

var
 TempInt: integer;
begin
// CÓDIGO DE PRODUTO CONFORME TABELA ANP (COMBUSTÍVEIS)

 TempInt := Registro0206('1234'                       //Código do participante (campo 02 do Registro 0150): identificação da administradora do cartão de débito/crédito
                         );

 Trata_SPED_Int(sender, TempInt);
end;


procedure TForm1.Button88Click(Sender: TObject);
var
 TempInt: integer;
begin
// Fatores de conversão de unidades

 TempInt := Registro0220('RS',                       // Unidade comercial a ser convertida na unidade de estoque, referida em 0200:
                         '015'                       // Fator de conversão:
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button91Click(Sender: TObject);
var
 TempInt: integer;
begin
// RegistroC113 - DOCUMENTO FISCAL REFERENCIADO

 TempInt := RegistroC113('1',                      // Indicador do tipo de operação: 0- Entrada/aquisição; 1- Saída/prestação;
                         '1',                      // Indicador do emitente do título: 0- Emissão própria; 1- Terceiros
                         '00',                     // Código do participante emitente (campo 02 do Registro 0150)  do documento referenciado.
                         '08',                     // Código do documento fiscal, conforme a Tabela 4.1.1
                         '02',                     // Série do documento fiscal
                         '04',                     // Subsérie do documento fiscal
                         '06',                    // Número do documento fiscal
                         '30121899',                   // Data da emissão do documento fiscal.
                         '1234567890123655420022565656562256223366' //Chave do Documento Eletrônico
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button92Click(Sender: TObject);
var
 TempInt: integer;
begin
// VOLUMES TRANSPORTADOS (CÓDIGO 01 E 04) - EXCETO COMBUSTÍVEIS

 TempInt := RegistroC160('01',                     // Código do participante (campo 02 do Registro 0150
                         '1234',                   // Placa de identificação do veículo
                         '01',                     // Quantidade de volumes transportados
                         '02',                     // Peso bruto dos volumes transportados (em Kg)
                         '03',                     // Peso líquido dos volumes transportados (em Kg)
                         UF                        // Sigla da UF da placa do veículo
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button93Click(Sender: TObject);
var
 TempInt: integer;
begin
//   OPERAÇÕES COM COMBUSTÍVEIS(CÓDIGO 01; 55)

 TempInt := RegistroC165('01',                    // Código do participante (campo 02 do Registro 0150):
                         '1234',                  // Placa de identificação do veículo
                         '02',                    // Código da autorização fornecido pela SEFAZ (combustíveis)
                         '03',                    // Número do Passe Fiscal
                         '04',                    // Hora da saída das mercadorias
                         '05',                    // Temperatura em graus Celsius utilizada para quantificação do volume de combustível
                         '06',                    // Quantidade de volumes transportados
                         '07',                    // Peso bruto dos volumes transportados (em Kg)
                         '08',                    // Peso líquido dos volumes transportados (em Kg)
                         'Nome do motorista',     // Nome do motorista
                         CPF,                     // CPF do motorista
                         UF                       // Sigla da UF da placa do veículo
                          );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button94Click(Sender: TObject);
var
 TempInt: integer;
begin
// ITENS DO DOCUMENTO (CÓDIGO 01, 1B, 04 e 55)

 TempInt := RegistroC170('01',               //  Número seqüencial do item no documento fiscal
                         '12345',            //  Código do item (campo 02 do Registro 0200)
                         'Descricao',        //  Descrição complementar do item como adotado no documento fiscal
                         '03',               //  Quantidade do item
                         '123456',           //  Unidade do item(Campo 02 do registro 0190)
                         '05',               //  Valor total do item (mercadorias ou serviços)
                         '06',               //  Valor do desconto comercial
                         '1',                //  Movimentação física do ITEM/PRODUTO:
                         '715',              //  Código da Situação Tributária referente ao ICMS, conforme a Tabela indicada no item 4.3.1
                         CFOP,               //  Código Fiscal de Operação e Prestação
                         '1234567890',       //  Código da natureza da operação (campo 02 do Registro 0400)
                         '09',               //  Valor da base de cálculo do ICMS
                         '10',               //  Alíquota do ICMS
                         '11',               //  Valor do ICMS creditado/debitado
                         '12',               //  Valor da base de cálculo referente à substituição tributária
                         '13',               //  Alíquota do ICMS da substituição tributária na unidade da federação de destino
                         '14',               //  Valor do ICMS referente à substituição tributária
                         '1',                //  Indicador de período de apuração do IPI:
                         '02',               //  Código da Situação Tributária referente ao IPI, conforme a Tabela indicada no item 4.3.2.
                         '',                 //  Código de enquadramento legal do IPI, conforme tabela indicada no item 4.5.3.
                         '17',               //  Valor da base de cálculo do IPI
                         '18',               //  Alíquota do IPI
                         '19',               //  Valor do IPI creditado/debitado
                         '02',               //  Código da Situação Tributária referente ao PIS.
                         '21',               //  Valor da base de cálculo do PIS
                         '22',               //  Alíquota do PIS (em percentual)
                         '23',               //  Quantidade - Base de cálculo PIS
                         '24',               //  Alíquota do PIS (em reais)
                         '25',               //  Valor do PIS
                         '02',               //  Código da Situação Tributária referente ao COFINS.
                         '27',               //  Valor da base de cálculo da COFINS
                         '28',               //  Alíquota do COFINS (em percentual)
                         '29',               //  Quantidade - Base de cálculo COFINS
                         '30',               //  Alíquota da COFINS (em reais)
                         '31',               //  Valor da COFINS
                         '32',               //  Código da conta analítica contábil debitada/creditada
                         '33'                //  Valor do abatimento não tributado e não comercial
 );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button90Click(Sender: TObject);
var
 TempInt: integer;
begin
//REGISTRO C110 - INFORMAÇÃO COMPLEMENTAR DA NOTA FISCAL

 TempInt := RegistroC110('01',                     // Código   da   informação   complementar   do documento fiscal (campo 02 do Registro 0450)
                         '02'                      // Descrição complementar do código de referência.
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button96Click(Sender: TObject);
var
 TempInt: integer;
begin
// Registro D162 - IDENTIFICAÇÃO DOS DOCUMENTOS FISCAIS (CÓDIGOS 08, 8B, 09, 10, 11, 26 E 27)

 TempInt := RegistroD162('02',                       // Código do modelo do documento fiscal, conforme a Tabela 4.1.1
                         '01',                       // Série do documento fiscal
                         '02',                       // Número do documento fiscal
                         '18/11/2008',               // Data da emissão do documento fiscal
                         '03',                       // Valor total do documento fiscal
                         '04',                       // Valor das mercadorias constantes no documento fiscal
                         '05',                       // Quantidade de volumes transportados
                         '06',                       // Peso bruto dos volumes transportados (em Kg)
                         '07'                        // Peso líquido dos volumes transportados (em Kg)
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button97Click(Sender: TObject);
 begin 
  if vInd_tipo_frete('1') then
   Application.MessageBox('Indicador do tipo do frete Válido','vInd_tipo_frete',mb_OK)
  else
   Application.MessageBox('Indicador do tipo do frete Inválido','vInd_tipo_frete',mb_OK);
end;

procedure TForm1.Button98Click(Sender: TObject);
begin
  if vCOD_FIN('1') then
   Application.MessageBox('Código da finalidade do arquivo Válido','vCOD_FIN',mb_OK)
  else
   Application.MessageBox('Código da finalidade do arquivo Inválido','vCOD_FIN',mb_OK);
end;


procedure TForm1.Button99Click(Sender: TObject);
begin
  if vIND_MOV('1') then
   Application.MessageBox('Movimentação física do ITEM/PRODUTO Válido','vIND_MOV',mb_OK)
  else
   Application.MessageBox('Movimentação física do ITEM/PRODUTO Inválido','vIND_MOV',mb_OK);
end;

procedure TForm1.Button100Click(Sender: TObject);
begin
  if vTIPO_ITEM('01') then
   Application.MessageBox('Tipo do item - Atividades Industriais, Comerciais e Serviços Válido','vTIPO_ITEM',mb_OK)
  else
   Application.MessageBox('Tipo do item - Atividades Industriais, Comerciais e Serviços Inválido','vTIPO_ITEM',mb_OK);

end;
procedure TForm1.Button101Click(Sender: TObject);
begin
  if vIND_OPER('1') then
   Application.MessageBox('Indicador do tipo de operação Válido','vIND_OPER',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de operação Inválido','vIND_OPER',mb_OK);
end;

procedure TForm1.Button103Click(Sender: TObject);
begin
  if vIND_PGTO('01') then
   Application.MessageBox('Indicador do tipo de pagamento Válido','vIND_PGTO',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de pagamento Inválido','vIND_PGTO',mb_OK);
end;

procedure TForm1.Button104Click(Sender: TObject);
begin
  if vCOD_DOC_IMP('1') then
   Application.MessageBox('Documento de importação Válido','vCOD_DOC_IMP',mb_OK)
  else
   Application.MessageBox('Documento de importação Inválido','vCOD_DOC_IMP',mb_OK);
end;

procedure TForm1.Button105Click(Sender: TObject);
begin
  if vIND_APUR('1') then
   Application.MessageBox('Indicador de período de apuração do IPI Válido','vIND_APUR',mb_OK)
  else
   Application.MessageBox('Indicador de período de apuração do IPI Inválido','vIND_APUR',mb_OK);
end;

procedure TForm1.Button106Click(Sender: TObject);
begin
  if vTP_PROD('1') then
   Application.MessageBox('Tipo de produto Válido','vTP_PROD',mb_OK)
  else
   Application.MessageBox('Tipo de produto Inválido','vTP_PROD',mb_OK);
end;

procedure TForm1.Button107Click(Sender: TObject);
begin
  if vIND_ARM('1') then
   Application.MessageBox('Indicador do tipo da arma de fogo Válido','vIND_ARM',mb_OK)
  else
   Application.MessageBox('Indicador do tipo da arma de fogo Inválido','vIND_ARM',mb_OK);
end;

procedure TForm1.Button108Click(Sender: TObject);
begin
  if vIND_VEIC_OPER('1') then
   Application.MessageBox('Indicador do tipo de operação com veículo Válido','vIND_VEIC_OPER',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de operação com veículo Inválido','vIND_VEIC_OPER',mb_OK);
end;

procedure TForm1.Button163Click(Sender: TObject);
begin
  if vIND_FRT_RED('1') then
   Application.MessageBox('Indicador do tipo do frete da operação de redespacho Válido','vIND_FRT_RED',mb_OK)
  else
   Application.MessageBox('Indicador do tipo do frete da operação de redespacho Inválido','vIND_FRT_RED',mb_OK);
end;

procedure TForm1.Button165Click(Sender: TObject);
begin
  if vIND_NAV('1') then
   Application.MessageBox('Indicador do tipo da navegação Válido','vIND_NAV',mb_OK)
  else
   Application.MessageBox('Indicador do tipo da navegação Inválido','vIND_NAV',mb_OK);
end;

procedure TForm1.Button169Click(Sender: TObject);
begin
  if vIND_TFA('1') then
   Application.MessageBox('Indicador do tipo de tarifa aplicada Válido','vIND_TFA',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de tarifa aplicada Inválido','vIND_TFA',mb_OK);
end;

procedure TForm1.Button195Click(Sender: TObject);
begin
  if vIND_REC('1') then
   Application.MessageBox('Indicador do tipo de receita Válido','vIND_REC',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de receita Inválido','vIND_REC',mb_OK);
end;

procedure TForm1.Button196Click(Sender: TObject);
begin
  if vIND_MOV_ST('1') then
   Application.MessageBox('Indicador de movimento Válido','vIND_MOV_ST',mb_OK)
  else
   Application.MessageBox('Indicador de movimento Inválido','vIND_MOV_ST',mb_OK);
end;

procedure TForm1.Button197Click(Sender: TObject);
begin
  if vIND_AJ('1') then
   Application.MessageBox('Indicador do tipo de ajuste Válido','vIND_AJ',mb_OK)
  else
   Application.MessageBox('Indicador do tipo de ajuste Inválido','vIND_AJ',mb_OK);
end;


procedure TForm1.Button206Click(Sender: TObject);
var
 TempInt: Integer;
begin
// Registro0600 - CENTRO DE CUSTOS

TempInt := Registro0600('01/08/2009',             //Data da inclusão/alteração:
                        '01',                     //Código do centro de custos:
                        'Nome'                    //Nome do centro de custos:
                        );

   Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button32Click(Sender: TObject);
begin
  if vCod_modelo_documento_fiscal_4_1_1('01') then
   Application.MessageBox('Código do modelo do documento fiscal Válido','vCod_modelo_documento_fiscal_4_1_1',mb_OK)
  else
   Application.MessageBox('Código do modelo do documento fiscal Inválido','vCod_modelo_documento_fiscal_4_1_1',mb_OK);
end;

procedure TForm1.Button42Click(Sender: TObject);
begin
 if vInd_tipo_receita('1') then
  Application.MessageBox(' Indicador do tipo de receita Válido','vInd_tipo_receita',mb_OK)
 else
  Application.MessageBox(' Indicador do tipo de receita Inválido','vInd_tipo_receita',mb_OK);
end;

procedure TForm1.Button208Click(Sender: TObject);
begin
 if vCOD_PAIS('01') then
  Application.MessageBox(' Código do país do participante Válido','vCOD_PAIS',mb_OK)
 else
  Application.MessageBox(' Código do país do participante Inválido','vCOD_PAIS',mb_OK);
end;


procedure TForm1.Button30Click(Sender: TObject);
begin
 if vInd_emitente_titulo('1') then
  Application.MessageBox(' Indicador do emitente do título Válido','vInd_emitente_titulo',mb_OK)
 else
  Application.MessageBox(' Indicador do emitente do título Inválido','vInd_emitente_titulo',mb_OK);
end;

procedure TForm1.Button31Click(Sender: TObject);
begin
 if vInd_tipo_referencia_base('1') then
  Application.MessageBox(' Indicador de tipo de referência da base de cálculo do ICMS (ST) do produto farmacêutico Válido','vInd_tipo_referencia_base',mb_OK)
 else
  Application.MessageBox(' Indicador de tipo de referência da base de cálculo do ICMS (ST) do produto farmacêutico Inválido','vInd_tipo_referencia_base',mb_OK);
end;


procedure TForm1.Button33Click(Sender: TObject);
begin
 if vCod_classific_item_4_4_2('01') then
  Application.MessageBox(' Código de classificação do item de energia elétrica Válido','vCod_classific_item_4_4_2',mb_OK)
 else
  Application.MessageBox(' Código de classificação do item de energia elétrica Inválido','vCod_classific_item_4_4_2',mb_OK);
end;

procedure TForm1.Button34Click(Sender: TObject);
begin
 if vInd_natureza_frete('1') then
  Application.MessageBox(' Indicador da natureza do frete Válido','vInd_natureza_frete',mb_OK)
 else
  Application.MessageBox(' Indicador da natureza do frete Inválido','vInd_natureza_frete',mb_OK);
end;

procedure TForm1.Button35Click(Sender: TObject);
begin
 if vInd_emitente_documento_fiscal('1') then
  Application.MessageBox(' Indicador do emitente do documento fiscal Válido','vInd_emitente_documento_fiscal',mb_OK)
 else
  Application.MessageBox(' Indicador do emitente do documento fiscal Inválido','vInd_emitente_documento_fiscal',mb_OK);
end;

procedure TForm1.Button40Click(Sender: TObject);
begin
 if vCod_situacao_documento_fiscal('01') then
  Application.MessageBox(' Código da situação do documento fiscal Válido','vCod_situacao_documento_fiscal',mb_OK)
 else
  Application.MessageBox(' Código da situação do documento fiscal Inválido','vCod_situacao_documento_fiscal',mb_OK);
end;

procedure TForm1.Button81Click(Sender: TObject);
begin
  if vIND_ATIV('1') then
   Application.MessageBox('Indicador de atividade Válido','vIND_ATIV',mb_OK)
  else
   Application.MessageBox('Indicador de atividade Inválido','vIND_ATIV',mb_OK);
end;

procedure TForm1.Button249Click(Sender: TObject);
begin
// Registro 1391 - DOCUMENTO DE ARRECADAÇÃO REFERENCIADO

 TempInt := Registro1391('18/11/2008',               // Data de produção (DDMMAAAA)
                         '24',                       // Quantidade de cana esmagada (toneladas)
                         '65',                       // Estoque inicial (litros / Kg)
                         '84',                       // Quantidade produzida (litros / Kg)
                         '81',                       // Entrada de álcool anidro decorrente da transformação do álcool hidratado ou entrada de álcool hidratado decorrente da transformação do álcool anidro (litros)
                         '69',                       // Outras entradas (litros / Kg)
                         '45',                       // Evaporação (litros) ou Quebra de peso (Kg)
                         '78',                       // Consumo (litros)
                         '98',                       // Saída para transformação (litros).
                         '23',                       // Saídas (litros / Kg)
                         '65',                       // Estoque final (litros / Kg)
                         '45',                       // Estoque inicial de mel residual (Kg)
                         '33',                       // Produção de mel residual (Kg)
                         '12',                       // residual utilizado (Kg)
                         '94',                       // Produção de álcool (litros) proveniente do mel residual.
                         'observação'                // Observações
                         );

 Trata_SPED_Int(sender, TempInt);
end;

procedure TForm1.Button272Click(Sender: TObject);
var
 TempInt: integer;
begin

//PERÍODO DE APURAÇÃO DO ICMS DIFERENCIAL DE ALÍQUOTA – UF ORIGEM/DESTINO EC 87/15
 
 TempInt := RegistroE300(
                         'BA',                       //  Sigla da unidade da federação a que se refere a apuração do ICMS Diferencial de Alíquota da UF de Origem/Destino
                         '01012016',                       //  Data inicial a que a apuração se refere
                         '30012016'                        //  Data final a que a apuração se refere
);

 Trata_SPED_Int(sender, TempInt);
end;

end.
