Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

Главная
Статьи
Базы данных
Графика
Защита
Интернет
Система
Тексты
Мультимедиа
Файлы
Формы и окна
Другое
Советы
Базы данных
Графика
Интернет
Мультимедиа
Система
Тексты
Файлы
Файлы
Исходники
Компоненты
Инфо
Поиск по сайту
Обратная связь
Самое популярное
Аккаунт
Карта сайта

 
 
 

Советы по delphi \ Система \ Принтеры и Печать \ Узнать, поддерживает ли принтер PostScript

Узнать, поддерживает ли принтер PostScript

{ 
  That is really difficult do to if it has to work on all Windows 
  platforms. The best way (no kidding) may be to ask the user which 
  printer to use. What platforms do you need to support? If it is only 
  Win2K (and perhaps XP) one may be able to use this (i have no 
  postscript-enabled printer around to see if it works!): 
}

 uses
   WinSpool, Printers;

 {: Check if the currently selected printer supports postscript. 
  Only applicable on Win2K/XP! }

 function PrinterSupportsPostscript: Boolean;
 const
   POSTSCRIPT_PASSTHROUGH = 4115;
   POSTSCRIPT_IDENTIFY = 4117;

   Escapes: array[0..2] of Cardinal =
   (POSTSCRIPT_DATA, POSTSCRIPT_IDENTIFY, POSTSCRIPT_PASSTHROUGH);
 var
   res: Integer;
   i: Integer;
 begin
   Result := false;
   for i := Low(Escapes) to High(Escapes) do begin
     res := ExtEscape(printer.Handle,
       QUERYESCSUPPORT,
       sizeof(Escapes[0]),
       @Escapes[i], 0, nil);
     if res <> 0 then begin
       Result := true;
       Break;
     end;
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 const
   boolstr: array[Boolean] of string = (' not', '');
 var
   i: Integer;
   S: string;
 begin
   for i := 0 to Printer.Printers.Count - 1 do begin
     Printer.PrinterIndex := i;
     memo1.Lines.add(
       Format('Printer %s does%s support Postscript',
       [printer.printers[printer.printerindex],
       boolstr[PrinterSupportsPostscript]]));
   end;
 end;

Название: Узнать, поддерживает ли принтер PostScript
Дата публикации: 2004-09-09 (2494 Прочтено)

 
 

 

Page generation 0.030 seconds