如何读取INI文件里的数值到ListView列表显示
本帖最后由 dnvplj 于 2016-12-11 20:34 编辑请问各位朋友,如何将INI文件里的数值读取到ListView列表显示(见下图),谢谢了。
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ScreenCapture.au3>
#include <GuiListView.au3>
$Form1 = GUICreate('', 670, 450, -1, -1)
$ListView1 = GUICtrlCreateListView('', 19, 19, 436, 310, $WS_BORDER, _
BitOR($WS_EX_CLIENTEDGE, $LVS_EX_CHECKBOXES, $LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES))
$Button1 = GUICtrlCreateButton('配置文件', 520, 200, 70, 25)
$Button2 = GUICtrlCreateButton('退 出', 520, 260, 70, 25)
_GUICtrlListView_AddColumn($ListView1, '序号', 50)
_GUICtrlListView_AddColumn($ListView1, '软件名称', 180)
_GUICtrlListView_AddColumn($ListView1, '说明', 200)
GUISetState(@SW_SHOW, $Form1)
Local $nMsg
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $Button1
_Read()
Case $Button2
Exit
EndSwitch
WEnd
Func _Read()
Local $IniFile = @ScriptDir & '\Soft.ini'
Local $aIni = IniReadSectionNames($IniFile)
If @error Then Exit MsgBox(4096, "", "错误, 读取INI文件失败.")
Local $ii, $jj, $var
For $jj = 1 To $aIni
$var = IniReadSection($IniFile, $aIni[$jj])
For $ii = 1 To $var
Local $iItemIndexes = _GUICtrlListView_AddItem($ListView1, $jj, 2)
_GUICtrlListView_AddSubItem($ListView1, $iItemIndexes, $var[$ii], 1, 1)
_GUICtrlListView_AddSubItem($ListView1, $iItemIndexes, $var[$ii], 2, 1)
Next
Next
EndFunc ;==>_Read配置文件
1-1.Namesm="珊瑚浏览器"
1-1.Softwa="浏览器\珊瑚浏览器\1.exe"
1-1.Softsm="实用、绿色、安全"
2-1.Namesm="福昕阅读器"
2-1.Namesm="阅读器\福昕阅读器\2.exe"
2-1.Softsm="文档阅读器和打印器"
3-1.Namesm="搜狗输入法"
3-1.Softsm="输入法\搜狗输入法\3.exe"
3-1.Softsm="爱不释手的输入法" 最后三个_GUICtrlListView_AddSubItem删除,内循环也删除,用代替GUICtrlCreateListViewItem($jj&"|"&$var&"|"&$var,$ListView1) 本帖最后由 dnvplj 于 2016-12-10 10:14 编辑
回复 2# q410225
q410225朋友您好,感谢你的回复,配置文件里的“双引号”保留,界面显示的“双引号”能去掉吗(如下图)?
本帖最后由 q410225 于 2016-12-10 16:36 编辑
回复 3# dnvplj
把ini里的双引号去掉不就行了吗
要不然用
StringReplace(chr(34)&"福昕阅读器"&chr(34),'"',"")
StringSplit(chr(34)&"福昕阅读器"&chr(34),'"');//$aArray
留下脚印,之后学习学习 本帖最后由 chzj589 于 2016-12-10 16:22 编辑
请问各位朋友,如何将INI文件里的数值读取到ListView列表显示(见下图),谢谢了。
配置文件
dnvplj 发表于 2016-12-9 21:08 http://www.autoitx.com/images/common/back.gif
在写安装器吧,搜索相关的软件安装,查看配置文件的写法,用法。
是这效果吗? 本帖最后由 dnvplj 于 2016-12-11 20:14 编辑
回复 4# q410225
请问朋友:如果增加多个不确定的“关键字”如何处理?
1-1.Namesm="珊瑚浏览器"
1-1.Softwa="浏览器\珊瑚浏览器\1.exe"
1-1.Softsm="实用、绿色、安全"
1-2.Namesm="腾讯QQ"
1-2.Softwa="聊天工具\腾讯QQ\1.exe"
1-2.Softsm="实用、绿色、安全"
2-1.Namesm="福昕阅读器"
2-1.Namesm="阅读器\福昕阅读器\2.exe"
2-1.Softsm="文档阅读器和打印器"
3-1.Namesm="搜狗输入法"
3-1.Softsm="输入法\搜狗输入法\3.exe"
3-1.Softsm="爱不释手的输入法"
3-2.Namesm="五笔输入法"
3-2.Softsm="输入法\五笔输入法\3.exe"
3-2.Softsm="老款的输入法"
3-3.Namesm="迅雷急速版"
3-3.Softsm="网络下载\迅雷急速版\3.exe"
3-3.Softsm="常用下载工具" 回复 8# chzj589
朋友,PS的吧,怎么没有代码? 回复chzj589
朋友,PS的吧,怎么没有代码?
dnvplj 发表于 2016-12-11 21:20 http://www.autoitx.com/images/common/back.gif
你说是吗?
代码在一楼,读取修改一下 回复 10# chzj589
朋友对不起,是我错怪你了,是真的,担按7楼的配置文件只能读出3行。 回复q410225
请问朋友:如果增加多个不确定的“关键字”如何处理?
dnvplj 发表于 2016-12-11 20:13 http://www.autoitx.com/images/common/back.gif
这样的配置文件INI是读取不出来的
1-1.Namesm="珊瑚浏览器"
1-1.Softwa="浏览器\珊瑚浏览器\1.exe"
1-1.Softsm="实用、绿色、安全"
1-2.Namesm="腾讯QQ"
1-2.Softwa="聊天工具\腾讯QQ\1.exe"
1-2.Softsm="实用、绿色、安全"
2-1.Namesm="福昕阅读器"
2-1.Namesm="阅读器\福昕阅读器\2.exe"
2-1.Softsm="文档阅读器和打印器"
3-1.Namesm="搜狗输入法"
3-1.Softsm="输入法\搜狗输入法\3.exe"
3-1.Softsm="爱不释手的输入法"
3-2.Namesm="五笔输入法"
3-2.Softsm="输入法\五笔输入法\3.exe"
3-2.Softsm="老款的输入法"
3-3.Namesm="迅雷急速版"
3-3.Softsm="网络下载\迅雷急速版\3.exe"
3-3.Softsm="常用下载工具"
要修改一下 回复 11# dnvplj
1-1.Namesm="珊瑚浏览器"
1-1.Softwa="浏览器\珊瑚浏览器\1.exe"
1-1.Softsm="实用、绿色、安全"
1-2.Namesm="腾讯QQ"
1-2.Softwa="聊天工具\腾讯QQ\1.exe"
1-2.Softsm="实用、绿色、安全"
2-1.Namesm="福昕阅读器"
2-1.Namesm="阅读器\福昕阅读器\2.exe"
2-1.Softsm="文档阅读器和打印器"
3-1.Namesm="搜狗输入法"
3-1.Softsm="输入法\搜狗输入法\3.exe"
3-1.Softsm="爱不释手的输入法"
3-2.Namesm="五笔输入法"
3-2.Softsm="输入法\五笔输入法\3.exe"
3-2.Softsm="老款的输入法"
3-3.Namesm="迅雷急速版"
3-3.Softsm="网络下载\迅雷急速版\3.exe"
3-3.Softsm="常用下载工具" 本帖最后由 dnvplj 于 2016-12-12 09:19 编辑
能上个代码吗?很难吗? 本帖最后由 chzj589 于 2016-12-12 10:09 编辑
能上个代码吗?很难吗?
dnvplj 发表于 2016-12-12 09:14 http://www.autoitx.com/images/common/back.gif
你说呢?
多看帮助文件,了解GUICtrlCreateListView控件的使用
_GUICtrlListView_AddSubItem
添加列表视图子项.
#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#include <GuiListView.au3>
Example()
Func Example()
Local $hImage, $idListview
; 创建 GUI
GUICreate("添加列表视图子项", 400, 300)
$idListview = GUICtrlCreateListView("", 2, 2, 394, 268, -1, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
GUISetState(@SW_SHOW)
; 加载图像
$hImage = _GUIImageList_Create()
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($idListview), 0xFF0000, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($idListview), 0x00FF00, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($idListview), 0x0000FF, 16, 16))
_GUICtrlListView_SetImageList($idListview, $hImage, 1)
; 添加列
_GUICtrlListView_InsertColumn($idListview, 0, "列 1", 100)
_GUICtrlListView_InsertColumn($idListview, 1, "列 2", 100)
_GUICtrlListView_InsertColumn($idListview, 2, "列 3", 100)
; 添加项目
_GUICtrlListView_AddItem($idListview, "行 1: 列 1", 0)
_GUICtrlListView_AddSubItem($idListview, 0, "行 1: 列 2", 1, 1)
_GUICtrlListView_AddSubItem($idListview, 0, "行 1: 列 3", 2, 2)
_GUICtrlListView_AddItem($idListview, "行 2: 列 1", 1)
_GUICtrlListView_AddSubItem($idListview, 1, "行 2: 列 2", 1, 2)
_GUICtrlListView_AddItem($idListview, "行 3: 列 1", 2)
; 循环到用户退出.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Example
页:
[1]
2