找回密码
 加入
搜索
查看: 4878|回复: 14

ini文件怎么读取到GUICtrlCreateTreeview里

 火.. [复制链接]
发表于 2009-12-25 13:01:31 | 显示全部楼层 |阅读模式
本帖最后由 lin0308 于 2009-12-26 14:00 编辑

如题,寻求例子,最好有个例子

评分

参与人数 1金钱 +10 收起 理由
pusofalse + 10 感谢主动修改帖子分类为[已解决]。

查看全部评分

发表于 2009-12-25 13:11:37 | 显示全部楼层
发表于 2009-12-25 13:12:24 | 显示全部楼层
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>

$dir = @ScriptDir&"\config.ini"

$Form1 = GUICreate("列表框操作", 280, 270)
$ListView1 = GUICtrlCreateListView("账号           |密码           |", 10, 10, 260, 150)
$Button1 = GUICtrlCreateButton("添加", 185, 178, 75, 25, $WS_GROUP)
$Input1 = GUICtrlCreateInput("", 60, 180, 120, 21)
$Input2 = GUICtrlCreateInput("", 60, 220, 120, 21)
$Label1 = GUICtrlCreateLabel("账号:", 20, 183, 36, 17)
$Label2 = GUICtrlCreateLabel("密码:", 20, 223, 36, 17)
$Label3 = GUICtrlCreateLabel("数据", 200, 223, 36, 17)
$Label4 = GUICtrlCreateLabel("0", 230, 223, 36, 17)
GUISetState(@SW_SHOW)
Read()

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        tian()
        EndSwitch
WEnd

Func Read()
        $z = 0
        _GUICtrlListView_DeleteAllItems($ListView1)
        $read = IniReadSection($dir,"config")
        If Not @error Then
                For $i = 1 To $read[0][0]
                        GUICtrlCreateListViewItem($read[$i][0], $ListView1)
                        _GUICtrlListView_AddSubItem($ListView1, $z, $read[$i][1], 1, $z+1)
                        GUICtrlSetData($Label4,$z+1)
                        $z += 1                
                Next
        EndIf
EndFunc

Func tian()
        $z = GUICtrlRead($Label4)
        $a = GUICtrlRead($Input1)
        $b = GUICtrlRead($Input2)        
        If $a <> "" And $b <> "" Then 
                IniWrite($dir,"config",$a,$b)
                GUICtrlCreateListViewItem($a, $ListView1)                
                _GUICtrlListView_AddSubItem($ListView1, $z, $b, 1, $z+1)
                MsgBox(0,"提示"," 账号: "&$a&" 密码: "&$b&" 保存成功 ")                
                GUICtrlSetData($Input1,"")
                GUICtrlSetData($Input2,"")
                GUICtrlSetData($Label4,$z+1)
        EndIf        
EndFunc        
发表于 2009-12-25 14:32:00 | 显示全部楼层
本帖最后由 水木子 于 2009-12-25 15:10 编辑

估计LS朋友理解错了,LZ是要读取到Treeview,是这意思吧?
发表于 2009-12-25 15:00:40 | 显示全部楼层
本帖最后由 水木子 于 2009-12-25 15:06 编辑

时间匆忙,随便写了一个,不知道有没有问题,将就这看吧!
#include <GuiTreeView.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Path = @ScriptDir&"\config.ini"

GUICreate("Treeview", 300, 300)
$TreeView1 = GUICtrlCreateTreeView(2, 2, 296, 280, -1, $WS_EX_CLIENTEDGE)
GUISetState(@SW_SHOW)
Read()

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit

        EndSwitch
WEnd

Func Read()
        $all = IniReadSectionNames($Path)
        If Not @error Then
                For $i = 1 To $all[0]
                        $a = GUICtrlCreateTreeViewItem($all[$i], $TreeView1)
                        $var = IniReadSection($Path, $all[$i])
                        If Not @error Then
                                For $z = 1 To $var[0][0]
                                        GUICtrlCreateTreeViewItem($var[$z][0]&'='&$var[$z][1], $a)
                                Next        
                        EndIf
                Next
        EndIf        
EndFunc
ini配置文件如下:

[1]
1-1=32165485
1-2=65456462
1-3=68767854
[2]
2-1=65487987
2-2=32321465
2-3=65798795
[3]
3-1=52254688
3-2=58778975
3-3=32645678
发表于 2009-12-25 19:23:07 | 显示全部楼层
本帖最后由 xlcwxl 于 2009-12-26 11:16 编辑

我在网上查的:
#include <GUIConstantsEx.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
Local $I, $J, $_Tree_Item[11][11], $_INI_File = @ScriptDir & "\1.ini"

$Form1 = GUICreate("Form1", 196, 400, 192, 124)
$TreeView = GUICtrlCreateTreeView(16, 16, 137, 361)

For $I = 1 To 9

        $IniSection = IniRead($_INI_File, "Main", $I, "None")
        If $IniSection = "None" Then ExitLoop
        
        $_Tree_Item[$I][0] = GUICtrlCreateTreeViewItem($IniSection, $TreeView)

        $IniKey = IniReadSection($_INI_File, $I)
        If @error Then ExitLoop

        For $J = 1 To $IniKey[0][0]
                GUICtrlCreateTreeViewItem($IniKey[$J][1], $_Tree_Item[$I][0])
        Next
        
        GUICtrlSetState($_Tree_Item[$I][0], BitOR($GUI_EXPAND, $GUI_DEFBUTTON))

Next

GUISetState(@SW_SHOW)

While 1
        If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
WEnd

INI文件名:1.ini, 内容:
[Main]
1=股票经济
2=聊天通讯

[1]
1=大智慧
2=民生证券

[2]
1=飞信2008
发表于 2009-12-26 09:23:43 | 显示全部楼层
这个比较实用
发表于 2010-5-10 13:02:55 | 显示全部楼层
留个记号!
发表于 2010-5-31 23:14:36 | 显示全部楼层
留个记号,以后再看
发表于 2010-5-31 23:15:11 | 显示全部楼层
怎么又没钱了
发表于 2010-8-28 02:00:39 | 显示全部楼层
呵呵  留下脚印
发表于 2011-11-18 04:57:23 | 显示全部楼层
学习了。多谢分享。
发表于 2012-2-1 10:26:40 | 显示全部楼层
学习了。。呵呵
发表于 2014-6-3 21:44:42 | 显示全部楼层
学习了。。呵呵
发表于 2014-11-15 09:26:28 | 显示全部楼层
学习了,感谢,万分感谢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 10:23 , Processed in 0.080626 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表