找回密码
 加入
搜索
查看: 3438|回复: 9

[AU3基础] [已解决]有没有函数 可以把 ListView 上面所有的内容一次写到 数组里面的??

  [复制链接]
发表于 2012-11-17 10:29:19 | 显示全部楼层 |阅读模式
本帖最后由 kk_lee69 于 2012-11-19 15:53 编辑

_GUICtrlListView_AddArray 可以把陣列一次寫到LISTVIEW

那麼 有没有函数 可以把 ListView 上面所有的内容一次写到 数组里面的??
发表于 2012-11-17 11:16:21 | 显示全部楼层
回复 1# kk_lee69

咋不你来写一个造福大众??

那个也是个自定义函数而已
 楼主| 发表于 2012-11-17 12:03:48 | 显示全部楼层
了解 本來是想說 是不是 有我不知道的方法.....看來還是得 算 行數 算列數 然後再定義數組 跑循環 加入進去了 呵呵, 感謝回覆!!
发表于 2012-11-17 23:03:53 | 显示全部楼层
一般在生成列表项之前或同时就可同步更新到数组(或副本),可随时按需使用。
发表于 2012-11-18 12:33:51 | 显示全部楼层
本帖最后由 netegg 于 2012-11-18 12:37 编辑

[au3]; #FUNCTION# ====================================================================================================================
; Name ..........: _GUICtrlListView_CreateArray
; Description ...: Creates a 2-dimensional array from a lisview.
; Syntax ........: _GUICtrlListView_CreateArray($hListView[, $sDelimeter = '|'])
; Parameters ....: $hListView           - Control ID/Handle to the control
;                  $sDelimeter          - [optional] One or more characters to use as delimiters (case sensitive). Default is '|'.
; Return values .: Success - The array returned is two-dimensional and is made up of the following:
;                                $aArray[0][0] = Number of rows
;                                $aArray[0][1] = Number of columns
;                                $aArray[0][3] = Delimited string of the column name(s) e.g. Column 1|Column 2|Column 3|Column nth

;                                $aArray[1][0] = 1st row, 1st column
;                                $aArray[1][1] = 1st row, 2nd column
;                                $aArray[1][2] = 1st row, 3rd column
;                                $aArray[n][0] = nth row, 1st column
;                                $aArray[n][1] = nth row, 2nd column
;                                $aArray[n][2] = nth row, 3rd column
; Author ........: guinness
; Remarks .......: GUICtrlListView.au3 should be included.
; Example .......: yes
; ===============================================================================================================================
Func _GUICtrlListView_CreateArray($hListView, $sDelimeter = '|')
    Local $iColumnCount = _GUICtrlListView_GetColumnCount($hListView), $iDim = 0, $iItemCount = _GUICtrlListView_GetItemCount($hListView)
    If $iColumnCount < 3 Then
        $iDim = 3 - $iColumnCount
    EndIf
    If $sDelimeter = Default Then
        $sDelimeter = '|'
    EndIf

    Local $aColumns = 0, $aReturn[$iItemCount + 1][$iColumnCount + $iDim] = [[$iItemCount, $iColumnCount, '']]
    For $i = 0 To $iColumnCount - 1
        $aColumns = _GUICtrlListView_GetColumn($hListView, $i)
        $aReturn[0][2] &= $aColumns[5] & $sDelimeter
    Next
    $aReturn[0][2] = StringTrimRight($aReturn[0][2], StringLen($sDelimeter))

    For $i = 0 To $iItemCount - 1
        For $j = 0 To $iColumnCount - 1
            $aReturn[$i + 1][$j] = _GUICtrlListView_GetItemText($hListView, $i, $j)
        Next
    Next
    Return SetError(Number($aReturn[0][0] = 0), 0, $aReturn)
EndFunc   ;==>_GUICtrlListView_CreateArray[/au3]
发表于 2012-11-18 12:36:36 | 显示全部楼层
用循环一个一个加吧。
发表于 2012-11-18 12:37:12 | 显示全部楼层
贡献是怎么来的???怎么我是-4????
发表于 2012-12-30 14:34:40 | 显示全部楼层
向高手学习
发表于 2015-6-3 09:32:18 | 显示全部楼层
有用,顶一下
发表于 2017-12-30 14:32:02 | 显示全部楼层
感谢5楼分享!
_GUICtrlListView_CreateArray
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 11:17 , Processed in 0.070759 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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