在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了!本人很菜,给出代码最好! 展开
(要用先选checkbox,后保存到ComboBox! 加个button按钮,名字为保存的意思 )下次点combox中的ComboBox1时,自动就选了对应的 checkbox了!本人很菜,给出代码最好! 展开
1个回答
展开全部
给你一份代码,用了笨办法,目的是让你更容易读懂程序的流程,代码还可以优化,就看你自己的了。代码已经测试通过了(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.
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.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询