VB下幾個非常有用的函式 (轉)
VB下幾個非常有用的
'————————(1)————————————
'獲得指定ini中某個節下面的所有鍵值 TrueZq,,需要下面的宣告
'Private Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
'返回一個字串陣列
'舉例:
'Dim arrClass() As String
'arrClass = GetInfoSection("class", "d:type.ini")
Public Function GetInfoSection(strSection As String, strIniFile As String) As String()
Dim strReturn As String * 32767
Dim strTmp As String
Dim nStart As Integer, nEnd As Integer, i As Integer
Dim sArray() As String
Call GetPrivateProfileSection(strSection, strReturn, Len(strReturn), strIniFile)
strTmp = strReturn
i = 1
Do While strTmp <> ""
nStart = nEnd + 1
nEnd = InStr(nStart, strReturn, vbNullChar)
strTmp = Mid$(strReturn, nStart, nEnd - nStart)
If Len(strTmp) > 0 Then
ReDim Preserve sArray(1 To i)
sArray(i) = strTmp
i = i + 1
End If
L
GetInfoSection = sArray
End Function
'————————(2)————————————
'作用:去掉字串中的首尾空格、所有無效字元
'測試用例
'Dim strRes As String
'Dim strSour As String
'
'strSour = " " & vbNullChar & vbNullChar & " ab cd" & vbNullChar
'strRes = zqTrim(strSour)
'MsgBox " 長度=" & Len(strSour) & "值=111" & strRes & "222"
Public Function zqTrim(ByVal strSour As String) As String
Dim strTmp As String
Dim nLen As Integer
Dim i As Integer, j As Integer
Dim strNow As String, strValid() As String, strNew As String
'strNow 當前字元
'strValid 有效字元
'strNew 最後生成的新字元
strTmp = Trim$(strSour)
nLen = Len(strTmp)
If nLen < 1 Then
zqTrim = ""
Exit Function
End If
j = 0
For i = 1 To nLen
strNow = Mid(strTmp, i, 1) '每次讀取一個字元
'MsgBox Asc(strNow)
If strNow <> vbNullChar And Asc(strNow) <> 9 Then '如果有效,則存入有效陣列
ReDim Preserve strValid(j)
strValid(j) = strNow
j = j + 1
End If
Next i
strNew = Join(strValid, "") '將所有有效字元連線起來
zqTrim = Trim$(strNew) '去掉字串中的首尾空格
End Function
'————————(3)————————————
'檢查檔案是否存在,存在返回 TRUE,否則返回FALSE
Public Function CheckFileExist(strFile As String) As Boolean
If Dir(strFile, vbDirectory) <> "" Then
CheckFileExist = True
Else
CheckFileExist = False
End If
End Function
'————————(4)————————————
'獲得指定ini檔案中某個節下面某個子鍵的鍵值,需要下面的API宣告
'Public Declare Function GetPrivateProfileString Lib "kernel32" Alias _
' "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
' ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString _
' As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
'返回一個字串
'呼叫舉例:
'Dim strRun As String
'strRun = GetiniValue("","Run", "C:WindowsWin.ini")
Public Function GetiniValue(ByVal lpKeyName As String, ByVal strName As String, ByVal strIniFile As String) As String
Dim strTmp As String * 255
Call GetPrivateProfileString(lpKeyName, strName, "", _
strTmp, Len(strTmp), strIniFile)
GetiniValue = Left$(strTmp, InStr(strTmp, vbNullChar) - 1)
End Function
'————————(5)————————————
'獲得Windows目錄 ,需要下面的API宣告
'Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
'返回一個字串,如“C:Windows”、“C:Winnt”
'呼叫舉例:
'Dim strWindir As String
'strWindir = GetWinDir()
Private Function GetWinDir()
Dim windir As String * 100
Call GetWindowsDirectory(windir, 100)
GetWinDir = Left$(windir, InStr(windir, vbNullChar) - 1)
End Function
'————————(6)————————————
'獲得Windows目錄,需要下面的API宣告
'Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
'返回一個字串,如“C:WindowsSystem”、“C:WinntSystem32”
'呼叫舉例:
'Dim strSysDir As String
'strSysDir = GetSystemDir()
Private Function GetSystemDir()
Dim strSysDir As String * 100
Call GetSystemDirectory(strSysDir, 100)
GetSystemDir = Left$(strSysDir, InStr(strSysDir, vbNullChar) - 1)
End Function
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988621/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於字串的幾個有用函式 (轉)字串函式
- 幾個常見函式的非常見用法函式
- 非常有用的MySQL控制流程函式薦MySql函式
- unix下幾個有用的小shell指令碼(轉)指令碼
- 一個有用的函式-實現dump函式的convert!函式
- 一組有用的操作Excel的函式 (轉)Excel函式
- 4個非常有用的 Flutter 技巧Flutter
- 8個非常有用的CSS工具CSS
- ASP 程式設計中 15 個非常有用的例子 (轉)程式設計
- VB動態呼叫外部函式的方法 (轉)函式
- 20個非常有用的Java程式片段Java
- 20個非常有用的PHP類庫PHP
- 10 個非常有用的 AngularJS 框架AngularJS框架
- 10 個非常有用的AngularJS 框架AngularJS框架
- oracle幾個函式Oracle函式
- oracle幾個有用的命令Oracle
- 有用的幾個網站網站
- 幾個有用的Function.Function
- 幾個常用函式的使用函式
- 使用MsFlexGrid控制元件的幾個函式 (轉)Flex控制元件函式
- 解決中文問題的幾個常用的函式 (轉)函式
- 17個非常有用的PHP類和庫PHP
- 20個非常有用的jQuery表格外掛jQuery
- 對開發者非常有用的16個 JavaScript 庫JavaScript
- 一個將15的身份證號升為18位的函式(VB) (轉)函式
- php非常有用的高階函式PATH_SEPARATOR常量和set_include_pathPHP函式
- 10 個非常有用的 SVG 動畫的 JavaScript 庫SVG動畫JavaScript
- [php]幾個常用函式PHP函式
- 幾個有用的JSON工具JSON
- 一些有用的函式函式
- 幾個重要的內建函式函式
- 幾個分析函式的比較函式
- oracle中的幾個hash函式Oracle函式
- 非常有用的網站網站
- MySQL8 非常有用的一個新特性MySql
- 45 個非常有用的 Oracle 查詢語句Oracle
- 對 Linux 新手非常有用的 20 個命令Linux
- 對 Linux 新手非常有用的20個命令Linux