在TEdit的ReadOnly为True时如何将串口读到的数据放上去(88分)

  • 主题发起人 主题发起人 seeok
  • 开始时间 开始时间
S

seeok

Unregistered / Unconfirmed
GUEST, unregistred user!
当TEdit的ReadOnly为True时,通过COM口读出的ID卡卡号如何能够放到TEdit中,请问在delphi中如何处理,因为卡号不允许手工输入只允许刷卡读取放入TEdit,所以将ReadOnly设为True。请指教!谢谢
 
Edit.text ;= ID;
直接赋值与只读无关。
 
只读属性封锁的应该是消息
你通过程序直接赋值是没有影响的
 
没有办法直接赋值啊。
我把过程讲一下:在软件登录界面上,有用户名、密码、卡号,用户名和密码是手工输入的,而卡号是通过ID卡刷卡放入而不允许手工输入,读卡时鼠标焦点是在卡号的Edit上,读卡器可以把读出的卡号直接放到Edit里,但是当ReadOnly为True时,卡号却在Edit上写不上去,有没有什么好方法呢?
 
To seeok:
真新鲜,我今天才知道 ReadOnly 还能封锁 EM_SETTEXT、EM_REPLACETEXT 之类的消息?
给楼主点建议,您可以吧 ReadOnly 属性去掉,看看数据能不能读上去。如果还读不上去,建议您换个读卡器,谢谢!
 
把冰箱门打开,把大象放进去,把冰箱门关上
 
To vvyang:如果把ReadOnly属性去掉 那是可以读上去的。
To 我爱PASCAL:因为要防止手工输入,所以先打开再关掉的方法是行不通的。
 
怎么可能呢,Edit.text的赋值应该与readonly的属性有关吗?
建议用vvyang的方法换个读卡器,谢谢!
 
用程序打开关上是很快的,写了马上设为READONLY
 
一直没有合适的方法,读卡器的话,不知道大家有没有好的推荐啊?
 
有没有人知道呢?
 
readonly只对键盘手工输入有关
 
难道这个读卡器是通过模拟键盘来进行字符输入的?
 
楼主说的,我试了,证明直接赋值与只读无关,还有放大象的办法,相信我爱PASCAL有足够快的办法放了进去再关门,而那时你的手指还没来得急按键盘,我也常用的
 
你实在不放心,可以用TLabel伪装成TEdit,欺骗观众眼睛的事,我常做,delphi魔术
 
临时解开就可以放上去了。
 
想不明白,即然是串口输入的,为什么还要用EDIT呢?也就是说,放弃使用EDIT
 
通过变量赋值传输
 
后退
顶部