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


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

Название:Модуль для работы с ассоциативными массивами в C++ Builder
Просмотров:89
Раздел:Информатика, программирование
Ссылка:Скачать(10 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'овскую форму? Потребуется ещё одна функция. При использовании ассоциативных массивов эту процедуру можно автоматизировать. ............




Нет комментариев.



Оставить комментарий:

Ваше Имя:
Email:
Антибот:  
Ваш комментарий:  



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

Название:Основные элементы методологии государственной кадровой политики
Просмотров:98
Описание:   Основные элементы методологии государственной кадровой политики Содержание 1. Методологические основы государственной кадровой политики 1.1 Понятие и методологичес

Название:Понятие и особенности аграрных правоотношений, их элементы
Просмотров:82
Описание: Понятие и особенности аграрных правоотношений, их элементы   Нормы аграрного права, как и любые другие правовые нормы, вводят для того, чтобы определенным образом урегулировать общественные отношения суб

Название:Язык Paskal. Основные элементы языка. Структура программы
Просмотров:77
Описание: Содержание   Введение 1. Структура программы 2. Алфавит языка 3. Простейшие конструкции 4. Выражения 5. Типы данных 6. Операции Заключение Литература     Введение Тема реферата "Я

Название:Перестановка строк и столбцов массива случайным образом
Просмотров:203
Описание: Министерство сельского хозяйства и продовольствия Республики Беларусь УО "Новопольский государственный аграрно-экономический колледж" Курсовой проект по дисциплине: "Основы алго

Название:Элементы теории вероятностей. Случайные события
Просмотров:152
Описание: Элементы теории вероятностей. Случайные события   Цель изучения - развить навыки составления и анализа математических моделей несложных задач прикладного характера, связанных со случайными явлениями, нау

 
     

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