Недавно добавленные исходники

•  TDictionary Custom Sort  3 225

•  Fast Watermark Sources  2 991

•  3D Designer  4 750

•  Sik Screen Capture  3 259

•  Patch Maker  3 467

•  Айболит (remote control)  3 528

•  ListBox Drag & Drop  2 904

•  Доска для игры Реверси  80 776

•  Графические эффекты  3 843

•  Рисование по маске  3 171

•  Перетаскивание изображений  2 544

•  Canvas Drawing  2 672

•  Рисование Луны  2 500

•  Поворот изображения  2 092

•  Рисование стержней  2 120

•  Paint on Shape  1 525

•  Генератор кроссвордов  2 183

•  Головоломка Paletto  1 730

•  Теорема Монжа об окружностях  2 158

•  Пазл Numbrix  1 649

•  Заборы и коммивояжеры  2 016

•  Игра HIP  1 262

•  Игра Go (Го)  1 200

•  Симулятор лифта  1 422

•  Программа укладки плитки  1 177

•  Генератор лабиринта  1 512

•  Проверка числового ввода  1 297

•  HEX View  1 466

•  Физический маятник  1 322

•  Задача коммивояжера  1 357

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

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



Delphi Sources

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



Оформил: DeeCo

{ 
  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;




Похожие по теме исходники

Работа с принтером




Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте