Witam,
Do komputera mam podłączone 2 drukarki. Ponieważ część dorkumentw muszę drukować na apierze samokpiującym, jedna z nich jest igłowa.
Domyślnie jednak używana jest drukarka laserowa.
No i teraz pojawia się problem, bo ja potrzebuję aby pewne raporty QR były drukowana zawsze na igłówce.
Na delphi.about.com znalazłem taki kodzik:
procedure SetDefaultPrinter(PrinterName: String);
var
I: Integer;
Device : PChar;
Driver : Pchar;
Port : Pchar;
HdeviceMode: Thandle;
begin
Printer.PrinterIndex := -1;
//Save for use later Defaultprintername
//is a global variable.
DefaultPrinterName :=
Printer.Printers[Printer.PrinterIndex];
with Printer.printers do begin
//Count is a printers property
for I := 0 to Count-1 do begin
if PrinterDevice(Objects[I]).Device :=
PrinterName then begin
Printername := Printer.printers[I];
Device := PChar(TprinterDevice
(objects[I]).Device);
Driver := Pchar(TprinterDevice
(objects[I]).Driver);
Port := Pchar(TprinterDevice
(objects[I]).Port);
StrCat(Device, ',');
StrCat(Device, Driver );
StrCat(Device, Port );
WriteProfile('windows', 'device', Device );
StrCopy( Device, 'windows' );
SendMesssage(HWND_BROADCAST, WM_WINICHANGE,
0, Longint(@Device));
HDeviceMode := 0;
end;
end;
end;
end;
No i proba kompilacji wywala mi błąd:
Undeclared identifer PrinterDevice
i
Undeclared identifer TprinterDevice
Nigdy nie korzystałem jeszcze z klasy TQRPrinter a w helpie nic na ten temat nie ma :-(
Może ktoś z was miał już taki problem.
Używam D7 Prof.