I got this code BUT it prints very very small, like 0.5 font size.
How do I make the font size 12 or 14?
function MulDiv(nNumber, nNumerator, nDenominator: Integer): Integer;
begin
Result:=Round(int64(nNumber)*int64(nNumerator)/nDenominator);
end;
procedure TForm1.BTNprintClick(Sender: TObject);
const
LeftMargin = 0.05;
TopMargin = 0.05;
BottomMargin = 0.05;
var
i: integer;
x,y: integer;
begin
if PrintDialog1.Execute then
begin
Printer.BeginDoc;
y := Round(TopMargin*Printer.PageHeight);
DBGridPrintMember.DataSource.DataSet.First;
while not DBGridPrintMember.DataSource.DataSet.Eof do
begin
x := Round(LeftMargin*Printer.PageWidth);
for i := 0 to DBGridPrintMember.DataSource.DataSet.FieldCount-1 do
begin
printer.Canvas.TextOut(x,y,DBGridPrintMember.DataSource.DataSet.Fields.AsString);
x := x + MulDiv(DBGridPrintMember.Columns.Width,Printer.PageWidth, DBGridPrintMember.Width);
end;
DBGridPrintMember.DataSource.DataSet.Next;
y := y + printer.Canvas.TextHeight('A');
if y > (1-TopMargin-BottomMargin)* Printer.PageHeight then
begin
y := Round(TopMargin*Printer.PageHeight);
Printer.NewPage;
end;
end;
Printer.EndDoc;
end;
end;