Что нового

[Массивы] Из функции вернуть несколько значений

Mr. Anderson

Новичок
Сообщения
122
Репутация
4
Есть функция:
Код:
Func RemoveTrig($var)		;Функция переносящая влево тригонометрическую часть и вправо остальную v0.02
	$var1 = $var
    $trig_part_start = StringInStr($var1, "sin");Находим позицию откуда начинается синус
    $trig_part_end = StringInStr($var1, ")")    ;И где заканчивается
    $trig_part_col = $trig_part_end - $trig_part_start + 1
    $trig_part = StringMid($var1, $trig_part_start, $trig_part_col)
	$trig_right = InputBox("Введите правую часть уравнения. ", $trig_part & " = ... из " & $var)
	$trig[1] = $trig_part
	$trig[2] = $trig_right
	Return $trig
EndFunc


Как видите пытаюсь из нее вернуть массив. Вызываю:
Код:
$trig_ur = RemoveTrig($var1)
		MsgBox(0, "Test", $trig_ur[1])


Функция выполняется, это точно, а вот MsgBox даже не появляется
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Mr. Anderson
Объяви массив который ты пытаешься вернуть внутри функции. По всей видимости, массив состоит из двух элементов, значит максимальный индекс у него будет 1.
Код:
Func RemoveTrig($var)       ;Функция переносящая влево тригонометрическую часть и вправо остальную v0.02
    $var1 = $var
    Local $trig[2]; Массив из двух элементов
    $trig_part_start = StringInStr($var1, "sin");Находим позицию откуда начинается синус
    $trig_part_end = StringInStr($var1, ")")    ;И где заканчивается
    $trig_part_col = $trig_part_end - $trig_part_start + 1
    $trig_part = StringMid($var1, $trig_part_start, $trig_part_col)
    $trig_right = InputBox("Введите правую часть уравнения. ", $trig_part & " = ... из " & $var)
    $trig[0] = $trig_part
    $trig[1] = $trig_right; Максимальный индекс 1
    Return $trig
EndFunc

И после этого уже смотри в MsgBox'е возвращаемое значение
Код:
$trig_ur = RemoveTrig($var1)
MsgBox(0, "Test", $trig_ur[0])
 
Верх