Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Autorun 
Author Message
Orion9



PostPosted: Tue Oct 06, 2026 20:49    Post subject: Reply with quote

AkulaBig
Ситуация с индексами, как я понял, примерно такая.

Когда поля создаются через Pragma AutorunPluginFields первому полю присваивается первый индекс и т.д. по порядку. Если объявить 60 полей С1-С60, то индекс=52 должен вернуть значение С52 и т.д. Но если объявить что-то перед С1-С60, то индекс сместится, т.е. индекс=52 уже не вернет значение поля С52, а вернет индекс другого, соседнего поля. Поэтому, создавая группу полей, где важно сохранить индекс в первоначальном виде, чтобы потом не мучиться со смещением, нужно объявлять их сразу за Pragma AutorunPluginFields, и можно спокойно увеличить их количество: C1-C90.

Если вы хотите еще добавить полей, то лучше добавлять их по 30, т.к. это ограничение тотала на один тип. Но можно еще 10 добавить, тогда в секции HintsCustomField будет уже 4 ключа на *.*, а не три.

На счет кракозябр. Изначально было сделано самым простым способом, когда из буфера, содержащего байты, вытягивается одна строка в кодировке Utf8, а другая в Ansi. Далее строка Utf8 обрабатывается построчно. Если в ней есть символ FFFB, то берется эквивалент из Ansi. Расчет на то, что конец строки (за символом ":") весь в Ansi, но если это условие не соблюдается, то будут другие кракозябры из-за избыточной конвертации.

Болван предложил решение, конечно, крутое, но у меня возникла другая идея, попроще. Функция делает практически то же самое, и если бы не суррогатные пары, была бы совсем простой

 Hidden text


Вместо
 Hidden text

теперь вот так, но зато посимвольно
 Hidden text
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group