找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
我以前的做法是安装[RICHTX32.OCX]控件,注册后在WinCC画面里面调用[RICHTX32.OCX]控件进行备忘文字输入且当输入换行时保存。
1 建立两个内存字符串变量用来保存文本文档的路径(ProjectPath)和文件名(FileName);
2 在当前项目下建立文本文件DiaryBook.txt,用来保存用户输入的文字内容;
3 WinCC启动初始画面时(不是文字输入画面),执行C脚本获取当前项目的路径到ProjectPath变量,然后FileName就等于ProjectPath+DiaryBook.txt;
用到的C脚本:
char szProjectFile[_MAX_PATH+1];
DM_DIRECTORY_INFO dmDirInfo;
CMN_ERROR Error;
char * psz=NULL;
char dir[255];
if(DMGetRuntimeProject(szProjectFile,_MAX_PATH+1,&Error)==FALSE)
{
return;
}
if(DMGetProjectDirectory("",szProjectFile,&dmDirInfo,&Error)==FALSE)
{
return;
}
SetTagChar("ProjectPath",dmDirInfo.szProjectDir );
strcat(dmDirInfo.szProjectDir,"DiaryBook.txt");
SetTagChar("FileName",dmDirInfo.szProjectDir );
4 打开文本输入画面,拖入加载的[Microsoft Rich Textbox Contorl 6.0(SP6)]控件重命名为[RichtextCtrl1],[RichtextCtrl1]就是用来进行文字备忘输入的文本框了;
5 修改拖入的[RichtextCtrl11]控件的FileName属性,连接到上面建立的FileName变量。这样当运行当前画面时,[RichtextCtrl1]控件就会自动打开DiaryBook.txt文件读取内容显示出来了;
6 接着在[RichtextCtrl1]控件的KeyDown事件下输入vb脚本,实现当按下[回车键]时保存当前输入的文本到文件;
用到的VB脚本:
If KeyCode=13 Then
Dim objTag
Dim FileName
Set objTag = HMIRuntime.Tags ("ProjectPath")
FileName = objTag.Read
''SaveFile
item.saveFile FileName
End If
7 如果为了放止没换行时导致数据未保存,只能在画面上添加一个闪烁的按钮来提示用户手动保存。
手动保存按钮背景闪烁默认为[否]状态,可以在RichtextCtrl控件的Change事件里面开启按钮闪烁。
用到的VB脚本:
ScreenItems("SaveButton1").FlashBackColor = True
如果闲这样还不够,那就直接用秒触发执行ScreenItems("RichtextCtrl1").saveFile FileName指令,每秒钟保存一次文件了。
<完>
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城