Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: Printer - Yazdırmayı Desteklediği Sayfalar  (Okunma sayısı 1977 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı CMNSOFT

  • Delphi 2 Level 4
  • ****
  • İleti: 82
  • Rep: +2/-2
  • Cinsiyet: Bay
    • http://www.cmnsoft.com
Printer - Yazdırmayı Desteklediği Sayfalar
« : 13 Ekim 2005 19:55:49 »
Uses satırına Printers ve WinSpool unitlerini ekleyin...



Kod:  (Unknown Language)
  1. Procedure GetPapernames(Sl: TStrings);
  2.  
  3. Type
  4.  
  5.    TPaperName = Array [0..63] Of Char;
  6.  
  7.    TPaperNameArray = Array [1..High(Word) Div SizeOf(TPaperName)] Of TPaperName;
  8.  
  9.    PPapernameArray = ^TPaperNameArray;
  10.  
  11.  
  12.  
  13. Var
  14.  
  15.    Device, Driver, Port: Array [0..255] Of Char;
  16.  
  17.    hDevMode: THandle;
  18.  
  19.    i, numPaperformats: Integer;
  20.  
  21.    pPaperFormats: PPapernameArray;
  22.  
  23.  
  24.  
  25. Begin
  26.  
  27. Printer.PrinterIndex := -1;  // Standart printer...
  28.  
  29. Printer.GetPrinter(Device, Driver, Port, hDevmode);
  30.  
  31. numPaperformats:= WinSpool.DeviceCapabilities(Device, Port, DC_PAPERNAMES, Nil, Nil);
  32.  
  33.  
  34.  
  35. If numPaperformats  0 Then
  36.  
  37.    Begin
  38.  
  39.    GetMem(pPaperformats, numPaperformats * SizeOf(TPapername));
  40.  
  41.    Try
  42.  
  43.      WinSpool.DeviceCapabilities(Device, Port, DC_PAPERNAMES, PChar(pPaperFormats), Nil);
  44.  
  45.      sl.Clear;
  46.  
  47.      For i:= 1 To numPaperformats Do Sl.Add(pPaperformats^[i]);
  48.  
  49.    Finally
  50.  
  51.       FreeMem(pPaperformats);
  52.  
  53.    End;
  54.  
  55.    End;
  56.  
  57. End;








Kullanım Şekli

Kod:  (Unknown Language)
  1. Procedure TForm1.Button1Click(Sender: TObject);
  2.  
  3. Begin
  4.  
  5. GetPapernames(Memo1.Lines);
  6.  
  7. End;
:::::::::::::::::::: www.CMNSOFT.com ::::::::::::::::::::