Собственно говоря название темы отображает суть. Из чисел надо получит диапазон. Типа
0,1,2,4,6,7,8,11
0-2
4-4
6-8
11-11
Пользовалься поиском по форуму. Нашел похожую тематику.
http://autoit-script.ru/index.php?topic=17913.msg109755#msg109755
Изменил этот скрипт для своей нужды, работает, но проблема в том, что скрипт не до конца выполняет условие.
По гуглу нашел пример. То, что надо. Но он в С#.
http://www.cyberforum.ru/csharp-beginners/thread1684401.html
0,1,2,4,6,7,8,11
0-2
4-4
6-8
11-11
Пользовалься поиском по форуму. Нашел похожую тематику.
http://autoit-script.ru/index.php?topic=17913.msg109755#msg109755
Изменил этот скрипт для своей нужды, работает, но проблема в том, что скрипт не до конца выполняет условие.
По гуглу нашел пример. То, что надо. Но он в С#.
http://www.cyberforum.ru/csharp-beginners/thread1684401.html
Код:
#include <Array.au3>
Global $Array[15] = [0, 1, 2, 4, 6, 7, 8, 14, 17, 18, 19, 20, 22, 23, 24]
$min = $Array[0]
$max = $Array[UBound($Array) - 1]
Global $Diap_1[0]
Global $Diap_2[0]
_Area($Array, $min)
_Diap()
Func _Area($arr, $minn)
$j = 0
While $j < UBound($arr) - 1
If $arr[$j + 1] - $arr[$j] > 1 Then
_ArrayAdd($Diap_1, $minn)
_ArrayAdd($Diap_2, $arr[$j])
$minn = $arr[$j + 1]
EndIf
$j = $j + 1
WEnd
ConsoleWrite('$j= ' & $j & @CRLF)
;~ If $arr[$j + 1] > 15 Then
;~ _ArrayAdd($Diap_1, $arr[$j])
;~ _ArrayAdd($Diap_2, $max)
;~ EndIf
EndFunc ;==>_Area
Func _Diap()
For $j = 0 To UBound($Diap_1) - 1
ConsoleWrite($Diap_1[$j] & " - " & $Diap_2[$j] & @CRLF)
Next
EndFunc ;==>_Diap