用戶登錄  |  用戶注冊
首 頁源碼下載網絡學院最新源碼源碼排行屏蔽廣告
當前位置:新興網絡 > 網絡學院 > 編程開發 > Visual Basic

VB 判斷是否文本文件

減小字體 增大字體 作者:佚名  來源:本站整理  發布時間:2011-02-15 19:31:56
VBScript code復制代碼
Option Explicit
'*************************************************************************
'**作 者:新興網絡
'**原 文:http://www.71216532.buzz/Tech/Program/VisualBasic/666.html
'**如果需要轉載,請保留作者信息謝謝
'*************************************************************************
Public Function IsTextFile(Bytes() As Byte) As Boolean
        Dim i As Long, AscN As Long, Length As Long
        Length = UBound(Bytes) + 1
       
        If Length < 3 Then
            IsTextFile = IsGB(Bytes, Length)
            Exit Function
        ElseIf Bytes(0) = &HEF And Bytes(1) = &HBB And Bytes(2) = &HBF Then
            IsTextFile = True
            Exit Function
        End If

        Do While i <= Length - 1
            If Bytes(i) < 128 Then
                i = i + 1
                AscN = AscN + 1
            ElseIf (Bytes(i) And &HE0) = &HC0 And (Bytes(i + 1) And &HC0) = &H80 Then
                i = i + 2

            ElseIf i + 2 < Length Then
                If (Bytes(i) And &HF0) = &HE0 And (Bytes(i + 1) And &HC0) = &H80 And (Bytes(i + 2) And &HC0) = &H80 Then
                     i = i + 3
                Else
                    IsTextFile = IsGB(Bytes, Length)
                    Exit Function
                End If
            Else
                IsTextFile = IsGB(Bytes, Length)
                Exit Function
            End If
        Loop
               
        If AscN = Length Then
            IsTextFile = IsGB(Bytes, Length)
        Else
            IsTextFile = True
        End If

End Function

Private Function IsGB(Bytes() As Byte, FileSize As Long) As Boolean
    Dim ObjStream As Object, ret As String
    Set ObjStream = CreateObject("ADODB.Stream")
    With ObjStream
        .Type = 1
        .Mode = 3
        .open
        .Write Bytes
        .Position = 0
        .Type = 2
        .Charset = "GB2312"
        ret = .ReadText
       .Close
    End With
    If LenB(StrConv(ret, vbFromUnicode)) = FileSize Then
        IsGB = True
    Else
        IsGB = False
    End If
End Function
 

Tags:VB 判斷 文本 文件

作者:佚名
  • 好的評價 如果您覺得此文章好,就請您
      0%(0)
  • 差的評價 如果您覺得此文章差,就請您
      0%(0)

網絡學院評論評論內容只代表網友觀點,與本站立場無關!

   評論摘要(共 0 條,得分 0 分,平均 0 分) 查看完整評論
皮皮麻将官网下载 越南河内5分彩开奖结果官网 重庆快乐十分开奖直播 吉林麻将赢牌技巧 电子游戏软件官网 福建22选5开奖走势 泳坛夺金8选4中奖技巧 电竞比分网666 捕鱼游戏赢钱的 南昌扑克麻将牌技 3d开奖组选 乐其彩票平台怎么样 快乐赛车计划网 如何计算理财收益率 最准刘伯温特码资料 排列三走势图双彩网 篮球即时比分直播