有一个数据库,里面有工人姓名的拼音码,我想写一个组件,当用户在EDIT中输入时,这个组件可以自动到数据库中取码!请各位高手指点思路!

解决方案 »

  1.   

    实时取码是不现实的  只能在用户输入完毕  按回车后再去数据库取控件里动态创建TDatabase,TQuery,并对他们初始化,在回车事件里去取数
      

  2.   

    procedure KeyPress(var Key: Char); override;
      

  3.   

    你直接在Edit的KeyPress事件里判断 Edit.Text的值, 然后读数据库
      

  4.   

    你一定要自己写控件  就从TEdit继承好了  我自己也是这样的  可以控制的灵活些如果你就只是单一表的取数  可以直接用 hotzhu(非洲白脸) 说的办法我的不一样  我是可以通过属性设置  取不同表不同字段不同范围的值
      

  5.   

    KeyPress 应该不可以,因为一旦键按下就触发 ,所有取得字符串会少一位 ;用 KeyUp 事件可以
      

  6.   

    或者用过滤(效率差)   Accept := Trim(ADOQuery1.FieldByName('Name').AsString)  = Trim(Edit1.Text) ;
      

  7.   

    如果我从TEDIT组件继承,那么,我的下拉框应该怎么做
      

  8.   

    你要弹出模糊查询出的结果  让用户再次选择  是不是?
    那要你自己做了  继承combobox不知道行不行我是又弹出个form,无边界的,上面放了一个list,让用户在list里面选
      

  9.   

    弹出一个FORM?这个想法不错,我还以为我要在一个区域内画个布出来,
    你是自己制作的组件,还是用的已有的组件?snowtiger2000
      

  10.   

    我没有用国LIST组件,LIST组件在那里?
      

  11.   

    我自己做的  就是类似输入法的一个东西是Tlistbox 我说错了
      

  12.   

    奇怪问题,我在写组件的时候不知道按了什么,我的LIB文件夹中的东西都变成了写字版图标的东西,然后我的DELPHI就不能用了,不知道那位大哥可以帮忙。
    我的系统是WIN2000高级服务器版,用的是DELPHI7