其实这个问题主要是如何根据combox的值找到对应值的问题,而这个要看你对数据的组织形式来定。比如,如果 北京-abc 作为数据库来保存的,那么可以用数据库查找函数来定位,然后显示。
据我的经验,如果你的数据量不大,那么推荐你使用TRzComboBox,这个组件扩展了delphi的标准组件,对于里面的Itmes,扩展为 Items - values 对,这样,当你选择某项时,可以直接取得这一项对应的 值。
用数据库来管理要方便简单些,而且可以随时变化和更改。
建一个表,北京之类,字段名:城市名,abc之类,字段名:城市代码
当combobox1更新事件产生时,用一条SQL语句在数据表中找城市名的城市代码的值,然后将再赋值给EDIT.text;
select 城市名,城市代码 from 城市表 where 城市名='''+combobox.text+'''';
CommboBox的Items属性是TStrings的,添加时用combobox1.Items.AddObject('北京', TObject('abc'));以些类推。
在Combobox.OnChange事件里写
var
idx: Integer;
begin
idx := TComboBox(Sender).ItemIndex;
edit1.Text := string(TComboBox(Sender).Items.Objects[idx]);
end;
理论上就是这样,好久没写代码了,自己试试看