Recibo! Urgente!!!!!!!!!!!!
eu gostaria de saber de como imprimir recibo, tudo de como imprimir recibo.
se vcs poerem me ajudar.
muito obrigado!!!!!!!
:(
se vcs poerem me ajudar.
muito obrigado!!!!!!!
:(
Renan
Curtidas 0
Respostas
Anonymous
22/02/2003
Têm tantas maneiras de imprimir recibos, usando-se tantos componentes diferentes, que fica difícil responder. Mas se você quer fazer do seu jeito, uma boa maneira é usar a classe TPrinter. Porque aí sai do jeito que você planejar, apesar de dar um pouco de trabalho. Se optar por isso você declara a unit Printers na cláusula Uses e usa a propriedade Canvas, mais ou menos assim.
Printer.Canvas.TextOut(pos1,pos2,´Testo(String)´)...
Abraços.
Printer.Canvas.TextOut(pos1,pos2,´Testo(String)´)...
Abraços.
GOSTEI 0
Anonymous
22/02/2003
Bem amigo uma forma prática usando a idéia do amigo anterior
seria vc criar um form com tudo do recido ...vc pode usar sharp normal ...label...em fim vc deixa o forma com a cara de seu recibo e assim o usuário pode até editar o recibo vc colocando Edit sem bordas ...
bem acho q vc entendeu e por fim vc pode usar este código para imprimir a tela :
O exemplo a seguir é um procedimento para imprimir um form. Para imprimir o form, basta informar o nome do mesmo como parâmetro: PrintForm(Form1). Antes de imprimir, a cor atual do form é salva em OldColor e alterada para clWhite (frm.Color := clWhite), para evitar gasto excessivo de tinta da impressora (ou tonner).
PrintForm
uses
Windows, SysUtils, Printers, Forms, Graphics, Controls, Classes;
.
.
.
procedure PrintForm(frm: TForm);
var
bmp: TBitMap;
x, y, WDPI, HDPI: Integer;
OldColor: TColor;
begin
Screen.Cursor := crHourGlass;
OldColor := frm.Color;
frm.Color := clWhite;
frm.Update;
bmp := frm.GetFormImage;
with Printer do
begin
Orientation := poLandscape;
BeginDoc;
HDPI := PageHeight div 8;
WDPI := PageWidth div 8;
x := PageWidth - Round(WDPI * 0.4); {0.4´ margem direita}
y := PageHeight - Round(HDPI * 0.5); {0.5´ Altura do rodapé}
Canvas.StretchDraw(Rect(0, 0, x, y), bmp);
EndDoc;
end;
bmp.Free;
frm.Color := OldColor;
Screen.Cursor := crDefault;
end;
Detale ele assim só irá impimir a area cliente e
o termo
Canvas.StretchDraw(Rect(0, 0, x, y), bmp);
irá dimecionar no tamanho na folha padrão do printer q geralmente é
A4 , se vc quiser imprimir como meia folha é usar :
Canvas.StretchDraw(Rect(0, 0, x, y div 2), bmp);
E ficará muito bom ...qualquer dúvida se isto te ajudar entre em contato
seria vc criar um form com tudo do recido ...vc pode usar sharp normal ...label...em fim vc deixa o forma com a cara de seu recibo e assim o usuário pode até editar o recibo vc colocando Edit sem bordas ...
bem acho q vc entendeu e por fim vc pode usar este código para imprimir a tela :
O exemplo a seguir é um procedimento para imprimir um form. Para imprimir o form, basta informar o nome do mesmo como parâmetro: PrintForm(Form1). Antes de imprimir, a cor atual do form é salva em OldColor e alterada para clWhite (frm.Color := clWhite), para evitar gasto excessivo de tinta da impressora (ou tonner).
PrintForm
uses
Windows, SysUtils, Printers, Forms, Graphics, Controls, Classes;
.
.
.
procedure PrintForm(frm: TForm);
var
bmp: TBitMap;
x, y, WDPI, HDPI: Integer;
OldColor: TColor;
begin
Screen.Cursor := crHourGlass;
OldColor := frm.Color;
frm.Color := clWhite;
frm.Update;
bmp := frm.GetFormImage;
with Printer do
begin
Orientation := poLandscape;
BeginDoc;
HDPI := PageHeight div 8;
WDPI := PageWidth div 8;
x := PageWidth - Round(WDPI * 0.4); {0.4´ margem direita}
y := PageHeight - Round(HDPI * 0.5); {0.5´ Altura do rodapé}
Canvas.StretchDraw(Rect(0, 0, x, y), bmp);
EndDoc;
end;
bmp.Free;
frm.Color := OldColor;
Screen.Cursor := crDefault;
end;
Detale ele assim só irá impimir a area cliente e
o termo
Canvas.StretchDraw(Rect(0, 0, x, y), bmp);
irá dimecionar no tamanho na folha padrão do printer q geralmente é
A4 , se vc quiser imprimir como meia folha é usar :
Canvas.StretchDraw(Rect(0, 0, x, y div 2), bmp);
E ficará muito bom ...qualquer dúvida se isto te ajudar entre em contato
GOSTEI 0