CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

Универсальный штемпель

Геннадий ТИХОМИРОВ telewons@ambernet.kiev.ua

(Продолжение, начало см. МК № 1 (172))

Для навигации в списках, имеющих значительное количество элементов и заполненных символами кириллицы, можно предложить обработку массивов. Упрощенный вариант кода предложен далее, а результат см. на рис. 1. Думаю, уже по рисунку видать, что на форму были помещены ЭУ ListBox и TextBox.

Систему поиска можно еще усовершенствовать (поиск будет осуществляться по совпадению в любой части элемента)

Используя функцию UCase для преобразования в верхний регистр строки TextBox’а и заполняемых элементов ListBox’а, можно обеспечить поиск вхождений независимо от выбора раскладки клавиатуры.

Тем, кто захочет в своих приложениях использовать раскрывающиеся списки панелей инструментов, не обойтись без детального изучения объекта CommandBarComboBox. Он удобен в использовании и нагляден, но возможности программирования и заполнения его ограничены. Во-первых, количество элементов, которые можно «впихнуть» в список, ограничено числом 32767 — нюанс несущественный, вам вряд ли Таблица 1понадобится такое количество элементов при работе с текстовой базой. Во-вторых, в объекте нельзя запрограммировать несколько колонок, придется обойтись одной. В-третьих, количество символов одного элемента (в т. ч. пробелов) не может превышать 255, а возможности управления объектом (что, кстати, аналогично и для всех объектов панелей инструментов) сводятся к реакции на клик мыши или ENTER. Как обойти первые два неудобства, будет показано далее.

К положительным моментам можно отнести время заполнения этого объекта по сравнению с ЭУ ListBox. А пока отмечу, что выбор объектов для заполнения и организация управления в программе — дело вкуса и умения разработчика.

Текстовый файл с последовательным доступом

Согласитесь, размещение данных для заполнения списков непосредственно в программе является не очень удачным решением. Чтобы отредактировать содержание списков, необходимо вносить изменения в проект и осуществлять перекомпиляцию.

Для начала определимся как будет организована текстовая база данных. Как было оговорено ранее, на предприятии ведется учет в таблице Excel (см. таблицу с условными данными), в которой информация из первых шести колонок должна быть отправлена в текстовый файл, а последующие столбцы являются конфиденциальными.

Так как имеет смысл дать возможность пользователю править файл в текстовом редакторе, то записи из ячеек предлагаю группировать следующим образом:

(строчки из символов * являются разграничением между реквизитами разных контрагентов).

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

Excel’евский макрос для записи в файл может быть таким:

Итак? текстовый файл сформирован. Заполним ListBox-данными из него:

Добавив в форму TextBox’ы, можете сделать работу с ЭУ ListBox более комфортной.

Имена TextBox’ам даны осмысленные — благодаря этому, поработав над полосой прокрутки SpinButton и ЭУ Label, можно получить ускоренные методы навигации по списку. Например, в конце процедуры Рис. 2инициализации пользовательской формы (UserForm_Initialize), после закрытия файла (Close #FileNo), пропишите установки для SpinButton:

Пример заполнения пользовательской формы реальными данными показан на рис 2.

(Продолжение следует)

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov