FieldTest.Pas: Manipulate text of castMember and retrieve the member width property
Unit fieldTest;
Interface
Uses DXClasses, Windows, sysUtils;
Type
Tv66=Class(TDXScript)
Protected
Procedure ExecuteFunction(FunctionIndex:Cardinal; Const ArgList:IDXArgList;
Const Result:IDXValue); override;
Public
Class Procedure GetScriptInfo(Var ScriptInfo:TDXScriptInfo); override;
Class Procedure InitializeClass(Const Info:TDXInitializeClassInfo); override;
End;
Implementation
Uses strUtils;
Const
CLSID_Script:TGUID='{E5F53CC1-57C0-11D6-9135-004F4900150E}';
Var
fieldType, fieldText, fieldWidth: TDXSymbol;
Class Procedure Tv66.GetScriptInfo(Var ScriptInfo:TDXScriptInfo);
Begin
ScriptInfo.MessageTable:='xtra v66'#10+
'* tdFieldTest castNumber integer, memberNumber integer'#10;
End;
Class Procedure Tv66.InitializeClass(Const Info:TDXInitializeClassInfo);
Begin
fieldType := info.SymbolManager.CreateSymbol('FIELD');
fieldText := info.SymbolManager.CreateSymbol('TEXT');
fieldWidth := info.SymbolManager.CreateSymbol('WIDTH');
End;
Procedure Tv66.ExecuteFunction(FunctionIndex:Cardinal;
Const ArgList:IDXArgList; Const Result:IDXValue);
Procedure tdFieldTest (castNumber, memberNumber : Integer);
Var
cast : IDXCast;
member : IDXCastMember;
tdValue : IDXValue;
Begin
cast := Movie.GetCastByIndex(castNumber);
member := cast.CastMember[memberNumber];
tdValue := member.GetProperty(fieldWidth);
sendMessage('member width: '+intToStr(tdValue.Integer)+#10);
tdValue := member.GetProperty(fieldText);
result.Text := reverseString(tdValue.Text);
End;
Begin
Case FunctionIndex Of
0: tdFieldTest(argList[0].Integer,ArgList[1].Integer);
End;
End;
Initialization
RegisterDXClass(Tv66,CLSID_Script);
End.
Generated on 29APR02 by DOMAJ