delphi中产生多位数

来源:百度知道 编辑:UC知道 时间:2024/06/17 21:57:48
分别选中
百位上的数字0 1 2 3 4 5 6 7 8 9
十位上的数字0 1 2 3 4 5 6 7 8 9
个位上的数字0 1 2 3 4 5 6 7 8 9
可以多选,将它们中的所有组合到一块,
显示在Memo组件中,具体情况如图所示:
请高手指教,谢谢
显示的结果不能重复,当再次点组合按钮时,不会再出现Memo组件中已出现过的数字
各个位数的数字是由Checkbox控件来选择的,可以多选,请多指教,写下代码,谢谢

申明三个TStrings类型的存放百位,十位,各位上的数,可能是多个

点击组合按钮就把相应的数存到TStrings中
然后遍历输出,是个三层循环吧..

呆会写好例子发给你..

-----------------
下面例子调试通过:

procedure TForm1.Button1Click(Sender: TObject);
var bb,ss,gg:TStrings;
var temp:String;
b,s,g:integer;
begin
bb:=TStringList.Create;
ss:=TStringList.Create;
gg:=TStringList.Create;
bb.Add('3');
bb.Add('4');
ss.Add('1');
ss.Add('2');
gg.Add('3');
gg.Add('4');
gg.Add('5');
{
//这里我是模拟选中了百位3,4十位1,2各位3,4,5的情况
//实际上这里加值的时候应该是判断各个复选框的选中情况
来判断,假如说百位上是个复选框是bcheckbox0 到 bcheckbox9
判断时候就是 if bcheckbox3.checked then bb.add('3'); 其余的都是这样的方式.然后用下面三层循环输入所有的组合数 }

for b:=0 to bb.Count-1 do
begin
for s:=0 to ss.Count-1 do
begin
for g:=0 to gg.Count-1 do
begin
temp:='';