亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > 易語言 > 正文

易語言讀取QQWary地理位置方法

2024-07-21 23:02:58
字體:
來源:轉載
供稿:網友

很多的功能需要查詢IP地址的物理位置,這是一個前輩寫好的子程序

使用方法:在自己的子程序中直接調用【IP查詢(“IP地址”)即可,可以是變量】

.版本 2.程序集 程序集_查詢IP.子程序 _啟動子程序, 整數型, , 請在本子程序中放置易模塊初始化代碼_查詢IP () ' 在初始化代碼執行完畢后調用測試代碼返回 (0) ' 可以根據您的需要返回任意數值.子程序 _查詢IP' 本名稱子程序用作測試程序用,僅在開發及調試環境中有效,編譯發布程序前將被系統自動清空,請將所有用作測試的臨時代碼放在本子程序中。 ***注意不要修改本子程序的名稱、參數及返回值類型。' 調試輸出 (IP查詢 (外網IP)).子程序 IP查詢, 文本型, , 查詢IP地址的地理位置.參數 IP地址, 文本型, , 可以是域名.參數 數據庫文件名, 文本型, 可空.局部變量 文件號, 整數型.局部變量 文件頭字節集, 字節集.局部變量 IP數量, 長整數型.局部變量 計次變量, 整數型.局部變量 開始IP字節集, 字節集.局部變量 結束IP偏移, 長整數型.局部變量 結束IP字節集, 字節集.局部變量 地區偏移, 長整數型.局部變量 查詢IP數值, 長整數型.局部變量 地區文本, 文本型.局部變量 IP段信息, 文本型.局部變量 開始IP讀取位置, 長整數型.局部變量 開始ip, 文本型.局部變量 結束IP, 文本型.局部變量 first_start_ip_offset, 長整數型.局部變量 last_start_ip_offset, 長整數型.局部變量 開始IP數值, 長整數型.局部變量 結束IP數值, 長整數型.如果真 (IP地址 = “”)  返回 (“”).如果真結束.如果真 (是否為空 (數據庫文件名))  數據庫文件名 = “./QQWry.dat”.如果真結束文件號 = 打開文件 (數據庫文件名, #讀入, #無限制).如果真 (文件號 = 0)  信息框 (“沒找到數據庫”, 0, )  返回 (“”).如果真結束文件頭字節集 = 讀入字節集 (文件號, 8)first_start_ip_offset = 取字節集數據 (取字節集左邊 (文件頭字節集, 4), #整數型, )last_start_ip_offset = 取字節集數據 (取字節集右邊 (文件頭字節集, 4), #整數型, )IP數量 = (last_start_ip_offset - first_start_ip_offset) \ 7 + 1查詢IP數值 = IP文本轉整數值 (IP地址)開始IP讀取位置 = 二分法確定位置 (文件號, first_start_ip_offset, 1, IP數量, 查詢IP數值)移動讀寫位置 (文件號, , first_start_ip_offset + (開始IP讀取位置 - 1) × 7)開始IP字節集 = 讀入字節集 (文件號, 7)開始ip = IP文本補位 (取十六進制文本 (取字節集數據 (取字節集左邊 (開始IP字節集, 4), #整數型, )))結束IP偏移 = 取字節集數據 (取字節集右邊 (開始IP字節集, 3), #整數型, )移動讀寫位置 (文件號, , 結束IP偏移)結束IP字節集 = 讀入字節集 (文件號, 4)結束IP = IP文本補位 (取十六進制文本 (取字節集數據 (結束IP字節集, #整數型, )))地區偏移 = 結束IP偏移 + 4開始IP數值 = 十六進制到十進制 (開始ip)結束IP數值 = 十六進制到十進制 (結束IP).如果真 (查詢IP數值 ≥ 開始IP數值 且 查詢IP數值 ≤ 結束IP數值)  地區文本 = 取地區文本 (文件號, 地區偏移).如果真結束關閉文件 (文件號)返回 (地區文本).子程序 二分法確定位置, 整數型.參數 文件號, 整數型.參數 基址, 長整數型.參數 初始位置, 長整數型.參數 結束位置, 長整數型.參數 查詢值, 長整數型.局部變量 中間讀寫位置, 長整數型.局部變量 中間位置, 長整數型.局部變量 中間IP文本, 文本型.局部變量 中間IP數值, 長整數型.局部變量 結束讀寫位置, 長整數型.局部變量 結束IP文本, 文本型.局部變量 結束IP數值, 長整數型中間位置 = (初始位置 + 結束位置) \ 2.如果真 (初始位置 = 中間位置)  返回 (初始位置).如果真結束結束讀寫位置 = 基址 + (結束位置 - 1) × 7移動讀寫位置 (文件號, , 結束讀寫位置)結束IP文本 = IP文本補位 (取十六進制文本 (取字節集數據 (取字節集左邊 (讀入字節集 (文件號, 7), 4), #整數型, )))結束IP數值 = 十六進制到十進制 (結束IP文本).如果真 (查詢值 ≥ 結束IP數值)  返回 (結束位置).如果真結束中間讀寫位置 = 基址 + (中間位置 - 1) × 7移動讀寫位置 (文件號, , 中間讀寫位置)中間IP文本 = IP文本補位 (取十六進制文本 (取字節集數據 (取字節集左邊 (讀入字節集 (文件號, 7), 4), #整數型, )))中間IP數值 = 十六進制到十進制 (中間IP文本).如果真 (查詢值 < 中間IP數值)  .如果真 (結束位置 - 初始位置 = 1)    返回 (初始位置)  .如果真結束  返回 (二分法確定位置 (文件號, 基址, 初始位置, 中間位置, 查詢值)).如果真結束.如果真 (查詢值 > 中間IP數值)  返回 (二分法確定位置 (文件號, 基址, 中間位置, 結束位置, 查詢值)).如果真結束.如果真 (查詢值 = 中間IP數值)  返回 (中間位置).如果真結束返回 (0).子程序 取地區文本, 文本型.參數 文件號, 整數型.參數 地區偏移, 整數型.局部變量 首字節集, 字節集.局部變量 偏移, 整數型.局部變量 國家記錄, 文本型.局部變量 地區記錄, 文本型.局部變量 長度, 整數型' 參考 //www.49028c.com/net/200504/4715.html移動讀寫位置 (文件號, , 地區偏移)首字節集 = 讀入字節集 (文件號, 1).判斷開始 (首字節集 = { 1 }) ' 模式1的國家記錄后面不會再有地區記錄  偏移 = 取字節集數據 (讀入字節集 (文件號, 3), #整數型, )  國家記錄 = 讀國家記錄 (文件號, 偏移, 長度)  偏移 = 偏移 + 長度  地區記錄 = 讀地區記錄 (文件號, 偏移).判斷 (首字節集 = { 2 }) ' 模式2的國家記錄后會有地區記錄  偏移 = 取字節集數據 (讀入字節集 (文件號, 3), #整數型, )  國家記錄 = 讀國家記錄 (文件號, 偏移, 長度)  偏移 = 地區偏移 + 4  地區記錄 = 讀地區記錄 (文件號, 偏移).默認  偏移 = 地區偏移  國家記錄 = 讀國家記錄 (文件號, 偏移, 長度)  偏移 = 偏移 + 長度  地區記錄 = 讀地區記錄 (文件號, 偏移).判斷結束.如果真 (到大寫 (刪首尾空 (地區記錄)) = “CZ88.NET”)  地區記錄 = “”.如果真結束.如果真 (地區記錄 = “” 且 國家記錄 ≠ “”)  返回 (國家記錄).如果真結束.如果真 (地區記錄 ≠ “” 且 國家記錄 = “”)  返回 (地區記錄).如果真結束.如果真 (國家記錄 = 地區記錄)  返回 (國家記錄).如果真結束返回 (國家記錄 + “ ” + 地區記錄).子程序 讀國家記錄, 文本型.參數 文件號, 整數型.參數 地區偏移, 整數型.參數 長度, 整數型, 參考, 記錄所占的長度.局部變量 首字節集, 字節集.局部變量 偏移, 整數型.局部變量 國家記錄, 文本型.局部變量 記錄長度, 整數型移動讀寫位置 (文件號, #文件首, 地區偏移)首字節集 = 讀入字節集 (文件號, 1).如果 (首字節集 = { 2 }) ' 第2次重定向一定是模式2  偏移 = 取字節集數據 (讀入字節集 (文件號, 3), #整數型, )  移動讀寫位置 (文件號, #文件首, 偏移)  首字節集 = 讀入字節集 (文件號, 1)  .如果 (首字節集 = { 2 } 或 首字節集 = { 1 }) ' 可能有錯誤,不管了    偏移 = 取字節集數據 (讀入字節集 (文件號, 3), #整數型, )    移動讀寫位置 (文件號, #文件首, 偏移)  .否則    ' 不是重定向    移動讀寫位置 (文件號, #現行位置, -1) ' 移動回去 上面讀過一字節數據了  .如果結束  國家記錄 = 讀入文本 (文件號, )  長度 = 4.否則  ' 不是重定向  移動讀寫位置 (文件號, #現行位置, -1) ' 移動回去 上面讀過一字節數據了  國家記錄 = 讀入文本 (文件號, )  記錄長度 = 取文本長度 (國家記錄)  長度 = 記錄長度 + 1.如果結束返回 (國家記錄).子程序 讀地區記錄, 文本型.參數 文件號, 整數型.參數 地區偏移.局部變量 首字節集, 字節集.局部變量 偏移, 整數型.局部變量 地區記錄, 文本型移動讀寫位置 (文件號, #文件首, 地區偏移)首字節集 = 讀入字節集 (文件號, 1).如果 (首字節集 = { 1 } 或 首字節集 = { 2 }) ' 對于地區記錄,模式1和模式2是一樣的  偏移 = 取字節集數據 (讀入字節集 (文件號, 3), #整數型, )  移動讀寫位置 (文件號, #文件首, 偏移)  首字節集 = 讀入字節集 (文件號, 1)  .如果 (首字節集 = { 1 } 或 首字節集 = { 2 }) ' 再來判斷下是否是重定向,安全第一    偏移 = 取字節集數據 (讀入字節集 (文件號, 3), #整數型, )    移動讀寫位置 (文件號, #文件首, 偏移)  .否則    ' 不是重定向    移動讀寫位置 (文件號, #現行位置, -1) ' 移動回去 上面讀過一字節數據了  .如果結束.否則  ' 不是重定向  移動讀寫位置 (文件號, #現行位置, -1) ' 移動回去 上面讀過一字節數據了.如果結束地區記錄 = 讀入文本 (文件號, )返回 (地區記錄).子程序 IP文本轉整數值, 長整數型.參數 IP文本, 文本型.局部變量 IP變量數組, 文本型, , "0".局部變量 十六進制IP文本, 文本型.局部變量 十進制值, 長整數型.局部變量 新ip, 文本型.局部變量 i, 整數型.局部變量 IP段, 文本型IP變量數組 = 分割文本 (IP文本, “.”, ).如果真 (取數組成員數 (IP變量數組) ≠ 4)  新ip = 轉換為IP地址 (IP文本)  IP變量數組 = 分割文本 (新ip, “.”, )  .如果真 (取數組成員數 (IP變量數組) ≠ 4)    返回 (0)  .如果真結束.如果真結束十六進制IP文本 = “”.計次循環首 (4, i)  IP段 = 取文本右邊 (“00” + 取十六進制文本 (到整數 (IP變量數組 [5 - i])), 2)  十六進制IP文本 = 十六進制IP文本 + IP段.計次循環尾 ()十進制值 = 十六進制到十進制 (倒轉十六進制文本 (十六進制IP文本))返回 (十進制值).子程序 十六進制到十進制, 長整數型.參數 十六進制文本, 文本型.局部變量 字節集, 字節集.局部變量 字節集長度, 整數型.局部變量 最終值, 長整數型.局部變量 i, 整數型, , , 中間循環變量.局部變量 臨時數值, 整數型, , , 每一位上的值字節集 = 到字節集 (到大寫 (十六進制文本))字節集長度 = 取字節集長度 (字節集).計次循環首 (字節集長度, i)  臨時數值 = 字節集 [字節集長度 - i + 1]  .如果真 (臨時數值 > 64 且 臨時數值 < 71) ' A=65 F=70    最終值 = 最終值 + (臨時數值 - 65 + 10) × 求次方 (16, i - 1)    到循環尾 ()  .如果真結束  最終值 = 最終值 + 到整數 (字符 (臨時數值)) × 求次方 (16, i - 1).計次循環尾 ()返回 (最終值) ' 本源碼來自易語言資源網(www.5A5X.com).子程序 倒轉十六進制文本, 文本型.參數 IP地址文本, 文本型.局部變量 計次變量, 整數型.局部變量 臨時文本, 文本型.局部變量 結果文本, 文本型臨時文本 = IP文本補位 (IP地址文本).計次循環首 (4, 計次變量)  結果文本 = 結果文本 + 取文本中間 (臨時文本, 8 - 計次變量 × 2 + 1, 2).計次循環尾 ()返回 (結果文本).子程序 IP文本補位, 文本型.參數 IP地址文本, 文本型.局部變量 文本長度, 整數型.局部變量 臨時文本, 文本型.局部變量 計次變量, 整數型臨時文本 = IP地址文本文本長度 = 取文本長度 (IP地址文本).如果真 (文本長度 < 8)  臨時文本 = 取重復文本 (8 - 文本長度, “0”) + 臨時文本.如果真結束返回 (臨時文本).子程序 十六進制文本到IP地址, 文本型.參數 IP文本, 文本型.局部變量 臨時文本, 文本型.局部變量 結果文本, 文本型.局部變量 計次變量, 整數型.局部變量 結果ip, 文本型, , "4".局部變量 IP地址, 文本型臨時文本 = IP文本補位 (IP文本).計次循環首 (4, 計次變量)  結果文本 = 取文本中間 (臨時文本, 1 + (計次變量 - 1) × 2, 2)  IP地址 = IP地址 + 到文本 (十六進制到十進制 (結果文本)) + “.”.計次循環尾 ()返回 (取文本左邊 (IP地址, 取文本長度 (IP地址) - 1))

以上就是全部代碼實例內容,需要的朋友們參考下。


注:相關教程知識閱讀請移步到易語言教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情欧美激情在线五月| 精品自在线视频| 欧美精品久久久久久久免费观看| 欧美精品制服第一页| 国产成人亚洲综合| 性欧美亚洲xxxx乳在线观看| 久久久久99精品久久久久| 日韩动漫免费观看电视剧高清| 欧美与黑人午夜性猛交久久久| 欧美精品制服第一页| 久久久久久久久久久免费| 欧美韩日一区二区| 欧美激情国产日韩精品一区18| 国产精品久久久久久久久| 国产精品96久久久久久| 欧美激情va永久在线播放| 欧美黑人巨大xxx极品| 高清欧美电影在线| 亚洲精品v天堂中文字幕| 国产精品日韩在线观看| 国产精品影片在线观看| 亚洲第一在线视频| 91精品国产沙发| 91中文字幕在线观看| 久久精品国产免费观看| 亚洲综合自拍一区| 1769国产精品| 亚洲国产精品久久91精品| 国产精品激情av电影在线观看| 成人免费在线视频网址| 亚洲free性xxxx护士hd| 国产99久久精品一区二区| 欧美日韩成人网| 国产精品中文久久久久久久| 超碰97人人做人人爱少妇| 亚洲男人天天操| 精品国产一区二区三区久久久| 日产精品99久久久久久| 亚洲偷熟乱区亚洲香蕉av| 久久久久久久国产精品视频| 日韩高清电影免费观看完整版| 日韩中文在线不卡| 国产精品一区二区三区久久久| 精品欧美一区二区三区| 欧美极品美女视频网站在线观看免费| 奇米影视亚洲狠狠色| 欧美亚洲免费电影| 好吊成人免视频| 亚洲欧美日韩天堂| 黄色一区二区在线| 国产一区二区动漫| 久久久久久av| 日韩一区在线视频| 欧美另类高清videos| 久久久久成人精品| 欧美另类在线观看| 成人黄色av网站| 久久人91精品久久久久久不卡| 精品小视频在线| 国产精品入口免费视| 国产精品丝袜久久久久久不卡| 欧美猛少妇色xxxxx| 国产精品91视频| 国产成人精品av在线| 精品欧美aⅴ在线网站| 日韩中文字幕亚洲| 久久综合国产精品台湾中文娱乐网| 日韩免费在线电影| 91九色国产社区在线观看| 欧美精品激情在线观看| 伊人久久大香线蕉av一区二区| 亚洲最大福利网站| 日韩av在线影视| 亚洲精品视频免费在线观看| 亚洲精品久久7777777| 国产精品丝袜视频| 亚洲无av在线中文字幕| 亚洲片国产一区一级在线观看| 欧美野外wwwxxx| 国产成人97精品免费看片| 成人中文字幕+乱码+中文字幕| 国产精品偷伦一区二区| 国产精品美女免费视频| 激情亚洲一区二区三区四区| 久热在线中文字幕色999舞| 日韩中文字幕在线精品| 日韩福利伦理影院免费| 亚洲一区二区三区香蕉| 久久久久久国产精品久久| 国产欧美一区二区三区久久| 日韩欧美主播在线| 久久国产精品影视| 最新中文字幕亚洲| 午夜精品一区二区三区在线视| 亚洲国产精品99| 亚洲最大成人在线| 欧美精品在线免费播放| 日韩欧美国产网站| 97成人精品视频在线观看| 欧美日韩亚洲激情| 亚洲欧洲中文天堂| 久久久久久久久91| 亚洲精品自拍第一页| 国产在线拍揄自揄视频不卡99| 亚洲mm色国产网站| 亚洲免费人成在线视频观看| 成人黄色在线播放| 亚洲国产日韩欧美在线动漫| 日韩亚洲一区二区| 亚洲国产精品专区久久| 热久久视久久精品18亚洲精品| 日韩大片在线观看视频| 羞羞色国产精品| 亚洲精品成人av| 日韩国产激情在线| 欧美高清视频在线播放| 久久视频在线播放| 欧美亚洲成人精品| 日韩毛片中文字幕| 97人洗澡人人免费公开视频碰碰碰| 久久影视电视剧免费网站清宫辞电视| 精品一区精品二区| 精品magnet| 国产精品免费观看在线| 成人h猎奇视频网站| 国产精品久久久久久久久久小说| 久久精品精品电影网| 日本精品免费观看| 亚洲成人黄色网| 亚洲天堂av高清| 九九久久综合网站| 日韩精品福利网站| 欧美黄色小视频| 亚洲精品456在线播放狼人| 久久躁狠狠躁夜夜爽| 中文字幕亚洲综合| 亚洲国产精品999| 欧美国产精品va在线观看| 亚洲欧美激情另类校园| 亚洲无亚洲人成网站77777| 国产精品欧美日韩| 久久香蕉精品香蕉| 韩国精品久久久999| 亚洲美女黄色片| 亚洲欧美中文字幕| 色七七影院综合| 欧美xxxx18性欧美| 国产精品美女在线| 久久青草福利网站| 久久伊人精品视频| 精品欧美一区二区三区| 好吊成人免视频| 神马久久桃色视频| 91成人天堂久久成人| www.久久色.com| 91国语精品自产拍在线观看性色| 日韩亚洲一区二区| 国产脚交av在线一区二区| 欧美性生活大片免费观看网址| 国产专区欧美专区| 青青精品视频播放| 日韩美女视频免费看| 日韩激情av在线免费观看| 国内精品视频一区|