
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@585 8e941d3f-bd1b-0410-a28a-d453659cc2b4
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 <20>錾 }
|
||
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.
|