56 satır
No EOL
3,7 KiB
Markdown
56 satır
No EOL
3,7 KiB
Markdown
# Article-17653-MQL5-MVC-Table-Model
|
|
|
|
Репозиторий содержит исходный код первой части серии статей о применении паттерна **MVC (Model-View-Controller)** для создания таблиц в MetaTrader 5.
|
|
|
|
Основано на материалах статьи: **[Реализация модели таблицы в MQL5: Применение концепции MVC](https://www.mql5.com/ru/articles/17653)**.
|
|
|
|
### Содержание
|
|
|
|
В проекте реализован фундамент графической системы — компонент **Model** (Модель). В исходном коде представлена иерархия объектов, образующих структуру таблицы (на примере сетки 4x4):
|
|
|
|
1. **Ячейка таблицы (Cell)** — атомарный объект, хранящий значение (double, int или string).
|
|
2. **Строка таблицы (Row)** — контейнер (Cells Array), объединяющий ячейки одной строки.
|
|
3. **Модель таблицы (Model)** — главный объект (Rows Array), управляющий строками и обеспечивающий логический доступ к столбцам (Columns).
|
|
|
|
**Архитектурная схема:**
|
|
* **Rows Array** содержит `Row 0` ... `Row N`.
|
|
* Каждый **Row** содержит **Cells Array** (`Cell 0` ... `Cell M`).
|
|
* Такая структура позволяет гибко управлять данными, добавлять/удалять строки и колонки, сохраняя высокую производительность.
|
|
|
|
Эта модульная структура является фундаментом, на котором строится вся графическая система серии.
|
|
|
|
### Структура репозитория
|
|
|
|
```text
|
|
MQL5/
|
|
└── Shared Projects/
|
|
└── Article-17653-MQL5-MVC-Table-Model/
|
|
├── Article-17653-MQL5-MVC-Table-Model.mq5 // Полный код: классы для построения модели таблицы и тестовый скрипт
|
|
├── Article-17653-MQL5-MVC-Table-Model.mqproj // Проект MetaEditor
|
|
└── README.md // Описание проекта
|
|
```
|
|
|
|
### Как использовать
|
|
>1. В MetaEditor перейдите во вкладку **Shared Projects**.
|
|
>2. Нажмите правой кнопкой мыши на папку проекта (**Article-17653-MQL5-MVC-Table-Model**) и выберите **"Получить обновления из Git"**.
|
|
>3. Для получения исполняемого файла (`.ex5`) откройте файл скрипта (`Article-17653-MQL5-MVC-Table-Model.mq5`) и нажмите **F7** (Компилировать).
|
|
|
|
### Расположение исполняемого файла
|
|
|
|
После компиляции файл (`.ex5`) появится в окне «Навигатор» терминала MetaTrader 5:
|
|
|
|
```text
|
|
Навигатор/
|
|
└── Scripts/
|
|
└── Shared Projects/
|
|
└── Article-17653-MQL5-MVC-Table-Model/ // <-- Запуск скрипта отсюда
|
|
```
|
|
|
|
### Примечания
|
|
Все функции и классы являются примерами для изучения и использования в своих разработках.
|
|
|
|
Используйте код с осторожностью.
|
|
|
|
### Ссылки
|
|
|
|
* Статья на MQL5.com: [https://www.mql5.com/ru/articles/17653](https://www.mql5.com/ru/articles/17653) |