1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| public
{ Public declarations }
procedure Imprimante(out Result1, Result2: string);
[...]
procedure TForm1.Imprimante(out Result1, Result2: string);
var
Dev, Drv, Prt: Array[0..255] of Char;
DM1: PDeviceMode;
DM2: PDeviceMode;
Sz: Integer;
DevM: THandle;
begin
Printer.PrinterIndex := - 1;
Printer.GetPrinter(Dev, Drv, Prt, DevM);
DM1 := nil;
DM2 := nil;
Sz := DocumentProperties(0, 0, Dev, DM1^, DM2^, 0);
GetMem(DM1, Sz);
DocumentProperties(0, 0, Dev, DM1^, DM2^, DM_OUT_BUFFER);
if DM1^.dmColor > 1 then
result1 := Dev + ': Couleur'
else
result1 := Dev + ': Noir et blanc';
if DM1^.dmFields and DM_Color <> 0 then
result2 := 'L''imprimante supporte les couleurs'
else
result2 := 'L''imprimante ne supporte pas les couleurs';
FreeMem(DM1);
end; |
Partager