|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Вложение в условии else if elseif |
|
PowerShell - [решено] Вложение в условии else if elseif
|
Новый участник Сообщения: 10 |
Добрый день.
Подскажите пожалуйста, есть конструкция if else оформленная вот в таком стиле: Получается, что вложенная конструкция в if и else не работает! Более точнее код выглядит вот так: elseif ($traceroute.SelectedItem -eq $ConfigProperty5) { $Summa.Enabled = $true $rasstreka.Text = $ConfigProperty6 $rasstmore.Text = $ConfigProperty7 $gateway.Text = $ConfigProperty8 $uchastok.Text = $ConfigProperty202 [array]$lstItemsmaterial = ("", "$global:ConfigProperty203", "$global:ConfigProperty204", "$global:ConfigProperty205") $material.Items.Clear(); $material.Items.AddRange($lstItemsmaterial); $material.Text = $lstItemsmaterial[0].ToString(); if ($material.SelectedItem -eq $ConfigProperty205) { [array]$lstItemsvodoizmechenie = ("", ` "$global:ConfigProperty208", ` "$global:ConfigProperty209", ` "$global:ConfigProperty210", ` "$global:ConfigProperty211", ` "$global:ConfigProperty212") $vodoizmechenie.Items.Clear(); $vodoizmechenie.Items.AddRange($lstItemsvodoizmechenie); $vodoizmechenie.Text = $lstItemsvodoizmechenie[0].ToString(); } elseif (($material.SelectedItem -eq $ConfigProperty203) -or ($material.SelectedItem -eq $ConfigProperty204)) { [array]$lstItemsvodoizmechenie = ("", ` "$global:ConfigProperty210", ` "$global:ConfigProperty211", ` "$global:ConfigProperty212") $vodoizmechenie.Items.Clear(); $vodoizmechenie.Items.AddRange($lstItemsvodoizmechenie); $vodoizmechenie.Text = $lstItemsvodoizmechenie[0].ToString(); } } if ($material.SelectedItem -eq $ConfigProperty205) { [array]$lstItemsvodoizmechenie = ("", ` "$global:ConfigProperty208", ` "$global:ConfigProperty209", ` "$global:ConfigProperty210", ` "$global:ConfigProperty211", ` "$global:ConfigProperty212") $vodoizmechenie.Items.Clear(); $vodoizmechenie.Items.AddRange($lstItemsvodoizmechenie); $vodoizmechenie.Text = $lstItemsvodoizmechenie[0].ToString(); } elseif (($material.SelectedItem -eq $ConfigProperty203) -or ($material.SelectedItem -eq $ConfigProperty204)) { [array]$lstItemsvodoizmechenie = ("", ` "$global:ConfigProperty210", ` "$global:ConfigProperty211", ` "$global:ConfigProperty212") $vodoizmechenie.Items.Clear(); $vodoizmechenie.Items.AddRange($lstItemsvodoizmechenie); $vodoizmechenie.Text = $lstItemsvodoizmechenie[0].ToString(); } |
|
Отправлено: 13:46, 05-07-2018 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Получается, что вложенная конструкция в if и else не работает! - Конструкция объвлена неправильно, поэтому и не работает.
About If - https://docs.microsoft.com/en-us/pow...w=powershell-6 $a = 10 $obj = 101 if($a -eq 1) { 1 } elseif($a -eq 10) { "Inside elseif" if($obj -gt 100) { "`t->Inside if" "`t`tMore than 100" } else { "Less than 100" } } else { "Unknown" } То что привели, какой-то отрывок кода без $traceroute, $ConfigProperty205, $material никак не облегчает понимание. Приводите весь код. |
Отправлено: 14:08, 05-07-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 10
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Kazun:
|
|
Отправлено: 18:17, 05-07-2018 | #3 |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать Цитата alado:
Вы привели код частично, где нет ни значений используемых переменных/объектов, ни законченного кода, чтобы его проверить, ни результата выполнения кода и выдаваемой ошибки... поэтому вопрос Ваш, с большой вероятностью, канет в Лету. |
|
------- Отправлено: 18:36, 05-07-2018 | #4 |
Новый участник Сообщения: 10
|
Профиль | Сайт | Отправить PM | Цитировать Ссылка на скачивание https://yadi.sk/d/UFr-nA763YwvFK , в тему вложить как вложение или как текст у меня не получилось, так как существуют ограничения на такой объем!
|
|
Отправлено: 09:14, 09-07-2018 | #5 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Проблема в скрипте в формировании материала, $material.SelectedItem - нельзя выбрать, потому что в этом блоке идет его формирование и всегда будет пусто.
Выбираем маршрут, разово заполняется материал, добавляем событие на выбор материала и только потом можно выполнить блок if ($material.SelectedItem -eq $ConfigProperty205). Как пример добавляю,например, нa 5126: $material.add_SelectedValueChanged({ if($material.SelectedItem -eq $ConfigProperty205) { msgbox $material.SelectedItem } }) ![]() Т.е. надо продумать логику в скрипте, как пользователь будет выбирать материал с последующими изменениями переменной $vodoizmechenie |
Отправлено: 10:51, 09-07-2018 | #6 |
Новый участник Сообщения: 10
|
Профиль | Сайт | Отправить PM | Цитировать Kazun, спасибо. Не додумал сам до SelectedValueChanged. По вопросу логики буду дальше думать.
|
Отправлено: 11:40, 09-07-2018 | #7 |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать Цитата alado:
А где в этом файле та часть кода, которая не работает: Цитата alado:
Ну и есть строки, начиная с 3817, в которых присутствует обращение к несуществующей переменной $dir, она появляется в строке 11977... это, как минимум, приведет к перманентному невыполнению условий. И ещё в коде присутствует обращение к базе данных, в формате .xlsx, его бы тоже не мешало для полноты картины обозначить. Реальные данные, естественно, не нужны... |
||
------- Отправлено: 12:58, 09-07-2018 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2016 - outlook 2016 в office 365 вложение файла закрывается и пишет обновление | dartne | Microsoft Office (Word, Excel, Outlook и т.д.) | 2 | 30-09-2016 10:46 | |
2010 - Как проиграть звуковое вложение в файле docx плеером по выбору пользователя? | borison | Microsoft Office (Word, Excel, Outlook и т.д.) | 6 | 18-05-2012 15:03 | |
[решено] остановка функции при условии. | yukuru | AutoIt | 3 | 26-07-2011 00:01 | |
C/C++ - Вложение файлов. | Chilli | Программирование и базы данных | 3 | 07-12-2010 09:02 | |
Вложение RAR архивов | alcos | О сайте и форуме | 7 | 22-09-2005 19:03 |
|