关于IPEdit,怎么去运用xxx.xxx.xxx.xxx四个字段? 是这样的:我想做一个扫描ip字段的程序,就是把第一个ip地址到第二个ip地址中间的ip地址扫描出来,显示在listView里。ipedit控件的“ipString”属性是xxx.xxx.xxx.xxx的,我想要像for a:=0 to 10 do 这样去做一个循环,但是xxx.xxx.xxx.xxx又不是数字,也不知道怎样转换成数字,我想过给每一段都做一个循环,但是怎样才能和这个ipedit联系上呢?拜托大家了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.Button1Click(Sender: TObject);var vStrList: TStringlist; i: integer; IP1,IP2,IP3,IP4: integer;begin vStrList := TStringList.Create; try vStrList.Delimiter :='.'; vStrList.DelimitedText := Edit1.Text; IP1 := StrToInt(vStrList[0]); IP2 := StrToInt(vStrList[1]); IP3 := StrToInt(vStrList[2]); IP4 := StrToInt(vStrList[3]); for i:=IP4 to 255 do begin memo1.Lines.Add(IntToStr(IP1)+'.'+IntToStr(IP2)+'.'+IntToStr(IP3)+'.'+inttostr(i)); end; finally vStrList.free; end;end; TIPAddress = packed record case Integer of 0: ( Field1: Byte; Field2: Byte; Field3: Byte; Field4: Byte;); 1: ( Value: Integer;); end;function StrToIP(IP: string): TIPAddress;var i: Integer; slTmp: TStringList;begin slTmp := TStringList.Create; try slTmp.Delimiter := '.'; slTmp.DelimitedText := IP; if slTmp.Count <> 4 then Exit; for i := 0 to 3 do Result.Value := Result.Value shl 8 + StrToInt(slTmp[i]); finally slTmp.Free; end;end;function IPToStr(IP: TIPAddress): string;begin Result := IntToStr(IP.Field1) + '.' + IntToStr(IP.Field2) + '.' + IntToStr(IP.Field3) + '.' + IntToStr(IP.Field4);end; 判断范围或者IP加一直接操作IPAddress.Value就行了 我Hook的RecvFrom为什么会死循环? 请求帮助 ' expected but ':' found 知道一个Handle,并且知道这个Handle是一个TTabSheet,我想释放它,请问如何操作? DELPHI5.0 的TColumn类对应7.0为什么类 用BusinessSkinForm控件的窗体,怎么显示不出MAINMENU? 高手,帮帮忙 请大家在问题解决后能按时结贴! DBNvigator 的使用 delphi控件 在ADOQUERY中,如何运行类似于TALBE中的LOCATE过程? 效率太低,帮忙优化下 :) Delphi的Form引用问题
var
vStrList: TStringlist;
i: integer;
IP1,IP2,IP3,IP4: integer;
begin
vStrList := TStringList.Create;
try
vStrList.Delimiter :='.';
vStrList.DelimitedText := Edit1.Text;
IP1 := StrToInt(vStrList[0]);
IP2 := StrToInt(vStrList[1]);
IP3 := StrToInt(vStrList[2]);
IP4 := StrToInt(vStrList[3]);
for i:=IP4 to 255 do
begin
memo1.Lines.Add(IntToStr(IP1)+'.'+IntToStr(IP2)+'.'+IntToStr(IP3)+'.'+inttostr(i));
end;
finally
vStrList.free;
end;
end;
case Integer of
0: (
Field1: Byte;
Field2: Byte;
Field3: Byte;
Field4: Byte;);
1: (
Value: Integer;);
end;function StrToIP(IP: string): TIPAddress;
var
i: Integer;
slTmp: TStringList;
begin
slTmp := TStringList.Create;
try
slTmp.Delimiter := '.';
slTmp.DelimitedText := IP;
if slTmp.Count <> 4 then Exit;
for i := 0 to 3 do
Result.Value := Result.Value shl 8 + StrToInt(slTmp[i]);
finally
slTmp.Free;
end;
end;function IPToStr(IP: TIPAddress): string;
begin
Result := IntToStr(IP.Field1) + '.'
+ IntToStr(IP.Field2) + '.'
+ IntToStr(IP.Field3) + '.'
+ IntToStr(IP.Field4);
end;