![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В личке
Спасибо.
А само писание 60 функций заняло 60 минут. Там в каждой функции по паре строчек.
//| ОБЩИЕ ФУНКЦИИ.
//| 1. Функция создаёт или открывает файловое отображение по дескриптору пользовательского файла и/или по имени файлового отображения с возможностью |
//| предварительного изменения размеров отводимой под него памяти. Если файлового отображения нет, то оно создаётся.
//| Функция возращает системный дескриптор файлового отображения в случае удачи, иначе NULL.
//| HANDLE FileMappingCreate(const int hFileUser, // Системный дескриптор пользовательского файла.
//| const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nBytes); // Количество резервируемой памяти для файлового отбражения.
//| 2. Функция открывает файловое отображение. Функция возращает системный дескриптор файлового отображения в случае удачи, иначе NULL.
//| HANDLE FileMappingOpen(const char *szNameFileMapping); // Имя для проецируемого файла.
//| 3. Функция очищает файловое отображение по его имени.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки; |
//| -1 не получен начальный адрес;
//| -2 память не очищена;
//| -3 отмена отображение представления файла неудачна.
//| int FileMappingClear(const char *szNameFileMapping); // Имя файлового отображения.
//| 4. Функция закрывает файловое отображение по его имени. Функция возращает TRUE в случае удачи, иначе FALSE.
//| bool FileMappingClose(const char *szNameFileMapping); // Имя файлового отображения.
//| ОБЩИЕ ФУНКЦИИ ДЛЯ ДОСТУПА К ОТОБРАЖЕНИЮ ПРЕДСТАВЛЕНИЯ ПРОЕЦИРУЕМОГО ФАЙЛА В АДРЕСНОМ ПРОСТРАНСТВЕ ВЫЗЫВАЮЩЕГО ПРОЦЕССА.
//| 5. Функция создаёт файловое отображение по дескриптору пользовательского файла и/или по имени файлового отображения с возможностью предварительного изменения
//| размеров отводимой под него памяти и отображает представление проецируемого файла в адресное пространство вызывающего процесса.
//| Функция возращает указатель на первый байт области памяти отображения представления проецируемого файла в случае удачи, иначе NULL.
//| char *FileMappingCreateViewOfFile(const int hFileUser, // Системный дескриптор пользовательского файла.
//| const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nBytes); // Количество резервируемой памяти для файлового отбражения.
//| 6. Функция открывает файловое отображение по его имени и отображает представление проецируемого файла в адресное пространство вызывающего процесса.
//| Функция возращает указатель на первый байт области памяти отображения представления проецируемого файла в случае удачи, иначе NULL.
//| char *FileMappingOpenViewOfFile(const char *szNameFileMapping); // Имя для проецируемого файла.
//| 7. Функция отображает представление проецируемого файла в адресное пространство вызывающего процесса.
//| Функция в случае успешного завершения возращает TRUE или FALSE в случае ошибки.
//| bool FileMappingViewOfFile(const char *pcAddress); // Указатель на первый байт области памяти отображения представления проецируемого файла, возвращаемый
//| // функциями FileMappingCreateViewOfFile(), FileMappingOpenViewOfFile().
//| 8. Функция отменяет представление проецируемого файла в адресное пространство вызывающего процесса.
//| Функция в случае успешного завершения возращает TRUE или FALSE в случае ошибки.
//| bool FileMappingUnViewOfFile(const char *pcAddress); // Указатель на первый байт области памяти отображения представления проецируемого файла,
//| // возвращаемый функциями FileMappingCreateViewOfFile(), FileMappingOpenViewOfFile().
//| ФУНКЦИИ ДЛЯ ЗАПИСИ ЧИСЕЛ И СТРОК В ФАЙЛОВОЕ ОТОБРАЖЕНИЕ.
//| 9. Функция открывает файловое отображение и записывает в него логическое значение BOOL с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция преобразует число типа INT в BOOL для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 не получен начальный адрес;
//| -3 значение в память не записано;
//| -4 отмена отображение представления файла неудачна.
//| int FileMappingWriteBoolValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записано число.
//| const int nValue); // Логическое значение для записи в файловое отображение.
//|10. Функция открывает файловое отображение и записывает в него число типа CHAR с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция преобразует число типа INT в CHAR для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 не получен начальный адрес;
//| -3 значение в память не записано;
//| -4 отмена отображение представления файла неудачна.
//| int FileMappingWriteCharValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записано число.
//| const int nValue); // Целое число для записи в файловое отображение.
//|11. Функция открывает файловое отображение и записывает в него число типа SHORT с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция преобразует число типа INT в SHORT для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 не получен начальный адрес;
//| -3 значение в память не записано;
//| -4 отмена отображение представления файла неудачна.
//| int FileMappingWriteShortValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записано число.
//| const int nValue); // Целое число для записи в файловое отображение.
//|12. Функция открывает файловое отображение и записывает в него число типа INT с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки; |
//| -1 количество данных больше выделенной памяти;
//| -2 не получен начальный адрес;
//| -3 значение в память не записано;
//| -4 отмена отображение представления файла неудачна.
//| int FileMappingWriteIntValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записано число.
//| const int nValue); // Целое число для записи в файловое отображение.
//|13. Функция открывает файловое отображение и записывает в него число типа FLOAT с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция преобразует число типа DOUBLE в FLOAT для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 не получен начальный адрес;
//| -3 значение в память не записано;
//| -4 отмена отображение представления файла неудачна.
//| int FileMappingWriteFloatValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записано число.
//| const double dValue); // Число двойной точности для записи в файловое отображение.
//|14. Функция открывает файловое отображение и записывает в него число типа DOUBLE с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 не получен начальный адрес;
//| -3 значение в память не записано;
//| -4 отмена отображение представления файла неудачна.
//| int FileMappingWriteDoubleValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записано число.
//| const double dValue); // Число двойной точности для записи в файловое отображение.
//|15. Функция открывает файловое отображение и записывает в него строку с указанного байта в памяти. Если файлового отображения нет, то оно создаётся.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество символов для записи больше длины строки;
//| -2 длина строки больше выделенной памяти;
//| -3 не получен начальный адрес;
//| -4 значение в память не записано;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingWriteString(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записана строка.
//| const char *szString); // Строка для записи в файловое отображение.
//| ФУНКЦИИ ДЛЯ ЗАПИСИ ЧИСЕЛ И СТРОК В ОТОБРАЖЕНИЕ ПРЕДСТАВЛЕНИЯ ПРОЕЦИРУЕМОГО ФАЙЛА В АДРЕСНОМ ПРОСТРАНСТВЕ ВЫЗЫВАЮЩЕГО ПРОЦЕССА.
//|16. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса логическое значение BOOL с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция преобразует число типа INT в BOOL для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 значение в память не записано.
//| int FileMappingWriteSimpleBoolValue(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const int nValue); // Логическое значение для записи в файловое отображение.
//|17. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса число типа CHAR с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция преобразует число типа INT в CHAR для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 значение в память не записано.
//| int FileMappingWriteSimpleCharValue(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const int nValue); // Логическое значение для записи в файловое отображение.
//|18. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса число типа SHORT с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция преобразует число типа INT в SHORT для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 значение в память не записано.
//| int FileMappingWriteSimpleShortValue(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const int nValue); // Логическое значение для записи в файловое отображение.
//|19. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса число типа INT с указанного байта в памяти.
//| Функция предназначена для использования в циклах.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 значение в память не записано.
//| int FileMappingWriteSimpleIntValue(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const int nValue); // Целое число для записи в файловое отображение.
//| Функция преобразует число типа DOUBLE в FLOAT для записи в файловое отображение. Функция предназначена для использования в циклах.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 значение в память не записано.
//| int FileMappingWriteSimpleFloatValue(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const double dValue); // Число двойной точности для записи в файловое отображение.
//|21. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса число типа DOUBLE с указанного байта в памяти.
//| Функция предназначена для использования в циклах.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 значение в память не записано.
//| int FileMappingWriteSimpleDoubleValue(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const double dValue); // Число двойной точности для записи в файловое отображение.
//|22. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса строку с указанного байта в памяти.
//| Функция предназначена для использования в циклах.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 значение в память не записано.
//| int FileMappingWriteSimpleString(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const char *szString); // Строка для записи в файловое отображение.
//| ФУНКЦИИ ДЛЯ ЧТЕНИЯ ЧИСЕЛ И СТРОК ИЗ ФАЙЛОВОГО ОТОБРАЖЕНИЯ.
//|23. Функция открывает файловое отображение и читает из него логическое значение BOOL с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция возращает прочитанное значение или FALSE в случае ошибки.
//| bool FileMappingReadBoolValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte); // Номер байта от начала выделенной памяти, с которого будет прочитано число.
//|24. Функция открывает файловое отображение и читает из него число типа CHAR с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция возращает прочитанное значение или NULL в случае ошибки.
//| char FileMappingReadCharValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte); // Номер байта от начала выделенной памяти, с которого будет прочитано число.
//|25. Функция открывает файловое отображение и читает из него число типа SHORT с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция возращает прочитанное значение или NULL в случае ошибки.
//| short FileMappingReadShortValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte); // Номер байта от начала выделенной памяти, с которого будет прочитано число.
//|26. Функция открывает файловое отображение и читает из него число типа INT с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция возращает прочитанное значение или NULL в случае ошибки.
//| int FileMappingReadIntValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte); // Номер байта от начала выделенной памяти, с которого будет прочитано число.
//|27. Функция открывает файловое отображение и читает из него число типа FLOAT с указанного байта в памяти. Если файлового отображения нет, то оно создаётся.
//| Функция возращает прочитанное значение или NULL в случае ошибки. Функция преобразует число типа FLOAT из файлового отображения в DOUBLE.
//| double FileMappingReadFloatValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte); // Номер байта от начала выделенной памяти, с которого будет прочитано число.
//|28. Функция открывает файловое отображение и читает из него число типа DOUBLE с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция возращает прочитанное значение или NULL в случае ошибки.
//| double FileMappingReadDoubleValue(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte); // Номер байта от начала выделенной памяти, с которого будет прочитано число.
//|29. Функция открывает файловое отображение и читает из него строку с указанного байта в памяти. Если файлового отображения нет, то оно создаётся.
//| Функция возращает указатель на начало строки.
//| В случае ошибки функция возвращает: "Error_1" длина строки больше выделенной памяти;
//| "Error_2" не получен начальный адрес;
//| "Error_3" сообщение из памяти не прочитано;
//| "Error_4" отмена отображение представления файла неудачна.
//| char *FileMappingReadString(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будет прочитана строка.
//| const int nLengthString); // Длина читаемой строки в знаках (байтах).
//| ФУНКЦИИ ДЛЯ ЧТЕНИЯ ЧИСЕЛ И СТРОК ИЗ ОТОБРАЖЕНИЯ ПРЕДСТАВЛЕНИЯ ПРОЕЦИРУЕМОГО ФАЙЛА В АДРЕСНОМ ПРОСТРАНСТВЕ ВЫЗЫВАЮЩЕГО ПРОЦЕССА.
//|30. Функция читает из файлового отображения по начальному адресу пространства вызывающего процесса логическое значение BOOL с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция возращает прочитанное значение или FALSE в случае ошибки.
//| bool FileMappingReadSimpleBoolValue(const char *pcAddress); // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//|31. Функция открывает файловое отображение и читает из него число типа CHAR с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция возращает прочитанное значение или NULL в случае ошибки.
//| char FileMappingReadSimpleCharValue(const char *pcAddress); // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//|32. Функция открывает файловое отображение и читает из него число типа SHORT с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция возращает прочитанное значение или NULL в случае ошибки.
//| short FileMappingReadSimpleShortValue(const char *pcAddress); // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//|33. Функция открывает файловое отображение и читает из него число типа INT с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция возращает прочитанное значение или NULL в случае ошибки.
//| int FileMappingReadSimpleIntValue(const char *pcAddress); // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//|33. Функция открывает файловое отображение и читает из него число типа INT с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция возращает прочитанное значение или NULL в случае ошибки.
//| int FileMappingReadSimpleIntValue(const char *pcAddress); // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//|34. Функция открывает файловое отображение и читает из него число типа FLOAT с указанного байта в памяти. Функция предназначена для использования в циклах.
//| Функция возращает прочитанное значение или NULL в случае ошибки. Функция преобразует число типа FLOAT из файлового отображения в DOUBLE.
//| double FileMappingReadSimpleFloatValue(const char *pcAddress); // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//|35. Функция открывает файловое отображение и читает из него число типа DOUBLE с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция возращает прочитанное значение или NULL в случае ошибки.
//| double FileMappingReadSimpleDoubleValue(const char *pcAddress); // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//|36. Функция открывает файловое отображение и читает из него строку с указанного байта в памяти. Функция предназначена для использования в циклах.
//| Функция возращает указатель на начало строки.
//| В случае ошибки функция возвращает: "Error_1" длина строки больше выделенной памяти;
//| "Error_2" сообщение из памяти не прочитано;
//| char *FileMappingReadSimpleString(const char *pcAddress); // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| ФУНКЦИИ ДЛЯ ЗАПИСИ МАССИВОВ В ФАЙЛОВОЕ ОТОБРАЖЕНИЕ.
//|37. Функция открывает файловое отображение и записывает в него массив с данными типа BOOL с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция преобразует данные массива INT в BOOL для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 не получен начальный адрес;
//| -4 массив в память не записан;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingWriteBoolArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| const int *aiArray, // Указатель на массив с логическими данными BOOL для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//|38. Функция открывает файловое отображение и записывает в него массив с данными типа CHAR с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция преобразует данные массива INT в CHAR для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 не получен начальный адрес;
//| -4 массив в память не записан;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingWriteCharArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| const int *aiArray, // Указатель на массив с данными типа CHAR для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//|39. Функция открывает файловое отображение и записывает в него массив с данными типа SHORT с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция преобразует данные массива INT в SHORT для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 не получен начальный адрес;
//| -4 массив в память не записан;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingWriteShortArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| const int *aiArray, // Указатель на массив с данными типа SHORT для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//| Если файлового отображения нет, то оно создаётся.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 не получен начальный адрес;
//| -4 массив в память не записан;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingWriteIntArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| const int *aiArray, // Указатель на массив с данными типа INT для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//|41. Функция открывает файловое отображение и записывает в него массив с данными типа FLOAT с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция преобразует данные массива DOUBLE в FLOAT для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 не получен начальный адрес;
//| -4 массив в память не записан;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingWriteFloatArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| const double *adArray, // Указатель на массив с данными типа FLOAT для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//|42. Функция открывает файловое отображение и записывает в него массив с данными типа DOUBLE с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 не получен начальный адрес;
//| -4 массив в память не записан;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingWriteDoubleArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| const double *adArray, // Указатель на массив с данными типа DOUBLE для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//| ФУНКЦИИ ДЛЯ ЗАПИСИ МАССИВОВ В ОТОБРАЖЕНИЕ ПРЕДСТАВЛЕНИЯ ПРОЕЦИРУЕМОГО ФАЙЛА В АДРЕСНОМ ПРОСТРАНСТВЕ ВЫЗЫВАЮЩЕГО ПРОЦЕССА.
//|43. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса массив с данными типа BOOL с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция преобразует данные массива INT в BOOL для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 массив в память не записан.
//| int FileMappingWriteSimpleBoolArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const int *aiArray, // Указатель на массив с логическими данными BOOL для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//|44. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса массив с данными типа BOOL с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция преобразует данные массива INT в CHAR для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 массив в память не записан.
//| int FileMappingWriteSimpleCharArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const int *aiArray, // Указатель на массив с данными типа CHAR для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//|45. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса массив с данными типа BOOL с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция преобразует данные массива INT в SHORT для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 массив в память не записан.
//| int FileMappingWriteSimpleShortArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const int *aiArray, // Указатель на массив с данными типа SHORT для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//|46. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса массив с данными типа INT с указанного байта в памяти. |
//| Функция предназначена для использования в циклах.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 массив в память не записан.
//| int FileMappingWriteSimpleIntArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const int *aiArray, // Указатель на массив с данными типа INT для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//|47. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса массив с данными типа FLOAT с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция преобразует данные массива DOUBLE в FLOAT для записи в файловое отображение.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 массив в память не записан.
//| int FileMappingWriteSimpleFloatArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const double *adArray, // Указатель на массив с данными типа FLOAT для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//|48. Функция записывает в файловое отображение по начальному адресу пространства вызывающего процесса массив с данными типа DOUBLE с указанного байта в памяти.
//| Функция предназначена для использования в циклах.
//| Функция возращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество ячеек для записи больше размера массива;
//| -2 количество данных больше выделенной памяти;
//| -3 массив в память не записан.
//| int FileMappingWriteSimpleDoubleArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| const double *adArray, // Указатель на массив с данными типа DOUBLE для записи в файловое отображение.
//| const int nSizeBuffer); // Размер массива.
//| ФУНКЦИИ ДЛЯ ЧТЕНИЯ МАССИВОВ ИЗ ФАЙЛОВОГО ОТОБРАЖЕНИЯ.
//|49. Функция открывает файловое отображение и читает из него данные типа BOOL в массив с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 не получен начальный адрес;
//| -4 сообщение из памяти не прочитано;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingReadBoolArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| int *aiArray, // Указатель на массив для чтения в него логических данных BOOL из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
//| Если файлового отображения нет, то оно создаётся.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 не получен начальный адрес;
//| -4 сообщение из памяти не прочитано;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingReadCharArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| int *aiArray, // Указатель на массив для чтения в него данных типа CHAR из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
//|51. Функция открывает файловое отображение и читает из него данные типа SHORT в массив с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 не получен начальный адрес;
//| -4 сообщение из памяти не прочитано;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingReadShortArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| int *aiArray, // Указатель на массив для чтения в него данных типа SHORT из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
//|52. Функция открывает файловое отображение и читает из него данные типа INT в массив с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 не получен начальный адрес;
//| -4 сообщение из памяти не прочитано;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingReadIntArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| int *aiArray, // Указатель на массив для чтения в него данных типа INT из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
//|53. Функция открывает файловое отображение и читает из него данные типа FLOAT в массив с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся. Функция преобразует данные типа FLOAT из файлового отображения в DOUBLE для чтения в массив.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 не получен начальный адрес;
//| -4 сообщение из памяти не прочитано;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingReadFloatArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| double *adArray, // Указатель на массив для чтения в него данных типа FLOAT из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
//|54. Функция открывает файловое отображение и читает из него данные типа DOUBLE в массив с указанного байта в памяти.
//| Если файлового отображения нет, то оно создаётся.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 не получен начальный адрес;
//| -4 сообщение из памяти не прочитано;
//| -5 отмена отображение представления файла неудачна.
//| int FileMappingReadDoubleArray(const char *szNameFileMapping, // Имя для проецируемого файла.
//| const int nMemorySize, // Количество резервируемой памяти для файлового отбражения.
//| const int nStartByte, // Номер байта от начала выделенной памяти, с которого будут записан массив.
//| double *adArray, // Указатель на массив для чтения в него данных типа DOUBLE из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
//| ФУНКЦИИ ДЛЯ ЧТЕНИЯ МАССИВОВ В ОТОБРАЖЕНИИ ПРЕДСТАВЛЕНИЯ ПРОЕЦИРУЕМОГО ФАЙЛА В АДРЕСНОМ ПРОСТРАНСТВЕ ВЫЗЫВАЮЩЕГО ПРОЦЕССА.
//|55. Функция читает из файлового отображения по начальному адресу пространства вызывающего процесса данные типа BOOL в массив с указанного байта в памяти.
//| Функция предназначена для использования в циклах.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 сообщение из памяти не прочитано.
//| int FileMappingReadSimpleBoolArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| int *aiArray, // Указатель на массив для чтения в него логических данных BOOL из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
//|56. Функция читает из файлового отображения по начальному адресу пространства вызывающего процесса данные типа CHAR в массив с указанного байта в памяти.
//| Функция предназначена для использования в циклах.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 сообщение из памяти не прочитано.
//| int FileMappingReadSimpleCharArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| int *aiArray, // Указатель на массив для чтения в него данных типа CHAR из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
//|57. Функция читает из файлового отображения по начальному адресу пространства вызывающего процесса данные типа SHORT в массив с указанного байта в памяти.
//| Функция предназначена для использования в циклах.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 сообщение из памяти не прочитано.
//| int FileMappingReadSimpleShortArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| int *aiArray, // Указатель на массив для чтения в него данных типа SHORT из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
//|58. Функция читает из файлового отображения по начальному адресу пространства вызывающего процесса данные типа INT в массив с указанного байта в памяти.
//| Функция предназначена для использования в циклах.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 сообщение из памяти не прочитано.
//| int FileMappingReadSimpleIntArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| int *aiArray, // Указатель на массив для чтения в него данных типа INT из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
//|59. Функция читает из файлового отображения по начальному адресу пространства вызывающего процесса данные типа FLOAT в массив с указанного байта в памяти.
//| Функция предназначена для использования в циклах. Функция преобразует данные типа FLOAT из файлового отображения в DOUBLE для чтения в массив.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 сообщение из памяти не прочитано.
//| int FileMappingReadSimpleFloatArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| double *adArray, // Указатель на массив для чтения в него данных типа FLOAT из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
//|60. Функция читает из файлового отображения по начальному адресу пространства вызывающего процесса данные типа DOUBLE в массив с указанного байта в памяти.
//| Функция предназначена для использования в циклах.
//| Функция возвращает: 1 успешное завершение;
//| 0 прочие ошибки;
//| -1 количество данных больше выделенной памяти;
//| -2 размер принимающего буфера не достаточен;
//| -3 сообщение из памяти не прочитано.
//| int FileMappingReadSimpleDoubleArray(const char *pcAddress, // Указатель на байт области памяти отображения представления проецируемого файла,
//| // с которого будет производиться запись данных.
//| double *adArray, // Указатель на массив для чтения в него данных типа DOUBLE из файлового отображения.
//| const int nSizeBuffer); // Размер массива.
Это не исходник, и не DLL. Это офрмленный заголовок исходника DLL, на который потратил больше недели. Написание класса для маппинга заняло неделю. В основном на продумывание структурированности.
А само писание 60 функций заняло 60 минут. Там в каждой функции по паре строчек.
Очень приятная библиотечка. А файлами готовыми Вы не можете поделиться? Или это подразумевает оплату?
Ещё не закончил. Всё в процессе. В описании ошибки правляю, редактирую название функций, а то длинные очень для MQL4.
Тестирование предстоит длительное. Библиотека предназначена для работы с моим комплексом, по этому она защищена. И по этому исходники не дам.
Если хотите, можно арендовать... :-))
Но ведь, самое ценное выложил. Это описание важнее, чем исходники.
На данный момент заголовочный файл выглядит так:
Заголовочный файл теперь такой:
Файлы придуманы для длительного хранения информации. Зачем терзать диск? Для общения есть ОЗУ.
Ежели создать диск в ОЗУ (RAMdisk) то и винчестер терзаться не будет и предложение JavaDev приобретает определённый смысл.
А за библиотеку - огромное спасибо !!! просто шедевр !!!