关于一复杂的字符操作问题. |
答題得分者是:h@visli
|
rainker
一般會員 發表:6 回覆:1 積分:1 註冊:2007-10-09 發送簡訊給我 |
|
h@visli
資深會員 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
思路:
把IP1与IP2分别转换为整数表示,再把两个整数之间的值列举出来并以IP字符串形式表示. 示例代码: function IPStrToIPVal(value: string): integer; var s: string; i, x: Integer; begin Result := 0; for x := 0 to 3 do begin s := Copy(value, 1, Pos('.', value) - 1); i := StrToIntDef(Trim(s), 0); Result := (256 * Result) i; Delete(value, 1, Pos('.', value)); if Pos('.', value) = 0 then value := value '.'; end; end; function IPValToIPStr(value: integer): string; var x1, x2: word; y1, y2: byte; begin Result := ''; x1 := value shr 16; x2 := value and $FFFF; y1 := x1 div $100; y2 := x1 mod $100; Result := inttostr(y1) '.' inttostr(y2) '.'; y1 := x2 div $100; y2 := x2 mod $100; Result := Result inttostr(y1) '.' inttostr(y2); end; procedure TForm5.Button1Click(Sender: TObject); var ip1, ip2: Integer; i: Integer; begin ip1 := IPStrToIpVal(Edit1.Text); ip2 := IPStrToIpVal(Edit2.Text); for i := ip1 to ip2 do memo1.Lines.Add(IPValToIPStr(i)); end;
------
------------------------ 博采眾家之長,奉獻綿薄之力 ------------------------ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |