比如说第一层是从01-15
第二层是16-18
第三层是20-30
第四层是50-90
要求第一层抽5个数,第二层抽1个数,第三层抽7个数,第四层抽20个数,并且抽第一个数的时候是从这四个层内随机抽取的。请专家们帮我解决一下了,不胜感激~~~

解决方案 »

  1.   

    是用ACCESS,这几个层是放在一个表内的。
      

  2.   

    试试看,可能会有遗漏。procedure TForm1.Button1Click(Sender: TObject);
    var
      vRandomLst: TStringList;
      i: integer;
    begin
      vRandomLst := TStringList.Create;
      try
        Randomize;
        vRandomLst.Add(FloatToStr(RandomRange(1, 90)));
        for i := 2 to 5 do
          vRandomLst.Add(FloatToStr(RandomRange(1, 15)));
        for i := 1 to 1 do
          vRandomLst.Add(FloatToStr(RandomRange(16, 18)));
        for i := 1 to 7 do
          vRandomLst.Add(FloatToStr(RandomRange(20, 30)));
        for i := 1 to 20 do
          vRandomLst.Add(FloatToStr(RandomRange(50, 90)));
        memo1.Lines.Assign(vRandomLst);
      finally
        vRandomLst.Free;
      end;
    end;