如:Edit1.text:= 61.61.61.61 
Edit2.text:= 61.61.63.65 如何将 61.61.61.61 - 61.61.63.65 之间的I P添加到 Memo 中. 
请哥哥姐姐们 敲盘相助

解决方案 »

  1.   

    var   
        addr_in1,   addr_in2:   TSockAddrIn;   
        i1,   i2:   integer;   
      begin   
        addr_in1.sin_addr.S_addr   :=   Inet_Addr(Pchar('61.61.61.61'));   
        addr_in2.sin_addr.S_addr   :=   Inet_Addr(Pchar('61.63.63.65'));   
        i1   :=Ord(addr_in1.sin_addr.S_un_b.s_b4);   
        i2   :=Ord(addr_in2.sin_addr.S_un_b.s_b4);   
          ShowMessage(IntToStr(i2-i1   +   1));   
      

  2.   


    type
        PIp_Addr=^IP_Addr;
        Ip_Addr=record
              a,b,c,d:byte;
        end;function ConvertIpToInteger(strIP:string):integer;
    var
        iValue:integer;
        ip,a,b,c,d:integer;
        sIp:PIp_Addr;
    begin
        ip:=inet_addr(Pchar(strIP));
        sIp:=@ip;
        Result:=(sip.a shl 24)+(sip.b shl 16)+(sip.c shl 8)+sip.d;
    end;function ConvertIntegerToIp(iValue:integer):string;
    begin
        Result:=IntToStr((iValue and $FF000000) shr 24)+'.'
                +IntToStr((iValue and $FF0000) shr 16)+'.'
                +IntToStr((iValue and $FF00) shr 8)+'.'
                +IntToStr((iValue and $FF));
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
        i,i1,i2:  integer;
    begin
        i1:=ConvertIpToInteger('61.61.61.61');
        i2:=ConvertIpToInteger('61.61.63.65');
        for i:=i1 to i2 do
            Memo1.Lines.Add(ConvertIntegerToIp(i));
    end;
      

  3.   

    function GetIncIP(IP:string):string;
    var
    str:string;
    a,b,c,d:integer;
    ss:TStringList;
    begin
    ss:=TStringlist.Create;
    ss.Delimiter:='.';
    ss.DelimitedText:=ip;
    a:=strtoint(ss[0]);
    b:=strtoint(ss[1]);
    c:=strtoint(ss[2]);
    d:=strtoint(ss[3]);
    ss.Free;
    inc(d);
    if d>255 then begin c:=c+1;d:=0;end;
    if c>255 then begin b:=b+1;c:=0;end;
    if b>255 then begin a:=a+1;b:=0;end;
    str:=inttostr(a)+'.'+inttostr(b)+'.'+inttostr(c)+'.'+inttostr(d);
    result:=str;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
    nextip:string;
    begin      
    nextip:=GetIncIP(edit1.Text);
    while nextip<>edit2.Text do
      begin
      memo1.Lines.Add(nextip);
      nextip:=GetIncIP(nextip);
      end;
    end;