В некотором роде продолжение к этому - http://18delphi.blogspot.ru/2013/11/gui-3-wordworker.html
Есть ещё одна конструкция- ^:=
Используется она так:
Как это выглядит со стороны Delphi?
А вот так:
Это слово нам в будущем - понадобится.
Например для определения операторов =+ и =-.
Есть ещё одна конструкция- ^:=
Используется она так:
VAR I // - определили переменную @ I // - взяли её адрес ^:= 1 // - присвоили переменной значение 1
Как это выглядит со стороны Delphi?
А вот так:
interface type TkwSetVarValueByRef = class(TscriptWordWorker) protected procedure WorkTheWord(aWordToTheRight : TscriptKeyWord; aContext: TscriptContext); override; end;//TkwSetVarAsRef implementation procedure TkwSetVarValueByRef.WorkTheWord(aWordToTheRight : TscriptKeyWord; aContext: TscriptContext); var l_Var : IscriptVar; begin if Supports(aContext.PopObject, IscriptVar, l_Var) then begin aWordToTheRight.DoIt(aContext); // - вычисляем значение слова l_Var.PopFrom(aContext); // - снимаем значение со стека и присваиваем в переменную end//Supports(aContext.PopObject, IscriptVar, l_Var) else Assert(false); end; initialization ScriptEngine.RegisterKeyWord(TkwSetVarValueByRef, '^:=');
Это слово нам в будущем - понадобится.
Например для определения операторов =+ и =-.
Комментариев нет:
Отправить комментарий