数字处理问题一个LISTBOX1的内容是00001到99999所有5位的数字,所有数字都是五位,比如
00001
00003
00004
00007
00008
00009
00010
00012
等等....按button1后快速找出listbox1中后4位0001到9999没有的的数字显示在listbox2里,比如
0002
0005
0006
0011
0013
等等....也就是说listbox1里的前面的第一位数字都不用理会

解决方案 »

  1.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
      i, j  : Integer;
      sValue: String;
      bNone : Boolean;
    begin
      for i := 1 to 9999 do
      begin
        sValue := Format('%.4d', [i]);
        bNone := True;
        for j := 0 to 9 do
          if ListBox1.Items.IndexOf(IntToStr(j) + sValue) >= 0 then
          begin
            bNone := False;
            break;
          end;
        if bNone then ListBox2.Items.Add(sValue);
      end;
    end;