Orion9

|
Posted: Wed Oct 07, 2026 14:08 Post subject: |
|
|
| AkulaBig wrote: | | Похоже больше 60 колонок не поддерживается |
Всё работает. Нужно просто добавить новые поля:
| Code: | Pragma AutorunPluginFields "C1:::MediaHint" "C2:::MediaHint" "C3:::MediaHint" "C4:::MediaHint" "C5:::MediaHint" "C6:::MediaHint" "C7:::MediaHint" "C8:::MediaHint" "C9:::MediaHint" "C10:::MediaHint" "C11:::MediaHint" "C12:::MediaHint" "C13:::MediaHint" "C14:::MediaHint" "C15:::MediaHint" "C16:::MediaHint" "C17:::MediaHint" "C18:::MediaHint" "C19:::MediaHint" "C20:::MediaHint" "C21:::MediaHint" "C22:::MediaHint" "C23:::MediaHint" "C24:::MediaHint" "C25:::MediaHint" "C26:::MediaHint" "C27:::MediaHint" "C28:::MediaHint" "C29:::MediaHint" "C30:::MediaHint" "C31:::MediaHint" "C32:::MediaHint" "C33:::MediaHint" "C34:::MediaHint" "C35:::MediaHint" "C36:::MediaHint" "C37:::MediaHint" "C38:::MediaHint" "C39:::MediaHint" "C40:::MediaHint" "C41:::MediaHint" "C42:::MediaHint" "C43:::MediaHint" "C44:::MediaHint" "C45:::MediaHint" "C46:::MediaHint" "C47:::MediaHint" "C48:::MediaHint" "C49:::MediaHint" "C50:::MediaHint" "C51:::MediaHint" "C52:::MediaHint" "C53:::MediaHint" "C55:::MediaHint" "C55:::MediaHint" "C56:::MediaHint" "C57:::MediaHint" "C58:::MediaHint" "C59:::MediaHint" "C60:::MediaHint" "C61:::MediaHint" "C62:::MediaHint" "C63:::MediaHint" "C64:::MediaHint" "C65:::MediaHint" "C66:::MediaHint" "C67:::MediaHint" "C68:::MediaHint" "C69:::MediaHint" "C70:::MediaHint" "C71:::MediaHint" "C72:::MediaHint" "C73:::MediaHint" "C74:::MediaHint" "C75:::MediaHint" "C76:::MediaHint" "C77:::MediaHint" "C78:::MediaHint" "C79:::MediaHint" "C80:::MediaHint" "C81:::MediaHint" "C82:::MediaHint" "C83:::MediaHint" "C85:::MediaHint" "C85:::MediaHint" "C86:::MediaHint" "C87:::MediaHint" "C88:::MediaHint" "C89:::MediaHint" "C90:::MediaHint" |
И не забыть про шаблон в HintsCustomField
| Code: | 27exts=*.*
27fields=[=autorun.C61]\n[=autorun.C62]\n[=autorun.C63]\n[=autorun.C64]\n[=autorun.C65]\n[=autorun.C66]\n[=autorun.C67]\n[=autorun.C68]\n[=autorun.C69]\n[=autorun.C70]\n[=autorun.C71]\n[=autorun.C72]\n[=autorun.C73]\n[=autorun.C74]\n[=autorun.C75]\n[=autorun.C76]\n[=autorun.C77]\n[=autorun.C78]\n[=autorun.C79]\n[=autorun.C80]\n[=autorun.C81]\n[=autorun.C82]\n[=autorun.C83]\n[=autorun.C84]\n[=autorun.C85]\n[=autorun.C86]\n[=autorun.C87]\n[=autorun.C88]\n[=autorun.C89]\n[=autorun.C90]
|
Но, как я писал, полей может оказаться слишком много, и подсказка начнет выезжать за экран даже на стандартном разрешении 1920х1080.
60 полей это нормальный компромисс, хотя нужно, конечно, сделать умный выбор в зависимости от настроек экрана.
Кстати, что-то подобное я пробовал делать, но только в качестве эксперимента
| Code: | If SYSINFO_DESKTOPHEIGHT < 1080 Then gHintLines = 50
If SYSINFO_DESKTOPHEIGHT < 720 Then gHintLines = 40 |
Тогда в Autorun еще не было макроса SYSINFO_DESKTOPDPI, а dpi и масштабирование тоже придется учитывать.
Добавлено спустя 1 час 28 минут:
| AkulaBig wrote: | | Только не пойму, сейчас ведь тоже посимвольно |
Это как раз построчно, причем здесь вся строка заменяется на ANSI, если встречается символ ����, что может привести к проблемам. Лучше использовать посимвольное преобразование.
Нашел один косяк, связанный с буфером. Поскольку количество байт на символ отличается в UTF8, то произошло, что и ожидалось: при склеивании буфера, симовол теряется и превращается в кракозябру. На картинке поле "Lame - Фильтр" плавает на стыке буферов
 Hidden text
Пока просто поднял значение буфера то 10 Кб, но в будущем нужно будет переделать.
| Code: | Static readBuf = Buffer(1024*20) |
Вот теперь всё как надо: выхлоп чистый как кристалл, мощный как из пушки
 Hidden text |
|