Página 1 de 2

Creacion archivo *.ini

Publicado: Lun Oct 20, 2014 5:26 pm
por ROSCO29
necesito un ejemplo DELPHI para crear el archivo *.ini

Re: Creacion archivo *.ini

Publicado: Lun Oct 20, 2014 5:57 pm
por Dado
Ya hay toda una interface en Delphi que te ayuda, revisa TIniFile (en la ayuda de Delphi y por Google)

Re: Creacion archivo *.ini

Publicado: Jue Oct 23, 2014 3:15 pm
por ROSCO29
Ok, eso ya esta, pero intento pegar parte del código de ejemplo a mi programa y me manda un error
Undeclared identifier: 'ToChar'
Aquí el código que uso:

procedure TFrPunto_DeVenta.SpeedButton1Click(Sender: TObject);
var
clave : string;
begin
OpenDialog.Title := 'CARGAR ARCHIVO INI PARA CONVERTIR A FACTURA';
OpenDialog.DefaultExt := 'ini';
OpenDialog.Filter := 'Archivo INI (*.ini)|*.ini';

if OpenDialog.Execute then
begin
clave := InputBox('','Introduzca la clave de la Llave Privada','12345678a');

if GeneraCFD(ToChar(OpenDialog.FileName),ToChar(clave)) = OK then
MessageDlg('Se grabo la factura en formato XML'+#13#10#13#10+'La Cadena Original y el Sello Digital son'+
#13#10#13#10 + copy(CadenaOriginal,1,50) + '...' + #13#10#13#10 + copy(SelloDigital,1,50) + '...',mtInformation,[mbOK],0)
else
MessageDlg('Hubo un Error' + #13#10 + GetError + #13#10 + GetErrorExt,mtError,[mbOK],0)
end;
end;

Plis ayuda, ya que una vez funcionando estas pruebas, ya estaremos listos para adquirir la .dll

Re: Creacion archivo *.ini

Publicado: Jue Oct 23, 2014 3:22 pm
por Dado
Debes usar la unidad DataTypeCast

Código: Seleccionar todo

uses .....DataTypeCast, .....

Re: Creacion archivo *.ini

Publicado: Jue Oct 23, 2014 5:05 pm
por ROSCO29
ok, gracias eso ya se arreglo y si se reproduce el caso del ejemplo... pero si lo hago como se menciona en el archivo LEEME manda error por el 0, le pongo ok y se compone, pero al correrlo me dice que no encontró el archivo

// if GeneraCFD(ToChar('c:\Pruebas_CFDI\Ejemplo\Factura_1.ini'),ToChar('012345678a')) = 0 then
if GeneraCFD('c:\Pruebas_CFDI\Ejemplo\Factura_1.ini','012345678a') = OK then
ShowMessage('Creacion exitosa, la CADENA DEL EMISOR ES ' + CadenaOriginal)
// Mensaje('Y el SELLO DEL EMISOR ES ' + SelloDigital);
// MessageDlg('Se grabo la factura en formato XML'+#13#10#13#10+'La Cadena Original y el Sello Digital son'+
// #13#10#13#10 + copy(CadenaOriginal,1,50) + '...' + #13#10#13#10 + copy(SelloDigital,1,50) + '...',mtInformation,[mbOK],0)
else
MessageDlg('Hubo un Error' + #13#10 + GetError + #13#10 + GetErrorExt,mtError,[mbOK],0)

en el ejemplo de LEEME no tiene el 'ToChar' ??

Re: Creacion archivo *.ini

Publicado: Jue Oct 23, 2014 8:13 pm
por Dado
El archivo LEEME es pseudo-codigo, de tal forma que no debes tomarlo literal

Es solo un ejemplo generico de como se debe hacer la llamada a la funcion, es asi debido a que el ToCHAR no existe en NINGUN otro lenguaje, solo en Delphi

En resumen, no lo hagas "como en el LEEME.txt", hazlo "como en EJEMPLO.PAS"

Re: Creacion archivo *.ini

Publicado: Vie Oct 24, 2014 3:46 pm
por ROSCO29
Perfecto gracias, ya esta funcionando bien, pero te comento: esta prueba de unicio la estoy haciendo el DELPHI 7, pero el programa al que le va a integrar la Factura Electronica esta en XE, porlo que al replicar esta prueba en XE manda un error en DataTypeCast: en la parte de

finalization
CoUninitialize;

cuando la plataforma seleccio0nada en Win32, pero si la cambio a Win 64 se arregla pero al compilarlo y correrlo solo entra y sale sin hacer nada y manda un error de que la aplicación no se a inicializado xcorrectamente, plis ayuda, mientra sigo con mi prueba en D7. Gracias

Re: Creacion archivo *.ini

Publicado: Vie Oct 24, 2014 3:56 pm
por Dado
Deshabilita la seccion de inicializacion / finalizacion y vuelve a probar

Código: Seleccionar todo

// initialization
//	Coinitialize(nil);
//finalization
//	CoUninitialize;

Re: Creacion archivo *.ini

Publicado: Vie Oct 24, 2014 4:55 pm
por ROSCO29
Siii funciona, gracias, aunque para Win64 no funciona, dice que la aplicación no se ha iniciado correctamente... OK ahora puedo seguir con una prueba real, Gracias nuevamente

Re: Creacion archivo *.ini

Publicado: Lun Oct 27, 2014 3:10 pm
por ROSCO29
Hola, todo va bien, estoy en la parte que genera la factura para su impresión, y me encuentro con que necesito los siguientes datos:
SELLO DIGITAL DEL CFDI (esto se obtiene al cerar el CFDI con el *.ini)
SELLO DIGITAL DEL SAT (?)
CADENA ORIGINAL (ok, al crear CFDI)

FOLIO FISCAL (?)
No. SERIE DEL CERTIFICADO DEL SAT (?)
No. SERIE DEL CERTIFICADO DEL EMISOR (?)
FECHA Y HORA DE CERTIFICACION (?)
FECHA Y HORA DE EMISION DEL CFDI (?)

Folio y Numero de Serie(?)

si me ayudas con esto ya estaríamos del otro lado. por favor