Быстрая таблица MQL5 + .Net

Быстрая таблица MQL5 + .Net

5 апреля 2020, 20:44
Igor Makanu
1
66

Таблица с использованием MQL5 + .Net (.dll)


Потребовался вывод данных для аналитики. Сделал очень функциональную библиотеку со скромным API:

Функции для создания формы и таблицы, использование рекомендуется в следующем порядке:

  1. bool FormNotRun(void) - проверка запущена или нет форма, true - не запущена, false - работает
  2. int AddTable(string PageCaption, string TableHeader[], int ColumnWidth, int SelectionMode, bool ReadOnly) - добавляем таблицу до запуска формы : название таблицы , шапка таблицы(столбцы) , ширина столбцов, тип выделения ячеек (0 - ячейки, строки, столбцы) , и запрет (true) разрешение (false) редактирования ячеек таблицы , результат - хендл таблицы
  3. bool InitForm(bool FormOnTop) - запуск формы, параметр true поверх остальных окон , результат запустилась форма или еще нужно подождать инициализацию .Net
  4. void DeinitForm(int reason) - закрытие формы кроме случаев переключения ТФ чарта и input-переменных

Функции для работы с таблицами:

  1. int getRowCount(int handle) и int getColCount(int handle) - получить количество строк и столбцов в таблице
  2. void AddRow(int handle, string data[]) и void RemoveRow(int handle, int row) - добавить строку со всеми значениями  и удалить строку в таблице 
  3. void setCell(int handle, int row, int col, string s_value) и string getCell(int handle, int row, int col) - записать и прочитать значение в конкретную ячейку
  4. string getRow(int handle, int row, string separator) и string getCol(int handle, int col, string separator)  - прочитать всю строку и прочитать весь столбец , добавив разделитель (separator)
  5. int getHandleActiveTable()  - получить хэндл активной таблицы с которой работает пользователь
  6. bool getSelectedRegion(int handle, ref int XStart, ref int YStart, ref int XEnd, ref int YEnd)  - получить номера строк/столбцов которые выделил пользователь в таблице № handle
  7. string getSelectedRegionData(int handle, string ColSeparator, string RowSeparator) - получить значения всх ячеек которые выделил пользователь в таблице № handle с разделителями строк и столбцов

Достоинства: работает сортировка по столбцам, скорость отклика 6-10 мс , доступна работа с клавиатурой горячими клавишами Ctrl+C (Ctrl+ins) - копирование из формы и перемещение по таблице, Home , End , PageUp, PageDn и выделение мышкой и клавишами курсора, доступно редактирование ячеек таблицы (опционально)

Пример работы во вложении



Файлы:
MQL5.zip 238 kb
Поделитесь с друзьями: