這段ASP中查IP地址來源的,轉換為Delphi如何寫呢?謝謝 |
尚未結案
|
vagrant
一般會員 發表:29 回覆:72 積分:20 註冊:2003-07-04 發送簡訊給我 |
這段ASP中查IP地址的來源,轉換為Delphi如何寫呢?謝謝
<%
sIp = Request.ServerVariables("REMOTE_ADDR") Function cacuIp(sIP)
On Error Resume Next
Dim srIp, aIp
srIp=0
aIp = Split(sIP,".")
If UBound(aIP)<>3 Then
cacuIP=0
Exit Function
End If
For i=0 To 3
srIp=srIp (CInt(aIP(i))*(256^(3-i)))
Next
cacuIp=srIp-1
If Err Then cacuIp=0
End Function Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("dbIpAddress.mdb") iIp=cacuIp(sIp)
strSQL = "SELECT country,city FROM address WHERE ip1<=" & iIp & " AND ip2>=" & iIp
Set rsCnt = connCnt.Execute ( strSQL )
If rsCnt.Eof Then
sPlace="[其它]"
Else
sPlace=rsCnt(0)&" "&rsCnt(1)
End If
Set rsCnt=Nothing Response.Write "你的IP所在地為:"&sPlace
%> 發表人 - vagrant 於 2004/05/31 13:54:47
|
vagrant
一般會員 發表:29 回覆:72 積分:20 註冊:2003-07-04 發送簡訊給我 |
引言: 這段ASP中查IP地址的來源,轉換為Delphi如何寫呢?謝謝 sIp = Request.ServerVariables("REMOTE_ADDR") Function cacuIp(sIP) On Error Resume Next Dim srIp, aIp srIp=0 aIp = Split(sIP,".") If UBound(aIP)<>3 Then cacuIP=0 Exit Function End If For i=0 To 3 srIp=srIp (CInt(aIP(i))*(256^(3-i))) Next cacuIp=srIp-1 If Err Then cacuIp=0 End Function Set conn=Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("dbIpAddress.mdb") iIp=cacuIp(sIp) strSQL = "SELECT country,city FROM address WHERE ip1<=" & iIp & " AND ip2>=" & iIp Set rsCnt = connCnt.Execute ( strSQL ) If rsCnt.Eof Then sPlace="[其它]" Else sPlace=rsCnt(0)&" "&rsCnt(1) End If Set rsCnt=Nothing Response.Write "你的IP所在地為:"&sPlace没有一个人知道呀???? 發表人 - vagrant 於 2004/06/02 09:29:33 |
00156
高階會員 發表:45 回覆:195 積分:112 註冊:2002-06-01 發送簡訊給我 |
|
vagrant
一般會員 發表:29 回覆:72 積分:20 註冊:2003-07-04 發送簡訊給我 |
|
vagrant
一般會員 發表:29 回覆:72 積分:20 註冊:2003-07-04 發送簡訊給我 |
|
00156
高階會員 發表:45 回覆:195 積分:112 註冊:2002-06-01 發送簡訊給我 |
|
vagrant
一般會員 發表:29 回覆:72 積分:20 註冊:2003-07-04 發送簡訊給我 |
謝謝,我是用下面的方法來實現的
function TForm1.GetAStr(str1: String; i: integer; str3: char): String; var SL:TStringList; begin sL:=TStringList.Create; sl.Delimiter:=Str3; sl.DelimitedText:=Str1; Result:=SL.Strings[i-1]; sl.Free; end; function TForm1.GetStrCount(Str1:String;Str2:Char): integer; var SL:TStringList; begin sL:=TStringList.Create; sl.Delimiter:=Str2; sl.DelimitedText:=Str1; Result:=(sl.count); sl.Free; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |