procedure TForm1.cbChange(Sender: TObject);
begin
edit1.Clear;
edit1.Text := String(cb.Items.Objects[cb.ItemIndex]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
With aq do
begin
First;
cb.Clear;
DisableControls;
while not eof do
begin
Cb.Items.AddObject(FieldbyName('cp_name').AsString,Tobject(fieldByName('cp_no').asString));
next;
end;
cb.ItemIndex := 0;
EnableControls;
end;
end;
begin
edit1.Clear;
edit1.Text := String(cb.Items.Objects[cb.ItemIndex]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
With aq do
begin
First;
cb.Clear;
DisableControls;
while not eof do
begin
Cb.Items.AddObject(FieldbyName('cp_name').AsString,Tobject(fieldByName('cp_no').asString));
next;
end;
cb.ItemIndex := 0;
EnableControls;
end;
end;
解决方案 »
- 有没有CrossTab 的 Grid?用来显示交叉的数据
- 下面是一个加密函数,里面包含有四层加密,能帮我写一个相应的解密函数?
- 转 Borland称12家公司有意接收Delphi和JBuilder
- 关于判断文件夹是否存在的问题
- 紧急求救,请教各位一个关于参数查询的基本问题!!!
- 我在华为打工的日子(二)
- 关于ServerSocket判断clientsocket是否异常断开的问题
- <<150求一简单过程>> 的50分处给分处。
- 用DELPHI如何连接AUTOCAD2000????急!急!急!急!急! 高分
- 个人构思项目开发寻找合作者
- 怎样把ComboBox中的items内容在程序运行时删除!
- 帮帮吗??
edit1.Text := cb.items.Strings[cb.itemindex];// String(cb.Items.Objects[cb.ItemIndex]);
begin
edit1.Clear;
edit1.Text := (cb.Items.Objects[cb.ItemIndex]);<--不知道你要的是什么,所以我也不知道应该怎么帮你改了:(
end;procedure TForm1.FormCreate(Sender: TObject);
begin
With aq do
begin
First;
cb.Clear;
DisableControls;
while not eof do
begin Cb.Items.tems.AddObject(FieldbyName('cp_name').AsString, FieldbyName('cp_name')); <----------这样,它本身就是一个TObject
next;
end;
cb.ItemIndex := 0;
EnableControls;
end;
end;
================================================================
◆◆◆ CSDN查询助手,查询方便快捷◆◆◆ 下载地址:
http://CoolSlob.ifood1.com/Download/CSDNFinder.exe
http://CoolSlob.8u8.com/Download/Tools/CSDNFinder.Slob[更名为.exe即可]
begin
edit1.Clear;
edit1.Text := cb.Items.Strings[cb.ItemIndex]);
//你要的是字段的内容,不需要使用Object!!请看帮助,学习TStrings与TStringList的用法!
end;procedure TForm1.FormCreate(Sender: TObject);
begin
//不是什么时候都使用with语句的!像现在,使用with语句反而会将低程序的可读性!
aq.First;
cb.Clear;
aq.DisableControls;
while not aq.eof do
begin
cb.Items.Add(aq.FieldByName('cp_no').AsString);
aq.next;
end;
cb.ItemIndex := 0;
aq.EnableControls;
end;注意:
1、操持程序大小写一致!如你出现了cb和Cb!
2、请不要使用cb, aq这样枯燥的名字!“见名知义”!!!
3、不要滥用with语句!练习:
熟练TStrings和TStringList的用法.================================================================
◆◆◆ CSDN查询助手,查询方便快捷◆◆◆ 下载地址:
http://CoolSlob.ifood1.com/Download/CSDNFinder.exe
http://CoolSlob.8u8.com/Download/Tools/CSDNFinder.Slob[更名为.exe即可]
TField.AsString属性存储字符串
当字符串在一个区域中使用完后编译器会将其资源释放
所以虽然你保存了字符串的内存地址,但资源已经释放
如果你的'cp_no'字段是一个数值类型就比较好办
参考如下代码:procedure TForm1.cbChange(Sender: TObject);
begin
Edit1.Clear;
if TCombBox(Sender).ItemIndex < 0 then Exit;
Edit1.Text := IntToStr(
TCombBox(Sender).Items.Objects[TCombBox(Sender).ItemIndex]));
end;procedure TForm1.FormCreate(Sender: TObject);
begin
{ TODO -oZswang -o2002.09.28 : 动态打开ADOQuery,否则当没有安装数据库时,程序会出严重错误 }
with aq do begin
First;
cb.Clear;
DisableControls;
while not Eof do begin
cb.Items.AddObject(FieldbyName('cp_name').AsString,
TObject(FieldByName('cp_no').AsInteger)); //AsString -> AsInteger
Next;
end;
cb.ItemIndex := 0;
EnableControls;
end;
end;
begin
Edit1.Clear;
if TCombBox(Sender).ItemIndex < 0 then Exit;
Edit1.Text := IntToStr(Integer(
TCombBox(Sender).Items.Objects[TCombBox(Sender).ItemIndex]))); //强制转换
end;
var
id: ^string;
begin
ADOQuery1.SQL.Text:='select id,name from account';
ADOQuery1.Open ;
Combobox1.Clear; while not ADOQuery1.Eof do
begin
new(id);
id^:=ADOQuery1.Fields.Fields[0].AsString;
Combobox1.Items.AddObject(ADOQuery1.Fields.Fields[1].AsString,pointer(id^));
ADOQuery1.Next;
end;Edit1.Text:=string(ComboBox1.Items.Objects[ComboBox1.ItemIndex]) ;