小弟刚学delphi.
对combobox不太会用.跟VB的感觉不一样.
比如VB用combobox.text及combobox.Value两个属性.
但在delphi怎么找不到呢?
在实现text,value这种用法应该怎样写呢?

解决方案 »

  1.   

    combobox有text的属性。例如,你可以通过这个语句来改变它的值:combobox1.text:='abcde';
    另外,我通常用以下过程来初始化一个combobox:
    1。添加一个combobox,点中他,在object inspector中的TEXT处更改它的当前值;
    2。在object inspector中的ITEMS中添加它的备选值;
      

  2.   

    其实我要实现的是:
     在用户界面combobox显视的是text值,取得的是combobox的value值.
    比如用combox实现部门列表.
         dep_id(value)    dep_anme(text)
           d1001          人事部
           d1002          业务部
    当用户在combobox选择"业务部"时,我在代码里要取得d1002.
      

  3.   

    呵呵,delphi的标准 ComBoBox满足不了你的要求,你可以自己从 TCustomComboBox 继承下来自己写一个VCL,内部维护Item和其他一些字段对应关系。不过7.0 中的ComBoBoxEx 可以满足你的需求。
    赋值:
    var
      NewItem: TComboExItem;
    ...  NewItem := ComboBoxEx1.ItemsEx.Add;
      NewItem.Caption := 'Text值';
      NewItem.Data := PChar('Value值');取值:
    text := ComBoBox.ItemsEx[i].Caption;
    value := PChar(ComBoBox.ItemsEx[i].Data);
      

  4.   

    其实你可以根据得到的text值用一个case语句转换一下不就行了吗。
      

  5.   

    TO: yueyixing(圣石传说)  你觉得这样做合适吗?
      如果dep_anme存在相同值,Value可以区别的开吗,并且你怎么个case,数据库里面的记录是可变的,case一辈子都case不完。即使根据 Name去数据库查询Value,效率也是比较低的。