Неважно что бета-версия. Зачем пользователю мучиться ? - скрипт должен ставиться в систему легко, автоматом.
Комментарии русские теряются при экспорте, но можно это обойти. Вот я делал, тут описано как
viewtopic.php?t=8058
Так получите текстовые файлы всех своих скриптов, потом переименуйте их в .rsc вот и всё. Их можно импортировать в любой роутер командой /import
комментарии сохранятся на русском языке
Если все вместе не превышают 4К, можно склеить в один файл .rsc
Работа с массивами или когда массив распадается на указатели
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
-
- Сообщения: 162
- Зарегистрирован: 23 июл 2013, 18:47
Не много не понял о какой потере идёт речь по той ссылке. Можете разъяснить?. Потери русского при прямом копировании нет. Пример для винды:
Берёте копируете код с форума и вставляете его в notepad++. В блокноте он автоматом станет в кодировку utf. Теперь открываете winbox, открываете скрипт. УБЕЖДАЕТЕСЬ что раскладка клавиатуры в windows стоит в ОБОИХ окнах на ru. И просто делаете копировать-вставить. Работает без потерь в обе стороны.
А если надо удалить комменты или удалить только русские , то в notepad это делается одним действием. А вот если моим скриптом захочет воспользоваться человек который не знает по русски ничего, то ему эти записи как Филькина грамота, как не извлекай их из роутера. Как пример - переключи в настройках винды - используемую кодировку для программ не поддерживающих юникод
Берёте копируете код с форума и вставляете его в notepad++. В блокноте он автоматом станет в кодировку utf. Теперь открываете winbox, открываете скрипт. УБЕЖДАЕТЕСЬ что раскладка клавиатуры в windows стоит в ОБОИХ окнах на ru. И просто делаете копировать-вставить. Работает без потерь в обе стороны.
А если надо удалить комменты или удалить только русские , то в notepad это делается одним действием. А вот если моим скриптом захочет воспользоваться человек который не знает по русски ничего, то ему эти записи как Филькина грамота, как не извлекай их из роутера. Как пример - переключи в настройках винды - используемую кодировку для программ не поддерживающих юникод
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
Согласен со всем. Так на кой нерусским Ваши скрипты давать. Не надо, пусть буржуи сами пишут ... Наши скрипты только для нас.
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
Раз Вы хорошо знаете массивы, подскажите, как мне извлечь данные из многомерного массива, полученного /tool fetch в формате json вот тут:
viewtopic.php?f=14&t=11322&start=10
viewtopic.php?f=14&t=11322&start=10
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 125
- Зарегистрирован: 18 мар 2021, 12:45
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
А вот Вы наконец и наступили на грабли, связанные с Вашей привычкой не объявлять переменные !
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 125
- Зарегистрирован: 18 мар 2021, 12:45
- Brook
- Сообщения: 127
- Зарегистрирован: 24 май 2022, 00:29
Если я правильно понимаю, то переменная ISP не является числом, а представляет из себя .id в виде .id=*4. Поэтому оно не может быть ключом.
Как вариант, добавьте счетчик в цикл и используйте его как индекс.
-
- Сообщения: 125
- Зарегистрирован: 18 мар 2021, 12:45
В первом варианте $interfaceISP тоже не число, но как ключ работает.
Подкиньте идею, чтоб по-порядку в массив складывало, согласно .id, в моем варианте укладывает по алфавиту.
Подкиньте идею, чтоб по-порядку в массив складывало, согласно .id, в моем варианте укладывает по алфавиту.
- Brook
- Сообщения: 127
- Зарегистрирован: 24 май 2022, 00:29
Так вроде в сообщении выше подкинул...
В первом варианте работает как строка. Имя интерфейса $interfaceISP становится текстовым ключом, поэтому массив и сортируется.
Во втором варианте $ISP не число - это тип .id в виде .id=*4. Работать с ним в циклах можно, но id не может быть индексом в массиве.
Индексом в массиве может быть только число.
Как вариант, добавьте счетчик в цикл и используйте его как индекс.
Код: Выделить всё
:local counter 0
/ip dhcp-client
:foreach ISP in=[find ~""] do={
:set $interfaceISP [get $ISP interface]
:set $nameISP [get $ISP comment]
:set $statusISP ([get $ISP]->"status")
:if (!any $statusISP) do={
:set $statusISP ([/interface ethernet monitor $interfaceISP once as-value]->"status")
}
:set $ipISP [get $ISP address]
:if (any $ipISP) do={
:set $ipISP [:pick $ipISP 0 [:find $ipISP "/"]]
} else={
:set $ipISP $statusISP
}
:set ($listISP->$counter) {name=$nameISP; status=$ipISP}
:set counter ($counter + 1)
}
:return $listISP