Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата eus_deus:
Iska, а строки выстроены в вашем примере просто в обратном порядке с удалением третьей и седьмой строки? »
Да. Вы упоминали ещё про седьмую:
Цитата eus_deus:
А так она там не нужна, равно как и седьмая »
посему я взял для примера восемь строк. После разбиения строки на подстроки («StringSplit()») нулевой элемент полученного массива содержит количество элементов, потому его удаляем перед обращением порядка элементов массива («_ArrayReverse()»). Удалять лишние/ненужные элементы удобнее с конца.

Цитата eus_deus:
Я же делал акцент на порядке строк - 5,4,2,1. »
В принципе, ничто не мешает просто взять полученный разбиением массив и склеить потребные элементы (если Вы уверены в их наличии):
Код: Выделить весь код
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
;#include <Array.au3>

$Form1   = GUICreate("Form1", 440, 200, 320, 240)
$Edit1   = GUICtrlCreateEdit(StringReplace("First;Second;Third;Fourth;Fifth;Sixth;Seventh;Eighth", ";", @CRLF), 8, 8, 153, 161)
$Edit2   = GUICtrlCreateEdit("", 153 + 8 * 2, 8, 153, 161)
$Button1 = GUICtrlCreateButton("Button1", 153 * 2 + 8 * 4, 8, 89, 25)
GUISetState(@SW_SHOW)

While 1
	$nMsg = GUIGetMsg()

	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			$aValues = StringSplit(GUICtrlRead($Edit1), @CRLF, 1)

			;_ArrayDelete($aValues, 7)
			;_ArrayDelete($aValues, 3)
			;_ArrayDelete($aValues, 0)

			;_ArrayReverse($aValues)

			;GUICtrlSetData($Edit2, _ArrayToString($aValues, @CRLF))
			GUICtrlSetData($Edit2, $aValues[5] & @CRLF & $aValues[4] & @CRLF & $aValues[2] & @CRLF & $aValues[1])
	EndSwitch
WEnd
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:09, 28-08-2013 | #8