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: Thu Dec 04, 2025 19:37    Post subject: Reply with quote

Loopback
Пока не забыл, лучше сразу напишу. В будущих версиях хотелось бы видеть следущее:

- ShowHint
- ShowPopupMenu

У подсказки хотелось бы фиксировать ширину окна (об этом я уже писал), а также хотелось бы, чтобы окно могло висеть и изменять текст без закрытия (об этом я тоже писал). А вот о чем я не писал, так это об отступе. Не лишним было бы иметь такую возможность. Пока я выхожу из положения заданием пустых строк сверху и снизу и пробелами по краям, но идеальной пропорции добиться не получается
Code:
ShowHint(auCRLF & "    " & HintText & "    " & auCRLF, 0, 0, 1000, 1)

В ShowPopupMenu с параметром /F хочется передовать дополнительный параметр, а не только имя функции. И хотелось бы, чтобы ShowPopupMenu могла возвращать индекс выбранного элемента.

Теперь об упомянутых примерах. Еще один вариант советчика может получиться из файла Russian.cedf. Работать с локальным файлом удобно: он редко изменяется. Единственная сложность, в нем содержится информация не только о ключах, но и секциях, это немного нарушает структуру, как и слишком большой текст некоторых статей. Но при желании все можно учесть. Ниже представлен очень сырой, я бы сказал, "топорный" вариант выборки статей из этого файла:
 Hidden text

 Hidden text

Для обработки клика в тэге <a ref> используется не ссылка, а имя функции, которая вызывает MsgBox.
Code:
<a href="CedfReadDesc()">Читать дальше</a>

Func CedfReadDesc()
    MsgBox(gCedfDesc, "Description", 64+65536+262144)
EndFunc

Еще одно отличие от предыдущего примера: в функцию tip() передаются дополнительные пункты меню, которые используются здесь для отладки, но которые в принципе могут использоваться и для других целей.
 Hidden text

А еще вместо стандартных значков по номеру от 0 до 6 в функцию можно передать дескриптор иконки. Самый простой способ его получить через WM_GETICON от самого окна ТС, но смотрится так себе, нужна другая иконка
 Hidden text

В общем, пример далек от совершенства. Для выборки используется объект BinaryFile с изменением позиции в файле, что чревато большим количеством повторений одних статей и пропуском других. Но это только пример. Если делать серьезно, нужно использовать другие алгоритмы. В следующем примере будет использован объект List с последовательны удалением и перемешиванием элементов.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group