You've already forked lazarus-ccr
982 lines
24 KiB
ObjectPascal
982 lines
24 KiB
ObjectPascal
![]() |
unit UMakeDoc;
|
||
|
|
||
|
{$MODE Delphi}
|
||
|
|
||
|
interface
|
||
|
|
||
|
uses
|
||
|
LCLIntf, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
||
|
PReport, ComCtrls, ExtCtrls, Menus, PRAnnotation, PdfDoc, PdfTypes,
|
||
|
LResources;
|
||
|
|
||
|
type
|
||
|
TContentsElement = class;
|
||
|
|
||
|
{ TForm1 }
|
||
|
|
||
|
TForm1 = class(TForm)
|
||
|
MainMenu1: TMainMenu;
|
||
|
File1: TMenuItem;
|
||
|
CreatePDF1: TMenuItem;
|
||
|
N1: TMenuItem;
|
||
|
Exit1: TMenuItem;
|
||
|
Help1: TMenuItem;
|
||
|
About1: TMenuItem;
|
||
|
PReport1: TPReport;
|
||
|
PRText93: TPRText;
|
||
|
SaveDialog1: TSaveDialog;
|
||
|
Panel1: TPanel;
|
||
|
PageControl1: TPageControl;
|
||
|
TabSheet1: TTabSheet;
|
||
|
TabSheet2: TTabSheet;
|
||
|
TabSheet3: TTabSheet;
|
||
|
TabSheet4: TTabSheet;
|
||
|
TabSheet5: TTabSheet;
|
||
|
TabSheet6: TTabSheet;
|
||
|
TabSheet7: TTabSheet;
|
||
|
TabSheet8: TTabSheet;
|
||
|
TabSheet9: TTabSheet;
|
||
|
TabSheet10: TTabSheet;
|
||
|
TabSheet11: TTabSheet;
|
||
|
TabSheet12: TTabSheet;
|
||
|
TabSheet13: TTabSheet;
|
||
|
TabSheet14: TTabSheet;
|
||
|
TabSheet15: TTabSheet;
|
||
|
TabSheet16: TTabSheet;
|
||
|
TabSheet17: TTabSheet;
|
||
|
CoverPage: TPRPage;
|
||
|
PRLayoutPanel1: TPRLayoutPanel;
|
||
|
PRText2: TPRText;
|
||
|
PRLayoutPanel2: TPRLayoutPanel;
|
||
|
PRText1: TPRText;
|
||
|
ContentsPage: TPRPage;
|
||
|
PRLayoutPanel4: TPRLayoutPanel;
|
||
|
PRRect6: TPRRect;
|
||
|
PRRect7: TPRRect;
|
||
|
PRRect8: TPRRect;
|
||
|
PRRect10: TPRRect;
|
||
|
PRText1Contents: TPRText;
|
||
|
PRPage3: TPRPage;
|
||
|
PRLayoutPanel3: TPRLayoutPanel;
|
||
|
PRRect1: TPRRect;
|
||
|
PRRect2: TPRRect;
|
||
|
PRRect3: TPRRect;
|
||
|
PRText6: TPRText;
|
||
|
PRRect4: TPRRect;
|
||
|
PRTextIntro: TPRText;
|
||
|
PRRect5: TPRRect;
|
||
|
PRText1_1: TPRText;
|
||
|
PRText9: TPRText;
|
||
|
PRText1_2: TPRText;
|
||
|
PRText259: TPRText;
|
||
|
PRText1_3: TPRText;
|
||
|
PRText261: TPRText;
|
||
|
PRText262: TPRText;
|
||
|
PRText263: TPRText;
|
||
|
PRPage4: TPRPage;
|
||
|
PRLayoutPanel5: TPRLayoutPanel;
|
||
|
PRRect9: TPRRect;
|
||
|
PRRect11: TPRRect;
|
||
|
PRRect12: TPRRect;
|
||
|
PRRect13: TPRRect;
|
||
|
PRText21: TPRText;
|
||
|
PRRect14: TPRRect;
|
||
|
PRTextCompRef: TPRText;
|
||
|
PRText2_1: TPRText;
|
||
|
PRText24: TPRText;
|
||
|
PRText2_1_1: TPRText;
|
||
|
PRText26: TPRText;
|
||
|
PRText27: TPRText;
|
||
|
PRText28: TPRText;
|
||
|
PRText29: TPRText;
|
||
|
PRText30: TPRText;
|
||
|
PRText31: TPRText;
|
||
|
PRText32: TPRText;
|
||
|
PRText36: TPRText;
|
||
|
PRText37: TPRText;
|
||
|
PRText38: TPRText;
|
||
|
PRText39: TPRText;
|
||
|
PRText40: TPRText;
|
||
|
PRText41: TPRText;
|
||
|
PRText42: TPRText;
|
||
|
PRText43: TPRText;
|
||
|
PRText44: TPRText;
|
||
|
PRText45: TPRText;
|
||
|
PRText46: TPRText;
|
||
|
PRText47: TPRText;
|
||
|
PRText48: TPRText;
|
||
|
PRText49: TPRText;
|
||
|
PRText50: TPRText;
|
||
|
PRText33: TPRText;
|
||
|
PRText34: TPRText;
|
||
|
PRText35: TPRText;
|
||
|
PRText83: TPRText;
|
||
|
PRText84: TPRText;
|
||
|
PRText85: TPRText;
|
||
|
PRPage5: TPRPage;
|
||
|
PRLayoutPanel6: TPRLayoutPanel;
|
||
|
PRRect15: TPRRect;
|
||
|
PRRect16: TPRRect;
|
||
|
PRRect17: TPRRect;
|
||
|
PRRect18: TPRRect;
|
||
|
PRText62: TPRText;
|
||
|
PRText63: TPRText;
|
||
|
PRText64: TPRText;
|
||
|
PRText53: TPRText;
|
||
|
PRText54: TPRText;
|
||
|
PRText55: TPRText;
|
||
|
PRText56: TPRText;
|
||
|
PRText58: TPRText;
|
||
|
PRText59: TPRText;
|
||
|
PRText60: TPRText;
|
||
|
PRText61: TPRText;
|
||
|
PRText65: TPRText;
|
||
|
PRText66: TPRText;
|
||
|
PRText67: TPRText;
|
||
|
PRText86: TPRText;
|
||
|
PRText87: TPRText;
|
||
|
PRText88: TPRText;
|
||
|
PRText77: TPRText;
|
||
|
PRText78: TPRText;
|
||
|
PRText79: TPRText;
|
||
|
PRPage7: TPRPage;
|
||
|
PRLayoutPanel7: TPRLayoutPanel;
|
||
|
PRRect19: TPRRect;
|
||
|
PRRect20: TPRRect;
|
||
|
PRRect21: TPRRect;
|
||
|
PRRect22: TPRRect;
|
||
|
PRText2_2_1: TPRText;
|
||
|
PRText102: TPRText;
|
||
|
PRText103: TPRText;
|
||
|
PRText104: TPRText;
|
||
|
PRText105: TPRText;
|
||
|
PRText106: TPRText;
|
||
|
PRText107: TPRText;
|
||
|
PRText108: TPRText;
|
||
|
PRText109: TPRText;
|
||
|
PRText110: TPRText;
|
||
|
PRText111: TPRText;
|
||
|
PRText112: TPRText;
|
||
|
PRText113: TPRText;
|
||
|
PRText114: TPRText;
|
||
|
PRText115: TPRText;
|
||
|
PRText2_2_2: TPRText;
|
||
|
PRText96: TPRText;
|
||
|
PRText97: TPRText;
|
||
|
PRText119: TPRText;
|
||
|
PRText120: TPRText;
|
||
|
PRText121: TPRText;
|
||
|
PRText122: TPRText;
|
||
|
PRText123: TPRText;
|
||
|
PRText124: TPRText;
|
||
|
PRText125: TPRText;
|
||
|
PRText2_2: TPRText;
|
||
|
PRText90: TPRText;
|
||
|
PRText91: TPRText;
|
||
|
PRText92: TPRText;
|
||
|
PRPage8: TPRPage;
|
||
|
PRLayoutPanel8: TPRLayoutPanel;
|
||
|
PRRect23: TPRRect;
|
||
|
PRRect24: TPRRect;
|
||
|
PRRect25: TPRRect;
|
||
|
PRRect26: TPRRect;
|
||
|
PRText2_3: TPRText;
|
||
|
PRText152: TPRText;
|
||
|
PRText153: TPRText;
|
||
|
PRText154: TPRText;
|
||
|
PRText155: TPRText;
|
||
|
PRText156: TPRText;
|
||
|
PRText2_3_1: TPRText;
|
||
|
PRText164: TPRText;
|
||
|
PRText165: TPRText;
|
||
|
PRText166: TPRText;
|
||
|
PRText2_3_2: TPRText;
|
||
|
PRText100: TPRText;
|
||
|
PRText101: TPRText;
|
||
|
PRText116: TPRText;
|
||
|
PRText117: TPRText;
|
||
|
PRText118: TPRText;
|
||
|
PRText126: TPRText;
|
||
|
PRText127: TPRText;
|
||
|
PRPage9: TPRPage;
|
||
|
PRLayoutPanel9: TPRLayoutPanel;
|
||
|
PRRect27: TPRRect;
|
||
|
PRRect28: TPRRect;
|
||
|
PRRect29: TPRRect;
|
||
|
PRRect30: TPRRect;
|
||
|
PRText2_4: TPRText;
|
||
|
PRText133: TPRText;
|
||
|
PRText134: TPRText;
|
||
|
PRText135: TPRText;
|
||
|
PRText136: TPRText;
|
||
|
PRText137: TPRText;
|
||
|
PRText2_4_1: TPRText;
|
||
|
PRText139: TPRText;
|
||
|
PRText140: TPRText;
|
||
|
PRText141: TPRText;
|
||
|
PRText2_4_2: TPRText;
|
||
|
PRText143: TPRText;
|
||
|
PRText144: TPRText;
|
||
|
PRText145: TPRText;
|
||
|
PRText146: TPRText;
|
||
|
PRText147: TPRText;
|
||
|
PRText148: TPRText;
|
||
|
PRText149: TPRText;
|
||
|
PRText150: TPRText;
|
||
|
PRText157: TPRText;
|
||
|
PRText158: TPRText;
|
||
|
PRText159: TPRText;
|
||
|
PRText160: TPRText;
|
||
|
PRText161: TPRText;
|
||
|
PRText162: TPRText;
|
||
|
PRText167: TPRText;
|
||
|
PRText168: TPRText;
|
||
|
PRText169: TPRText;
|
||
|
PRText170: TPRText;
|
||
|
PRText171: TPRText;
|
||
|
PRText172: TPRText;
|
||
|
PRText173: TPRText;
|
||
|
PRText174: TPRText;
|
||
|
PRText175: TPRText;
|
||
|
PRPage10: TPRPage;
|
||
|
PRLayoutPanel17: TPRLayoutPanel;
|
||
|
PRRect67: TPRRect;
|
||
|
PRRect68: TPRRect;
|
||
|
PRRect69: TPRRect;
|
||
|
PRRect70: TPRRect;
|
||
|
PRText2_5: TPRText;
|
||
|
PRText281: TPRText;
|
||
|
PRText287: TPRText;
|
||
|
PRText319: TPRText;
|
||
|
PRText320: TPRText;
|
||
|
PRText321: TPRText;
|
||
|
PRText2_5_1: TPRText;
|
||
|
PRText323: TPRText;
|
||
|
PRText324: TPRText;
|
||
|
PRText325: TPRText;
|
||
|
PRText326: TPRText;
|
||
|
PRText327: TPRText;
|
||
|
PRText328: TPRText;
|
||
|
PRText329: TPRText;
|
||
|
PRText330: TPRText;
|
||
|
PRText331: TPRText;
|
||
|
PRText348: TPRText;
|
||
|
PRText349: TPRText;
|
||
|
PRText350: TPRText;
|
||
|
PRText354: TPRText;
|
||
|
PRText355: TPRText;
|
||
|
PRText356: TPRText;
|
||
|
PRPage11: TPRPage;
|
||
|
PRLayoutPanel14: TPRLayoutPanel;
|
||
|
PRRect54: TPRRect;
|
||
|
PRRect55: TPRRect;
|
||
|
PRRect56: TPRRect;
|
||
|
PRRect58: TPRRect;
|
||
|
PRText380: TPRText;
|
||
|
PRText381: TPRText;
|
||
|
PRText382: TPRText;
|
||
|
PRText383: TPRText;
|
||
|
PRText384: TPRText;
|
||
|
PRText385: TPRText;
|
||
|
PRText386: TPRText;
|
||
|
PRText387: TPRText;
|
||
|
PRText388: TPRText;
|
||
|
PRText389: TPRText;
|
||
|
PRRect76: TPRRect;
|
||
|
PRText390: TPRText;
|
||
|
PRText391: TPRText;
|
||
|
PRText392: TPRText;
|
||
|
PRText393: TPRText;
|
||
|
PRText394: TPRText;
|
||
|
PRText395: TPRText;
|
||
|
PRPage12: TPRPage;
|
||
|
PRLayoutPanel10: TPRLayoutPanel;
|
||
|
PRRect31: TPRRect;
|
||
|
PRRect32: TPRRect;
|
||
|
PRRect33: TPRRect;
|
||
|
PRRect34: TPRRect;
|
||
|
PRText2_6: TPRText;
|
||
|
PRText179: TPRText;
|
||
|
PRText180: TPRText;
|
||
|
PRText181: TPRText;
|
||
|
PRText182: TPRText;
|
||
|
PRText183: TPRText;
|
||
|
PRText2_6_1: TPRText;
|
||
|
PRText185: TPRText;
|
||
|
PRText186: TPRText;
|
||
|
PRText187: TPRText;
|
||
|
PRText196: TPRText;
|
||
|
PRText197: TPRText;
|
||
|
PRText198: TPRText;
|
||
|
PRText199: TPRText;
|
||
|
PRText200: TPRText;
|
||
|
PRText201: TPRText;
|
||
|
PRText202: TPRText;
|
||
|
PRText203: TPRText;
|
||
|
PRText239: TPRText;
|
||
|
PRText295: TPRText;
|
||
|
PRText296: TPRText;
|
||
|
PRText297: TPRText;
|
||
|
PRText298: TPRText;
|
||
|
PRText299: TPRText;
|
||
|
PRText300: TPRText;
|
||
|
PRText301: TPRText;
|
||
|
PRText302: TPRText;
|
||
|
PRText303: TPRText;
|
||
|
PRText304: TPRText;
|
||
|
PRText305: TPRText;
|
||
|
PRText306: TPRText;
|
||
|
PRText307: TPRText;
|
||
|
PRText308: TPRText;
|
||
|
PRText309: TPRText;
|
||
|
PRText310: TPRText;
|
||
|
PRText311: TPRText;
|
||
|
PRText312: TPRText;
|
||
|
PRPage13: TPRPage;
|
||
|
PRLayoutPanel11: TPRLayoutPanel;
|
||
|
PRRect35: TPRRect;
|
||
|
PRRect36: TPRRect;
|
||
|
PRRect37: TPRRect;
|
||
|
PRRect38: TPRRect;
|
||
|
PRText2_7: TPRText;
|
||
|
PRText191: TPRText;
|
||
|
PRText192: TPRText;
|
||
|
PRText193: TPRText;
|
||
|
PRText194: TPRText;
|
||
|
PRText195: TPRText;
|
||
|
PRText2_7_1: TPRText;
|
||
|
PRText206: TPRText;
|
||
|
PRText207: TPRText;
|
||
|
PRText208: TPRText;
|
||
|
PRText209: TPRText;
|
||
|
PRText210: TPRText;
|
||
|
PRText211: TPRText;
|
||
|
PRText212: TPRText;
|
||
|
PRText213: TPRText;
|
||
|
PRText214: TPRText;
|
||
|
PRText215: TPRText;
|
||
|
PRText216: TPRText;
|
||
|
PRText217: TPRText;
|
||
|
PRText3: TPRText;
|
||
|
PRText204: TPRText;
|
||
|
PRText240: TPRText;
|
||
|
PRPage14: TPRPage;
|
||
|
PRLayoutPanel12: TPRLayoutPanel;
|
||
|
PRRect39: TPRRect;
|
||
|
PRRect40: TPRRect;
|
||
|
PRRect41: TPRRect;
|
||
|
PRRect42: TPRRect;
|
||
|
PRText2_8: TPRText;
|
||
|
PRText246: TPRText;
|
||
|
PRText247: TPRText;
|
||
|
PRText248: TPRText;
|
||
|
PRText249: TPRText;
|
||
|
PRText250: TPRText;
|
||
|
PRText2_8_1: TPRText;
|
||
|
PRText252: TPRText;
|
||
|
PRText253: TPRText;
|
||
|
PRText254: TPRText;
|
||
|
PRText255: TPRText;
|
||
|
PRText256: TPRText;
|
||
|
PRText257: TPRText;
|
||
|
PRText258: TPRText;
|
||
|
PRText260: TPRText;
|
||
|
PRText264: TPRText;
|
||
|
PRText265: TPRText;
|
||
|
PRText273: TPRText;
|
||
|
PRText274: TPRText;
|
||
|
PRPage15: TPRPage;
|
||
|
PRLayoutPanel13: TPRLayoutPanel;
|
||
|
PRRect43: TPRRect;
|
||
|
PRRect44: TPRRect;
|
||
|
PRRect45: TPRRect;
|
||
|
PRRect46: TPRRect;
|
||
|
PRText2_9: TPRText;
|
||
|
PRText221: TPRText;
|
||
|
PRText222: TPRText;
|
||
|
PRText223: TPRText;
|
||
|
PRText2_9_1: TPRText;
|
||
|
PRText227: TPRText;
|
||
|
PRText228: TPRText;
|
||
|
PRText229: TPRText;
|
||
|
PRText230: TPRText;
|
||
|
PRText231: TPRText;
|
||
|
PRText232: TPRText;
|
||
|
PRText233: TPRText;
|
||
|
PRText234: TPRText;
|
||
|
PRText235: TPRText;
|
||
|
PRText236: TPRText;
|
||
|
PRText237: TPRText;
|
||
|
PRText238: TPRText;
|
||
|
PRRect47: TPRRect;
|
||
|
PRText224: TPRText;
|
||
|
PRText225: TPRText;
|
||
|
PRRect48: TPRRect;
|
||
|
PRText266: TPRText;
|
||
|
PRRect49: TPRRect;
|
||
|
PRRect50: TPRRect;
|
||
|
PRText267: TPRText;
|
||
|
PRText268: TPRText;
|
||
|
PRRect51: TPRRect;
|
||
|
PRRect52: TPRRect;
|
||
|
PRText269: TPRText;
|
||
|
PRText270: TPRText;
|
||
|
PRRect57: TPRRect;
|
||
|
PRPage16: TPRPage;
|
||
|
PRLayoutPanel18: TPRLayoutPanel;
|
||
|
PRRect72: TPRRect;
|
||
|
PRRect73: TPRRect;
|
||
|
PRRect74: TPRRect;
|
||
|
PRRect75: TPRRect;
|
||
|
PRText2_10: TPRText;
|
||
|
PRText357: TPRText;
|
||
|
PRText358: TPRText;
|
||
|
PRText359: TPRText;
|
||
|
PRText2_10_1: TPRText;
|
||
|
PRText361: TPRText;
|
||
|
PRText362: TPRText;
|
||
|
PRText363: TPRText;
|
||
|
PRText364: TPRText;
|
||
|
PRText365: TPRText;
|
||
|
PRText366: TPRText;
|
||
|
PRText367: TPRText;
|
||
|
PRText368: TPRText;
|
||
|
PRText369: TPRText;
|
||
|
PRText370: TPRText;
|
||
|
PRText371: TPRText;
|
||
|
PRText372: TPRText;
|
||
|
PRLabel2: TPRLabel;
|
||
|
PRRect53: TPRRect;
|
||
|
PREllipse1: TPREllipse;
|
||
|
PREllipse2: TPREllipse;
|
||
|
PREllipse3: TPREllipse;
|
||
|
PREllipse4: TPREllipse;
|
||
|
PREllipse5: TPREllipse;
|
||
|
PREllipse6: TPREllipse;
|
||
|
PRPage17: TPRPage;
|
||
|
PRLayoutPanel16: TPRLayoutPanel;
|
||
|
PRRect63: TPRRect;
|
||
|
PRRect64: TPRRect;
|
||
|
PRRect65: TPRRect;
|
||
|
PRRect66: TPRRect;
|
||
|
PRText2_11: TPRText;
|
||
|
PRText282: TPRText;
|
||
|
PRText283: TPRText;
|
||
|
PRText284: TPRText;
|
||
|
PRText2_11_1: TPRText;
|
||
|
PRText291: TPRText;
|
||
|
PRText292: TPRText;
|
||
|
PRText293: TPRText;
|
||
|
PRText294: TPRText;
|
||
|
PRText313: TPRText;
|
||
|
PRText314: TPRText;
|
||
|
PRText315: TPRText;
|
||
|
PRText316: TPRText;
|
||
|
PRAnnotation1: TPRAnnotation;
|
||
|
PRAnnotation2: TPRAnnotation;
|
||
|
PRText288: TPRText;
|
||
|
PRText289: TPRText;
|
||
|
PRText290: TPRText;
|
||
|
PRText317: TPRText;
|
||
|
PRText318: TPRText;
|
||
|
PRPage20: TPRPage;
|
||
|
PRLayoutPanel15: TPRLayoutPanel;
|
||
|
PRRect59: TPRRect;
|
||
|
PRRect60: TPRRect;
|
||
|
PRRect61: TPRRect;
|
||
|
PRRect62: TPRRect;
|
||
|
PRText220: TPRText;
|
||
|
PRTextCopyright: TPRText;
|
||
|
PRLabel3: TPRLabel;
|
||
|
PRLabel4: TPRLabel;
|
||
|
PRLabel6: TPRLabel;
|
||
|
PRLabel7: TPRLabel;
|
||
|
PRLabel9: TPRLabel;
|
||
|
PRLabel5: TPRLabel;
|
||
|
PRLabel8: TPRLabel;
|
||
|
PRLabel10: TPRLabel;
|
||
|
PRRect71: TPRRect;
|
||
|
PRLabel11: TPRLabel;
|
||
|
PRLabel1: TPRLabel;
|
||
|
PRLabel22: TPRLabel;
|
||
|
PRLabel23: TPRLabel;
|
||
|
PRLabel24: TPRLabel;
|
||
|
PRLabel25: TPRLabel;
|
||
|
PRLabel26: TPRLabel;
|
||
|
PRLabel27: TPRLabel;
|
||
|
PRLabel28: TPRLabel;
|
||
|
PRLabel29: TPRLabel;
|
||
|
PRLabel30: TPRLabel;
|
||
|
PRLabel31: TPRLabel;
|
||
|
PRLabel32: TPRLabel;
|
||
|
PRLabel33: TPRLabel;
|
||
|
PRLabel34: TPRLabel;
|
||
|
PRLabel35: TPRLabel;
|
||
|
PRLabel36: TPRLabel;
|
||
|
PRLabel21: TPRLabel;
|
||
|
PRGridPanel1: TPRGridPanel;
|
||
|
lblSectionNo: TPRLabel;
|
||
|
lblSectionName: TPRLabel;
|
||
|
PRText5: TPRText;
|
||
|
PRText7: TPRText;
|
||
|
PRText8: TPRText;
|
||
|
PRText10: TPRText;
|
||
|
PRText11: TPRText;
|
||
|
TabSheet18: TTabSheet;
|
||
|
PRPage6: TPRPage;
|
||
|
PRLayoutPanel19: TPRLayoutPanel;
|
||
|
PRRect77: TPRRect;
|
||
|
PRRect78: TPRRect;
|
||
|
PRRect79: TPRRect;
|
||
|
PRRect80: TPRRect;
|
||
|
PRText94: TPRText;
|
||
|
PRText95: TPRText;
|
||
|
PRText98: TPRText;
|
||
|
PRText99: TPRText;
|
||
|
PRText128: TPRText;
|
||
|
PRText129: TPRText;
|
||
|
PRText130: TPRText;
|
||
|
PRText131: TPRText;
|
||
|
PRText132: TPRText;
|
||
|
PRText138: TPRText;
|
||
|
PRText176: TPRText;
|
||
|
PRText177: TPRText;
|
||
|
PRText178: TPRText;
|
||
|
PRLabel12: TPRLabel;
|
||
|
PRLabel13: TPRLabel;
|
||
|
PRLabel14: TPRLabel;
|
||
|
PRLabel15: TPRLabel;
|
||
|
PRText4: TPRText;
|
||
|
PRText13: TPRText;
|
||
|
PRLabel16: TPRLabel;
|
||
|
PRLabel17: TPRLabel;
|
||
|
TabSheet19: TTabSheet;
|
||
|
PRPage18: TPRPage;
|
||
|
PRLayoutPanel20: TPRLayoutPanel;
|
||
|
PRRect81: TPRRect;
|
||
|
PRRect82: TPRRect;
|
||
|
PRRect83: TPRRect;
|
||
|
PRRect84: TPRRect;
|
||
|
PRLabel18: TPRLabel;
|
||
|
PRText2_12: TPRText;
|
||
|
PRText14: TPRText;
|
||
|
PRText15: TPRText;
|
||
|
PRText16: TPRText;
|
||
|
PRText2_12_2: TPRText;
|
||
|
TabSheet20: TTabSheet;
|
||
|
PRPage19: TPRPage;
|
||
|
PRLayoutPanel21: TPRLayoutPanel;
|
||
|
PRRect85: TPRRect;
|
||
|
PRRect86: TPRRect;
|
||
|
PRRect87: TPRRect;
|
||
|
PRRect88: TPRRect;
|
||
|
PRLabel19: TPRLabel;
|
||
|
PRText70: TPRText;
|
||
|
PRText71: TPRText;
|
||
|
PRText72: TPRText;
|
||
|
PRText73: TPRText;
|
||
|
PRText74: TPRText;
|
||
|
PRText12: TPRText;
|
||
|
PRText17: TPRText;
|
||
|
PRLabel20: TPRLabel;
|
||
|
PRLabel37: TPRLabel;
|
||
|
PRText188: TPRText;
|
||
|
PRText189: TPRText;
|
||
|
PRLabel38: TPRLabel;
|
||
|
PRLabel39: TPRLabel;
|
||
|
PRText190: TPRText;
|
||
|
PRText219: TPRText;
|
||
|
PRLabel40: TPRLabel;
|
||
|
PRLabel41: TPRLabel;
|
||
|
PRLabel42: TPRLabel;
|
||
|
PRLabel43: TPRLabel;
|
||
|
PRText18: TPRText;
|
||
|
PRLabel44: TPRLabel;
|
||
|
PRLabel45: TPRLabel;
|
||
|
PRText19: TPRText;
|
||
|
PRLabel46: TPRLabel;
|
||
|
PRLabel47: TPRLabel;
|
||
|
PRText20: TPRText;
|
||
|
PRLabel48: TPRLabel;
|
||
|
PRLabel49: TPRLabel;
|
||
|
PRText22: TPRText;
|
||
|
PRLabel50: TPRLabel;
|
||
|
PRLabel51: TPRLabel;
|
||
|
PRText23: TPRText;
|
||
|
PRLabel52: TPRLabel;
|
||
|
PRLabel53: TPRLabel;
|
||
|
PRText25: TPRText;
|
||
|
PRLabel54: TPRLabel;
|
||
|
PRLabel55: TPRLabel;
|
||
|
PRText51: TPRText;
|
||
|
PRLabel56: TPRLabel;
|
||
|
PRLabel57: TPRLabel;
|
||
|
PRText52: TPRText;
|
||
|
PRText57: TPRText;
|
||
|
PRLabel58: TPRLabel;
|
||
|
PRLabel59: TPRLabel;
|
||
|
PRText68: TPRText;
|
||
|
PRText69: TPRText;
|
||
|
PRText75: TPRText;
|
||
|
PRLabel60: TPRLabel;
|
||
|
PRLabel61: TPRLabel;
|
||
|
PRLabel62: TPRLabel;
|
||
|
PRLabel63: TPRLabel;
|
||
|
PRLabel64: TPRLabel;
|
||
|
PRLabel65: TPRLabel;
|
||
|
PRLabel66: TPRLabel;
|
||
|
PRLabel67: TPRLabel;
|
||
|
PRLabel68: TPRLabel;
|
||
|
PRLabel69: TPRLabel;
|
||
|
PRText76: TPRText;
|
||
|
PRText80: TPRText;
|
||
|
PRText81: TPRText;
|
||
|
PRText82: TPRText;
|
||
|
PRText89: TPRText;
|
||
|
PRLabel70: TPRLabel;
|
||
|
PRLabel71: TPRLabel;
|
||
|
procedure PRLayoutPanel2BeforePrint(Sender: TObject;
|
||
|
ACanvas: TPRCanvas; Rect: TRect);
|
||
|
procedure PRLayoutPanel2AfterPrint(Sender: TObject;
|
||
|
ACanvas: TPRCanvas; Rect: TRect);
|
||
|
procedure CreatePDF1Click(Sender: TObject);
|
||
|
procedure Exit1Click(Sender: TObject);
|
||
|
procedure About1Click(Sender: TObject);
|
||
|
procedure PRLayoutPanelBeforePrint(Sender: TObject;
|
||
|
ACanvas: TPRCanvas; Rect: TRect);
|
||
|
procedure FormCreate(Sender: TObject);
|
||
|
procedure FormDestroy(Sender: TObject);
|
||
|
procedure PRGridPanel1BeforePrintChild(Sender: TObject;
|
||
|
ACanvas: TPRCanvas; ACol, ARow: Integer; Rect: TRect);
|
||
|
procedure CoverPagePrintPage(Sender: TObject; ACanvas: TPRCanvas);
|
||
|
procedure PageControl1Change(Sender: TObject);
|
||
|
private
|
||
|
FCurrentOutline: array[0..5] of TPROutlineEntry;
|
||
|
FContentsList: TList;
|
||
|
FPos: integer;
|
||
|
procedure CreateContentsList;
|
||
|
function FindLink(AItem: TPRItem): TContentsElement;
|
||
|
public
|
||
|
{ Public �錾 }
|
||
|
end;
|
||
|
|
||
|
TContentsElement = class(TObject)
|
||
|
private
|
||
|
FContentsIndex: string;
|
||
|
FTitle: string;
|
||
|
FData: TPdfDictionary;
|
||
|
FTarget: TPRItem;
|
||
|
public
|
||
|
property ContentsIndex: string read FContentsIndex write FContentsIndex;
|
||
|
property Title: string read FTitle write FTitle;
|
||
|
property Data: TPdfDictionary read FData write FData;
|
||
|
property Target: TPRItem read FTarget write FTarget;
|
||
|
end;
|
||
|
|
||
|
var
|
||
|
Form1: TForm1;
|
||
|
|
||
|
implementation
|
||
|
|
||
|
|
||
|
procedure TForm1.PRLayoutPanel2BeforePrint(Sender: TObject;
|
||
|
ACanvas: TPRCanvas; Rect: TRect);
|
||
|
begin
|
||
|
// change the horizontal scaling of th font.
|
||
|
ACanvas.SetHorizontalScaling(80);
|
||
|
PRLayoutPanelBeforePrint(Sender, ACanvas, Rect);
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.PRLayoutPanel2AfterPrint(Sender: TObject;
|
||
|
ACanvas: TPRCanvas; Rect: TRect);
|
||
|
begin
|
||
|
// restore the horizontal scaling of th font.
|
||
|
ACanvas.SetHorizontalScaling(100);
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.CreateContentsList;
|
||
|
var
|
||
|
APage: TPRPage;
|
||
|
APanel: TPRPanel;
|
||
|
AControl: TControl;
|
||
|
i, j, k: integer;
|
||
|
FChapterIndex: integer;
|
||
|
FContentsElement: TContentsElement;
|
||
|
S: string;
|
||
|
begin
|
||
|
// clear the contents list.
|
||
|
for i := FContentsList.Count - 1 downto 0 do
|
||
|
TContentsElement(FContentsList.Items[i]).Free;
|
||
|
|
||
|
// create new contents list.
|
||
|
FChapterIndex := 0;
|
||
|
for i := 0 to PageControl1.PageCount do
|
||
|
begin
|
||
|
APage := TPRPage(Self.FindComponent('PRPage' + IntToStr(i)));
|
||
|
if (APage <> nil) and (APage.Controls[0] is TPRPanel) then
|
||
|
begin
|
||
|
APanel := TPRPanel(APage.Controls[0]);
|
||
|
for j := 0 to APanel.ControlCount - 1 do
|
||
|
begin
|
||
|
AControl := APanel.Controls[j];
|
||
|
if AControl.Tag = 2 then
|
||
|
begin
|
||
|
FContentsElement := TContentsElement.Create;
|
||
|
with FContentsElement do
|
||
|
begin
|
||
|
if AControl is TPRText then
|
||
|
Title := TPRText(AControl).Text
|
||
|
else
|
||
|
if AControl is TPRLabel then
|
||
|
Title := TPRLabel(AControl).Caption
|
||
|
else
|
||
|
raise Exception.CreateFmt('invalid target control %s', [AControl.ClassName]);
|
||
|
if (Title <> 'Contents') and (Title <> 'Copyright') then
|
||
|
begin
|
||
|
inc(FChapterIndex);
|
||
|
FContentsList.Add(TContentsElement.Create);
|
||
|
Title := 'Chapter' + IntToStr(FChapterIndex) + ' ' + Title;
|
||
|
Target := TPRItem(AControl);
|
||
|
FContentsList.Add(FContentsElement);
|
||
|
end
|
||
|
else
|
||
|
FContentsElement.Free;
|
||
|
end;
|
||
|
end
|
||
|
else
|
||
|
if (AControl.Tag = 3) or (AControl.Tag = 4) then
|
||
|
begin
|
||
|
FContentsElement := TContentsElement.Create;
|
||
|
with FContentsElement do
|
||
|
begin
|
||
|
if AControl is TPRText then
|
||
|
S := TPRText(AControl).Text
|
||
|
else
|
||
|
if AControl is TPRLabel then
|
||
|
S := TPRLabel(AControl).Caption
|
||
|
else
|
||
|
raise Exception.CreateFmt('invalid target control %s', [AControl.ClassName]);
|
||
|
k := Pos(' ', S);
|
||
|
if k < 1 then
|
||
|
raise Exception.CreateFmt('invalid contents title text %s', [S]);
|
||
|
ContentsIndex := Copy(S, 1, k);
|
||
|
Title := Trim(Copy(S, k, Length(S) - k + 1));
|
||
|
Target := TPRItem(AControl);
|
||
|
end;
|
||
|
FContentsList.Add(FContentsElement);
|
||
|
end;
|
||
|
end;
|
||
|
end;
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.CreatePDF1Click(Sender: TObject);
|
||
|
var
|
||
|
APage: TPRPage;
|
||
|
i: integer;
|
||
|
begin
|
||
|
if not SaveDialog1.Execute then Exit;
|
||
|
with PReport1 do
|
||
|
begin
|
||
|
FileName := SaveDialog1.FileName;
|
||
|
BeginDoc;
|
||
|
|
||
|
FCurrentOutline[0] := OutlineRoot;
|
||
|
OutlineRoot.Opened := true;
|
||
|
Print(CoverPage);
|
||
|
|
||
|
CreateContentsList;
|
||
|
|
||
|
// print index of contents.
|
||
|
FPos := 0;
|
||
|
while FPos < FContentsList.Count do
|
||
|
begin
|
||
|
Print(ContentsPage);
|
||
|
PRText1Contents.Text := '';
|
||
|
PRText1Contents.Tag := 0;
|
||
|
end;
|
||
|
|
||
|
for i := 2 to PageControl1.PageCount - 1 do
|
||
|
begin
|
||
|
APage := TPRPage(PageControl1.Pages[i].Controls[0]);
|
||
|
if APage <> nil then
|
||
|
Print(APage);
|
||
|
end;
|
||
|
EndDoc;
|
||
|
|
||
|
for i := FContentsList.Count - 1 downto 0 do
|
||
|
TContentsElement(FContentsList.Items[i]).Free;
|
||
|
FContentsList.Clear;
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.Exit1Click(Sender: TObject);
|
||
|
begin
|
||
|
Close;
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.About1Click(Sender: TObject);
|
||
|
begin
|
||
|
ShowMessage(POWER_PDF_VERSION_STR + #13#10 + POWER_PDF_COPYRIGHT);
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.PRLayoutPanelBeforePrint(Sender: TObject;
|
||
|
ACanvas: TPRCanvas; Rect: TRect);
|
||
|
var
|
||
|
FDestination: TPRDestination;
|
||
|
i, j: integer;
|
||
|
FLevel: integer;
|
||
|
FControlList: TList;
|
||
|
FPRText: TPRText;
|
||
|
TmpYPos: integer;
|
||
|
ItemIndex: integer;
|
||
|
FTextWidth: Single;
|
||
|
Element: TContentsElement;
|
||
|
begin
|
||
|
// printting page number
|
||
|
if PReport1.PageNumber > 1 then
|
||
|
with ACanvas do
|
||
|
begin
|
||
|
SetFont('Times-Roman', 8);
|
||
|
FTextWidth := TextWidth(IntToStr(PReport1.PageNumber - 1));
|
||
|
TextOut((PageWidth - FTextWidth) / 2 + 3, 30, IntToStr(PReport1.PageNumber - 1));
|
||
|
end;
|
||
|
|
||
|
// sorting the Items of the page by Top property.
|
||
|
FControlList := TList.Create;
|
||
|
with (Sender as TPRPanel) do
|
||
|
for i := 0 to ControlCount - 1 do
|
||
|
if (Controls[i] is TPRText) and (Controls[i].Tag > 0) then
|
||
|
begin
|
||
|
TmpYPos := Controls[i].Top;
|
||
|
ItemIndex := -1;
|
||
|
for j := 0 to FControlList.Count - 1 do
|
||
|
if TControl(FControlList[j]).Top > TmpYPos then
|
||
|
begin
|
||
|
ItemIndex := j;
|
||
|
Break;
|
||
|
end;
|
||
|
if ItemIndex = -1 then
|
||
|
FControlList.Add(Controls[i])
|
||
|
else
|
||
|
FControlList.Insert(ItemIndex, Controls[i]);
|
||
|
end;
|
||
|
|
||
|
for i := 0 to FControlList.Count - 1 do
|
||
|
if TPRText(FControlList[i]).Tag > 0 then
|
||
|
begin
|
||
|
// getting outline level from the Tag property.
|
||
|
FPRText := TPRText(FControlList[i]);
|
||
|
FLevel := FPRText.Tag;
|
||
|
if FCurrentOutline[FLevel - 1] <> nil then
|
||
|
begin
|
||
|
FCurrentOutline[FLevel] := FCurrentOutline[FLevel - 1].AddChild;
|
||
|
with FCurrentOutline[FLevel] do
|
||
|
begin
|
||
|
if FLevel = 1 then
|
||
|
Opened := true;
|
||
|
Title := FPRText.Text;
|
||
|
FDestination := PReport1.CreateDestination;
|
||
|
Dest := FDestination;
|
||
|
end;
|
||
|
with FDestination do
|
||
|
begin
|
||
|
DestinationType := dtXYZ;
|
||
|
Top := FPRText.Top;
|
||
|
Left := FPRText.Left;
|
||
|
Zoom := 0;
|
||
|
end;
|
||
|
|
||
|
// setting the destination object to the link-annotation.
|
||
|
Element := FindLink(TPRText(FControlList[i]));
|
||
|
if Element <> nil then
|
||
|
Element.Data.AddItem('Dest', FDestination.Data.GetValue);
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
FControlList.Free;
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.FormCreate(Sender: TObject);
|
||
|
begin
|
||
|
FContentsList := TList.Create;
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.FormDestroy(Sender: TObject);
|
||
|
var
|
||
|
i: integer;
|
||
|
begin
|
||
|
for i := FContentsList.Count - 1 downto 0 do
|
||
|
TContentsElement(FContentsList.Items[i]).Free;
|
||
|
FContentsList.Free;
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.PRGridPanel1BeforePrintChild(Sender: TObject;
|
||
|
ACanvas: TPRCanvas; ACol, ARow: Integer; Rect: TRect);
|
||
|
begin
|
||
|
if FPos < FContentsList.Count then
|
||
|
with TContentsElement(FContentsList[FPos]) do
|
||
|
begin
|
||
|
if ContentsIndex = '' then
|
||
|
begin
|
||
|
lblSectionName.FontBold := true;
|
||
|
lblSectionNo.FontSize := 12;
|
||
|
lblSectionName.FontSize := 12;
|
||
|
lblSectionName.Top := 0;
|
||
|
end
|
||
|
else
|
||
|
begin
|
||
|
lblSectionName.FontBold := false;
|
||
|
lblSectionNo.FontSize := 11;
|
||
|
lblSectionName.FontSize := 11;
|
||
|
lblSectionNo.Top := 3;
|
||
|
lblSectionName.Top := 3;
|
||
|
end;
|
||
|
lblSectionNo.Caption := ContentsIndex;
|
||
|
lblSectionName.Caption := Title;
|
||
|
with Rect do
|
||
|
Data := ACanvas.PdfCanvas.Doc.CreateAnnotation(asLink,
|
||
|
_PdfRect(Left, ACanvas.PageHeight - Top, Right, ACanvas.PageHeight - Bottom));
|
||
|
with Data do
|
||
|
AddItem('Border', TPdfArray.CreateNumArray(nil, [0, 0, 0]));
|
||
|
end
|
||
|
else
|
||
|
begin
|
||
|
lblSectionNo.Caption := '';
|
||
|
lblSectionName.Caption := '';
|
||
|
end;
|
||
|
inc(FPos);
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.CoverPagePrintPage(Sender: TObject; ACanvas: TPRCanvas);
|
||
|
begin
|
||
|
with PReport1 do
|
||
|
begin
|
||
|
OpenAction := CreateDestination;
|
||
|
OpenAction.DestinationType := dtXYZ;
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
procedure TForm1.PageControl1Change(Sender: TObject);
|
||
|
begin
|
||
|
|
||
|
end;
|
||
|
|
||
|
function TForm1.FindLink(AItem: TPRItem): TContentsElement;
|
||
|
var
|
||
|
i: integer;
|
||
|
Element: TContentsElement;
|
||
|
begin
|
||
|
result := nil;
|
||
|
for i := FContentsList.Count - 1 downto 0 do
|
||
|
begin
|
||
|
Element := TContentsElement(FContentsList.Items[i]);
|
||
|
if Element.Target = AItem then result := Element;
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
initialization
|
||
|
{$i UMakeDoc.lrs}
|
||
|
|
||
|
end.
|