代码中的小技巧--按钮的限制
来源:互联网 发布:淘宝凑单怎么用 编辑:程序博客网 时间:2024/05/29 19:40
typedef struct tagData this_type;
int a;
int b;
int c;
this_type() :a(0), b(0), c(0){}
} Data;
typedef enum enT{
btn_A,
btn_B,
btn_C,
btn_NULL //哨兵位,通过此值来判断数组是否越界
} T;
Data array[btn_NULL] ; //如果在enum中扩展时,这里也不用更改。
---------------------------------------------------按钮的限制-----------------------------------------------
做好封装:
//用于限制按钮点击频率,减小对服务器的压力
private:
typedef enum {
BTN_DRTJ,
BTN_LSTJ,
BTN_NULL //哨兵位
} enBtnIndex;
typedef struct tagClickMeta{ //描述 点击相关的信息: 上次点击的时间戳 、 是否是第一次点击
time_t tOldTime; //上次点击的时间戳
bool bFirstClicked; //是否是第一次点击
tagClickMeta() :tOldTime(0), bFirstClicked(false){} //初始化
} ClickMeta;
ClickMeta m_clickMetas[BTN_NULL]; //后期维护,也不需要修改这里,直接在 enBtnIndex 添加就可以了
private:
bool LimitBtnClick(enBtnIndex btnIndex, time_t interval, const tstring& tstrInfo = _T(""));
};
bool CTradeMainDlg::LimitBtnClick(enBtnIndex btnIndex, time_t interval, const tstring& tstrInfo /*= _T("")*/) {
if (!m_clickMetas[btnIndex].bFirstClicked || time(NULL) - m_clickMetas[btnIndex].tOldTime >= interval){
m_clickMetas[btnIndex].bFirstClicked = true;
m_clickMetas[btnIndex].tOldTime = time(NULL);
return true;
}
else{
if (tstrInfo.compare( _T("") ) !=0)
ShowMessageBox(tstrInfo.c_str(), MB_ICONINFORMATION);
}
return false;
}
//调用该函数
if (LimitBtnClick(BTN_DRTJ, 6, _T("查询太过频繁,请稍后查询!")) )
GetApi()->Send_JG_DRTJ(_T(""), _T(""), _T(""), _T(""), NM_JG_TOTAL_DRTJ);
- 代码中的小技巧--按钮的限制
- HTML小技巧:按钮中的文字换行
- 解除TCP/IP限制的小技巧
- iOS小技巧-UINavigationItem代码设置导航栏返回按钮的字体
- 写多个按钮事件的小技巧
- android 关于美化按钮的小技巧
- 【小技巧】Android返回按钮的监听器
- [小技巧]提交按钮
- 代码调试中的 一个 小技巧
- 代码管理的小技巧
- Android 限制EditText只能输入数字、限制输入类型、限制输入长度的小技巧
- Android 限制EditText只能输入数字、限制输入类型、限制输入长度的小技巧
- Android 限制EditText只能输入数字、限制输入类型、限制输入长度的小技巧
- Android 限制EditText只能输入数字、限制输入类型、限制输入长度的小技巧
- 做页面原型中点击按钮跳转的小技巧
- 开发小技巧:超简单的“回到顶端”按钮实现
- 开发小技巧:超简单的“回到顶端”按钮实现
- 【逆向】查看按钮事件与判断跳转的小技巧
- ARToolkit在VS2010(Win7 64位)下的配置及第一个开发程序的编译与运行
- PreferenceActivity的使用 程序动态添加修改Preference
- 91卫图和水经注对比
- 软件缺陷数据能够告诉你什么? 今天,老大把我喊到办公室叮嘱我,“提测之后每天都要关注项目里的 bug,知道吧?” 我说,“我知道,我每天肯定会及时跟进 Open Bug 的修复进度和 Fixed
- 用Visual Studio构建QHull 2015.2
- 代码中的小技巧--按钮的限制
- java解析出url请求的路径和参数并获取id的工具类
- 庖丁解牛分词工具使用教程
- 深入理解java虚拟机学习笔记(二)
- vue的安装和脚手架的搭建
- opencart2.0.3 开启全面伪静态
- mysql中按照多个字段进行排序
- PHP中的unset方法究竟能否释放内存
- 为何使用 PostgreSQL