n_SetDirection -60 CDGen_FowardDraw 0.7 CDGen_MoveToMiddle 3, 50 CDGen_SetDirection 90 CDGen_FowardDraw 0.7 CDGen_FowardDraw -1.4 CDGen_SetDirection -60 CDGen_FowardDraw 0.7 CDGen_Close 0 Case "R" CDGen_SetDirection -180 CDGen_FowardDraw 1.5 CDGen_SetDirection 110 CDGen_FowardDraw 0.6 CDGen_SetDirection 70 CDGen_FowardDraw 0.4 CDGen_CloseToMiddle 0,55 CDGen_MoveToMiddle 0,40 CDGen_SetDirection -50 CDGen_FowardDraw 1.5 Case "S" Case "T" CDGen_SetDirection 180 CDGen_FowardDraw 2.0 CDGen_SetDirection 90 CDGen_FowardDraw 0.9 CDGen_FowardDraw -1.8 Case "U" Case "X" CDGen_SetDirection -135 CDGen_FowardDraw 3.0 CDGen_MoveToMiddle 0,30 CDGen_SetDirection -90 CDGen_FowardDraw 1.5 CDGen_FowardDraw -3.0 Case "Y" CDGen_FowardDraw -3.0 CDGen_SetDirection -135 CDGen_FowardDraw 2.0 CDGen_MoveCursor 1 CDGen_SetDirection -90 CDGen_FowardDraw 2.0 Case "Z" CDGen_SetDirection -90 CDGen_FowardDraw 2.0 CDGen_MoveCursor 0 CDGen_SetDirection -45 CDGen_FowardDraw 3.0 CDGen_SetDirection 45 CDGen_FowardDraw -2.0 End select CDGen_Flush X0, Y0 End Sub Sub CDGen_Blur() ' 对产生的位图进行柔化处理 Dim i, j For j = 1 To PicHeight - 2 For i = 1 To PicWidth - 2 If Buf(j, i) = 0 Then If ((Buf(j, i - 1) Or Buf(j + 1, i)) And 1) <> 0 Then ' 如果当前点是空白点,且上下左右四个点中有一个点是有色点,则该点做柔化处理 Buf(j, i) = 2 End If End If Next Next End Sub Sub CDGen_NoisyLine() Dim i For i=1 To nNoisyLineCount CDGen_Line Rnd * PicWidth, Rnd * PicHeight, Rnd * PicWidth, Rnd * PicHeight Next End Sub Sub CDGen_NoisyDot() ' 对产生的位图进行噪点处理 Dim i, j, NoisyDot, CurDot For j = 0 To PicHeight - 1 For i = 0 To PicWidth - 1 If Buf(j, i) <> 0 Then If Rnd < nColorNoisyDotOdds Then Buf(j, i) = 0 Else Buf(j, i) = nSaturation End If Else If Rnd < nBlankNoisyDotOdds Then Buf(j, i) = nSaturation Else Buf(j, i) = 0 End If End If Next Next End Sub Sub CDGen() ' 生成位图阵列 Dim i, Ch, w, x, y DigtalStr = "" CDGen_Clear w = nImgWidth / nCharCount For i = 0 To nCharCount - 1 nPixelWidth = w * (1 + (Rnd * 2 - 1) * nCharWidthRandom / 100) nPixelHeight = nImgHeight * (1 - Rnd * nCharHeightRandom / 100) x = nSpaceX + w * (i + (Rnd * 2 - 1) * nPositionXRandom / 100) y = nSpaceY + nImgHeight * (Rnd * 2 - 1) * nPositionYRandom / 100 Ch = Mid(cCharSet, Int(Rnd * Len(cCharSet)) + 1, 1) DigtalStr = DigtalStr + Ch CDGen_Char Ch, x, y Next CDGen_Blur CDGen_NoisyLine CDGen_NoisyDot End Sub Function HSBToRGB(vH, vS, vB) ' 将颜色值由HSB转换为RGB Dim aRGB(3), RGB1st, RGB2nd, RGB3rd Dim nH, nS, nB Dim lH, nF, nP, nQ, nT vH = (vH Mod 360) If vS > 100 Then vS = 100 ElseIf vS < 0 Then vS = 0 End If If vB > 100 Then vB = 100 ElseIf vB < 0 Then vB = 0 End If If vS > 0 Then nH = vH / 60 nS = vS / 100 nB = vB / 100 lH = Int(nH) nF = nH - lH nP = nB * (1 - nS) nQ = nB * (1 - nS * nF) nT = nB * (1 - nS * (1 - nF)) select Case lH Case 0 aRGB(0) = nB * 255 aRGB(1) = nT * 255 aRGB(2) = nP * 255 Case 1 aRGB(0) = nQ * 255 aRGB(1) = nB * 255 aRGB(2) = nP * 255 Case 2 aRGB(0) = nP * 255 aRGB(1) = nB * 255 aRGB(2) = nT * 255 Case 3 aRGB(0) = nP * 255 aRGB(1) = nQ * 255 aRGB(2) = nB * 255 Case 4 aRGB(0) = nT * 255 aRGB(1) = nP * 255 aRGB(2) = nB * 255 Case 5 aRGB(0) = nB * 255 aRGB(1) = nP * 255 aRGB(2) = nQ * 255 End select Else aRGB(0) = (vB * 255) / 100 aRGB(1) = aRGB(0) aRGB(2) = aRGB(0) End If HSBToRGB = ChrB(Round(aRGB(2), 0)) & ChrB(Round(aRGB(1), 0)) & ChrB(Round(aRGB(0), 0)) End Function Sub CreatValidCode(pSN) Dim i, j, CurColorHue '---------------------------- 输出头换到这里 ' 禁止缓存 'Response.Expires = -9999 Response.buffer=true Response.ExpiresAbsolute = Now() - 1 Response.Expires = 0 Response.CacheControl = "no-cache" Response.AddHeader "Pragma","no-cache" Response.AddHeader "cache-ctrol","no-cache" Response.ContentType = "Image/BMP" Randomize nCharCount = nCharMin + CInt(Rnd * (nCharMax - nCharMin)) PicWidth = nImgWidth + 2 * nSpaceX PicHeight = nImgHeight + 2 * nSpaceY '------------------------------------------- CDGen Session(pSN) = DigtalStr '记录入Session Dim FileSize, PicDataSize PicDataSize = PicWidth * PicHeight * 3 FileSize = PicDataSize + 54 ' 输出BMP文件信息头 Response.BinaryWrite ChrB(66) & ChrB(77) & ChrB(FileSize Mod 256) & ChrB((FileSize \ 256) Mod 256) & ChrB((FileSize \ 256 \ 256) Mod 256) & ChrB(FileSize \ 256 \ 256 \ 256) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) ' 输出BMP位图信息头 Response.BinaryWrite ChrB(40) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(PicWidth Mod 256) & ChrB((PicWidth \ 256) Mod 256) & ChrB((PicWidth \ 256 \ 256) Mod 256) & ChrB(PicWidth \ 256 \ 256 \ 256) & ChrB(PicHeight Mod 256) & ChrB((PicHeight \ 256) Mod 256) & ChrB((PicHeight \ 256 \ 256) Mod 256) & ChrB(PicHeight \ 256 \ 256 \ 256) & ChrB(1) & ChrB(0) & ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(PicDataSize Mod 256) & ChrB((PicDataSize \ 256) Mod 256) & ChrB((PicDataSize \ 256 \ 256) Mod 256) & ChrB(PicDataSize \ 256 \ 256 \ 256) & ChrB(18) & ChrB(11) & ChrB(0) & ChrB(0) & ChrB(18) & ChrB(11) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) ' 逐点输出位图阵列 If nColorHue = -1 Then CurColorHue = rndcolor() ElseIf nColorHue <> -2 Then CurColorHue = nColorHue End If For j = 0 To PicHeight - 1 For i = 0 To PicWidth - 1 If nColorHue = -2 Then Response.BinaryWrite HSBToRGB(0, 0, 100 - Buf(PicHeight - 1 - j, i)) Else Response.BinaryWrite HSBToRGB(CurColorHue, Buf(PicHeight - 1 - j, i), 100) End If Next Next End Sub Function rndcolor() Dim ci ci=Int(Rnd * 360) While Not (((int(ci) > 1) And (int(ci) < 40)) Or ((int(ci) > 220) And (int(ci) < 360))) ci=Int(Rnd * 360) Wend rndcolor=ci End Function '----------------------------------- Public Function Rndcode(OBASN) Dim sSql,rs sSql="select top 1 * From Oblog_Verifiydata " If CBool(Is_Sqldata) Then sSql= sSql & " Order By Newid()" Else Randomize sSql= sSql & " Order By Rnd(-(ID+"&Rnd()&"))" End If link_database() Set rs=conn.Execute (sSql) If Not (rs.eof Or rs.bof) Then session("OblogGetCode2_ask_"&OBASN)=rs("ask") Session("GetCode"&OBASN)=rs("answer") Else session("OblogGetCode2_ask_"&OBASN)="随记问题数据库内没有随记问题数据!" Session("GetCode"&OBASN)=md5(Now()) End If Set rs=Nothing conn.close Set conn=Nothing End Function %> q3yx樄逞馎! v攮置俺nウ詍鬡>岏y9BP\壺*cdK}A赩墨O(+#D濙纑[^m縿匘L,⒛崍掟暒絉邞敥8渕1堰输箚f穧歞趔潒 Sz蜊助罋;Gv{=DPt閰劜=駗S]簁>悝驩铳e牒{峿合巳>A傡`/={2唝V器8W9!匪k殪ke蹽倯璥!HS:熋U 份I'謦1-鱜朞傌撌3禴?聣<飼惎z俑硷f泠H6羑僋Z奌椊_E;暡{,=蠒6稚:@3饕K9%|)2a篒n)ex]刐处扒2}q摀.A-f) 鵲?^蟖%g1潘塑壨b1%S砋/揥齀鮳墅齶礚g..E)黏t;i锌 '犆禧=\v鰴3猗~3陣8 鈲0D綐赎(Arn*Ⅺ:m4<% Sub EchoInput(ctlName,ctlLen,ctlMaxLen,ctlValue) If ctlMaxLen<>"" Then ctlMaxLen="maxlength=""" & ctlMaxLen & """" %> /> <% End Sub Sub EchoRadio(ctlName,ctlStr1,ctlStr2,ctlValue) If ctlStr1="" Then ctlStr1="否" If ctlStr2="" Then ctlStr2="是" '如果未指定,则默认为否 If ctlValue="" Then ctlValue="0" %> /><%=ctlStr1%>  /><%=ctlStr2%>  <% End Sub Function MakeValidJs(sForm,sFunction,sValidCtl) Dim sRet sRet="" Response.Write vbcrlf & sRet End Function Function JsValid(sForm,sCtl,cType,c1,c2,sNote) Dim sRet select Case cType Case "1" 'text '限制长度 sRet="if (document."&sForm&"."&sCtl&".value.length<" & c1 & "||document."&sForm&"."&sCtl&".value.length>" &c2 &")" & vbcrlf sRet= sRet & "{" & vbcrlf sRet= sRet & " alert("""& sNote &"\n长度大于" & c1 & "且小于" & c2 & """);"& vbcrlf sRet= sRet & " document."&sForm&"."&sCtl&".focus();"& vbcrlf sRet= sRet & " return false;"& vbcrlf sRet= sRet & " }"& vbcrlf Case Else sRet="if (document."&sForm&"."&sCtl&".value.length=="""")" & vbcrlf sRet= sRet & "{" & vbcrlf sRet= sRet & " alert("""& sNote &""");"& vbcrlf sRet= sRet & " document."&sForm&"."&sCtl&".focus();"& vbcrlf sRet= sRet & " return false;"& vbcrlf sRet= sRet & " }"& vbcrlf End select JsValid=sRet End Function %>F决姾Dv幆丞/覶諤淃⒅烦暥9 udSz雞鸻珐/b1勁劲輂惘H3x3`耵悀?枎壜邢櫁耐蜠O*硃rpe埝 κr {騣"s /焧H`]趠$\咮vLph沿C c乽M灡w揹分x6<縤嶜绹n}S3蟱伏 Ο撟Jk`嵽檐mC茰O駏飠O|仹1;爛鉇o牽觓` 孱潢-3驞< k*涵戶"抙Zz刮t/d~&UgG8T@媿ドj庱.侯! 鑁砵I[(鹅蓬1Ыも瑗'*晉硩鉿礻Ao顁尥u婋P懛索宊 宪Y_A~熨I飝鑐 喍u &谐塖铰Y聟扔 N蕷 糮H]ST7#H涤歱襶护DI撼拒x鷞n{橆瘒韅i青8u羧.沟0{歈宂倮:vE檯阕MV鄔形排9X洎灥蜼f枊嗟景] 峓脕5Tl骛:嬫Nr筕-4顆E俁4〢mp/廭櫾 鷦N謫-鞰f媞#=n玼m搩观?A硗*^F,蛝%S <鑿L嚦h=撚'v8t魸6籊蝁 7隙E邬 竭s豓<鄚雗楟L螊緥澤8k耉椏饣@PT]牖谵彠跂<Y悇cn舉w擮3~緙嘧蛙猩跣鼤狄bY<马勻2耀y藢鞠筆D,橱灮濞J厖\0黥3,1+ "\$响*Y'Y熒[翊7陴r^拶e wm陁4淼44\楦XE轴1 j詉i条砸>葋K款n漸埰犀騻囗n@";翛cd锈B佯g袡Y} x炄t翚!c0僬娢劖 5 p倆O?k実G-驜4镟+D摩C焟0峪>y剂N5槜6 Ζ[渹磌鰆IQY裃泊+1詇岨R偨▅札k隬[j喔硳烻 粌M"CdI 2覽<}呗猵薚<豓 毟u凟皽认l秄x{Y葂'"謱:亴:加誹U&厣nf{糳垻!=缗_壿遀?遭 缎 塾t螙堄⿱闫焵閾釭春zj躛瞓IdZ黦澍PC漎斜8蹛)帙B牼瑴\wD!蚭Bj釡郊Dt鞳cK薺 癔Ed^嘚}n櫮矯僁+刈W%掦W芸7`廵祋a縳<螡畔.Nz粪碝⒉2塯毊,(〒烻u=n5,赎貍劖偭B禟N>诚k纪鰃%惘@厵氡垥段ks蟍k I.礈i舃9"!绻Z忬M7讖席~ Mm那毘搤q#拴混鴺蘿?穾乂觾tZ薶X!驕9+ 毤/LZM蒠䅟犩躁U纂P虾*歑楮畔湏l!鐍i磦惊糍= 戬0+!0X÷w@拮Ja.f篠隿譭 q▔坐y洿瘷篙^螓〉*I蚉执 媗3]v鏿豐$啎麩)溘輓 5慺-/2 ?DZ羬:m牿鬮QE+ubl$傅豵 ]8\B!摞蹼渥Yl署铼5肬B飕<1e %W驤碆谋瞞V傜j丩绅u焅尚芶N揫Qil寒瓹= 昚-7Q迧819X3Q 矻眽b茨ッonClick=Crm()> Media Player视频文件 引用 <%End If%> 妞dcG]mm儱h搱f广S縤j骆乵鶮 碓鴜蟝 -5坓D]6娗=捌簂吕o釶阈cY仳吞j峱浮OG陮隇i馄J嶵菿从賨糡@浡澻已K/=4!!n_1p鋕溾畓y薇C禗鸮糗x'业56=jM肬戹8-`$网蹜.菿籖礊k$湓37袪姹t斫T机[(WOh懡敐8M蒚z诰闰sR浵b审v缭)9 袝>遶榊颷w`4#x瞍/柣椽箙e T簼槲嫜浩熂.,!%c'巉訇k觺N#.殴R岙5搸傁 蟰瞉T5囦曐劊K卭詫3蔐(LC6h秛涜勬驒i)郕7[鐬蕙崔盤藧4璧庇B珽>镐g甛X缙砪賝侇wC諞]茋U82/I$鬈 S WE[饛3鑥雭鸝|7'Zk镟N螊﹑] n鼑n閭 p|3] {"餁P吶a敼譓? 擃!t疽$wE 1甔规'樸-鹋蕠 n#蒲P苳q刷眨惧sm猎{{B揞獺 K出0&~I剧頦 "v8靵贅⒈OH邯粑1$ 8澩埏h烵G畭a鞗喆P玌T6!>4睞垨I1漋v瑮L葔Y纈84畈下蹿6435:9礡,=潝}怢8牝:?f遲\怍悝5l馤勺o=A,"埕黤G纘>讵 H焴)2N45菗4-g晼讵4磼O婧-9锐引5近C&1 ヂg=K颻淧<#q9薃#挦/数95 隲-|翔1 碎沭L汅爚/ts }蜗y氪j?B4飇1?M}:.鑾幌Y鏤K鵋諠P蚎襀"(B"#D衫8N萈 !g3 鈍"@2`x 僝鯒韂浲鱴;/W庯蓦?憋+头hNGFZ+馮事柁)K嘦瀅3槂*Oc鉼.V舳諾,2幙―C幬!!琚b嵁I蓬醻璪秩&.N歧'鳯揊燏x牃U跟铪q 7^ 1鸠槆Y鲶e鸻T銤#iOmnZ宵PP踸蘚曭on滤鴖:?髆&蕟撒ctQ罠@cν嶟洓蝐礗%<驂,B^妟醧舕S:^籴D氜U椖v8唭0 煋W(MG +s*刏稪f圜]#{俜J薂掗欆 N鼸W+D鼝SZ 芈澷_*y瀖3jtK |枟鴫/-靖y鼛x3a咓<孺6K-_媜捄墽壷繎pV僌桼猏嶗谕v摢"瞓■皢S黮莈y4/熎x汣PB?K?~軛 萶3葝S黄阰oCF溇S蛔/B噯嶔@氨仛izN鏓忆鑜嚐畸F狱J5$2捔騫蜞)`r\龤玙l碜=潀s _o"4;;`?騚/x.慇ZN~瞃 嫣籜s)硸'钞!搈糫wIY_$Fc頮%媫WGk&}/鑒0LM"6z肥僺%_2剧 艛,'s'※1衆=#鱆楅a/R"淘垆a竅紤鉶殁O晁}齪a?p>亏G#}┛ǹ鸎;鷩昊-_昱濤f巭OV矒応B麸訃鼅?徢泷~?徢泷~?徢泷M$扜泷齥=8疈W縍BZ W+礋W滭! 缯R:Q闦G7骱Q鈀9鷂~$%p俽}"嗫㩳扜>9啁品搂齵焭縣z壁$渠倾聒鼅?涌忛唛倾聒鼅?応秝a嫱"f铪欢?F5v銃O宴傛G荢` 韭OI:矚#sN+T套6R!$n*$惵E4E社7蘯靛Lm簞90;e⿵熕 :J焕y怣鄃m戤莕 ュ揗醍:j-\>[徃a#閮愓(vⅸ_岇>+巋=垣Z@駔"蛲觵┿襃 4运m袑杫[ 9!悩V 踨4甕2`7窗BSΦvKk亠<4頌)KN繰!{㏄-夯2QH0;,竲焬%g瑳 5L^捸9Ik$6>8Vo#=纻S5W眕轀.Y,+~棿靻Zck梴ゥ3|社5N惀55觍t\k<$p|熐鶄u/L >nfjE(鬪帍r>!蚜k錪H{昍D U喊両_<q鐋錥厘Ggd鄴<鑐砳B袦7I延瑲-m厼dZhq鉵3徘<&撦戟qV匧堀濤綱F賷|㘎0M鯕6;発:v卖鎯X!鈹竐20 梓剄t憷Wwt/a涶*&)褦晝0B绢B,鏝i叄嚻 苐拎铕比+卣纘啍DījE,DчУT鱋*?矯鳀腷坂*錛o憰 y鐵L55 茝鳐鑞X ,CE 踩&駒殯戱螫w)N砙麳"!!~G]<% '-------------------------------------------------------------------- '转发时请保留此声明信息,这段声明不并会影响你的速度! '******************* 无惧上传类 V1.0 ******************************* '作者:梁无惧 '网站:http://www.25cn.com '电子邮件:yjlrb@21cn.com '版权声明:版权所有,源代码公开,各种用途均可免费使用,但是修改后必须把修改后的文件 '发送一份给作者. '上传类强化记录 '修改者:Fssunwin '添加以下属性: 'InceptFileType 允许上传的文件类型,以英文逗号“,”分隔。 '添加以下方法: 'FileWidth 图片宽度 'FileHeight 图片高度 '********************************************************************* Dim oUpFileStream Class UpFile_Class Public Form,File,Version,Err Private CHK_FileType,CHK_MaxSize Private Sub Class_Initialize Version = "无惧上传类 Version V1.0" Err = -1 CHK_FileType = "" CHK_MaxSize = -1 Set Form = Server.CreateObject ("Scripting.Dictionary") Set File = Server.CreateObject ("Scripting.Dictionary") Set oUpFileStream = Server.CreateObject (oblog.CacheCompont(2)) Form.CompareMode = 1 File.CompareMode = 1 oUpFileStream.Type = 1 oUpFileStream.Mode = 3 oUpFileStream.Open End Sub Private Sub Class_Terminate '清除变量及对像 Form.RemoveAll Set Form = Nothing File.RemoveAll Set File = Nothing oUpFileStream.Close Set oUpFileStream = Nothing End Sub Public Property Get InceptFileType InceptFileType = CHK_FileType End Property Public Property Let InceptFileType(Byval vType) CHK_FileType = vType End Property Public Property Get MaxSize MaxSize = CHK_MaxSize End Property Public Property Let MaxSize(vSize) If IsNumeric(vSize) Then CHK_MaxSize = Int(vSize) End Property Public Sub GetDate() '定义变量 Dim RequestBinDate,sSpace,bCrLf,sInfo,iInfoEnd,tStream,iStart,oFileInfo Dim sFormValue,sFileName,sFormName,RequestSize Dim iFindStart,iFindEnd,iFormStart,iFormEnd,FileBlag '代码开始 RequestSize = Int(Request.TotalBytes) If RequestSize < 1 Then Err = 1 Exit Sub End If Set tStream = Server.CreateObject (oblog.CacheCompont(2)) oUpFileStream.Write Request.BinaryRead (RequestSize) oUpFileStream.Position = 0 RequestBinDate = oUpFileStream.Read iFormEnd = oUpFileStream.Size bCrLf = ChrB (13) & ChrB (10) '取得每个项目之