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