home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 25: Programming / pc_actual_25.iso / Delphi / eXpertDevelopmentKit / DEMO / FDEMO.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-01-26  |  3.0 KB  |  129 lines

  1. unit FDemo;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   ExtCtrls, XDKSteps, ComCtrls, StdCtrls, XDKGen, XDKSnips;
  8.  
  9. type
  10.   TDemoForm = class(TForm)
  11.     Steps: TxdkSteps;
  12.     xdkStepTab1: TxdkStepTab;
  13.     xdkStepTab2: TxdkStepTab;
  14.     xdkStepTab3: TxdkStepTab;
  15.     Panel1: TPanel;
  16.     Memo1: TMemo;
  17.     Label2: TLabel;
  18.     RadioGroup1: TRadioGroup;
  19.     StaticText1: TStaticText;
  20.     MainModuleCreator: TxdkModuleCreator;
  21.     ProjectCreator: TxdkProjectCreator;
  22.     MainModuleSnippet: TxdkSnippet;
  23.     Label3: TLabel;
  24.     procedure xdkStepTab3Next(Sender: TObject);
  25.     procedure StepsFinish(Sender: TObject);
  26.     procedure StepsCancel(Sender: TObject);
  27.     function MainModuleCreatorSourceWriting(UnitIdent, FormIdent,
  28.       AncestorIdent: String): String;
  29.     function ProjectCreatorSourceWriting(
  30.       const ProjectName: String): String;
  31.   private
  32.     { Private declarations }
  33.   public
  34.     { Public declarations }
  35.     procedure CreateUnit;
  36.     procedure CreateForm;
  37.     procedure CreateDataModule;
  38.     procedure CreateFormWithButton;
  39.     procedure CreateProject;
  40.   end;
  41.  
  42. var
  43.   DemoForm: TDemoForm;
  44.  
  45. implementation
  46.  
  47. uses
  48.   UDemo;
  49.  
  50. {$R *.DFM}
  51.  
  52. procedure TDemoForm.xdkStepTab3Next(Sender: TObject);
  53. begin
  54.   Close;
  55. end;
  56.  
  57. procedure TDemoForm.StepsFinish(Sender: TObject);
  58. begin
  59.   case RadioGroup1.ItemIndex of
  60.     0: CreateUnit;
  61.     1: CreateForm;
  62.     2: CreateDataModule;
  63.     3: CreateFormWithButton;
  64.     4: CreateProject;
  65.   end;
  66.   // closing form with OK modal command
  67.   ModalResult:=mrOk;
  68. end;
  69.  
  70. procedure TDemoForm.StepsCancel(Sender: TObject);
  71. begin
  72.   // closing form with CANCEL modal command
  73.   ModalResult:=mrCancel;
  74. end;
  75.  
  76. procedure TDemoForm.CreateUnit;
  77. begin
  78.   DemoDataModule.UnitCreator.ModuleCreate;
  79. end;
  80.  
  81. procedure TDemoForm.CreateForm;
  82. begin
  83.   DemoDataModule.FormCreator.ModuleCreate;
  84. end;
  85.  
  86. procedure TDemoForm.CreateDataModule;
  87. begin
  88.   DemoDataModule.DMCreator.ModuleCreate;
  89. end;
  90.  
  91. procedure TDemoForm.CreateFormWithButton;
  92. begin
  93.   DemoDataModule.BtnFormCreator.ModuleCreate;
  94. end;
  95.  
  96. procedure TDemoForm.CreateProject;
  97. begin
  98.   ProjectCreator.ProjectCreate;
  99. end;
  100.  
  101. function TDemoForm.MainModuleCreatorSourceWriting(UnitIdent, FormIdent,
  102.   AncestorIdent: String): String;
  103. begin
  104.    MainModuleSnippet.ParamValues['UnitName']:=UnitIdent; // the first way to set params value
  105. // note: DoResultCode is not case-sensitive
  106.    MainModuleSnippet.Params.Add('formname='+FormIdent); // the second way to set params value
  107.    MainModuleSnippet.DoResultCode;  // replacing all params to neccessary values
  108.    Result:=MainModuleSnippet.ResultCodeText; //return result code as long string
  109. end;
  110.  
  111. function TDemoForm.ProjectCreatorSourceWriting(
  112.   const ProjectName: String): String;
  113. const
  114.   ProjectSource =
  115.     'uses'+CRLF+
  116.     '  Forms;'+CRLF2+
  117.     'begin'+CRLF+
  118.     '  Application.Initialize;'+CRLF+
  119.     '  Application.Run;'+CRLF+
  120.     'end.'+CRLF;
  121.  
  122. begin
  123.   Result:='program '+ProjectName+';'+CRLF+
  124.           ProjectSource;
  125. end;
  126.  
  127.  
  128. end.
  129.