Компонент ListBox

ListBox является важнейшей частью большинства модулей DBRex. Вместе с Редактором кода и GRIDом он определяет качество всего DBRex. В нем отображаются списки процедур, таблиц, файлов, пакетов. Практически везде где необходимо выбрать что-либо из списка в DBRex используется этот компонент. Кроме списков ListBox отображает тексты программ с подсветкой ключевых слов и вложенных блоков, табличные данные. Не будет преувеличением сказать - на нем лежит основная нагрузка по обеспечению максимально удобного интерфейса.

В функции ListBox входит прежде всего отображение списков объектов,строк, шаблонов и прочее. При работе с большими списками самое главное, что требуется от ListBox, это быстро найти требуемые объекты. Выискивать по началу фразы(слова) подходящее значение из списка, этот способ не просто неудобен, он ужасен. Неужели компьютер способен отыскивать нужное в списках только по началу строки? В DBRex компонент ListBox существляет поиск не только по подстроке с любого места в строке, но можно использовать простую логику типа:

Подстрока1 && Подстрока2

тем самым сильно сократив список возможных кандидатов. Если бы при работе со спиками всегда сразу удавалось найти требуемый объект, то можно было бы установить указатель строки на найденную строку и все забыть. Однако чаще всего поиск приходится продолжать и тем самым держать себя и компьютер в постоянном напряжении. Очевидно, такой способ поиска в списках не для слабаков. Но все же хотелось бы проявлять свою силу на чем-нибудь другом.

В DBRex ListBox сразу показывает все что найдено в списке и, используя диалог Master-Detail, вы не только быстрее найдете трубуемый объект ( за счет параллельной подачи информации в противовес "традиционной" последовательной), но сможете использовать результаты поиска например для такого анализа:

А какие такие процедуры или таблицы имеют в своем названии слово Order?

При работе со списками файлов или процедур могут быть востребованы следующие функции:

- добавлять или вычитать из списка отмеченных строк результаты последнего поиска. Например вам нужно удалить из директории(рий) все файлы кроме файлов с расширениями ".dat" и ".ini". Внутри директорий находится несколько тысяч файлов с разными расширениями. Поэтому вначале по Ctrl-A выделим все файлы. Затем ищем файлы с раширениями .dat или .ini и результат поиска вычтем из списка ранее отмеченных. Таким образом для операции удаления у нас останутся отмеченными только требуемые файлы.

- выделять строки, используя информацию из ClipBoard. Например у вас есть две папки с файлами. В одной из них лежат старые версии процедур, а в другой новые. Вам надо удалить из папки где лежат старые версии только те файлы, которые имеются в папке с новыми версиями. Допустим старые версии разрабатывали вы, а новые файлы появились после переработки ваших изменений экспертами. Остальные файлы не менялись и должны остаться. Для этого возьмем в ClipBoard список имен файлов из папки с новыми версиями (Ctrl-A, Ctrl-C). Затем выполним со списком старых файлов операцию: отметить строки используя список из ClipBoard. В результате в списке старых файлов окажутся отмеченными все файлы из другой директории. Теперь их смело можно удалять.

Возможность находить и отмечать строки в списке основываясь на содержимом ClipBoard - это бесспорно очень полезная и намного упрощающая жизнь функция. Ведь строки в ClipBoard могут попадать из каких угодно источников. А с отмеченными строками можно выполнить очень много различных операций.

- ListBox помимо отображения списка строк умеет подсвечивать\раскрашивать текст, выделяет строки оглавления и интерпретирует тэг "HREF" как ссылку на Файл \ Сайт \ Мейл \ Программу \ Директорию. Это позволяет, составив правильно текст, сразу получить готовую функциональность. К готовой функциональности также относится возможность распечатать все содержимое или только отмеченные строки с выделением жирным ключевых слов текста. Учень удобно выделять в ListBox наборы любых строки в любой комбинации для дальнейшего их использования в программе или помещении в ClipBoard. ListBox поддерживает оглавление (строки, содержащие символы ::), использует диалог Master-Detail по списку найденных строк, хранит и позволяет повторно использовать историю поисков.

Мой е-майл.

Fresh news

 

Home...

 

Hosted by uCoz