Реализовать выражение.



  • Как реализовать выражение, чтобы если слово берется из файла допустим Минск то в поле вводился текст г.Минск, а если в файле будет слово Минская, то в поле вводился текст Минская обл. Если вы спросите, а почему бы просто не написать г.Минск в файле сразу, то из этого файла будут читать два разных шаблона, и одному из них нужна информацию формата Минск, а другому г.Минск.



  • @Ficus said in Реализовать выражение.:
    Есть у меня вариант, но как костыль. Берем ресурс, парсим его в список с помощью инструмента Парсить строку из меню Список.
    2 раза берем последний елемент этого списка, удаляя его, сохраняя в переменные. У нас получится пер1="я", пер2="а". Создаем новую переменную, обьеденяя две предыдущих, получается пер3="ая". Дальше делаем условие после этой переменной, если равно - пишем "(ресурс) обл." в нужное поле, в противном случае пишем г. (ресурс) в нужное поле.
    Вот пример, только там я с помощью условий сохраняю в переменную в нужном формате.





  • @Ficus Тоже решил присоединиться. Не знаю на сколько правильно. Если последние две буквы ая тогда область если нет тогда город. Только чтобы пробелов небыло, а то не правильно посчитает

    0_1476826009629_тетс города и области.xml
    добавил убрать пробелы
    0_1476826895292_2тетс города и области.xml



  • @Ficus Вот еще вариант от меня, через конструктор

    0_1476875626536_detectcity.xml

    0_1476875500438_Constr.png



  • Можно эти варианты продемонстрировать на этом проекте? 0_1476885494465_test_gorod_oblast.xml



  • @Ficus Вы можете скопировать один из вариантов в свой проект и оппробовать сами.



  • Я пробовал вчера весь вечер, только для меня все эти конструкции темный лес, я даже не знаю как их подключить, вот например ваша, как я понял результат выводила в лог(лог заменил ввести текст), но он у меня при добавлении в мой проект выдает ошибку. Ресурс и значение есть. Если можно человеческим языком.

    [14:54:50] Поток №1 : SyntaxError: Parse error Номер строки:1 Во время выполнения скрипта { RS("test", false, false,function(){ RESOURCE_191008 = _result().get() VAR_RES = "г. " + RESOURCE_191008 _next_or_section(17556,function(){ })})}



  • @Ficus Хорошо, вечером модифицирую проект.



  • Во всем разобрался спасибо за помощь, использовал вариант от support.



  • Еще один вопрос по выражениям, а если в ресурсе будут 3-4 значения, а не 2 ? Не по теме но как ограничить количество символов при вводе текста?



  • @Ficus Ограничить при вводе нельзя. Но можно проверить на длину при старте.



  • Так как быть с выражением если в нем 3 значения? г.-город, обл.-область, с.-село.
    Как запустить одновременно 5 разных шаблонов?



  • @Ficus Отличить город от области можно по окончанию, а как отличить название города от названия села?



  • а если в ресурс село добавить с.(Васильков с.), выражение сможет определить?



  • @Ficus Да, сможет. Тогда можете сделать такую логику. Если начинается на с. - тогда село. Если заканчивается на ая - тогда область, иначе - город.



  • Только я не знаю как это сделать.



  • @Ficus Вот проверка, на то, что строка начианется с с.

    Остальное можно взять из проектов предложенных выше

    0_1478008033190_ifelse.xml



  • Все работает спасибо, а почему значение 0? http://prnt.sc/d20i9u



  • @Ficus Поиск получает индекс c. в строке. Если индекс равен 0, значит строка начинается с c., значит это село.


Log in to reply