GARANTIR DESCONTO

Fórum Imprimir Boletos Pre Impressos -Usando Impressora Matricial #288393

18/07/2005

0

Estou fazendo um programa em delphi 7 para impressão de boletos bancarios pre impressos, o problema é que quando eu mando imprimir, ele imprime mas puxa varios formularios logo em seguida. No qreport eu já configurei o tamanho do papel, mas mesmo assim ele continua puxando varios formularios. Alguem sabe como que eu faço para que puxe somente um???????


Bozolijr

Bozolijr

Responder

Posts

18/07/2005

Titanius

Amigo, para isso vc deve usar a antiga impressao em modo-dos...
somente caracteres, eu uso o componente RDPrint para isso, muito bom.. voce posiciona a linha x coluna... e pronto..


[]s


Responder

Gostei + 0

18/07/2005

Macario

Olá,

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


Responder

Gostei + 0

18/07/2005

Helio Nascimento

Amigo 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


Responder

Gostei + 0

18/07/2005

Macario

[quote:1a9de7b8fb=´Helio Nascimento´]Amigo 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



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar