Что нового

Пропуск итерации не выходя из цикла

joparezzz

Новичок
Сообщения
65
Репутация
0
Есть код:
Код:
Local $aFN[][] = 	[ _
	["Кабельный канал ДКС TA-EN 40х40", 				"TA-EN 40x40",		2000, 		50, 		"DKC TA-EN 40x40"	], _
	["Кабельный канал ДКС TA-GN 60х60",					"TA-GN 60x60", 		2000, 		50, 		"DKC TA-GN 60x60"	], _
	["Кабельный канал ДКС TA-GN 120х60",				"TA-GN 120x60", 	2000, 		50, 		"DKC TA-GN 120x60"	], _
	["Кабельный канал ИЭК Элекор 15х10",				"IEK 15x10", 		2000, 		50, 		"IEK 15x10"			], _
	["Лоток перфорированный ИЭК 80х200х3000, 0.8мм", 	"IEK 80x200x3000", 	3000, 		50, 		"IEK 80x200x3000"	]]
;_ArrayDisplay($aFN)

Dim $aDataBase[0][0]
For $i = 0 To UBound($aFN) - 1
		ReDim $aDataBase[$i + 1][8] 															;Меняем размер (строку) массива на + 1
		$aDataBase[$i][0] = $aArray[_ArraySearch($aArray, $aFN[$i][0], 0, 0, 0, 1, 1, 5)][5] 	;0. Записываем "Имя файла" в массив
		$aDataBase[$i][1] = $aFN[$i][1] 														;1. Записываем "Материал" в массив
		$aDataBase[$i][2] = $aFN[$i][2] 														;2. Записываем "Длина" в массив
		$aDataBase[$i][3] = $aFN[$i][3] 														;3. Записываем "Кол." в массив
		$aDataBase[$i][4] = $aFN[$i][4] 														;4. Записываем "Примечание" в массив
		$aDataBase[$i][5] = $aArray[_ArraySearch($aArray, $aFN[$i][0], 0, 0, 0, 1, 1, 5)][8] 	;5. Записываем "Обозн. док. на пост." в массив
		$aDataBase[$i][6] = $aArray[_ArraySearch($aArray, $aFN[$i][0], 0, 0, 0, 1, 1, 5)][9] 	;6. Записываем "Поставщик" в массив
		If $aArray[_ArraySearch($aArray, $aFN[$i][0], 0, 0, 0, 1, 1, 5)][10] & " " & $aArray[_ArraySearch($aArray, $aFN[$i][0], 0, 0, 0, 1, 1, 5)][11] <> " " 	Then
		$aDataBase[$i][7] = $aArray[_ArraySearch($aArray, $aFN[$i][0], 0, 0, 0, 1, 1, 5)][10] & " " & $aArray[_ArraySearch($aArray, $aFN[$i][0], 0, 0, 0, 1, 1, 5)][11] ;7. Записываем "Загатовка" + "Типоразмер" = "наименование" в массив
		Else
		$aDataBase[$i][7] = $aArray[_ArraySearch($aArray, $aFN[$i][0], 0, 0, 0, 1, 1, 5)][2] 	;7. Записываем "наименование" в массив
		EndIf
Next


если вот тут
Код:
$aDataBase[$i][0] = $aArray[_ArraySearch($aArray, $aFN[$i][0], 0, 0, 0, 1, 1, 5)][5]   ;0. Записываем "Имя файла" в массив

выходит ошибка то как пропустить эту итерацию и перейти к другой итерации не выходя из цикла?
 

gunter123

Продвинутый
Сообщения
159
Репутация
69
Если ошибка в ArraySearch, то вот это должно работать
Код:
...
        If Not IsArray($aArray) Then ContinueLoop
		$iSearch = _ArraySearch($aArray, $aFN[$i][0], 0, 0, 0, 1, 1, 5)							
		If $iSearch >= UBound($aArray) OR $iSearch = -1 Then ContinueLoop						
		$aDataBase[$i][0] = $aArray[$iSearch][5]  												;0. Записываем "Имя файла" в массив
      ...
 
Верх