全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1242
推到 Plurk!
推到 Facebook!

這段ASP中查IP地址來源的,轉換為Delphi如何寫呢?謝謝

尚未結案
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-31 09:29:46 IP:218.189.xxx.xxx 未訂閱
這段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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-02 09:16:25 IP:218.189.xxx.xxx 未訂閱
引言: 這段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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-05 13:57:04 IP:61.56.xxx.xxx 未訂閱
前半的cacuIp程式你可以參考下面的連結 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=23914
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-08 10:24:53 IP:218.189.xxx.xxx 未訂閱
缺少bin.pas,郁悶。。。。。。
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-08 10:56:57 IP:218.189.xxx.xxx 未訂閱
缺少bin.pas,自己補充了兩個函數GetAStr,GetStrCount 搞定,謝謝!
00156
高階會員


發表:45
回覆:195
積分:112
註冊:2002-06-01

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-08 18:38:40 IP:61.56.xxx.xxx 未訂閱
您好: 我已經將函數補充在作品發表區裡了,不過好像你也已經完成了...
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-09 14:30:06 IP:218.189.xxx.xxx 未訂閱
謝謝,我是用下面的方法來實現的
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;
系統時間:2024-05-15 12:18:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!