2006年05月17日

‘创建多级目录,可以创建不存在的根目录
‘参数:要创建的目录名称,可以是多级
‘返回逻辑值,True成功,False失败
‘创建目录的根目录从当前目录开始
‘—————————————————
Function CreateMultiFolder(ByVal CFolder)
Dim objFSO,PhCreateFolder,CreateFolderArray,CreateFolder
Dim i,ii,CreateFolderSub,PhCreateFolderSub,BlInfo
BlInfo = False
CreateFolder = CFolder
On Error Resume Next
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If Err Then
Err.Clear()
Exit Function
End If
CreateFolder = Replace(CreateFolder,"","/")
If Left(CreateFolder,1)="/" Then
CreateFolder = Right(CreateFolder,Len(CreateFolder)-1)
End If
If Right(CreateFolder,1)="/" Then
CreateFolder = Left(CreateFolder,Len(CreateFolder)-1)
End If
CreateFolderArray = Split(CreateFolder,"/")
For i = 0 to UBound(CreateFolderArray)
CreateFolderSub = ""
For ii = 0 to i
CreateFolderSub = CreateFolderSub & CreateFolderArray(ii) & "/"
Next
PhCreateFolderSub = Server.MapPath(CreateFolderSub)
If Not objFSO.FolderExists(PhCreateFolderSub) Then
objFSO.CreateFolder(PhCreateFolderSub)
End If
Next
If Err Then
Err.Clear()
Else
BlInfo = True
End If
CreateMultiFolder = BlInfo
End Function

‘使用方法:

Response.Write CreateMultiFolder("/upload/2005/3/26/") &"<br>"

Response.Write CraeteMultiFolder("upload2005326")

‘函数的返回值为True(成功)或False(失败,可以是主机不支持FSO功能)

form chinahtml

2006年05月02日

select * from 表名
where instr(‘,’&bjid&’,’ ,’,3,’)>0

字段bjid里是这样形式存放的:1,2,3,4
现在想取出bjid中存在3的数据,大家有什么好方法

不想用这样的:
先全部读出:select * from 表名
然后再进行切割比较:Split(rs("bjid"))………….
这样做就要对每个数据一个一个读出来了
有没有比这个好点的。

FROM IM286

2006年03月22日

在程序流程中经常要延时一段时间后再继续往下执行,在VB中常用的有以下几种方法(因为Timer控件打乱了程序的流程所以一般不用它):

1.使用Windows API函数Sleep

新建一个工程,添加一个TextBox控件和一个CommandButton控件,再将以下代码复制到代码窗口:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 
Private Sub Command1_Click()
Text1 = "sleep begin"
Sleep 3000
Text1 = "sleep end"
End Sub

按F5执行,按下Command1按钮,程序停止执行,3秒钟内不对用户的操作做出反应,并且Text1里的内容并没有发生改变。这是怎么回事呢?原来,Sleep函数功能是将调用它的进程挂起dwMilliseconds毫秒时间,在这段时间内,此进程不对用户操作做出反应,程序中虽然将Text1的Text属性改成Sleep begin,但还没等完成对屏幕的更新进程就被挂起了,对用户来说程序象是死机一样。所以这种方法虽然简单,但并不适用。

2.使用Timer()函数

这是用的最多的一种方法,也是在VB联机手册中所推荐的。添加一个CommandButton控件,再将以下代码添加到代码窗口中:

Private Sub Command2_Click()
Dim Savetime As Single
Text1 = "Timer begin"
Savetime = Timer ’记下开始的时间
While Timer < Savetime + 5 ’循环等待
DoEvents ’转让控制权,以便让操作系统处理其它的事件
Wend
Text1 = "Timer ok"
End Sub

这种方法虽然也很简单,但却有有一个致命缺陷,那就是Timer函数返回的是从午夜开始到现在经过的秒数。所以Timer返回的最大值也只是60*60*24-1秒,如果从一天的23:59:58秒开始计时等待5秒,那么程序会永远地循环下去。要进行改良,就要加上判断是否又开始了新的一天,那岂不是太麻烦。下面给大家推荐另一个Windows API函数。

