Impressão com Comando WRITELN Usando Impressora Lx 300
15/03/2003
0
AGRADEÇO DESDE JÁ!
Anonymous
Posts
15/03/2003
Aroldo Zanela
AGRADEÇO DESDE JÁ![/quote:2d3e56b9f3]
Exemplo com Bematech (DLL):
iRetorno := Bematech_FI_VendeItem( CodBarra, cDescricao, PChar(cICMS), sTipoQtde, PChar(sQtde),2,PChar(PadL(FloatToStrF(nValor,ffNumber,09,02),09,´0´)), ´$´,PChar(´0000´)); Analisa_iRetorno; Retorno_impressora;
Exemplo com Sigtron/Daruma (ActiveX):
while not tbPedDetalhe.Eof do begin Sig.LibName:= ´Fiscal´; Sig.CmdName:= ´DescricaoProduto2Linhas6Digitos´; Sig.Param[´SituacaoTributaria´]:= tbPedDetalheCODTRIB.Value; Sig.Param[´Codigo´]:= StrZero(tbPedDetalhePRODUTO.Value,06); // Char[6] Sig.Param[´DescontoAcrescimo´] := ´0´; Sig.Param[´PorcentagemDescAcres´] := ´0000´; Sig.Param[´PrecoUnitario´]:= StrZero(Trunc(tbPedDetalheUNITARIO.AsCurrency*100),09) ; // Digit[9] Sig.Param[´Quantidade´]:= PadZero(tbPedDetalheQTDE.AsString,05);// Digit[5] Sig.Param[´Unidade´]:= tbPedDetalheUNIDADE.Value; Sig.Param[´Descricao´]:= Copy(tbPedDetalheDESCRICAO.Value,1,37); // Char[37] cbRet := Sig.Send; if cbRet = -1 then begin MessageDlg(´Houve um erro ao tentar registrar o item!´+10+tbPedDetalheDESCRICAO.Value,mtError,[mbOk],0); end; tbPedDetalhe.Next; end;
Como pode ver, não é utilizado o WriteLn, pois a impressora fiscal é conectada a porta serial e não a paralela.
15/03/2003
Aroldo Zanela
procedure TForm44.ImprimirRPT_MTX; var Arquivo: TextFile; Linha: String; nLinha: Integer; nTotal: Currency; begin qIOF.Close; qIOF.ParamByName(´INICIO´).AsDate:= (dtpTermino.Date-6); qIOF.ParamByName(´TERMINO´).AsDate:= dtpTermino.Date; qIOF.Open; AssignFile(Arquivo,´LPT1´); ReWrite(Arquivo); nTotal:= 0.00; while not qIOF.Eof do begin WriteLn(Arquivo,´RELATÓRIO DE APURAÇÃO DE IOF´); WriteLn(Arquivo,´PERIODO: ´+DateToStr(dtpTermino.Date-6)+´ A ´+DateToStr(dtpTermino.Date)); WriteLn(Arquivo,´LOTE COD. NOME DO CONTRATANTE DESCONTO AD-VLR IOF´); WriteLn(Arquivo,´----- ----- ---------------------------------------- -------- -------- --------´); nLinha:= 1; while (not qIOF.Eof) and (nLinha <= 56) do begin nTotal:= nTotal + qIOFLOT_IOF.Value; Linha := Concat(PadRight(qIOFLOT_NUMERO.AsString,5,´0´),´ ´, PadRight(qIOFCED_CODIGO.AsString,5,´0´),´ ´, PadLeft(qIOFCED_NOME.AsString,40,´ ´),´ ´, Format(´¬*.*f´,[08,2,qIOFLOT_DESCON.Value]),´ ´, Format(´¬*.*f´,[08,2,qIOFLOT_VR_ADV.Value]),´ ´, Format(´¬*.*f´,[08,2,qIOFLOT_IOF.Value])); WriteLn(Arquivo,Linha); Inc(nLinha); qIOF.Next; end; end; WriteLn(Arquivo,´----- ----- ---------------------------------------- -------- -------- --------´); WriteLn(Arquivo,PadRight(Format(´¬*.*f´,[10,2,nTotal]),79,´ ´)); CloseFile(Arquivo); nTotalIOF := nTotal;// Atualizar variavel local da form end;
15/03/2003
Renan
AGRADEÇO DESDE JÁ![/quote:78aeef8c0a]
SANZIO NÃO TEM ACENTO FALOU. E IMPRIMIR COM WRITELN É FACIL VOCÊ VAI CONSEQUIR.
RENAN@INFORPLAY.COM.BR 8)
Clique aqui para fazer login e interagir na Comunidade :)