Flasher писал(а):Т. е. vb, по-твоему, неполноценный?
Ок, не так выразился. Конечно, только одна эта фича не делает язык полноценным или нет. Но конкретно в VB этого действительно оказывается нет.
Flasher писал(а):Ну, если с And там работают прерывания, то ему это и не нужно.
Есть, для and и or.
Flasher писал(а):Я согласен, но я лишь ориентировался на твои слова:
Обязательных кавычек для
строк, а не всего выражения. И уж тем более не переменных. И только в функциональной записи.
Код: Выделить всё
Проблема в такой записи:
IniRead('~/R', %COMMANDER_INI%, Configuration, LanguageIni)
А в такой проблем нет:
IniRead('~/R', %COMMANDER_INI%, "Configuration", "LanguageIni")
IniRead('~/R', %COMMANDER_INI%, 'Configuration', 'LanguageIni')
IniRead('~/R', %COMMANDER_INI%, 'Configuration', "LanguageIni")
и т.д.
Flasher писал(а):О, а где ещё беспроцентный вариант можно использовать? В командах, например.
Теперь уже и не знаю. Возможно откачу назад, поскольку как я уже писал, сейчас невозможно отличить переменную от простой строки. Либо переключение прагмой.
В какой-то момент возникла какая-то проблема, поэтому я и разрешил переменные без %. Сейчас их можно использовать в любых выражениях - условиях, новом присваивании, параметрах функций и т.д. В том числе для команд при использовании вычисляемых строк, например так: %'COMMANDER_PATH & "\Main.bar"'. Обязательность %% сохраняется при прямом использовании в командной записи.
Flasher писал(а):У меня так. И почему ожидается-то, если вопрос был о пустых значениях?
Может какой-то баг, но у меня он не проявляется.
Пустые значения при отсутствии переменной не могут выдаваться, т.к. неизвестно, переменная ли это. Возвращается имя переменной, но так было и в предыдущих версиях Autorun.