3.使用Windows API函数timeGetTime()

timeGetTime函数没有参数,返回值是从开机到现在所经历的毫秒数,这个毫秒数是非周期性递增的,所以不会出现Timer()函数出现的问题,而且这种方法的精确性高于上一种方法。添加一个CommandButton控件,再将以下代码添加到代码窗口中:

Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Sub Command3_Click()
Dim Savetime As Double
Text1 = "timeGetTime begin"
Savetime = timeGetTime ’记下开始时的时间
While timeGetTime < Savetime + 5000 ’循环等待
DoEvents ’转让控制权,以便让操作系统处理其它的事件
Wend
Text1 = "timeGetTime end"
End Sub

按F5执行程序,按这几个按钮,您可以感受一下这几种方法的优劣。

2006年03月19日
<%
Call Com_CreatValidCode("ValidCode")
Sub Com_CreatValidCode(pSN)
Response.Expires = -9999
Response.AddHeader "Pragma","no-cache"  
Response.AddHeader "cache-ctrol","no-cache"
Response.ContentType = "Image/BMP"  
Randomize  
Dim i, ii, iii   
Const cOdds = 8 ‘ 杂点出现的机率   
Const cAmount = 10 ‘ 文字数量   
Const cCode = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"  
‘ 颜色的数据(字符,背景)  
Dim vColorData(1)   
vColorData(0) = ChrB(0) & ChrB(0) & ChrB(255) ‘ 蓝0,绿0,红0(黑色)
vColorData(1) = ChrB(235) & ChrB(235) & ChrB(235) ‘ 蓝250,绿236,红211(浅蓝色)  
‘ 随机产生字符   
Dim vCode(4), vCodes  
  For i = 0 To 3     
   vCode(i) = Int(Rnd * cAmount)   
     vCodes = vCodes & Mid(cCode, vCode(i) + 1, 1)   
Next   
Session(pSN) = vCodes ‘记录入Session  

‘ 字符的数据   
Dim vNumberData(35)   
vNumberData(0) = "1110000111110111101111011110111101001011110100101111010010111101001011110111101111011110111110000111"   
vNumberData(1) = "1111011111110001111111110111111111011111111101111111110111111111011111111101111111110111111100000111"  
  vNumberData(2) = "1110000111110111101111011110111111111011111111011111111011111111011111111011111111011110111100000011"  
  vNumberData(3) = "1110000111110111101111011110111111110111111100111111111101111111111011110111101111011110111110000111"   
vNumberData(4) = "1111101111111110111111110011111110101111110110111111011011111100000011111110111111111011111111000011"   
vNumberData(5) = "1100000011110111111111011111111101000111110011101111111110111111111011110111101111011110111110000111"  
  vNumberData(6) = "1111000111111011101111011111111101111111110100011111001110111101111011110111101111011110111110000111"   
vNumberData(7) = "1100000011110111011111011101111111101111111110111111110111111111011111111101111111110111111111011111"  
  vNumberData(8) = "1110000111110111101111011110111101111011111000011111101101111101111011110111101111011110111110000111"  
  vNumberData(9) = "1110001111110111011111011110111101111011110111001111100010111111111011111111101111011101111110001111"   
vNumberData(10) = "1111011111111101111111101011111110101111111010111111101011111100000111110111011111011101111000100011"  
  vNumberData(11) = "1000000111110111101111011110111101110111110000111111011101111101111011110111101111011110111000000111"   
