Einzelnen Beitrag anzeigen

Ravus80

Registriert seit: 18. Okt 2006
9 Beiträge
 
#1

Druckerschacht wählen

  Alt 9. Okt 2008, 10:39
Hallo,

für den Ausdruck aus meinem Programm möchte ich die verschiedenen Druckschächte eines Druckers speziell ansprechen. Meine Internetrecherche brachte mich zu folgendem Code. Leider verstehe ich ihn nicht. Aus diesem Grund finde ich auch nicht den Grund für meinen Fehler. Der Drucker druckt zwar allerdings weiterhin Automatische Quellenauswahl.

Für Hilfe wäre ich sehr dankbar.


Code:
{-----------------------------------------------------------------------------}
procedure Druckerwählen;
var
  ini    : TIniFile;
  Device : array[0..255] of char;
  Driver : array[0..255] of char;
  Port  : array[0..255] of char;
  DeviceMode : THandle;
  DevMode : PDEVMODE;

begin
   ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+
      'test.ini'); //Öffnen der ini

   Printer.PrinterIndex := ini.ReadInteger('DruckRech','Drucker',0);
   Ini.Free;
   Printer.GetPrinter(Device, Driver, Port, DeviceMode);
   DevMode := GlobalLock(DeviceMode);
   try
     DevMode^.dmDefaultSource := 4; //Druckerschacht
     Printer.SetPrinter(Device, Driver, Port, DeviceMode);
   finally
     GlobalUnlock(DeviceMode);
   end;
end;
{-----------------------------------------------------------------------------}
  Mit Zitat antworten Zitat