在delphi中用ComboBox下拉框与checkbox合在一起怎么用(可以用INI方式最好 )

比如下拉框中的1对应3个checkbox,下拉框中的2对应3个checkbox,代码怎么写才能配合起来?(要用先选checkbox,后保存到ComboBox!加个butt... 比如下拉框中的1对应3个checkbox,下拉框中的2对应3个checkbox,代码怎么写才能配合起来?
(要用先选checkbox,后保存到ComboBox! 加个button按钮,名字为保存的意思 )下次点combox中的ComboBox1时,自动就选了对应的 checkbox了!本人很菜,给出代码最好!
展开
 我来答
不懂空手道
2010-10-17 · TA获得超过103个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:103万
展开全部
给你一份代码,用了笨办法,目的是让你更容易读懂程序的流程,代码还可以优化,就看你自己的了。代码已经测试通过了(Windows XP + Delphi7),把代码拷贝到你的IDE里就可以了,全部代码如下:

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
cb: TComboBox;
ck1: TCheckBox;
ck2: TCheckBox;
ck3: TCheckBox;
ck4: TCheckBox;
ck5: TCheckBox;
ck6: TCheckBox;
procedure cbChange(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
f1: TextFile; //这是文件变量
implementation

{$R *.dfm}

procedure TForm1.cbChange(Sender: TObject);//
begin
If cb.ItemIndex = 0 Then //如果选择第一项 ,则复选框1-3选中
begin
ck1.Checked := True;
ck2.Checked := True;
ck3.Checked := True;
ck4.Checked := false;
ck5.Checked := false;
ck6.Checked := false;
end;
If cb.ItemIndex = 1 Then //如果选择第二项 ,则复选框4-6选中
begin
ck1.Checked := false;
ck2.Checked := false;
ck3.Checked := false;
ck4.Checked := True;
ck5.Checked := True;
ck6.Checked := True;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
AssignFile(f1,'check.txt'); //以可写方式打开一个文件,不存在则创建,存在则覆盖

Rewrite(f1); //打开文件准备读写

//下面代码保存checkbox的状态,选中为1,未选中为0
if ck1.Checked Then Writeln(f1,'1')
else Writeln(f1,'0');

if ck2.Checked Then Writeln(f1,'1')
else Writeln(f1,'0');

if ck3.Checked Then Writeln(f1,'1')
else Writeln(f1,'0');

if ck4.Checked Then Writeln(f1,'1')
else Writeln(f1,'0');

if ck5.Checked Then Writeln(f1,'1')
else Writeln(f1,'0');

if ck6.Checked Then Writeln(f1,'1')
else Writeln(f1,'0');

CloseFile(f1); //关闭文件
end;

procedure TForm1.FormCreate(Sender: TObject);
var s1: String; //临时变量
begin
if FileExists('check.txt') Then //判断设置文件是否存在
begin
AssignFile(f1,'check.txt');

Reset(f1); //以只读方式打开文件

Readln(f1,s1); //读取第一行
ck1.Checked := Boolean(StrToInt(s1));//把第一行的内容转换为布尔值后赋值给复选框1,下同

Readln(f1,s1);
ck2.Checked := Boolean(StrToInt(s1));

Readln(f1,s1);
ck3.Checked := Boolean(StrToInt(s1));

Readln(f1,s1);
ck4.Checked := Boolean(StrToInt(s1));

Readln(f1,s1);
ck5.Checked := Boolean(StrToInt(s1));

Readln(f1,s1);
ck6.Checked := Boolean(StrToInt(s1));

CloseFile(f1); //一定记得关闭文件
end;
end;

end.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式