Fórum Imprimir Boletos Pre Impressos -Usando Impressora Matricial #288393
18/07/2005
0
Bozolijr
Curtir tópico
+ 0Posts
18/07/2005
Titanius
somente caracteres, eu uso o componente RDPrint para isso, muito bom.. voce posiciona a linha x coluna... e pronto..
[]s
Gostei + 0
18/07/2005
Macario
Bom para impressão em matricial, eu utilizo impressão direta (modo DOS)
mas não uso componente, faço via [b:b223003d2d]Write[/b:b223003d2d] e [b:b223003d2d]WriteLn[/b:b223003d2d].
Exemplo:
Voce pode primeiramente imprimir uma ´regua´ para verificar Colunas vs. Linhas use o seguinte código (ajuste conforme sua necessidade):
procedure TForm1.Button1Click(Sender: TObject); var Arquivo : TextFile; begin Try AssignFile(Arquivo,´Lpt1´); Except CloseFile(Arquivo); end; ReWrite(Arquivo); write(Arquivo, Chr(27) + Chr(48));// SELECIONA ENTRE LINHAS 1/8 DE POLEGADAS write(Arquivo, Chr(15)); Writeln(Arquivo,´1----5----1----5----2----5----3----5----4----5----*----5----6´); Writeln(Arquivo,´2----5----1----5----2----5----3----5----4----5----*----5----6´); Writeln(Arquivo,´3----5----1----5----2----5----3----5----4----5----*----5----6´); Writeln(Arquivo,´4----5----1----5----2----5----3----5----4----5----*----5----6´); Writeln(Arquivo,´5----5----1----5----2----5----3----5----4----5----*----5----6´); Writeln(Arquivo,´6----5----1----5----2----5----3----5----4----5----*----5----6´); Writeln(Arquivo,´7----5----1----5----2----5----3----5----4----5----*----5----6´); Writeln(Arquivo,´8----5----1----5----2----5----3----5----4----5----*----5----6´); Writeln(Arquivo,´9----5----1----5----2----5----3----5----4----5----*----5----6´); Writeln(Arquivo,´10---5----1----5----2----5----3----5----4----5----*----5----6´); CloseFile(Arquivo); end;
Tendo a ´regua´ voce começa a preparar o codigo para impressão
Procedure ImprimeBoleto;
Var
aLinhasboleto : Array[1..21] of string;
tArquivo: textfile;
begin
Try
AssignFile(tArquivo, ´LPT1´ );
Except
CloseFile(tArquivo);
end;
ReWrite(tArquivo);
write(tArquivo, Chr(27) + Chr(48));// este codigo inibe o salto automatico de pagina
write(tArquivo, Chr(15));//imprime comprimido
aLinhaBoleto[15]:=aLinhaBoleto[15] + Space(48);
aLinhaBoleto[15]:=aLinhaBoleto[15] + Dm.TabClienteNome.AsString;
// aqui voce começa na coluna 25
aLinhaBoleto[15]:=aLinhaBoleto[15] + Space(25-length(aLinhaBoleto[15]));
aLinhaboleto := (...)
// para imprimir
for ifor := 1 to 21 do
begin
writeln(tArquivo,aLinhaBoleto[ifor]);
end;
CloseFile(tArquivo);
end;
Function Space( iSpa: Integer): String;
begin
try
Result := StringOfChar(´ ´, iSpa);
Except
Result := ´´;
End;
end;
Espero que ajude....
Qualquer coisa ta ai
Gostei + 0
18/07/2005
Helio Nascimento
write(tArquivo, Chr(27) + Chr(4Cool);// este codigo inibe o salto automatico de pagina
Voce poderia postar o codigo deste ultimo Chr(4 .. é que saiu uma ´emoção ´ no seu lugar na resposta ao outro nosso colega.
Grato/Hélio
Gostei + 0
18/07/2005
Macario
write(tArquivo, Chr(27) + Chr(4Cool);// este codigo inibe o salto automatico de pagina
Voce poderia postar o codigo deste ultimo Chr(4 .. é que saiu uma ´emoção ´ no seu lugar na resposta ao outro nosso colega.
Grato/Hélio[/quote:1a9de7b8fb]
Opa valew nao tinha visto
write(f, Chr( 27 ) + Chr( 48 ) );// este codigo inibe o salto automatico de pagina
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)