Einzelnen Beitrag anzeigen

Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Wie Druckerränder einstellen?

  Alt 5. Feb 2007, 00:52
Hallo,
also folgendes müsste für Textdateien funktionieren:
Delphi-Quellcode:
uses Printers;

procedure Ausdrucken(Text: TStringList; x, y: integer);
var
  i, Zeile, FontSize: integer;
begin
  Zeile:= 0;
  x:= x* 10;
  y:= y* 10;
  printer.begindoc;
  printer.Canvas.Font.Size:= 12;
  FontSize:= printer.Canvas.Font.Size* 10;
  for i:= 0 to Text.Count- 1 do
  begin
    if Printer.Canvas.TextWidth(Text[i])> printer.PageWidth- x then
      Showmessage('Zeile '+inttostr(i)+ ' ist zu breit');
      
    Printer.Canvas.TextOut(x, y+ FontSize* Zeile, Text[i]);
    inc(Zeile);
    if (y+ FontSize* Zeile> printer.PageHeight) and (Zeile<= Text.Count) then
    begin
      Zeile:= 0;
      printer.NewPage;
    end;
  end;
  printer.enddoc;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Text: TStringList;
begin
  Text:= TStringList.Create;
  Text.LoadFromFile('C:\Test.txt');
  Ausdrucken(Text, 20, 120);
  Text.Free;
end;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat