国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 易語言 - 易語言讀取QQWary地理位置方法

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

2022-02-27 16:49易語言教程網 易語言

小編在本文中整理了關于易語言讀取QQWary地理位置方法內容,需要的可以收藏一下。

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
.版本 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.jfrwli.cn/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))

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

延伸 · 閱讀

精彩推薦
  • 易語言易語言設置進度條邊框樣式的方法

    易語言設置進度條邊框樣式的方法

    今天小編就為大家分享一篇關于易語言設置進度條邊框樣式的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊4422022-01-20
  • 易語言實例操作易語言載入窗口

    實例操作易語言載入窗口

    在本文中小編給大家整理的是關于易語言載入窗口的教程和步驟內容,需要的可以跟著學習下...

    易語言教程網19162022-03-02
  • 易語言一步一步跟我學易語言之關于變量

    一步一步跟我學易語言之關于變量

    今天小編就為大家分享一篇關于一步一步跟我學易語言之關于變量,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨...

    易語言幫助手冊10822021-06-17
  • 易語言易語言獲取指定磁盤的名稱

    易語言獲取指定磁盤的名稱

    今天小編就為大家分享一篇關于易語言獲取指定磁盤的名稱,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來...

    易語言幫助手冊12662022-01-04
  • 易語言易語言生成exe文件的方法

    易語言生成exe文件的方法

    在本篇內容中小編給大家分享的是關于易語言生成exe文件的方法知識點,需要的朋友們參考下。...

    易語言教程網14792022-03-01
  • 易語言易語言關于程序進程和線程的基礎知識

    易語言關于程序進程和線程的基礎知識

    今天小編就為大家分享一篇關于易語言關于程序進程和線程的基礎知識,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起...

    三葉資源網6662022-02-24
  • 易語言易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏

    今天小編就為大家分享一篇關于易語言在畫板中寫出指定文本當畫板中已滿會自動滾屏,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,...

    易語言幫助手冊9092022-01-12
  • 易語言一步一步跟我學易語言之第二個易程序菜單設計

    一步一步跟我學易語言之第二個易程序菜單設計

    今天小編就為大家分享一篇關于的一步一步跟我學易語言之第二個易程序菜單設計,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要...

    易語言幫助手冊7092021-06-17
主站蜘蛛池模板: 欧美精品日韩 | av网址在线播放 | 午夜亚洲 | 久久社区 | 亚洲精品日韩精品 | 欧美日韩亚洲成人 | 国产精品亚洲精品 | 性高湖久久久久久久久aaaaa | 欧美天堂在线观看 | 免费欧美一级 | 国产精品亚洲第一区在线暖暖韩国 | 亚洲国产色视频 | 久久久久久久成人 | 青草国产 | 国产精品久久久久久久美男 | av免费网站 | 中文亚洲字幕 | 日本视频中文字幕 | 色综合久久一区二区三区 | 欧美在线一区二区三区 | www.一区二区 | 国产精品视频免费观看 | 久久久久久国产精品高清 | 亚洲成年人网站在线观看 | av手机在线播放 | 亚洲久久| 亚洲久久久久久 | 人人澡人人爽 | 久久久精品网 | 黄色a视频在线观看 | 国产成人在线视频 | 国产一级黄色av | 中文久久久久 | 一区二区三区视频在线观看 | 91精品国产视频 | porn在线| 亚洲精品一区二区三区不 | 国产成人免费 | 久久久久久91亚洲精品中文字幕 | 成人黄色av | 欧美精品一区在线 |