不需要调外部方法,这里给出完全 Delphi 源码(测试通过!)<br>1.放一个 TTable 控件,放一个 TEdit 里面是型如“202.010.100.96”这样的地址。<br>2.把wry.dll 拷到当前目录下改成成 wry.dbf,表 Table1的表名设成 wry.dbf<br>3.Table1.active := true;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> i : integer;<br> s : string;<br>begin<br> with Table1 do<br> begin<br> First;<br> for i := 0 to RecordCount - 1 do<br> begin<br> if (Edit1.Text >= FieldByName('STARTIP').AsString)<br> and (Edit1.Text <= FieldByName('ENDIP').AsString) then<br> begin<br> s := ('国家:' + FieldByName('COUNTRY').AsString +<br> #13#10'位置:' + FieldByName('LOCAL').AsString +<br> #13#10'提供者:' + FieldByName('THANK').AsString);<br> end;<br> next;<br> end;<br> end;<br> ShowMessage(s);<br>end;<br>看,因为 wry 里的sub地址是3位数的,所以可以直接用字符串比较,简单吧:)<br>另外,目前 Edit1 地址要是3位的补0的,(即061.010.050.001),实现<br>普通的地址补0并不难,这里就不写了。另外,wry 里的地址还可以先排序,<br>用二分法或建索引提高速度,这里只是一个示例。不过我跑了一下也挺快的,不到1秒。<br>:)