QUOTE
tipo, as configurações do componente (VDOPrint) não funciona... altero a fonte, tamanho, margem esqueda e direita e na hora de imprimir não muda nada... e estou usando a courier mesmo....
Voce deve usar o componente VDODmPrinter
Utilizado para impressão rápida (modo DOS). Específico para impressoras matriciais, opera com padrão Epson, e utiliza o Spool de impressão do Windows
exemplo:
QUOTE
procedure TfrmDemo.SpeedButton2Click(Sender: TObject);
var
I: Byte;
begin
with VDODmPrinter1 do
begin
{ Inicia o Documento }
BeginDoc;
{ Altera o fonte para escrita de um título }
Font.Size := fsLargeCondensed;
{ Imprime o título e avança para linha seguinte }
Print(00,'Título do Relatório', True);
{ Altero o fonte para o tamanho default }
Font.Size := fsCondensed;
{ Imprime um traço e avança para linha seguinte }
Replicate(00, 80);
{ Imprime um cabeçalho de detail e avança para
para linha seguinte apenas quando imprimir a
última coluna }
Print(00,'Código');
Print(10,'Nome');
Print(26,'E-mail');
Print(54,'Linha', True);
{ Imprime um traço e avança para linha seguinte }
Replicate(00, 80);
{ Imprime os detalhes... simulando um loop em um dataset}
for I := 1 to 10 do
begin
Print(00, Format('%6.6d',[I]));
Print(10, 'TVDODmPrinter');
Print(26, 'seuemail@seuservidor.com');
Print(54, 'Esta é a linha numero: ' + Format('%3.3d', [CurrentLine]), True);
end;
{ Avança + duas linhas e imprime o número da página }
NewLine(2);
Print(00,'Página ' + Format('%3.3d', [CurrentPage]), True);
{ Passa à próxima página apenas para exemplificar }
NewPage;
{ Inicio outra paginca para exemplificar o uso das fontes e alinhamento }
Font.Size := fsDefault;
Font.Align := faLeft;
Print(00, 'Fonte padrão, com 10cpp e alinhada a esquerda', True);
Font.Size := fsCondensed;
Font.Align := faCenter;
Print(00, 'Fonte condensada, com 10cpp e alinhada ao centro', True);
Font.Size := fsLargeCondensed;
Font.Align := faRight;
Print(00, 'Fonte condensada expandida, c/10cpp e alinhada a direita', True);
Font.Size := fsLarge;
Font.Align := faLeft;
Print(00, 'Fonte expandida, c/10cpp e al. esquerda', True);
Font.Size := fsDefault;
Font.Align := faLeft;
Font.Style := [fsDmBold];
Print(00, 'Fonte padrão, com 10cpp em "negrito"', True);
Font.Style := [fsDmDoubleStrike];
Print(00, 'Fonte padrão, com 10cpp em "passada-dupla"', True);
Font.Style := [fsDmItalic];
Print(00, 'Fonte padrão, com 10cpp em "italico"', True);
Font.Style := [fsDmSuperScript];
Print(00, 'Fonte padrão, com 10cpp em "sobrescrito"', True);
Font.Style := [fsDmSubScript];
Print(00, 'Fonte padrão, com 10cpp em "subrescrito"', True);
Font.Style := [fsDmUnderline];
Print(00, 'Fonte padrão, com 10cpp em "sublinhado"', True);
Font.Style := [fsDmBold, fsDmItalic];
Print(00, 'Fonte padrão, com 10cpp em "negrito" E "italico"', True);
Font.Style := [];
Font.Pitch := fp12cpp;
Print(00, 'Fonte padrão, com 12cpp', True);
Font.Size := fsCondensed;
Print(00, 'Fonte condensada, com 12cpp', True);
Font.Pitch := fp10cpp;
Font.Size := fsDefault;
Font.FontType := ftNLQ;
Font.NLQFont := ntSansSerif;
Print(00, 'Fonte padrão, com 10cpp e utilizando o tipo NLQ "Sans-Serif"', True);
Font.NLQFont := ntRoman;
Print(00, 'Fonte padrão, com 10cpp e utilizando o tipo NLQ "Roman"', True);
{ Avança + duas linhas e imprime o número da página }
NewLine(2);
Print(00,'Página ' + Format('%3.3d', [CurrentPage]), True);
{ Finalizo o Documento, ejetando a página }
EndDoc;
end;
end;
abraço