久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    VB6中一個非常好用的讀寫Ini文件的模塊

     intruder 2005-11-14

         VB6中一個非常好用的讀寫Ini文件的模塊
                                                                   hejianzhong

            網上讀寫Ini文件的例子只有幾篇相同的文章,而并不好用,奇怪的是各網站都是同樣的例程,高手也就罷了,三下五除二就搞定,初學者會被搞得一頭霧水,看著一個好好的模塊就是不能用。
            所以我整理了一下(最早是在騰訊答一個貼子時寫的),這個也就是修改了一下,不是我自已的發明(至于這個代碼起先不知是誰寫的),不過非常的好用
     

    新建模塊(建議不使用注冊表) 命名為rwini
    ‘ini文件在有回車換行符會出錯,經過測試,漢字要小于86字節,英言文要小于143字節才能返回列表框。(這是我以前的code,是記錄列表框內容的)
    Option Explicit
    Public iniFileName As String
    Public Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
    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
    Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

    ‘****************************************獲取Ini字符串值(Function)******************************************
    Function GetIniS(ByVal SectionName As String, ByVal KeyWord As String, ByVal DefString As String) As String
    Dim ResultString As String * 144, Temp As Integer
    Dim s As String, i As Integer
    Temp% = GetPrivateProfileString(SectionName, KeyWord, "", ResultString, 144, AppProFileName(iniFileName))
    ‘檢索關鍵詞的值
    If Temp% > 0 Then ‘關鍵詞的值不為空
    s = ""
    For i = 1 To 144
    If Asc(Mid$(ResultString, i, 1)) = 0 Then
    Exit For
    Else
    s = s & Mid$(ResultString, i, 1)
    End If
    Next
    Else
    Temp% = WritePrivateProfileString(SectionName, KeyWord, DefString, AppProFileName(iniFileName))
    ‘將缺省值寫入INI文件
    s = DefString
    End If
    GetIniS = s
    End Function

    ‘**************************************獲取Ini數值(Function)***************************************************
    Function GetIniN(ByVal SectionName As String, ByVal KeyWord As String, ByVal DefValue As Long) As Integer
    Dim d As Long, s As String
    d = DefValue
    GetIniN = GetPrivateProfileInt(SectionName, KeyWord, DefValue, AppProFileName(iniFileName))
    If d <> DefValue Then
    s = "" & d
    d = WritePrivateProfileString(SectionName, KeyWord, s, AppProFileName(iniFileName))
    End If
    End Function

    ‘***************************************寫入字符串值(Sub)**************************************************
    Sub SetIniS(ByVal SectionName As String, ByVal KeyWord As String, ByVal ValStr As String)
    Dim res%
    res% = WritePrivateProfileString(SectionName, KeyWord, ValStr, AppProFileName(iniFileName))
    End Sub
    ‘****************************************寫入數值(Sub)******************************************************
    Sub SetIniN(ByVal SectionName As String, ByVal KeyWord As String, ByVal ValInt As Long)
    Dim res%, s$
    s$ = Str$(ValInt)
    res% = WritePrivateProfileString(SectionName, KeyWord, s$, AppProFileName(iniFileName))
    End Sub


    ‘這是我自已不知道怎樣清除一個鍵(keyword) 時
    寫的一個清除字符串值的過程,是有write函數寫入一個空的值實現的,‘Sub DelIniS(ByVal SectionName As String, ByVal KeyWord As String)
    ‘Dim retval As Integer
    ‘retval = WritePrivateProfileString(SectionName, KeyWord, "", AppProFileName(iniFileName))
    ‘End Sub
    ‘其實0&表示前面的一個被清除,我多寫了一個“”,如果是清除section就少寫一個Key多一個“”。

    ‘***************************************清除KeyWord"鍵"(Sub)*************************************************
    Sub DelIniKey(ByVal SectionName As String, ByVal KeyWord As String)
    Dim RetVal As Integer
    RetVal = WritePrivateProfileString(SectionName, KeyWord, 0&, AppProFileName(iniFileName))
    End Sub

    ‘如果是清除section就少寫一個Key多一個“”。
    ‘**************************************清除 Section"段"(Sub)***********************************************
    Sub DelIniSec(ByVal SectionName As String) ‘清除section
    Dim RetVal As Integer
    RetVal = WritePrivateProfileString(SectionName, 0&, "", AppProFileName(iniFileName))
    End Sub

    ‘*************************************定義Ini文件名(Function)***************************************************
    ‘定義ini文件名
    Function AppProFileName(iniFileName)
    AppProFileName = App.Path & "" & iniFileName & ".ini"
    End Function

    #######################################################################


    ‘用法: 首先 定義iniFileName="文件名" 不需要 加ini后綴
    ‘這就是說,你可以賦值給iniFileName就可以寫入記錄,而且你可以隨時寫入不同的ini文件(不管這個文件是否已存在),通過修改這個公用變量。

    ‘然后   DelInikey(ByVal SectionName As String, ByVal KeyWord As String) 清除鍵
              ‘DelIniSec(ByVal SectionName As String)) 清除部
              ‘SetIniN(ByVal SectionName As String, ByVal KeyWord As String, ByVal ValInt As Long) 寫入數 
              ‘GetIniN(ByVal SectionName As String, ByVal KeyWord As String, ByVal DefValue As Long)讀取數
              ‘SetIniS (ByVal SectionName As String, ByVal KeyWord As String, ByVal ValStr As String) 寫入字符 
              ‘GetIniS(ByVal SectionName As String, ByVal KeyWord As String, ByVal ValStr As String) 讀取字符

    調用例子如下:

    Sub RiniN()
    Dim Initemp As String
        Initemp = iniFileName ‘暫存原來的Ini文件名
        iniFileName = App.EXEName ‘寫入到另外一個Ini文件,App.EXEName是你的程序的名程
        If GetIniN("lstBackup", "backupnumber", 0) < lstBackUp.ListCount Then
            ‘這里的第三個參數“0”表示在沒有找到指定的鍵值時返回的缺省值為“0”
            SetIniN "lstBackup", "backupnumber", lstBackUp.ListCount
            ‘......
        End If
        iniFileName = Initemp ‘繼續使用原來的Ini文件
    End Sub
     
    ‘你在你的電腦子上搜索*.ini就看一下,最上面是部,每一個key后面是一個對應的值

    再次重申,這個Ini讀寫的例子是網上找來改寫的,我只是為方便大家使用。算不得我的發明。(我本來不想寫VB6的東西---我本來就不曾認真學過VB6的了,實在不明白為什么要傳播一個不完整的例程這么久),如果有任何不當的地方,就“權且”吧。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 99久久精品国产一区二区蜜芽| 久久五十路丰满熟女中出| 亚洲欧美日韩成人综合一区| 久久精品国产国产精品四凭| 久久精品国产亚洲一区二区| 亚洲人成电影网站色mp4| 羞羞影院午夜男女爽爽免费视频| 亚洲国产精品久久久久婷婷老年| 国产av无码专区亚洲av软件| 亚洲欧洲日产国码AV天堂偷窥 | 久久亚洲2019中文字幕| 精品一区二区三区自拍图片区| 国产精品久久久久AV福利动漫| 宅男666在线永久免费观看| 亚洲午夜爱爱香蕉片| 亚洲欧洲日产国无高清码图片| 亚洲精品V天堂中文字幕| 亚洲日本韩国欧美云霸高清| 欧洲美熟女乱又伦AV影片| 国产精成人品日日拍夜夜| 久久精品国产99精品国产2021| 亚洲精品综合网二三区| 狠狠噜天天噜日日噜| 精品不卡一区二区三区| 精品无码AV无码专区| 免费无码一区无码东京热| 人妻中文无码久热丝袜| 欧美在线人视频在线观看| 小污女小欲女导航| 五月丁香综合缴情六月小说 | 成 人 在 线 免费观看| 国产AV无码专区亚洲AV毛片搜| 国产肉丝袜在线观看| 国产精品美女久久久久久麻豆| 亚洲日韩一区精品射精| 亚洲A综合一区二区三区| 国产精品中文字幕综合| 中文字幕无码久久一区| 国产AV无码专区亚洲AV漫画| 伊人无码一区二区三区| 国产亚洲欧美另类一区二区|