Таблица с использованием MQL5 + .Net (.dll)
Потребовался вывод данных для аналитики. Сделал очень функциональную библиотеку со скромным API:
Функции для создания формы и таблицы, использование рекомендуется в следующем порядке:
- bool FormNotRun(void) - проверка запущена или нет форма, true - не запущена, false - работает
- int AddTable(string PageCaption, string TableHeader[], int ColumnWidth, int SelectionMode, bool ReadOnly) - добавляем таблицу до запуска формы : название таблицы , шапка таблицы(столбцы) , ширина столбцов, тип выделения ячеек (0 - ячейки, строки, столбцы) , и запрет (true) разрешение (false) редактирования ячеек таблицы , результат - хендл таблицы
- bool InitForm(bool FormOnTop) - запуск формы, параметр true поверх остальных окон , результат запустилась форма или еще нужно подождать инициализацию .Net
- void DeinitForm(int reason) - закрытие формы кроме случаев переключения ТФ чарта и input-переменных
Функции для работы с таблицами:
- int getRowCount(int handle) и int getColCount(int handle) - получить количество строк и столбцов в таблице
- void AddRow(int handle, string data[]) и void RemoveRow(int handle, int row) - добавить строку со всеми значениями и удалить строку в таблице
- void setCell(int handle, int row, int col, string s_value) и string getCell(int handle, int row, int col) - записать и прочитать значение в конкретную ячейку
- string getRow(int handle, int row, string separator) и string getCol(int handle, int col, string separator) - прочитать всю строку и прочитать весь столбец , добавив разделитель (separator)
- int getHandleActiveTable() - получить хэндл активной таблицы с которой работает пользователь
- bool getSelectedRegion(int handle, ref int XStart, ref int YStart, ref int XEnd, ref int YEnd) - получить номера строк/столбцов которые выделил пользователь в таблице № handle
- string getSelectedRegionData(int handle, string ColSeparator, string RowSeparator) - получить значения всх ячеек которые выделил пользователь в таблице № handle с разделителями строк и столбцов
Достоинства: работает сортировка по столбцам, скорость отклика 6-10 мс , доступна работа с клавиатурой горячими клавишами Ctrl+C (Ctrl+ins) - копирование из формы и перемещение по таблице, Home , End , PageUp, PageDn и выделение мышкой и клавишами курсора, доступно редактирование ячеек таблицы (опционально)
Пример работы во вложении
Файлы:
MQL5.zip
238 kb