Amigo Egostar, empecé a probar el código que me facilitaste para imprimir con canvas, excelente, me funciona perfecto, pero tengo un par de dudas:
Código Delphi
[-]procedure Imprimir;
var
I,X,Y,Lineas : Integer;
begin
with Printer do begin
Canvas.Font.Size := 10;
Canvas.Font.Name := 'Courier New';
Orientation := poLandscape;
Y := 100; X := 100; Lineas := 100; BeginDoc;
for I := 1 to lineas do begin
Canvas.TextOut(X,Y,'LINEA A IMPRIMIR');
Y := Y + Canvas.TextHeight('Yy'); end;
EndDoc;
end;
end;
Me imprime desde el inicio hasta al final de la hoja o sea me repite la linea desde la primera linea de la hoja hasta la ultima, me imagino que esa es la función de este pedazo de código:
Código Delphi
[-]for I := 1 to lineas do begin
Canvas.TextOut(X,Y,'LINEA A IMPRIMIR');
Y := Y + Canvas.TextHeight('Yy');
y si son nada mas dos lineas?, como saco los valores desde un DBGrid? de la forma normal:
Código Delphi
[-]for I := 1 to lineas do begin
Canvas.TextOut(X,Y,'+ADOTable.Field[0].asstring+');
Y := Y + Canvas.TextHeight('Yy');
o desde el mismo DBGrid (eso no lo sabría hacer).
Saludos.