Mhm... wieder mal ein Problem...
Wie ich in einem RichEdit drucke ist mir klar.
Jedoch gibt es da ein Problem:
Ich habe dem RichEdit verschiedene Styles gegeben,
z.b.:
Musterman, Max
Tutor: Musterfrau
Schriftlicher Teil: 14
Allgemeiner Teil: 15
Erstmal bei uses printers;
Der Name ist halt FETT. Mit dem Code kann ich aber irgendwie nur 5 Zeilen oder so ausdrucken, sonst ist alles fein
:
drucken.Print(drucken.Lines.Text);
Aber jeden Schüler einzeln auf ein Blatt papier zu packen ist kacke ^^
Und mit dem kann ich zwar alles Drucken, aber leider geht das Fettgeschriebene da verloren
:
Delphi-Quellcode:
procedure TForm1.Drucklistedrucken1Click(Sender: TObject);
var
Lines: Integer;
LineHeight: Integer;
ActMemoLine: Integer;
Pages: Integer;
PageLine: Integer;
begin
If drucken.Lines.Text<>'
'
then begin
Printer.BeginDoc;
Printer.Canvas.Font.
Name := drucken.Font.
Name;
Printer.Canvas.Font.Size := drucken.Font.Size;
Lines := Printer.PageHeight
div Printer.Canvas.TextHeight('
Dummy');
LineHeight := Printer.Canvas.TextHeight('
Dummy');
ActMemoLine := 0;
for Pages := 1
to (drucken.Lines.Count
div Lines) + 1
do
begin
for PageLine := 0
to Lines - 1
do
begin
if ActMemoLine < drucken.Lines.Count
then
begin
Printer.Canvas.TextOut(20, PageLine *
LineHeight, drucken.Lines[ActMemoLine]);
end else
begin
Printer.EndDoc;
exit;
end;
Inc(ActMemoLine);
end;
if ActMemoLine < drucken.Lines.Count
then
Printer.NewPage;
end;
Printer.EndDoc;
end
else MessageBox(
Handle, PChar('
Die Druckliste ist leer.'+#10#13+'
Drucken verweigert.'), PChar('
Fehler'), $00000010);
end;
Naja, ich hoffe Ihr habt verstanden, was ich meine
Whoopee