pascal1.sct

来自「c#设计模式WithCla」· SCT 代码 · 共 99 行

SCT
99
字号
NO_OUTPUT_BEGIN
For Borland Object Pascal
(1) In With Class enter the unit name in the class specification dialog box "File Name" field.  The file name
becomes the unit file name and the unit name, e.g. file name = CarUnit.pas.
(2) For uses clause, enter the unit name in the Include Box.  Enter the last unit followed by a ; e.g. UnitZ;
Ensure that the unit names entered in the Include Box are consistent with the unit names entered in the
-CLASS_FILENAME Box.
(3) On the class diagram, insert parameters in the C++ form, e.g. Parameter_Type Parameter_Name - Integer
aNumber.  The script variable PASCAL_OPERATION_PARAMETERS_WITH_VAR then puts the parameter
into the Pascal form, e.g. (Parameter_Name : Parameter_Type ; Var A_Parameter_Type : Parameter_Type) -
(A_Number : Integer ; Var A_Integer : Integer).
NO_OUTPUT_END

unit CLASS_FILENAME;

interface

[NO_RETURN NO_REPEAT uses INCLUDE_FILE ,DELETE_LAST_SYMBOL]

type
CLASS_NAME = object [(BASE_CLASS)]

[ ATTRIBUTE_NAME : ATTRIBUTE_TYPE ; ]
[ ASSOCIATION_ONE_NAME : ASSOCIATION_ONE_CLASS ; ]
[ AGGREGATION_ONE_NAME : AGGREGATION_ONE_CLASS ; ]
[ ASSOCIATION_MANY_NAME : array LITERAL_SYMBOL[1..10 LITERAL_SYMBOL] of ASSOCIATION_MANY_CLASS ; ]
[ AGGREGATION_MANY_NAME : array LITERAL_SYMBOL[1..10 LITERAL_SYMBOL] of AGGREGATION_MANY_CLASS ; ]

			{Update to initialize ancestor fields.}
  constructor DefaultInit;

			{Update to initialize ancestor fields.}
  constructor Init ( [a$ATTRIBUTE_NAME : ATTRIBUTE_TYPE DELETE_LAST_SYMBOL;] NO_RETURN);

  constructor Copy (var A_$CLASS_NAME : CLASS_NAME );

  destructor Done; virtual;

[ 
  function Get$ATTRIBUTE_NAME : ATTRIBUTE_TYPE; {Accessor Get Function }]

[  
  procedure Set$ATTRIBUTE_NAME ( a$ATTRIBUTE_NAME : ATTRIBUTE_TYPE ); {Accessor Set Procedure }]

[                       { create function with return if required. }
  procedure OPERATION_NAME PASCAL_OPERATION_PARAMETERS_WITH_VAR ; PASCAL_OPERATION_VIRTUAL  
]
end;

implementation

{-----------------------------------------------------------------------------------------------}
			{Update to initialize ancestor fields.}
constructor CLASS_NAME$.DefaultInit;
begin
  [ATTRIBUTE_NAME := ATTRIBUTE_INITIAL_VALUE; ]
end; 

{-----------------------------------------------------------------------------------------------}
			{Update to initialize ancestor fields.}
constructor CLASS_NAME$.Init ( [a$ATTRIBUTE_NAME : ATTRIBUTE_TYPE  DELETE_LAST_SYMBOL;] NO_RETURN);
begin
  [ATTRIBUTE_NAME := a$ATTRIBUTE_NAME;]
end;
 
{-----------------------------------------------------------------------------------------------}
constructor CLASS_NAME$.Copy (var A_$CLASS_NAME : CLASS_NAME );
begin
  Self := A_$CLASS_NAME;
end;
{-----------------------------------------------------------------------------------------------}
			{Update as required.}
destructor CLASS_NAME$.Done;
begin
end;

[{-----------------------------------------------------------------------------------------------}
			{Accessor Get Function }
function CLASS_NAME.Get$ATTRIBUTE_NAME : ATTRIBUTE_TYPE;
begin
  Get$ATTRIBUTE_NAME := ATTRIBUTE_NAME;
end;
]
[{-----------------------------------------------------------------------------------------------}
			{Accessor Set Procedure }
procedure CLASS_NAME.Set$ATTRIBUTE_NAME ( a$ATTRIBUTE_NAME : ATTRIBUTE_TYPE ); 
begin
  ATTRIBUTE_NAME := a$ATTRIBUTE_NAME;
end; 
]  
[{-----------------------------------------------------------------------------------------------}
			{ create function with return if required.}
procedure CLASS_NAME.OPERATION_NAME PASCAL_OPERATION_PARAMETERS_WITH_VAR ; 
begin
  OPERATION_CODE
end;    
]
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?