View previous topic :: View next topic |
Author |
Message |
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Fri Jun 14, 2019 23:13 Post subject: |
|
|
Flasher wrote: | <searchtext> у AddCondition, как я понял, искать по маске со звёздочкой не умеет |
Оно ищет вхождение заданной подстроки <searchtext> в любом месте заголовка/текста контрола. Во всяком случае, так задумывалось. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Jun 14, 2019 23:52 Post subject: |
|
|
Loopback
Может, не работает из-за того, что текст контрола динамический? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Sat Jun 15, 2019 00:59 Post subject: |
|
|
Flasher wrote: | Может, не работает из-за того, что текст контрола динамический? |
Да, скорее всего. Текст получается один раз при инициализации диалога. Предполагаю, что в этот момент он вообще может быть пустой или там какая-нибудь заглушка. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jun 15, 2019 01:04 Post subject: |
|
|
Loopback
Ясно. Жаль. Ну, ОК. Когда придёт вдохновение, жду вариант с LngRead, GetCpuInfo и слегка пофиксеной справкой. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Fri Jun 21, 2019 17:20 Post subject: |
|
|
Выложена новая версия.
2.0.6
+ добавлена команда LngRead для чтения строк из языковых файлов TC
- мелкие исправления в справке |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Jun 21, 2019 19:28 Post subject: |
|
|
Loopback
Что-то не хочет:
Code: | IniRead LNG %COMMANDER_INI% Configuration LanguageIni
LngRead IntAssoc 1722 '%COMMANDER_PATH%\Language\%LNG%'
Msgbox %IntAssoc%, %LNG% | Пробовал %LNG% и без указания пути. LNG в UTF-8 без ВОМ начинается с:
Quote: | Russian (Русский)
codepage=65001 |
Quote: | Кодировка файла определяется автоматически по значению в строке «codepage». | Т.е. принудительно на UTF-16 и UTF-8? Иначе как? К тому же codepage= не является обязательной строкой. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Fri Jun 21, 2019 21:24 Post subject: |
|
|
Flasher wrote: | Пробовал %LNG% и без указания пути. |
А случайно LanguageIni не находится в переадресованной секции? В %LNG% что-то есть? Боюсь что ini-функции не поддерживают редиректы. В остальном код выше рабочий.
Flasher wrote: | Т.е. принудительно на UTF-16 и UTF-8? Иначе как? К тому же codepage= не является обязательной строкой. |
Если codepage= не найдена, то предполагается что файл ANSI и конвертируется в юникод с использованием системной кодовой страницы. Для UTF-8 она обязательно должна быть, иначе в тотале кракозябры.
Вот что я упустил, так это то, что файлы могут быть в UTF-16. Надо проверку добавить. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Jun 21, 2019 21:30 Post subject: |
|
|
Loopback wrote: | А случайно LanguageIni не находится в переадресованной секции? | Нет.
Loopback wrote: | В %LNG% что-то есть? | Разумеется. В сообщении выводится в заголовок. С этим и раньше проблем не было. Проблема исключительно в LngRead.
Loopback wrote: | Для UTF-8 она обязательно должна быть, иначе в тотале кракозябры. | Это если мы рассматриваем только языковой файл ТС. Но, полагаю, функция должна быть универсальной. Допустим, из плагинного lng нужно будет что-то выудить. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Fri Jun 21, 2019 21:45 Post subject: |
|
|
Flasher wrote: | Пролема исключительно в LngRead. |
Тогда пока даже не знаю. Проверил все комбинации, в т.ч. и UTF-8, и без "codepage" - везде загружает.
Flasher wrote: | Но, полагаю, функция должна быть универсальной. Допустим, из плагинного lng нужно будет что-то считать. |
Универсальной она не может быть, т.к. форматы разные, хоть и похожи. Плагинные файлы читаются IniRead. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Jun 21, 2019 22:08 Post subject: |
|
|
Loopback
Отбой. Стал проподить эксперименты с полными путями, и всё вдруг заработало и с переменными. Так и не понял, в чём был прикол.
Только толку то... AddCondition на переменную хоть бы хны:
Quote: | AddDialog /CENTER:3 /SAVE:12 TDlgCustomColors
AddCondition /TEXT "" 0 "%IntAssoc%" |
Loopback wrote: | т.к. форматы разные, хоть и похожи. | ОК. Согласен. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Sat Jun 22, 2019 00:03 Post subject: |
|
|
Flasher wrote: | AddCondition на переменную хоть бы хны |
А, ну конечно. Переменные же в тексте не разворачиваются. Надо добавлять поддержку (как /EV и /EV- в других командах). |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jun 22, 2019 00:42 Post subject: |
|
|
Loopback
Но /EV- касается отключения переменных окружения, а не внутренних переменных плагина.
К тому же есть и другие команды, где нет /EV- в описании: CommandExec, IniDelete, IniRead, FileExist, MsgBox, RegRead, RegWrite, RegDelete, RegRead, все строчные. Но ряд из них точно поддерживает переменные. Тот же Msgbox <текст>.
Думал ты сразу сообразишь, когда я запросил lng-ридер. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Mon Jun 24, 2019 12:44 Post subject: |
|
|
Flasher wrote: | Но /EV- касается отключения переменных окружения, а не внутренних переменных плагина. |
Внутренних тоже, они же фактически равноценны. Думаю, стоит это уточнить в справке.
Flasher wrote: | К тому же есть и другие команды, где нет /EV- в описании |
В параметрах команд, где принимается имена файлов или пути - переменные разворачиваются всегда, безальтернативно. Где просто какой-нибудь текст (например параметры запуска) - там есть /EV.
MsgBox исключение
Flasher wrote: | Думал ты сразу сообразишь, когда я запросил lng-ридер. |
Это было уже три месяца назад, если ты заметил... А поддержку надо добавлять в ModifyDialogs. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jun 24, 2019 13:40 Post subject: |
|
|
Loopback wrote: | Думаю, стоит это уточнить в справке. | Однозначно.
Loopback wrote: | Где просто какой-нибудь текст (например параметры запуска) - там есть /EV. | В IniRead и RegRead нет. Добавишь?
Loopback wrote: | MsgBox исключение | Вообще-то нет. Все 9 строчных функций поддерживают переменные без /EV.
Loopback wrote: | если ты заметил. | Не суть. Там связь была непосредственная с этим. Просто так от Lng-читалки толку бы не было. Не в переменные среды же записывать. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Mon Jun 24, 2019 14:00 Post subject: |
|
|
Flasher wrote: | В IniRead и RegRead нет. Добавишь? |
Если нет - надо добавить. Кстати, в ini* еще надо бы поддержку редиректов секций добавить.
Flasher wrote: | Вообще-то нет. |
Ну ок, раз вопросов не возникало - значит такой вариант достаточен.
Flasher wrote: | Не суть. Там связь была непосредственная с этим. Просто так от Lng-читалки толку бы не было. |
Да все это понятно, я к тому, что когда делаешь в комлексе - это одно, а когда с большим временным разрывом - совсем другое. |
|
Back to top |
|
|
|