050207.htm

来自「提供一个VB学习教程,入门级。来源于网上」· HTM 代码 · 共 202 行 · 第 1/2 页

HTM
202
字号
     Do While lxn &lt;&gt; &quot;&quot; 如果还有满足&quot;lxn*.*&quot;特征的文件时(不然调用DIR返回空 List1.AddItem lxn 把查到的文件名放入列表框中<br>
     lxn = Dir() 继续查找下一个<br>
     Loop<br>
     End Sub <br>
   &quot;属性&quot;参数有以下几个:<br>
     vbNormal 0 常规 (缺省)<br>
     vbReadOnly 1 只读<br>
     vbHidden 2 隐藏 <br>
     vbSystem 4 系统文件 <br>
     vbVolume 8 磁盘卷标;如果指定,则其它属性都会忽略 <br>
     vbDirectory 16 目录或文件夹 <br>
     vbArchive 32 存档<br>
     注:如果给Dir函数指定参数,Dir不仅会返回指定属性类型的文件,还会返回所有属性值比它小的文件,如lxn=dir(&quot;c:\&quot;,16)不仅返回文件夹,还将返回常规(属性为0),只读(为1),隐含(为2)……等属性值小于16的全部文件。&quot;属性&quot;参数的设置值最大可为63。用0+1+2+4+8+16+32得到,这样将返回所有的文件(夹),如只显示文件夹,而不显示任何文件,先设&quot;属性&quot;参数为16,再结合一个函数GetAttr,例下:<br>
     lxn = Dir(&quot;c:\&quot;, 16) 此例只能显示根目录下的文件(夹),若要查多级子目录<br>
     Do While lxn &lt;&gt; &quot;&quot; 下的文件(夹),可采用将查到的文件夹名又累加到Dir<br>
     If lxn &lt;&gt; &quot;.&quot; And lxn &lt;&gt; &quot;..&quot; Then 路径中去的办法,嵌套进行。<br>
     If GetAttr(&quot;c:\&quot; &amp; lxn) = 16 Then<br>
     List1.AddItem lxn<br>
     End If<br>
     End If<br>
     lxn = Dir()<br>
     Loop<br>
     其中有个函数GetAttr:格式:整型变量=GetAttr(路径及文件名)<br>
     lxn=GetAttr(&quot;c:\windows&quot;),lxn就等于16(windows是文件夹嘛)<br>
     返回一个文件或文件夹的属性值,是只读的还是隐藏或是文件夹等,用一个整数值表示,如下:<br>
     0:常规文件<br>
     1:只读属性文件;<br>
     2:隐藏文件;<br>
     4:系统文件:<br>
     16:文件夹。<br>
     32:存档属性文件<br>
     返回值就是这些值的和,如有个文件lxn既是只读又是隐藏,那么 a=getattr(&quot;c:\lxn&quot;),a就等于3。<br>
     ★ 有关取得时间信息的函数(它们返回的都是integer型数),看下面的例子一下便懂。<br>
     年 = Year(#3/22/2000#) &quot;年&quot;就等于2000<br>
     月 = Month(Date) 月=6<br>
     日 = Day(Date) 日=23 (今天的日期嘛,用中文当变量,怎么样?)<br>
     小时 = Hour(#7:03:44 AM#) 小时=7(AM表示上午) <br>
     分钟 = Minute(Time) 分钟=12<br>
     星期=WeekDay(Date) 返回1代表星期日,返回2代表星期一等等。<br>
     秒种 = Second(#7:43:12 PM#) 秒钟=12(PM表示下午)<br>
     此外还有三个直接的函数:Now 获得当前的日期和时间。如:01-9-13 16: 09: 42.<br>
     Date 获取当前日期。如:01-9-13<br>
     Time 获取当前时间,如:16: 09: 42</p>
   <p>★ 将一个字符串或值为字符串的变体变量转换为整型变量,首先要确定该字符串内存储的是否为纯&quot;数字&quot;字符,可用IsNumeric函数来检测,如:<br>
     if isnumeric(lxn)=true then a=cint(lxn)</p>
   <p>★ 文件操作的一部分函数:<br>
     读取当前目录函数:Curdir函数。格式:Curdir(驱动器)。例:Curdir(&quot;c&quot;)返回C驱动器的当前目录,如果驱动器省略,则返回当前驱动器的当前目录。<br>
     复制文件的FileCopy语句,格式:<br>
     FileCopy 源文件路径及文件名,目标路径及文件名<br>
     FileCopy &quot;e:\games\Bh2k\Bh2000.exe&quot;, &quot;c:\windows\desktop\bb.exe&quot; <br>
     注:不能复制正打开的文件。<br>
     设置文件属性SetAttr函数,读取文件属性GetAttr函数:设置文件属性格式:<br>
     SetAttr 文件路径及名称,属性值<br>
     SetAttr &quot;c:\windows\desktop\bb.exe&quot;, 1<br>
     字符串的比较:一般在VB中缺省的比较是区分大小写的,如A&lt;a,B&lt;b,而我们有时需要不区分大小写的比较,这时可在模块的顶部声明段用&quot;Option Compare Text&quot;关健字来声明是&quot;文本比较模式&quot;,(区分大小写的是二进制比较:Option Compare Binary ).<br>
     ★ 处理字符串的函数:<br>
     去空格:LTrim(字符串):去掉字符串左端空格;<br>
     RTrim(字符串):去掉字符串右端空格;<br>
     Trim(字符串):去掉字符串两端空格。<br>
     查找:InStr(查找的起点,父字符串,要查找的子字符串,0或1或2),返回父字符串中第1次出现要查找子串的位置值(为整型值),最后&quot;0或1或2&quot;为参数,0表示区分大小写,1和2表示忽略大小写。查找起点从父串开头最小1开始。如:<br>
     lxn = InStr(1, &quot;abcdeffgh&quot;, &quot;fgh&quot;, 1) lxn等于7。<br>
     其实用instr(父串,子串)就可以了,如lxn=Instr(&quot;abcdeffgh&quot;,&quot;fgh&quot;).<br>
     Filter:搜索字符串数组中的特定子串,格式:<br>
     filter(一维字符串数组,要查找子串)<br>
     s = Filter(lxn, &quot;bc&quot;)<br>
     返回一个新的数组,其中包含多个查找到的满足条件的字符串。怎样的&quot;满足条件&quot;?如上面lxn有多个元素,其中有lxn(9)=&quot;abc&quot;,lxn(12)=&quot;bcd&quot;,这2个就是满足条件,而lxn(3)=&quot;b&quot;就不满足了。有时我们不知道它会返回多少个元素,可将查询结果赋给一个变长数组。如上面应先dim s() as string.返回的s有:s(0)=&quot;abc&quot;,s(1)=&quot;bcd&quot;. <br>
     Join:将字符串数组组合成一个字符串,格式:<br>
     新字符串=Join(一维字符串数组,元素间分隔符) <br>
     a$=join(lxn,&quot;&quot;)<br>
     注:元素间分隔符是指定每两个原来的&quot;元素&quot;间的分隔符号,如果缺省,则用空格分开,如果为&quot;&quot;,则紧密连接,如有个lxn有&quot;abc&quot;,&quot;bcd&quot;,&quot;cde&quot;三个元素,那么a$=join(lxn),a$就为&quot;abc bcd cde&quot;,而a$=join(lxn,&quot;&quot;),返回&quot;abcbcdcde&quot;,而<br>
     a$=join(lxn,&quot;;&quot;)则返回&quot;abc;bcd;cde&quot;<br>
     split:将字符串分隔成字符串数组,格式:<br>
     split(字符串,标识元素边界的字符,限定元素个数)<br>
     如果元素个数设为-1,则返回全部子字符串(元素)。<br>
     StrReverse:反转字符串,格式:StrReverse(字符串),很简单。如a$=StrReverse(&quot;abcd&quot;),a$就等于dcba.<br>
     Replace:对字符串中特定子串进行查找并替换,格式:<br>
     新字符串=Replace(原字符串,查找子串,替换为子串,查找起点,替换次数) 查找起点若缺省,则从原字符串开头起查找子串,替换次数若设为-1,则将查到子串全部进行替换(缺省)。例如:<br>
     a$ = Replace(&quot;lxnlxm,my name is lxn&quot;, &quot;lxn&quot;, &quot;李新宁&quot;),将lxn换成李新宁,a$等于&quot;李新宁lxm,my name is 李新宁&quot;</p>
   <p>★ 文件操作函数补充:FileAttr:返回用Open打开文件的模式。<br>
     FileDataTime:检索文件的日期,时间。<br>
     FileLen:返回文件的字节长度。相当于LOF,只是filelen后可指定任一文件名,而LOF后是&quot;在程序中用Open打开的文件号&quot;。<br>
     FreeFile:返回下一个可用的文件句柄。<br>
     Loc:返回当前文件位置。<br>
     Lock:锁定文件。<br>
     LOF:返回打开文件的长度。<br>
     Name…As…重新命名文件,目录。<br>
     Reset:关闭所有open语句打开的文件。格式: Reset<br>
     Seek:返回当前文件位置。<br>
     UnLock:对文件进行解锁。</p>
 <p align="center">
        <br>
        &lt; <a href="050206.htm">上一页</a>--<a href="http://www.xxby.com" target="_blank">华生小屋</a>--<a href="050301.htm">下一页</a>     
        &gt;<br>
      </td>
    </tr>
  </table>
  </center>
</div>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?