Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C++ Builder PrinterSetupDialog ve PrintDialog Nesneleri


PrinterSetupDialog ve PrintDialog Nesneleri

AÇIKLAMA

C++ Builder 6 ile uyumludur. Bu program PrintDialog ve PrinterSetupDialog nesnelerinin kullanımından söz edilmiş ve örnek bir uygulama yapılmıştır. PrinterSetupDialog nesnesi yazıcı ayarlarının yapıldığı nesnedir. Bu kısımda seçilecek yazıcı, sayfa düzeni, sayfa boyutu gibi benzeri ayarlar yapılır. PrinterDialog nesnesinde ise yazma işlemi sırasında yapılacak ayarlar belirlenir. Örneğin kaç adet maksimum sayfa yazılabilir, en az kaç sayfa yazdırılacak, yazma işlemi nereden başlayacak gibi ayarların yapıldığı yerdir. Bu programda yazma işleminde sonraki sayfaların yazılabilmesi için bir algoritma kullanılmıştır. Buradaki algoritmada Memo nesnesi içerisinde bulunan yazının font büyüklüğü önemlidir, buradaki default değerine göre bir sayfada 81 satır yazdırabilir. Font büyüklüğünün ayarlanabilir şekilde değiştirildiğini düşünürsek algoritmada da uygun matematik hesabı ile  daha genel bir yazdırma işlemi sağlanabilir.

Programın Tamamını Aşağıdaki Linkten İndirebilirsiniz

Linki Görebilmeniz İçin Üye Olmanız Gerekmektedir...

Üye Kayıt 

Program Kodu:

Unit1.cpp

  1.  
  2.  
  3. //---------------------------------------------------------------------------
  4.  
  5. #include <vcl.h>
  6. #pragma hdrstop
  7.  
  8. #include "Unit1.h"
  9. #include "Printers.hpp"
  10. //---------------------------------------------------------------------------
  11. #pragma package(smart_init)
  12. #pragma resource "*.dfm"
  13. TForm1 *Form1;
  14. //---------------------------------------------------------------------------
  15. __fastcall TForm1::TForm1(TComponent* Owner)
  16.         : TForm(Owner)
  17. {
  18. }
  19. //---------------------------------------------------------------------------
  20.  
  21. void __fastcall TForm1::Button1Click(TObject *Sender)
  22. {
  23. if(PrinterSetupDialog1->Execute())
  24. ;       
  25. }
  26. //---------------------------------------------------------------------------
  27.  
  28. void __fastcall TForm1::Button2Click(TObject *Sender)
  29. {
  30.  
  31.   int tur=0;
  32.   TPrinter *Prntr = Printer();
  33.   Prntr->Title="C++ BUİLDER İLE YAZDIRMA";
  34.   //TRect r = Rect(200,200,Prntr->PageWidth - 200,Prntr->PageHeight- 200);
  35.   int toplamsatir=Memo1->Lines->Count;
  36.  
  37.   while(toplamsatir>0)
  38.   {
  39.   Prntr->BeginDoc();
  40.   for( int i=81*tur; i<(tur+1)*81;i++)
  41.   {
  42.   Prntr->Canvas->TextOut(300,300 + ((i-(81*tur))*Prntr->Canvas->TextHeight(Memo1->Lines->Strings[i])),Memo1->Lines->Strings[i]);
  43.   }
  44.   Prntr->EndDoc();
  45.   toplamsatir-=80;
  46.   tur++;
  47.   }
  48.  
  49. }
  50. //---------------------------------------------------------------------------
  51. void __fastcall TForm1::FormCreate(TObject *Sender)
  52. {
  53. PrintDialog1->FromPage=1;
  54. PrintDialog1->MinPage=1;
  55. PrintDialog1->MaxPage=2500;
  56. PrintDialog1->ToPage=PrintDialog1->MaxPage;
  57. }
  58. //---------------------------------------------------------------------------
  59.  
  60.  
  61.  

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
 
backlinktr.biz | 521: Web server is down

Error 521 Ray ID: 4c9b6f7059cca7ee • 2019-04-19 02:26:43 UTC

Web server is down

You

Browser

Working
Istanbul

Cloudflare

Working
backlinktr.biz

Host

Error

What happened?

The web server is not returning a connection. As a result, the web page is not displaying.

What can I do?

If you are a visitor of this website:

Please try again in a few minutes.

If you are the owner of this website:

Contact your hosting provider letting them know your web server is not responding. Additional troubleshooting information.