procedure TForm1.Button1Click(Sender: TObject);
var
MyLabel:array of TLabel;
MyCheckBox:array of TCheckBox;
i,n:integer;
begin
SetLength(MyLabel,6);
for i := 0 to 5 do
begin
MyLabel[i] := TLabel.Create(Self);
MyLabel[i].Top := topic_i;
MyLabel[i].Left := 20;
MyLabel[i].Height := 30;
MyLabel[i].Width := 100;
MyLabel[i].Parent := Self;
MyLabel[i].Caption := '题目 '+inttostr(i+1);
MyLabel[i].Show;
topic_i:=topic_i+30;
SetLength(MyCheckBox,4);
for n := 0 to 3 do
begin
MyCheckBox[n] := TCheckBox.Create(Self);
MyCheckBox[n].Top := topic_i ;
MyCheckBox[n].Left := 20;
MyCheckBox[n].Height := 30;
MyCheckBox[n].Width := 200;
MyCheckBox[n].Parent := Self;
MyCheckBox[n].Caption := chr(65+n)+'备选答案';
MyCheckBox[n].Show;
topic_i:=topic_i+30
end;
end;
Button1.Enabled:=false;
end;
想请问高手,我想将MyCheckBox能和MyLabel的i关联起来,例如MyCheckBox_i_n这样的形式.要的结果如下:
MyLabel_1
MyCheckBox_1_1
MyCheckBox_1_2
MyCheckBox_1_3
MyCheckBox_1_4
MyLabe_2
MyCheckBox_2_1
MyCheckBox_2_2
MyCheckBox_2_3
MyCheckBox_2_4这个MyCheckBox_i_n 要怎样编写?
var
MyLabel:array of TLabel;
MyCheckBox:array of TCheckBox;
i,n:integer;
begin
SetLength(MyLabel,6);
for i := 0 to 5 do
begin
MyLabel[i] := TLabel.Create(Self);
MyLabel[i].Top := topic_i;
MyLabel[i].Left := 20;
MyLabel[i].Height := 30;
MyLabel[i].Width := 100;
MyLabel[i].Parent := Self;
MyLabel[i].Caption := '题目 '+inttostr(i+1);
MyLabel[i].Show;
topic_i:=topic_i+30;
SetLength(MyCheckBox,4);
for n := 0 to 3 do
begin
MyCheckBox[n] := TCheckBox.Create(Self);
MyCheckBox[n].Top := topic_i ;
MyCheckBox[n].Left := 20;
MyCheckBox[n].Height := 30;
MyCheckBox[n].Width := 200;
MyCheckBox[n].Parent := Self;
MyCheckBox[n].Caption := chr(65+n)+'备选答案';
MyCheckBox[n].Show;
topic_i:=topic_i+30
end;
end;
Button1.Enabled:=false;
end;
想请问高手,我想将MyCheckBox能和MyLabel的i关联起来,例如MyCheckBox_i_n这样的形式.要的结果如下:
MyLabel_1
MyCheckBox_1_1
MyCheckBox_1_2
MyCheckBox_1_3
MyCheckBox_1_4
MyLabe_2
MyCheckBox_2_1
MyCheckBox_2_2
MyCheckBox_2_3
MyCheckBox_2_4这个MyCheckBox_i_n 要怎样编写?
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TLabelRecord = record
Labels: TLabel;
MyCheckBox: array of TCheckBox;
end;
TLabelsRecord = record
MyLabel: array of TLabelRecord;
end; TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
MyLabel:TLabelsRecord;
i,n,topic_i:integer;
begin
SetLength(MyLabel.MyLabel,6);
for i := 0 to 5 do
begin
MyLabel.MyLabel[i].Labels := TLabel.Create(Self);
MyLabel.MyLabel[i].Labels.Top := topic_i;
MyLabel.MyLabel[i].Labels.Left := 20;
MyLabel.MyLabel[i].Labels.Height := 30;
MyLabel.MyLabel[i].Labels.Width := 100;
MyLabel.MyLabel[i].Labels.Parent := Self;
MyLabel.MyLabel[i].Labels.Caption := '题目 '+inttostr(i+1);
MyLabel.MyLabel[i].Labels.Show;
topic_i:=topic_i+30;
SetLength(MyLabel.MyLabel[i].MyCheckBox,4);
for n := 0 to 3 do
begin
MyLabel.MyLabel[i].MyCheckBox[n] := TCheckBox.Create(Self);
MyLabel.MyLabel[i].MyCheckBox[n].Top := topic_i ;
MyLabel.MyLabel[i].MyCheckBox[n].Left := 20;
MyLabel.MyLabel[i].MyCheckBox[n].Height := 30;
MyLabel.MyLabel[i].MyCheckBox[n].Width := 200;
MyLabel.MyLabel[i].MyCheckBox[n].Parent := Self;
MyLabel.MyLabel[i].MyCheckBox[n].Caption := chr(65+n)+'备选答案';
MyLabel.MyLabel[i].MyCheckBox[n].Show;
topic_i:=topic_i+30
end;
end;
Button1.Enabled:=false;
end;end.访问时 MyLabel.MyLabel[i].MyCheckBox[n]
MyLabel:array of TLabel;
MyCheckBox:array of TCheckBox;
i,n,topic_i:integer;begin
topic_i:=0;
SetLength(MyLabel,6);
for i := 0 to 5 do
begin
MyLabel[i] := TLabel.Create(Self);
MyLabel[i].Top := topic_i;
MyLabel[i].Left := 20;
MyLabel[i].Height := 30;
MyLabel[i].Width := 100;
MyLabel[i].Parent := Self;
MyLabel[i].Caption := '题目 '+inttostr(i+1);
MyLabel[i].Name:='MyLabel_'+inttostr(i+1);//
memo1.Lines.Add(MyLabel[i].Name);//
MyLabel[i].Show;
topic_i:=topic_i+30;
SetLength(MyCheckBox,4);
for n := 0 to 3 do
begin
MyCheckBox[n] := TCheckBox.Create(Self);
MyCheckBox[n].Top := topic_i ;
MyCheckBox[n].Left := 20;
MyCheckBox[n].Height := 30;
MyCheckBox[n].Width := 200;
MyCheckBox[n].Parent := Self;
MyCheckBox[n].Caption := chr(65+n)+'备选答案';
MyCheckBox[n].Name:='MyCheckBox_'+inttostr(i+1)+'_'+inttostr(n+1);//
memo1.Lines.Add('----'+MyCheckBox[n].Name);//
MyCheckBox[n].Show;
topic_i:=topic_i+30
end;
end;
Button1.Enabled:=false;
end;
i: integer;
c: TCheckBox;
begin
for i:= 0 to self.ControlCount-1 do
begin
if self.Controls[i] is TCheckBox then
begin
c:= (self.Controls[i]) as TCheckBox; if c.Checked then
begin
memo1.Lines.Add(c.Name);
end;
end;
end;
end;
if AControl is TCheckBox then
AStringList.append((AControl as TCheckBox).Name)再从AStringList里一个一个用正则提取 X_X 第一个X为题,第二就为ABCD(可用Case 转成ABCD)