| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4447 人关注过本帖
标题:vb.net中如何读取ini文件中的分类信息???
只看楼主 加入收藏
fnp902003
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-1-28
收藏
 问题点数:0 回复次数:11 
vb.net中如何读取ini文件中的分类信息???
我是一个新手,很多方面还不是很明白,读取ini也是刚刚接触而已,在网上查找了很多,都是读取一段的,有没有能读取不同段的代码??给个示范就可以了。
比如单段的就是
[xxx001]
xxx001=xxx001
xxx002=xxx002
我要的多段读取就是:
[xxx001]第一段
xxx001=xxx001
xxx002=xxx002
[yyy001]第2段
yyy001=yyy001
yyy002=yyy002
............
以此类推的!
在代码中如何区别段和段?
能用实例代码演示一下吗?谢谢!

[[it] 本帖最后由 fnp902003 于 2008-1-28 14:23 编辑 [/it]]
搜索更多相关主题的帖子: ini 文件 分类 代码 
2008-01-28 14:16
fairy4
Rank: 4
等 级:贵宾
威 望:10
帖 子:738
专家分:267
注 册:2007-11-1
收藏
得分:0 
'聲明INI配置檔讀寫API函數
    Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32
    Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Int32
    '定義讀取配置檔函數
    Public Function GetINI(ByVal Section As String, ByVal AppName As String, ByVal lpDefault As String, ByVal FileName As String) As String
        Dim Str As String = LSet(Str, 256)
        GetPrivateProfileString(Section, AppName, lpDefault, Str, Len(Str), FileName)
        Return Microsoft.VisualBasic.Left(Str, InStr(Str, Chr(0)) - 1)
    End Function
    '定義寫入配置檔函數
    Public Function WriteINI(ByVal Section As String, ByVal AppName As String, ByVal lpDefault As String, ByVal FileName As String) As Long
        WriteINI = WritePrivateProfileString(Section, AppName, lpDefault, FileName)
    End Function


'寫入
  Try
            Dim path As String
            path = Application.StartupPath + "\server.ini"
            WriteINI("Server", "IP", TextBox1.Text, path)
            WriteINI("Server", "port", TextBox2.Text, path)
            WriteINI("Server", "userName", TextBox3.Text, path)
            'WriteINI("Server1", "IP", TextBox1.Text, path)
            'WriteINI("Server1", "port", TextBox2.Text, path)
            'WriteINI("Server1", "userName", TextBox3.Text, path)
            MsgBox("配置設置已經成功!!!!")
            Me.Close()
        Catch ex As Exception
            MsgBox("錯誤!!!!")
        End Try

'讀取
 Dim path As String
        path = Application.StartupPath + "\server.ini"
        TextBox1.Text = GetINI("Server", "IP", "", path)
        TextBox2.Text = GetINI("Server", "port", "", path)
        TextBox3.Text = GetINI("server", "userName", "", path)

一个人只有一个心脏,却有两个心房。一个住着快乐;一个住着悲伤。不要笑得太大声,不然会吵醒旁边的悲伤
2008-01-28 15:10
fairy4
Rank: 4
等 级:贵宾
威 望:10
帖 子:738
专家分:267
注 册:2007-11-1
收藏
得分:0 
讀取[yyy001]
  TextBox1.Text = GetINI("yyy001", "IP", "", path)
  TextBox2.Text = GetINI("yyy001", "port", "", path)
  TextBox3.Text = GetINI("yyy001", "userName", "", path)

一个人只有一个心脏,却有两个心房。一个住着快乐;一个住着悲伤。不要笑得太大声,不然会吵醒旁边的悲伤
2008-01-28 15:12
fnp902003
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-1-28
收藏
得分:0 
的代码吗?????
这个是vb的,代码引用上vb要多很多复杂的步骤。.net引用起来容易多,不过就是不大理解怎么用。
不过还是谢谢楼上的仁兄了~~~继续求解中!!!
2008-01-28 15:49
fairy4
Rank: 4
等 级:贵宾
威 望:10
帖 子:738
专家分:267
注 册:2007-11-1
收藏
得分:0 
你認為是vb的就是vb的,當我沒說!
我使用的工具是
還不知道這個工具還能寫出vb6的代碼!樓主讓我長見識了,謝謝!

