MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Модуль для работы с ассоциативными массивами в C++ Builder

Название:Модуль для работы с ассоциативными массивами в C++ Builder
Просмотров:87
Раздел:Информатика, программирование
Ссылка:none(0 KB)
Описание:Мой любимый язык – PHP. Он изящен и прост, но, к сожалению, предназначен только для программирования сайтов. «Обычную» программу на нём не напишешь.

Университетская электронная библиотека.
www.infoliolib.info

Часть полного текста документа:

Модуль для работы с ассоциативными массивами в C++ Builder Заев А.А. Вступление
    Мой любимый язык - PHP. Он изящен и прост, но, к сожалению, предназначен только для программирования сайтов. "Обычную" программу на нём не напишешь.
    К счастью, некоторые технологии, реализованные в PHP можно перенести и в другие языки программирования: например, в C++.
    Одна из таких технологий - ассоциативные массивы.
    В ассоциативном массиве вместо числовых индексов используются ключи любых типов. Данные в ассоциативном массиве так же могут быть разнотипными.
    К примеру:
    ass_arr array;
    array[0] = 123;
    array["name"] = "John Silver";
    Здесь в массиве array создаются два элемента, один из которых имеет ключ "0" и числовое значение "123", другой - ключ "name" и строковое значение "John Silver". "ass_arr" - не массив задниц, как подумало большинство читателей, а возможное имя типа (класса) ассоциативного массива.
    Удобно? Удобно! Не нужно описывать входящие в массив элементы и их типы. Не нужно думать о размере массива - он динамичен. Не нужно заботится ни о чём, кроме свободной памяти.
    Подробнее об удобствах
    Ассоциативный массив - всего лишь способ представления данных. Любая задача, решаемая посредством ассоциативных массивов, может быть решена посредством структур или классов. Однако, использование ассоциативности существенно упрощает решение многих задач.
    Рассмотрим простой пример. Возьмём структуру, в которой хранятся настройки некоей программы. Опишем её так:
    struct preferences
    {
    int WindowWidth;
    int WindowHeight;
    int WindowX;
    int WindowY;
    char documentPath[128];
    };
    Для сохранения данных этой структуры где-либо, потребуется специальная функция, которая будет "знать" все поля, которые присутствуют в этой структуре. Например, такая:
    bool savePreferences(struct preferences* pref)
    {
    saveInteger(pref->WindowWidth);
    saveInteger(pref->WindowHeight);
    ...
    saveString(pref->documentPath);
    }
    При добавлении в структуру нового поля, придётся дополнять эту функцию.
    Если же вместо переменной подобной структуры использовать ассоциативный массив - всё что потребуется функции сохранения - перед началом работы сформировать список ключей этого массива и в цикле по списку ключей, сохранить каждый элемент, основываясь на его типе.
    Это могло бы выглядеть так:
    bool savePreferences(ass_arr* pref)
    {
    int i;
    Variant v;
    // цикл по всем элементам
    for (i = 0; i < pref->Count(); i++)
    {
    // извлекаем очередной элемент
    v = (*pref)[pref->key(i)].v()
    // если элемент числового типа,
    // сохраняем его числовое значение
    if (VarType(v) == varInteger)
    {
    saveInteger((*pref)[pref->key(i)].asInteger());
    }
    // далее для других типов
    ...
    }
    }
    Как быть, если нужно заполнить данными настроек Builder'овскую форму? Потребуется ещё одна функция. При использовании ассоциативных массивов эту процедуру можно автоматизировать. ............






Похожие работы:

Название:Методика и структура занятия танцевального направления аэробики «Belly-dance»
Просмотров:706
Описание: Введение Основной целью фитнес-занятий bellydance является оздоровление организма - поддержание достаточного уровня развития двигательных способностей при строжайшем соблюдении требований травмобезопасности и ми

Название:Особенности и характеристика двух основных элементов таможенного оформления
Просмотров:722
Описание: Таможенное оформление - это процедура помещения товаров и транспортных средств под определенный таможенный режим и выпуск товаров в соответствии с заявленным режимом. Таможенное оформление начинается не поздн

Название:Коммуникационная структура и классификация субъектов внешней и внутренней среды
Просмотров:675
Описание: Под внешней средой организации понимаются все условия и факторы, возникающие в окружающей среде, независимо от деятельности конкретной фирмы, но оказывающие или могущие оказать воздействие на её функционирование

Название:Элементы сферической геометрии
Просмотров:993
Описание: Экзаменационный реферат по геометрии Выполнил ученик 11 «б» класса Шкерин Андрей Владимирович МОУ «Гагинская средняя общеобразовательная школа» Гагино 2008 Введение На протяжении многих веков человечеств

Название:Морковь столовая. Элементы агротехники
Просмотров:499
Описание: Отношение к факторам внешней среды. Семена моркови очень медленно прорастают. При благоприятных температурах всходы появляются на 10—15-й день после посева, а в холодную и засушливую погоду — на 25—30-й. Они начинают

 
     

Вечно с вами © MaterStudiorum.ru