Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
{ 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!): } usesWinSpool, 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
;