Einzelnen Beitrag anzeigen

winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#1

Manuell Drucker auswählen und drucken???

  Alt 29. Mai 2007, 10:42
Guten Morgen,

wenn wir bisher etwas mit Delphi drucken wollten, gingen wir immer über die Druckerauswahlbox von Windows:

Delphi-Quellcode:
  if Printdialog.execute then begin
  ...
    Printer.Begindoc;
    Setmapmode(Printer.Canvas.Handle,MM_LOMETRIC);
    ABitmap.drawto(Printer.canvas.handle,0,-ABitmap.height);
    ABitmap.free;
    Printer.Enddoc;
  ...
  end;
Damit wurde der Drucker automatisch richtig gesetzt und es wurde gedruckt.

Wenn ich jedoch nun, ohne diesen Druckerdialoh, also direkt drucken will, funktioniert das nicht:

Delphi-Quellcode:
//Wenn der Druckername leer ist, wird der Standarddrucker verwendet
    if (printerName <> '') then begin

        for i:= 0 to Printers.Printer.Printers.Count - 1 do begin
          if (printerName = Printers.Printer.Printers[i]) then begin
               Printers.Printer.SetPrinter(PAnsiChar(printername),PAnsiChar('WINSPOOL'),PAnsiChar(''),deviceMode);
          end;
        end;
                                                                                    
    end;
Wie muß ich die Funktion

procedure SetPrinter(ADevice: PAnsiChar; ADriver: PAnsiChar; APort: PAnsiChar; ADeviceMode: Cardinal); nutzen, damit ich damit einen Drucker einstellen und dann drucken kann???

Danke,
winx

P.S: Verwende BDS2006
  Mit Zitat antworten Zitat