Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何在Autohotkey中将此INI文件设置为listview_Loops_Listview_Autohotkey_Ini - Fatal编程技术网

Loops 如何在Autohotkey中将此INI文件设置为listview

Loops 如何在Autohotkey中将此INI文件设置为listview,loops,listview,autohotkey,ini,Loops,Listview,Autohotkey,Ini,我想将这个INI文件安排到一个listview中,其中节是第一列,每个键创建另一列。我原以为我有这个代码,但第二列显示了所有键在一起,而不是分开。有人能帮我把它们分成几列吗。此外,我不是很先进的AHK,所以如果你能评论你的步骤将非常感谢 #SingleInstance, force #NoEnv FileDelete,test.ini FileAppend, ( [PROJECT-1] Company=Company A Remarks=Info about Project 1 Status=

我想将这个INI文件安排到一个listview中,其中节是第一列,每个键创建另一列。我原以为我有这个代码,但第二列显示了所有键在一起,而不是分开。有人能帮我把它们分成几列吗。此外,我不是很先进的AHK,所以如果你能评论你的步骤将非常感谢

#SingleInstance, force
#NoEnv

FileDelete,test.ini
FileAppend,
(
[PROJECT-1]
Company=Company A
Remarks=Info about Project 1
Status=Current
Value=Some Value not needed
[PROJECT-2]
Company=Company B
Remarks=Info about Project 2
Status=Late
Values=Some Value not needed
)
,test.ini


GUI, ADD, Listview, w600, PROJECT|COMPANY|REMARKS|STATUS
IniRead, OutputVarProjects, test.ini
; MsgBox % OutputVarProjects

Loop, parse, OutputVarProjects, `n ;shows sections
    {
    LVDATA:=""  
    IniRead, OutputVarSection, test.ini, %A_LoopField%
    ; MsgBox % OutputVarSection
    Loop, parse, OutputVarSection, `n
    LVDATA .= StrSplit(A_LoopField,"=").2 ","   
    ; MsgBox % LVDATA   
    LV_Add("", A_loopfield, lvdata)
    }
    Gui, show
    Return

既然您知道关键名称将是什么,我的建议是静态地逐个阅读它们。动态读取节的键并不能保证它们会按该顺序出现

#SingleInstance, force
#NoEnv

FileDelete,test.ini
FileAppend,
(
[PROJECT-1]
Company=Company A
Remarks=Info about Project 1
Status=Current
Value=Some Value not needed
[PROJECT-2]
Company=Company B
Remarks=Info about Project 2
Status=Late
Values=Some Value not needed
)
,test.ini


Gui, Add, Listview, w600, PROJECT|COMPANY|REMARKS|STATUS
IniRead, projects, test.ini
Loop, parse, projects, `n ;shows sections
{
    sect := A_LoopField
    IniRead, keys, test.ini, % sect
    IniRead, company, test.ini, % sect, Company, %A_Space%
    IniRead, remarks, test.ini, % sect, Remarks, %A_Space%
    IniRead, status, test.ini, % sect, Status, %A_Space%
    LV_Add("", sect, company, remarks, status)
}
Loop, % LV_GetCount("Col")
    LV_ModifyCol(A_Index, "autoHdr")
Gui, show
return

GuiClose:
 ExitApp

成功了!谢谢你花了一段时间,但我的声誉提高了。我已经投了赞成票并进行了检查。