Loopback
Если нужно возвращать значения, то внешний скрипт (ещё и с учётом консольного вывода) будет куда медленнее.
Готовя правку примера для chm, столкнулся с такой делемой. Надо из lng-ключа вытащить 5-й элемент в массиве, разделённый по \n:
5102="Вид окна\nОсновные операции\nСодержимое панелей\nЯзык\n
Правка/Просмотр\nШрифты\nЦвета\nРазное\nАрхиваторы\nАрхиватор ZIP\nТабуляторы"
Внешний скрипт со Split(Str)(4) для хелпа не годится.
Можно было бы соорудить многоэтажки из StrPos, Set и StrMid, но это тоже нормальным вариантом трудно назвать:
Код: Выделить всё
IniRead LNG %COMMANDER_INI% Configuration LanguageIni
LngRead Edit 5102 '%COMMANDER_PATH%\Language\%LNG%'
StrPos Pos "%Edit%" \n
Set /C Pos %Pos%+2
StrMid Edit "%Edit%" %Pos%
StrPos Pos "%Edit%" \n
Set /C Pos %Pos%+2
StrMid Edit "%Edit%" %Pos%
StrPos Pos "%Edit%" \n
Set /C Pos %Pos%+2
StrMid Edit "%Edit%" %Pos%
StrPos Pos "%Edit%" \n
Set /C Pos %Pos%+2
StrMid Edit "%Edit%" %Pos%
StrPos Pos2 "%Edit%" \n
Set /C Pos %Pos2%-%Pos%
StrMid Edit "%Edit%" %Pos%+2 %Pos%
MsgBox %Edit%
Было бы логично для строчных переменных добавить переключатель /С, чтобы проводить числовые операции с переменными.
Может, сделаешь новую команду (
Split или
StrRegExpReplace)?