一个人只有一个心脏,却有两个心房。一个住着快乐;一个住着悲伤。不要笑得太大声,不然会吵醒旁边的悲伤
2008-01-28 17:02
tntzwc
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:216
专家分:0
注 册:2007-4-28
收藏
得分:0 

努力了有可能失败,不努力一定失败!
2008-01-28 17:09
fnp902003
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-1-28
收藏
得分:0 
[bo]以下是引用 [un]fairy4[/un] 在 2008-1-28 17:02 的发言:[/bo]

你認為是vb的就是vb的,當我沒說!
我使用的工具是
還不知道這個工具還能寫出vb6的代碼!樓主讓我長見識了,謝謝!

我在下直接引用Imports 再写点代码就可以读取ini文件了!
看看这段从网上抄的代码!!
-------------------------------------------------------------------------------------------------------
'函数名: sdGetIniInfo
     '功能:读取INI文件设置信息
     '参数说明:iniFile-->INI文件      iniSection--INI文件中设置的部分名称
     Function sdGetIniInfo(ByVal iniFile As String, ByVal iniSection As String) As String
         If Not File.Exists(iniFile) Then
             Return "文件 " & iniFile & " 未找到,请确认路径和文件名是否正确!"
             Exit Function
         End If
         Dim iniRead As New StreamReader(iniFile)
         Dim iniStr As String = iniRead.ReadToEnd

         Dim i As Integer
         Dim cLine As Integer
         Dim noSec As Boolean = False
         Dim getValue As String = ""
         Dim cLst

         cLst = iniStr.Split(Chr(13))
         cLine = UBound(cLst)

         For i = 0 To cLine
             If cLst(i).indexof("=") > 0 Then
                 If cLst(i).split("=")(0).trim() = iniSection Then
                     noSec = True
                     getValue = cLst(i).split("=")(1).trim()
                     Exit For
                 End If
             End If
         Next

         If noSec = True Then
             Return getValue
         Else
             Return "没有找到 " & iniSection & " 的设置信息!"
         End If
     End Function

说明:在引用的面页中要先引用 Imports


EG:

set.ini文件内容:

[Info]
name=zhuang
age=20

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
         Dim name As String
         name = sdGetIniInfo(Application.StartupPath & "\set.ini", "name")
         MsgBox(name)
     End Sub
--------------------------------------------------------------------------------------------------------------------
所以我认为你用的引用api的行为有点像是vb6.0的操作方法,呵呵,在这里向你表示道歉。谢谢你对我的帮助!!!
2008-01-29 10:48
tntzwc
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:216
专家分:0
注 册:2007-4-28
收藏
得分:0 
08有中文的了吗?

努力了有可能失败,不努力一定失败!
2008-01-29 12:56
fnp902003
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-1-28
收藏
得分:0 
[bo]以下是引用 [un]tntzwc[/un] 在 2008-1-29 12:56 的发言:[/bo]

08有中文的了吗?

我用的英文的小组开发版本!!!
2008-01-29 13:21
fairy4
Rank: 4
等 级:贵宾
威 望:10
帖 子:738
专家分:267
注 册:2007-11-1
收藏
得分:0 
讀取是簡單,
幾行代碼就可以搞定,連Imports 都可以不引用
我有N種方法可以讀取其中的字段,使用API,是因為這更方便,全面!效率最高,而且提供設置功能!
目前,我還沒有發現有那種方法比這個更簡便,有效!

一个人只有一个心脏,却有两个心房。一个住着快乐;一个住着悲伤。不要笑得太大声,不然会吵醒旁边的悲伤
2008-01-30 08:56
快速回复:vb.net中如何读取ini文件中的分类信息???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021631 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved