⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_43480.htm

📁 vc
💻 HTM
字号:
<p>
序号:43480 发表者:docula 发表日期:2003-06-11 14:40:45
<br>主题:关于数据校验的一个问题
<br>内容:在一个对话框模板上(只有一个editbox,并且绑定了一个float值,并设置了最小值和最大值),除了正常的ok和cancel外,我又添加了一个按钮,我想在这个按钮里仍然可以校验editbox的值,该按钮单击事件代码如下:UpdateData(true);<BR>&nbsp;&nbsp;&nbsp;&nbsp;MessageBox("ok");<BR>程序运行时,检验是可以检验,不过我的目的是检验如果不通过的话,就不运行UpdateData(true);后的语句,可是运行结果却是MessageBox("ok");也运行了,小弟初学MFC,还请各位多多指教!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:萧风瑟瑟 回复日期:2003-06-11 16:48:40
<br>内容:把校验的结果传给一个变量a<BR>if(a)<BR>.<BR>.<BR>.<BR>else<BR> MessageBox("ok") 
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:docula 回复日期:2003-06-12 09:15:14
<br>内容:不好意思,怎么得到这个校验结果呢?请指教。。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:很菜 回复日期:2003-06-12 10:11:54
<br>内容:给editbox添加一个变量(如m_vMyEdit),在执行UpdateData();之后,m_vMyEdit将是editbox中的内容,只要将m_vMyEdit跟设定的条件比较就可以<BR><BR><BR><BR>为editbox添加变量的方法是:按Ctrl+W,在出现的对话框中选第二个标签,双击里面的IDC_EDIT(假设是这个ID),做变量名称后,在变量的用途里面要选中Valure(好象是这个单词:)),然后设置变量的类型就可以。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:docula 回复日期:2003-06-12 13:53:37
<br>内容:呵呵,我的方法是这样的,检验updatedata(true)的结果,如果为真,则说明数据合法,否则则是非法,直接return,这是我误打误撞出的方法,有没有道理,还请各位多多指教!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:很菜 回复日期:2003-06-12 19:30:42
<br>内容:这样不行吧
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:docula 回复日期:2003-06-13 09:22:17
<br>内容:嘿嘿,当然可以了。。。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:金枪鱼 回复日期:2003-06-13 10:11:10
<br>内容:void C***Dialog::On***Button()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;UpdateData(TRUE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(!((m_fEdit&gt;=minFValue)&amp;&amp;(m_fEdit&lt;=MaxFValue)))<BR>&nbsp;&nbsp;&nbsp;&nbsp;return;//如果值不在范围,直接返回<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//接着做做值正确的事情<BR>&nbsp;&nbsp;&nbsp;&nbsp;........<BR>&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(......);&nbsp;&nbsp;&nbsp;&nbsp;<BR>}<BR><BR>说明:上述比较数大小的判断表达式是整数使用的。你使用的是浮点数,要么转换成整数来比较,要么改写比较的方式。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;比较两个实数a、b的大小 有精度要求,一般的写法<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(a-b&lt;0.00001)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;具体这0.000001应该是什么,要看你的精度要求了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:docula 回复日期:2003-06-13 11:39:27
<br>内容:楼上的方法在需要校验的数据比较少时还可以,可以当我有十个,二十个的时候,代码量岂不是很大?不过还是多谢楼上的提出一种解决方法了。。呵呵。。。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -