Что нового

Сортировка текста

Luciferkox

Новичок
Сообщения
14
Репутация
0
Ребят столкнулся с проблемой,немогу сделать одну вещь
Код:
Func _AddList()
   For $i = 1 To $kolvo Step 1
    $aRes = StringRegExp($hData, '(?i)(.*?)|', 1, $iOffset)
    $user[$i] = GUICtrlCreateListViewItem($aRes[0], $ListView1)
    $iOffset = @extended
 Next


А вот значение $hData

Код:
2|sdfds|sdfsdf
3|sdfasfasds|sdfsasfasfdf
4|варар|вапва
5|danger|danger
6|123123|123123
7|12312asd3|12312fasf3
8|testerr|testerr
10|rwrsra|rwrsra
11|afdafs|afdafs
12|sdgsdg|sdgsdg

И в итоге, создается одна строчка,а все остальное не заполняется.Помогите кто сможет
 

axsmak

Знающий
Сообщения
32
Репутация
7
Немного непонятно, что вы хотите сделать. Но если вам нужно просто заполнить таблицу значениями из $hData, а айди строк внести в массив $user, то так:
Код:
Func _AddList()
  Local $aRes = StringSplit($hData, @CRLF)
  For $i = 1 To UBound($aRes)-1
    If $aRes[$i] == "" Then ContinueLoop
    _ArrayAdd($user, GUICtrlCreateListViewItem($aRes[$i], $ListView1))
  Next
  _ArrayDisplay($user)
EndFunc


Полный код примера:
Код:
#include <Array.au3>
#include <GUIConstants.au3>

Opt("GUIOnEventMode", 1)

$oForm = GUICreate("Form", 500, 500, -1, -1, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_TABSTOP))
$ListView1 = GUICtrlCreateListView("№|A|B", 5, 5, 490, 490)

GUISetOnEvent($GUI_EVENT_CLOSE, "_CloseForm")
GUISetState(@SW_SHOW)

Global $hData = "2|sdfds|sdfsdf" & @CRLF & _
"3|sdfasfasds|sdfsasfasfdf" & @CRLF & _
"4|варар|вапва" & @CRLF & _
"5|danger|danger" & @CRLF & _
"6|123123|123123" & @CRLF & _
"7|12312asd3|12312fasf3" & @CRLF & _
"8|testerr|testerr" & @CRLF & _
"10|rwrsra|rwrsra" & @CRLF & _
"11|afdafs|afdafs" & @CRLF & _
"12|sdgsdg|sdgsdg"

Global $user[0]

_AddList()

Func _AddList()
  Local $aRes = StringSplit($hData, @CRLF)
  For $i = 1 To UBound($aRes)-1
    If $aRes[$i] == "" Then ContinueLoop
    _ArrayAdd($user, GUICtrlCreateListViewItem($aRes[$i], $ListView1))
  Next
  _ArrayDisplay($user)
EndFunc

Func _CloseForm()
  Exit
EndFunc

While 1
  Sleep(100)
WEnd



Добавлено:
Сообщение автоматически объединено:

На всякий случай - ваши ошибки:
[list type=decimal]
[*]Символ "|" в регулярках надо экранировать '(?i)(.*?)\|'
[*]@extended используйте сразу после StringRegExp иначе получаете результат функции GUICtrlCreateListViewItem поэтому и не меняется $iOffset
[*]В конце строк у вас нет символа "|", поэтому, даже исправив вышеуказанные ошибки, вы получите неполный список подстрок в одну колонку
[/list]
 

Вложения

  • lv.jpg
    lv.jpg
    42.2 КБ · Просмотры: 18
Верх