IP段算法

zhuangbx220 2004-12-08 04:00:52
192.168.0.1
...
192.168.0.255
192.168.1.1
...
192.168.1.255

从IP地址192.168.0.1到192.168.1.255之间的IP地址要怎么生成

哪位能提供一个这样的算法
...全文
202 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuangbx220 2004-12-08
  • 打赏
  • 举报
回复
procedure IPR(A1,A2,A3,A4,B1,B2,B3,B4:integer);//用循环就不会溢出
begin
repeat
form1.ListBox1.Items.Add(format('%d.%d.%d.%d',[A1,A2,A3,A4]));
if form1.ListBox1.Items.Count>3000 then form1.ListBox1.Items.Clear ;

inc(A4);
if A4>255 then
begin
A4:=1;inc(A3);
if A3>255 then
begin
A3:=1;inc(A2);
if A2>255 then
begin
A2:=1;
inc(A1);
end;
end;
end;
Application.ProcessMessages ;
// IPR(A1, A2, A3, A4, B1, B2, B3, B4);
until not((A4 < B4) Or (A3 < B3) Or (A2 < B2) Or (A1 < B1));
end;
zhuangbx220 2004-12-08
  • 打赏
  • 举报
回复
procedure IPR(A1,A2,A3,A4,B1,B2,B3,B4:integer);
begin
If (A4 < B4) Or (A3 < B3) Or (A2 < B2) Or (A1 < B1) Then
begin
inc(A4);
if A4>255 then
begin
A4:=1;inc(A3);
if A3>255 then
begin
A3:=1;inc(A2);
if A2>255 then
begin
A2:=1;
inc(A1);
end;
end;
end;
IPR(A1, A2, A3, A4, B1, B2, B3, B4);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
IPR(192,168,1,1,192,168,10,1);//这样可以
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
IPR(192,168,1,1,192,169,1,1);//这样溢出了,还有什么算法?
end;
myboor 2004-12-08
  • 打赏
  • 举报
回复
这个,把ip地址看成是一个4位的256进制数,剩下的就简单了吧
zhuangbx220 2004-12-08
  • 打赏
  • 举报
回复
倒!


如果是
192.168.0.100到192.168.1.255

192.168.0.200到192.168.1.100

还能用你的方法吗?
ICMGDCHN 2004-12-08
  • 打赏
  • 举报
回复
生成?两个FOR循环就OK啦
var
IPList:TStringList;

IPList:=TStringList.Create;

for i:=0 to 1 do
for j:= 1 to 255 do
IPList.Line.Add(format('192.168.%d.%d',[i,j]));

是这个意思吗?

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