Integracion con Delphi 7

110 views
Skip to first unread message

Santiago Cortés

unread,
May 19, 2015, 8:15:57 AM5/19/15
to tfacturae...@googlegroups.com
Estoy tratando de implementar la libreria con delphi 7 pero me pide regularexpressions.dcu, ¿podrian comentarme si es estandar de delphi o es un componente adicional?

Agradezco su apoyo...

Jose Eh

unread,
Oct 19, 2018, 3:27:04 AM10/19/18
to TFacturaElectronica
Hola Santiago lo resuelves leyendo las 

Notas de compatibilidad con otras versiones de Delphi


yo me atore después ya que me pide la unidad WideStrUtils.dcu la cual no tengo.

WideStrUtils.JPG




 ¿que podría hacer?


Saludos.

montes....@gmail.com

unread,
Oct 28, 2018, 2:25:33 AM10/28/18
to TFacturaElectronica
en delphi 7 no existen los widestringlist que se utilizan en Facturacion.Administrador.pas

los componentes jedi tienen un componente jclWidestring que contempla el widestringlist que se puede utilizar, pero no maneja el encoding UTF8 como lo hacen versiones 
de delphi superiores

el xml no se crea en utf8 con este componente, por lo que no se puede timbrar.

se tiene que cambiar el procedimiento para salvar el archivo de la siguiente manera


procedure TAdministradorFacturas.GuardarArchivo(const aComprobante: IComprobanteFiscal;
                                                 const aArchivoDestino: TFileName);
var
  {$IF CompilerVersion >= 20}
   Writer: TStreamWriter;
  {$ELSE}
   Writer: TWideStringList;

  {$IFEND}


const
  _ENCABEZADO_XML = '<?xml version="1.0" encoding="utf-8"?>' + #13#10;
begin

  {$IF CompilerVersion >= 20}
   Writer := TStreamWriter.Create(aArchivoDestino, false, TEncoding.UTF8);
  {$ELSE}
   Writer := TWideStringList.create;

  {$IFEND}

   try
     // Forzamos a que siempre se incluya el encabezado del XML
    {$IF CompilerVersion >= 20}
     Writer.Write(_ENCABEZADO_XML + aComprobante.XML);
    {$ELSE}
     writer.Text := _ENCABEZADO_XML + aComprobante.XML;

     Writer.SaveToFile(aArchivoDestino,[foAnsiFile]);        

     ConvertANSIFileToUTF8File(aArchivoDestino,aArchivoDestino); // leemos el archivo y lo codificamos a utf8
    {$IFEND}


   finally
     Writer.Free();
   end;
end;

no es la mejor forma de hacerlo, pero fue la mas rapida.

espero que alguien tenga una forma mas practica

El sistema timbra perfectamente con ecodex
Reply all
Reply to author
Forward
0 new messages