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

Anasayfa Programlama C++ Builder Printer () Nesnesi İle Yazdırma


Printer () Nesnesi İle Yazdırma

AÇIKLAMA

C++ Builder 6 ile uyumludur. Bu programda yine Printer nesnesi kullanilarak bir dosyanin yazdirilmasi sağlanmıştır.Diğer programdan farklı olarak burada Memo nesnesi içindeki fontun büyüklüğüne göre otomatik olarak kaç satır gelebileceği hesaplanmıştır. Çünkü fontun büyüklüğü her aşamada toplanmakta ve kağıt boyutunu geçip geçmediği kontrol edilmektedir. Eğer kağıdın yüksekliğini aşmışsa demekki o sayfa dolmuştur ve yeni bir sayfa oluşturularak kaldığı yerden yazdırma işlemi devam ettirilmiştir . Böylece efektif bir dosya yazdırma işlemi sağlanmıştır.

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. //---------------------------------------------------------------------------
  10. #pragma package(smart_init)
  11. #pragma resource "*.dfm"
  12. TForm1 *Form1;
  13. //---------------------------------------------------------------------------
  14. __fastcall TForm1::TForm1(TComponent* Owner)
  15.         : TForm(Owner)
  16. {
  17. }
  18. //---------------------------------------------------------------------------
  19.  
  20. void __fastcall TForm1::Button2Click(TObject *Sender)
  21. {
  22. if(OpenDialog1->Execute())
  23. Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
  24. }
  25. //---------------------------------------------------------------------------
  26.  
  27. void __fastcall TForm1::Button1Click(TObject *Sender)
  28. {
  29. int i,satir,es;
  30. satir=0;
  31. Printer()->Title="C++ BUİLDER İLE YAZDIRMA";
  32. Printer()->BeginDoc();
  33. es=Memo1->Lines->Count;
  34. Printer()->Canvas->Font->Height=150;
  35. for(i=0;i<es;i++)
  36. {
  37. Printer()->Canvas->TextOut(0,satir,Memo1->Lines->Strings[i]);
  38. satir+=Printer()->Canvas->Font->Height;
  39. if(satir>=Printer()->PageHeight)
  40. Printer()->NewPage();
  41. }
  42. Printer()->EndDoc();
  43. }
  44. //---------------------------------------------------------------------------
  45.  
  46.  
  47.  

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!