vNumberData(12) = "1110000011110111101110111110111011111111101111111110111111111011111111101111101111011101111110001111"  
  vNumberData(13) = "1000001111110111011111011110111101111011110111101111011110111101111011110111101111011101111000001111"  
  vNumberData(14) = "1000000111110111101111011011111101101111110000111111011011111101101111110111111111011110111000000111"  
  vNumberData(15) = "1000000111110111101111011011111101101111110000111111011011111101101111110111111111011111111000111111"  
  vNumberData(16) = "1110000111110111011110111101111011111111101111111110111111111011100011101111011111011101111110001111"
   vNumberData(17) = "1000100011110111011111011101111101110111110000011111011101111101110111110111011111011101111000100011"
   vNumberData(18) = "1100000111111101111111110111111111011111111101111111110111111111011111111101111111110111111100000111"  
  vNumberData(19) = "1110000011111110111111111011111111101111111110111111111011111111101111111110111110111011111000011111"  
  vNumberData(20) = "1000100011110111011111011011111101011111110001111111010111111101101111110110111111011101111000100011"  
  vNumberData(21) = "1000111111110111111111011111111101111111110111111111011111111101111111110111111111011110111000000011"  
  vNumberData(22) = "1000100011110010011111001001111100100111110101011111010101111101010111110101011111010101111001010011"  
  vNumberData(23) = "1000100011110011011111001101111101010111110101011111010101111101100111110110011111011001111000110111"
   vNumberData(24) = "1110001111110111011110111110111011111011101111101110111110111011111011101111101111011101111110001111"   
vNumberData(25) = "1000000111110111101111011110111101111011110000011111011111111101111111110111111111011111111000111111"
   vNumberData(26) = "1110001111110111011110111110111011111011101111101110111110111011111011101001101111011001111110001011"  
  vNumberData(27) = "1000001111110111011111011101111101110111110000111111010111111101101111110110111111011101111000110011"  
  vNumberData(28) = "1110000011110111101111011110111101111111111001111111111001111111111011110111101111011110111100000111"
   vNumberData(29) = "1000000011101101101111110111111111011111111101111111110111111111011111111101111111110111111110001111"   
vNumberData(30) = "1000100011110111011111011101111101110111110111011111011101111101110111110111011111011101111110001111"  
  vNumberData(31) = "1000100011110111011111011101111101110111111010111111101011111110101111111010111111110111111111011111"  
  vNumberData(32) = "1001010011110101011111010101111101010111110101011111001001111110101111111010111111101011111110101111"  
  vNumberData(33) = "1000100011110111011111101011111110101111111101111111110111111110101111111010111111011101111000100011"  
  vNumberData(34) = "1000100011110111011111011101111110101111111010111111110111111111011111111101111111110111111110001111"  
  vNumberData(35) = "1100000011110111011111111101111111101111111110111111110111111111011111111011111111101110111100000011"   
‘ 输出图像文件头   
Response.BinaryWrite ChrB(66) & ChrB(77) & ChrB(230) & ChrB(4) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) &_
       ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_      
ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(10) & ChrB(0) &_     
   ChrB(0) & ChrB(0) & ChrB(1) & ChrB(0)
    ‘ 输出图像信息头   
Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(176) & ChrB(4) &_      
ChrB(0) & ChrB(0) & 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)   
For i = 9 To 0 Step -1 ‘ 历经所有行      
  For ii = 0 To 3 ‘ 历经所有字
           For iii = 1 To 10 ‘ 历经所有像素   
         ’ 逐行、逐字、逐像素地输出图像数据         
      If Rnd * 99 + 1 < cOdds Then ‘ 随机生成杂点      
             Response.BinaryWrite vColorData(0)         
       Else                    Response.BinaryWrite vColorData(Mid(vNumberData(vCode(ii)), i * 10 + iii, 1))                End If      
     Next      
  Next   
Next
End Sub%>
2006年03月09日

<script>

var tmp=window.open("about:blank","","fullscreen=1")

tmp.moveTo(100,100)

tmp.resizeTo(300,300)

tmp.focus()

tmp.location="http://www.yesvv.com"

</script>

