- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 Forum

Grundkurs
  »Introduktion
  »Snabbguide
  »Komponenter
  »Händelser
  »Strängar
  »Räkna med Delphi   »Egna typer
  »Selektion
  »Iteration
  »Menyer
  »Funktioner
  »Arraystrukturer

Tips & Tricks
  »Nya tips
  »Blandat
  »Databaser
  »Filer
  »Forms
  »Grafik
  »Internet
  »Komponenter
  »Matematik
  »Multimedia
  »Objekt/ActiveX
  »Skrivare
  »Strängar
  »System
  »Mest lästa tips

Artiklar
  »Delphi och ADO
  »Bygga en DLL
  »Skapa en enkel rapport
  »Hantera registret
  »Enheter, units
  »Klassen TCanvas
  »Använd LookUp Controls

 Nya tips
 Lägg till tips
 Delphilänkar
 Gästbok

 

Kontrollera om skrivaren har stöd för PostScript Kategori: Skrivare
Inlagt: 2004-06-12
Läst: 1285
Inlagt av: Staffan Berg
Beskrivning
Med detta kodexempel kan du kontrollera om angiven skrivare har stöd för PostScript. Det kan vara bra m du t ex vill kunna skapa pdf-dokument. 
Kod
uses Printers; 
function IsPostScriptPrinter(dc : hdc) : bool; 
var 
 TestInt : integer; 
 a : array[0..255] of char; 
 err : integer; 
 s : string ; 
begin 
 Result := false; 
 TestInt := GETTECHNOLOGY; 
{$IFDEF WIN32} 
 if ExtEscape(Dc, 
        QUERYESCSUPPORT, 
        sizeof(TestInt), 
        @TestInt, 
        0, 
        Nil) > 0 then begin 
   Err := ExtEscape(Dc, 
           GETTECHNOLOGY, 
           0, 
           nil, 
           256, 
           @a); 
{$ELSE} 
 if Escape(Dc, 
      QUERYESCSUPPORT, 
      sizeof(TestInt), 
      @TestInt, 
      Nil) > 0 then begin 
   Err := Escape(Dc, 
          GetTechnology, 
          0, 
          nil, 
          @a); 
 {$ENDIF} 
   if Err > 0 then begin 
    s := UpperCase(StrPas(a)); 
    if Pos('POSTSCRIPT', s) > 0 then 
     result := true; 
   end; 
 end; 
end; 
procedure TForm .Button Click(Sender: TObject); 
begin 
 if PrintDialog .Execute then 
  if IsPostScriptPrinter(Printer.Handle) then 
   ShowMessage('This is a Postscript Printer') else 
   ShowMessage('This is not a Postscript Printer'); 
end; 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -