Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Tipos de Datos Devuelto en Funcion (https://www.clubdelphi.com/foros/showthread.php?t=87069)

El_Raso 11-11-2014 18:34:47

Tipos de Datos Devuelto en Funcion
 
Saludos Hermanos Foristas

Estoy programando para imprimir facturas fiscales en una impresora Star 650 de VMAX, los numeros
debo de enviarlo a la impresora de forma entero y sin punto por Ejemplo: 152.00 debo enviar 15200
He creado esta funcion:
Código Delphi [-]
function CIntX100(Number: Extended) : Cardinal;
var
   NumeroSTR: string;
begin
   NumeroSTR := floatToStr(Number);
   NumeroSTR := StringReplace(NumeroSTR, '.', '', [rfReplaceAll]);
   result := StrToInt(NumeroSTR) * 100;
end;

Para convertirlo y enviarlo a una funcion que esta declarada en la DLL del fabricante asi:
Código Delphi [-]
function PagoCF(iTipo: LongWord; iForma: String; lMonto: LongWord): LongWord;
 var
    lRet: LongWord;
    sCommand: String;
    sCommandEx: String;
begin
    PurgeMessage();
    sCommand := Chr(10) + Chr(5);
    sCommandEx := Chr(0) + Chr(iTipo);
    AddMessageField(sCommand, 2);                         //Comando
    AddMessageField(sCommandEx, 2);                       //Extensión de comando
    AddMessageField(iForma,3);            //Campo 1: Tipo de Pago
    AddMessageField(IntToStr(lMonto), Length(IntToStr(lMonto)));     //Campo 2: Monto de Pago
  //  AddMessageField('', 0);                               //Campo 3: Descripcion adicional 1
 //   AddMessageField('', 0);                               //Campo 4: Descripcion adicional 2
 //   AddMessageField('', 0) ;                              //Campo 5: Descripcion adicional 3
    SendSerialMessage();
    repeat
      lRet := GetCommunicationState();
    until lRet <> IDLE;
    lRet := GetLastCommError();
    Result:= lRet;
end;

Pero siembre me sale repetido la forma de pago en la factura:
EFECTIVO 152.00
EFECTIVO 152.00

y la impresora como que se aloca y a veces no termina de cerrar la factura fiscal.

Que esta mal?

Uso Delphi XE2


La franja horaria es GMT +2. Ahora son las 22:45:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi