组成3个数字的号码,含排列(有顺序)和组合(无顺序):
一是从3个edit中各选一个组成号码;
二是从10个checkbox中任选组成号码;
解决方案 »
- 从TGraphicControl继承写edit控件的问题
- mediaplayer
- 120分 求禁止DBLookupComboboxEh1的自动填充功能的方法
- 如何实现连接到某个网站?
- 困扰几个月的问题,有关Indy的TidTcpServer接收命令后显示窗口问题
- DELPHI初学,遇到一个问题,望前辈们指教!!
- 请问,dll组件如何导入到delphi里
- 谁能把 Double 类型转换成 String?
- 我的RichEdit出了问题,帮忙看一下
- 怎样直接打开一个文件?
- delphi通过ADO动态连接SQL数据库
- 窗体界面设计是问题:窗体设计是修改属性,点击属性(object inspecter)后窗体就不见了
function StrInList(str:string;strs:TStrings):boolean;
begin
Result:=(strs.IndexOf(str[1]+str[2]+str[3])>=0)
or (strs.IndexOf(str[1]+str[3]+str[2])>=0)
or (strs.IndexOf(str[2]+str[1]+str[3])>=0)
or (strs.IndexOf(str[2]+str[3]+str[1])>=0)
or (strs.IndexOf(str[3]+str[1]+str[2])>=0)
or (strs.IndexOf(str[3]+str[2]+str[1])>=0);
end;procedure AddStrToDisStrs(str:string;strs:TStrings);
begin
if not StrInList(str,strs) then
strs.Add(str);
end;procedure AddStrToStrs(str:string;strs:TStrings);
begin
if strs.IndexOf(str)<0 then
strs.Add(str);
end;procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k:integer;
a,b,c:string;
begin
for i:=1 to Length(Edit1.Text) do
for j:=1 to Length(Edit2.Text) do
for k:=1 to Length(Edit3.Text) do
begin
a:=Edit1.Text[i];
b:=Edit2.Text[j];
c:=Edit3.Text[k];
AddStrToStrs(a+b+c,Memo1.Lines);
AddStrToStrs(a+c+b,Memo1.Lines);
AddStrToStrs(b+a+c,Memo1.Lines);
AddStrToStrs(b+c+a,Memo1.Lines);
AddStrToStrs(c+a+b,Memo1.Lines);
AddStrToStrs(c+b+a,Memo1.Lines); AddStrToDisStrs(a+b+c,Memo2.Lines);
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
i,j,k:integer;
a,b,c:string;
strs:TStringList;
begin
strs:=TStringList.Create;
for i:=0 to ControlCount-1 do
if Controls[i].ClassName='TCheckBox' then
if TCheckBox(Controls[i]).Checked then
strs.Add(TCheckBox(Controls[i]).Caption); for i:=0 to strs.Count-1 do
for j:=0 to strs.Count-1 do
for k:=0 to strs.Count-1 do
begin
a:=strs.Strings[i];
b:=strs.Strings[j];
c:=strs.Strings[k];
AddStrToStrs(a+b+c,Memo1.Lines);
AddStrToStrs(a+c+b,Memo1.Lines);
AddStrToStrs(b+a+c,Memo1.Lines);
AddStrToStrs(b+c+a,Memo1.Lines);
AddStrToStrs(c+a+b,Memo1.Lines);
AddStrToStrs(c+b+a,Memo1.Lines); AddStrToDisStrs(a+b+c,Memo2.Lines);
end; strs.Free;
end;