一个DBEdit的输入问题

weekease 2002-01-26 11:53:39
想在DBEdit中输入日期,可是日期格式要为XXXX-XX-XX,输入的时候只想直接输入年月日的数字,不想输入{ - }号。(用DBEdit.Tag作为输入的有效数字个数)
譬如输入2001-12-24,只要直接输入20011224,DBEdit自动生成{ - }号。

这种情况下在按VK_LEFT或者VK_RIGHT时,直接选中年或月或日。
譬如2001-,光标停留在 - 后面,按VK_LEFT时直接选中2001。

该怎么做?给点思路,特别是按VK_LEFT或VK_RIGHT时直接选中的问题
...全文
53 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Spring414 2002-01-26
  • 打赏
  • 举报
回复
用SelStart定位:
Edit1->SelStart = 6;
Edit1->SelLength = 2; //选中月
superaf 2002-01-26
  • 打赏
  • 举报
回复
应当好办呀

这样,你先把输入的取到一个变量中,然后定位,并补值就可以了,你看这样行不行?
AnsiString sTemp,sYear,sMonty,sDay;
sTemp=DBEdit->Text;
sYear=sTemp.SubString(1,4);
sMonty=sTemp.SubString(5,2);
sDay=sTemp.SubString(7,2);
sTemp=sYear+"-"+sMonth+"-"+sDay

可以不?

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