Delphi中用一个Byte数表示8个复选框的选择状态

本例效果图:

代码文件:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, CheckLst;

type
 TForm1 = class(TForm)
  CheckListBox1: TCheckListBox;
  Button1: TButton;
  Edit1: TEdit;
  procedure FormCreate(Sender: TObject);
  procedure Button1Click(Sender: TObject);
  procedure CheckListBox1Click(Sender: TObject);
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

var
 num: Integer;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Edit1.Text := '输入一个 Byte 数';
 CheckListBox1.Align := alLeft;
 CheckListBox1.Items.CommaText := 'A,B,C,D,E,F,G,H';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 i: Integer;
begin
 num := Lo(StrToIntDef(Edit1.Text, 0));
 Edit1.Text := IntToStr(num);
 for i := 0 to 7 do CheckListBox1.Checked[i] := 1 shl i or num = num;
 Text := IntToStr(num);
end;

procedure TForm1.CheckListBox1Click(Sender: TObject);
var
 i: Integer;
begin
 num := 0;
 for i := 0 to 7 do if CheckListBox1.Checked[i] then num := num or 1 shl i;
 Text := IntToStr(num);
 Edit1.Text := Text;
end;

end.

时间: 2024-09-05 17:12:28

Delphi中用一个Byte数表示8个复选框的选择状态的相关文章

Struts中用动态选择的元素创建复选框

创建|动态|复选框     在用户界面设计中,复选框组不如它的同类 -- 多行选择框那样流行.它们基本上做的是同一件事,即选择映射到单一 name 属性的一组选项.当在组中使用时,复选框执行的功能实际与多行选择框一样,但是它们占据的屏幕空间更多.当希望用户在选择一个或多个选项之前能够看到所有选项的时候,这会很有好处. 虽然在选项不多的时候,多行选择框通常提供更好的观感,但是当选择框必须动态呈现而且包含预选功能时,对企业应用程序来说复选框组会是更好的选择.幸运的是,使用 Struts 框架可以很容

listview-在ListView中用复选框选择项目文件

问题描述 在ListView中用复选框选择项目文件 程序的ListView视图中设置有复选框.我想从ListView中获取选中的项目,例如:MyFiles应用程序中用复选框选择多个文件,然后点击单个删除按钮就能删除所有的文件.有什么方法实现这样的功能呢? 解决方案 public class MyAdapter extends SimpleAdapter { //private List<Table> tables; SharedPreferences prefs; private Activi

只有一个复选框的全选处理

复选框 网页中经常需要动态的生成多个复选框,通常还有一个"全选"按纽用来选定全部复选框或者全部取消选定. 但需要注意的一个问题是当只剩下一个复选框的时候就无法使用复选框length属性,要单独把一个复选框的情况拿出来判断 <input name="btnAllSelect" type="Button" id="Button" value="全选" class="myButton"

Delphi标准控件-单选按钮和复选框

单选按钮(RadioButton)和复选按框(CheckBox)都是很常用的组件,尤其是在对话框中.单选按钮(RadioButton)是一种具有排他性的选择组件,用户每一次只能选择其中的一个(在同一个容器组件中,如同一Form上或RadioBox中).而复选框(CheckBox)则不同,可以同时选择多个. 两种组件都有一个Checked属性,用于标识和检测是否被选中.我们使用这两个组件,给上一节(Memo组件介绍)的例程(简单编辑器)添加一些新的功能,使它可以选择字体颜色和字体的样式. 程序的界

在jquery中 我有个复选框的id=a 我点一个按钮就让他选中 怎么做了? (jquery)

问题描述 在jquery中 我有个复选框的id=a 我点一个按钮就让他选中 怎么做了? (jquery) 在jquery中 我有个复选框的id=a 我点一个按钮就让他选中 怎么做了? (jquery) 解决方案 $("#a").attr("checked",'true') 解决方案二: $('#bt').onClick( function(){ $('#ck').checked(); }); 大概是这么写吧,函数名记不得了

c#-C#疑难杂症:能否用委托实现一个复选框传多值

问题描述 C#疑难杂症:能否用委托实现一个复选框传多值 form1中有一个panel1,usercontrol1中有一个checkbox1.想要实现如下图中职位福利标签不能大于8个,若大于8个,警告:并且每次操作可以把checkbox1中选中的值用字符串串联读取出来.望大神赐教(最好用委托,谢谢) 解决方案 用不着委托,用this.Controls[控件名] as CheckBox

问一个关于winform 的问题 在一个窗体里面 我有10的复选框 他们的ID分别为

问题描述 问一个关于winform 的问题 在一个窗体里面 我有10的复选框 他们的ID分别为 问一个关于winform 的问题 在一个窗体里面 我有10的复选框 他们的ID分别为 a b c d ... 现在我需要判断 勾选他们的次数 就是说 如果我勾选了3个 那么就会有个lable提示 您已经选了三个了 怎么判断? 解决方案 int n = this.Controls.OfType<CheckBox>().Where(x => x.Checked).Count(); 解决方案二: 每

listview左侧冻结表格列,在冻结的表格列上显示一个复选框

问题描述 listview左侧冻结表格列,在冻结的表格列上显示一个复选框 listview左侧冻结表格列,在冻结的表格列上显示一个复选框,请问怎么实现?列头不能有标题 解决方案 http://blog.csdn.net/wangjia55/article/details/7905491

Android开发之编写第一个Android应用程序实现按钮和复选框

搞Android系统这么久了,说实话,我连apk怎么写还真是不会,说实话能够看懂,简单改改就不错了,说来惭愧,我是嵌入式出身.最近开始学习Android应用开发,和我的底层结合起来,为了工作,咬着牙也要学下去!!! 首先,我使用的是Android Studio这个软件. 上谷歌中国网就可以下载到了,地址如下: https://developer.android.google.cn/develop/index.html     编译环境配置,找百度看看就行了,这里不哆嗦.     安装好后,有一些