| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3028 人关注过本帖
标题:如何显示多个复选框的内容
只看楼主 加入收藏
adam1103
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-7-24
收藏
 问题点数:0 回复次数:7 
如何显示多个复选框的内容
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  str_taste:='';
  If CheckBox1.Checked then
    If str_taste='' then
      str_taste:=str_taste + CheckBox1.Caption
    else
      str_taste:=str_taste + '.' +CheckBox1.Caption;
  If CheckBox2.Checked then
    If str_taste='' then
      str_taste:=str_taste + CheckBox2.Caption
    else
      str_taste:=str_taste +'.' + CheckBox2.Caption;
  If CheckBox3.Checked then
    If str_taste='' then
      str_taste:=str_taste + CheckBox3.Caption
    else
      str_taste:=str_taste + '.' + CheckBox3.Caption;
  If CheckBox4.Checked then
    If str_taste='' then
      str_taste:=str_taste + CheckBox4.Caption
    else
      str_taste:=str_taste + '.' + CheckBox4.Caption;
  If CheckBox5.Checked then
    If str_taste='' then
      str_taste:=str_taste + CheckBox5.Caption
    else
      str_taste:=str_taste + '.' + CheckBox5.Caption;
  If CheckBox6.Checked then
    If str_taste='' then
      str_taste:=str_taste + CheckBox6.Caption
    else
      str_taste:=str_taste + '.' + CheckBox6.Caption;
end;



ShowMessage('您的爱好是:' + str_taste+#13#10);

为什么只显示了一个复选框里的内容??
  如果要多个复选框该如何写代码..

谢谢
搜索更多相关主题的帖子: 复选 
2007-11-27 21:50
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
收藏
得分:0 
就是上面這麼寫,看看你沒顯示的復選框是不是caption為空了。

你微笑的面對整個世界,整個世界也將會微笑的面對你。
2007-11-28 11:39
xu2000
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:51
帖 子:3890
专家分:56
注 册:2006-4-8
收藏
得分:0 
str_taste:='';   
这当然只能显示一个标题了。

我会拿出我全部的钱财,以保你衣食无忧。我会献出我所有的智慧,以助你一帆风顺。我会想到所有的笑语,以令你展眉开颜。我会挤出最长的时间,以使你终生幸福。        [本人原创的结婚宣言]
2007-11-29 10:52
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
收藏
得分:0 
str_taste:='';開始賦值為空,沒有問題,但是你要每一個控件中的Click事件中引用該過程才行,要不就會出現你上面的情況。

你微笑的面對整個世界,整個世界也將會微笑的面對你。
2007-11-29 15:38
adam1103
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-7-24
收藏
得分:0 
如何才能使每一個控件中的Click事件中引用該過程??

 请赐教..

谢谢个为了..
2007-11-30 21:29
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
收藏
得分:0 
分別選 中每一個控件,在事件屬性中的那個事件中選中在第一個控件中寫的那個事件就行了。

你微笑的面對整個世界,整個世界也將會微笑的面對你。
2007-12-01 15:10
provoke
Rank: 2
来 自:广州
等 级:新手上路
威 望:5
帖 子:175
专家分:0
注 册:2007-6-14
收藏
得分:0 
添加一个Button控件,假设命名为Button1,则将上面的代码写入到Button1的点击事件中即可,就是将

procedure TForm1.CheckBox1Click(Sender: TObject);

改为

procedure TForm1.Button1Click(Sender: TObject);

你的错误在于将上面的代码放在CheckBox1控件的点击事件中,这样只有在点击CheckBox1时才会执行,换句话说,如果你先点击CheckBox1时其他CheckBox没有选中的话,就只是添加了CheckBox1的Caption,再点击其他CheckBox控件时,响应的是其他控件的Click事件,而不是CheckBox1的Click事件。

只有当最后选中的是CheckBox1时,才可以达到你的目的。

不过要考虑重复点击的情况,也就是取消已选中的CheckBox 时,要删除字符口串中对应Caption 的字符串,否则“选中-取消-再选中”之后,就会有重复的,重复选中几次就会有几个重复项。

爱我至爱,至死不渝!
2007-12-03 12:58
adam1103
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-7-24
收藏
得分:0 
太感谢了
 谢谢你的说明..

想了好长时间都没有想通  原来是书上写错了

...
2007-12-03 21:32
快速回复:如何显示多个复选框的内容
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038075 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved