主页C++ Builder 资料C++ Builder 串口控件Victor 串口控件使用说明TVictorFsmStateT
C++ Builder 串口控件
Victor 串口控件使用说明
 • TYbCommDevice
 • TVictorComm
 • TCommQueue
 • EVictorCommError
 • TComm32
 • EComm32Error
 • TVictorSerialPortInfo
 • TVictorSerialPortList
 • TCommSerialPortInfo
 • TVictorFSM
 • TVictorFsmStateT
Victor 串口控件示例程序
C++ Builder 编程技巧
C++ Builder 操作指南
C++ Builder 参考手册
网友留言/技术支持
TVictorFsmStateT - Victor 串口控件使用说明

说明:

TVictorFsmStateT<T> 是带计时功能和事件的状态模板,只封装了几个简单的数据,不占资源。

头文件:

Vcl.VictorFSM.h
Fmx.VictorFSM.h

示例程序:

串口文件收发的例子,已经包含在控件包里面

相关控件:

TVictorFSM, TYbCommDevice

继承关系:

TVictorFsmStateT<> 模板没有继承关系。

模板参数:

template <class TStateType> class TVictorFsmStateT

TStateType: 可以是枚举类型或整数类型,作为 FSM 状态的序号。

属性:

属性 类型 描述
State TStateType 状态,可读写。类型为模板的参数 TStateType 类型的,可以是枚举类型或整数类型。
给这个属性赋值会立即触发和执行 OnSetState 事件,没有缓冲和其他处理,会直接重入。
Elapsed DWORD 给 State 属性赋值到现在持续的时间,即处于这个状态经历的时间 (毫秒)
这个属性是可读写的,即允许修改持续的时间。

方法:

方法 描述
TVictorFsmStateT 构造函数
    inline __fastcall TVictorFsmStateT();
operator TStateType 类型转换操作符,把 TVictorFsmStateT 转换为 TStateType 类型,TStateType 为模板参数,枚举或整型。
定义:
    inline operator TStateType() { return _stState; }
    inline operator const TStateType() const { return _stState; }
operator = 类型转换/赋值操作符,把 TStateType 类型赋值给 TVictorFsmStateT 类型,会把这个数值赋值给 属性,并且触发和执行 OnSetState 事件,TStateType 为模板参数,枚举或整型。
定义:
    inline const TVictorFsmStateT &operator = (const TStateType st){ fSetState(st); return *this; }

事件:

事件 描述
OnSetState 给 State 属性赋值,或者通过 operator = 给模板对象赋值,都会触发和执行这个事件。
定义:
    __property TSetState OnSetState = { read = _lpfnSetState , write = _lpfnSetState };
    typedef void __fastcall (__closure *TSetState)(TVictorFsmStateT *Sender, TStateType &stNewState, TStateType stOldState);
参数:
    Sender: 产生事件的类或控件
    stNewState: 新的 State 属性值
    stOldState: 旧的 State 属性值
如果给 State 属性赋和以前相同的值,也会触发和执行这个事件,此时 stNewState 和 stOldState 的值相同
◤上一页:TVictorFSM

C++ 爱好者 -- Victor Chen 的个人网站 www.cppfans.com 辽ICP备11016859号