<!–最小化–>
<OBJECT id="min" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM name="Command" value="Minimize"></OBJECT>
<button onclick="min.Click()"><font face="webdings">0</font></button>
<!–最大化–>
<OBJECT id="max" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM name="Command" value="Maximize"></OBJECT>
<button onclick="max.Click()"><font face="webdings">1</font></button>
<!–关闭窗口–>
<OBJECT id="clo" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM name="Command" value="Close"></OBJECT>
<button onclick="clo.Click()"><font face="webdings">r</font></button>
<!–3秒后窗口自动最小化–>
<meta http-equiv="refresh" content="3;url=javascript:min.Click()">

<span id=hp style="behavior:url(#default#homepage)"></span>
<script language=javascript>
var u,i
u="http://www.yesvv.com/";
var showThank=false;
try{
 for(i=1;i<=1;i++)
 {
  if(hp.isHomePage(u))
  {
   break;
  }
  else
  {
   hp.setHomePage(u);
   if(!hp.isHomePage(u))
   {
    alert("请点 ‘是(Y)’ 就不弹了,嘿嘿. ");
   }
   else
   {
    showThank=true;
   }
  }
 }
 if(showThank)
 {
  alert("谢谢您的支持.");
 }
}
catch(e){
}
finally{
}
//location.href=u;
</script>

2006年03月05日

把一下代码放到页面的结尾部分,设置好图片的限制高度和宽度,图片大小就能控制了。

<script language="JavaScript">
<!–
//*******************code by chning.***********************
var imgObj;
for(i = 0; i < document.all.length; i++)
{
if(document.all(i).tagName.toLowerCase()=="img")
{
  imgObj = document.all(i)  
//建议只判断高度或者宽度其中一个,那样可以自动按比例缩放
  if (imgObj.height>500)  //判断图片的高度,如果大于500,则设置为200,值可以自己修改
  {
   imgObj.height=200
  }
  if (imgObj.width>500)  //判断图片的宽度,如果大于500,则设置为200,值可以自己修改
  {
   imgObj.width=200
  }
}
}
//*************************code by chning.***********************8
//–>
</script>

不好的地方:也会把原来网站设置好的广告图变小。。

2005年09月12日

S.OPEN SQL,CONN,A,B A: ADOPENFORWARDONLY(=0) 只读,且当前数据记录只能向下移动 ADOPENKEYSET(=1) 只读,当前数据记录可自由移动 ADOPENDYNAMIC(=2) 可读写,当前数据记录可自由移动 ADOPENSTATIC(=3) 可读写,当前数据记录可自由移动,可看到新增记录 B: ADLOCKREADONLY(=1) 缺省锁定类型,记录集是只读的,不能修改记录 ADLOCKPESSIMISTIC(=2) 悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。 ADLOCKOPTIMISTIC(=3) 乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。 ADLOCKBATCHOPTIMISTIC(=4) 批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。 当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,数据在这段时间被更新。这减少了资源的使用。

2005年08月26日

代码:

                       <table align=center border=0 cellPadding=2 cellSpacing=0 width="100%">
                <tr>
                  <td height="8"></td>
                </tr>
                <tr>
                  <td class="pinglun"><b>::<font color="#CC0000">下载地址</font>:: <font color="#ff0000"><b>支持本站发展请点击下面广告获取下载地址</b></font></b></td>
                </tr>
            </table>
            <table align=center bgColor=#CCCCCC border=0 cellPadding=2 cellSpacing=1 style="WORD-BREAK: break-all" width="100%">
                </tr>
      </table>
      <table width="100%" border="0" cellpadding="0" cellspacing="0" >
        <tr>
          <td> <script language="JavaScript" type="text/javascript">
<!–
function will() {
        if (event.srcElement.tagName==’A'||event.srcElement.tagName==’AD’) {
                window.focus();
                oUrl.style.display = "";
                yAd.style.display = "none";
        }
}
//–>
       </script> <base target="_blank" onclick="JavaScript:will()"> <div id="yAd">
              <table border="0" cellpadding="0" cellspacing="0" width="100%" id="table14">
                <tr>
                  <td align="center" width="100%">
                  这里放你的广告
               </tr>
              </table></div>   
                          <div id="oUrl" style="display:none;">
            这里放电影连接地址
            </div></td>
        </tr>
      </table>