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

Hata
  • XML Parsing Error at 1:82. Error 9: Invalid character
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!
 
amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım