Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день. Вопрос MQL5 - запись данных в файл.
Как дописать данные в файл? Пробовала открыть с помощью команды FileOpen("SomeFile.txt",FILE_BIN|FILE_SHARE_READ|FILE_ANSI); - файл открывается. Хэндл - 1. Но при записи в файл (FileWriteString(lnFHW,"Some String"); - данные не пишутся. Если же открыть файл с флагом FILE_WRITE - файл открывается нулевой длины, т.е. ранее записанные данные пропадают. Это так и задумано или ошибка в программе?
Всего доброго.
FILE_READ|FILE_WRITE
Добрый день. Вопрос MQL5 - запись данных в файл.
Как дописать данные в файл? Пробовала открыть с помощью команды FileOpen("SomeFile.txt",FILE_BIN|FILE_SHARE_READ|FILE_ANSI); - файл открывается. Хэндл - 1. Но при записи в файл (FileWriteString(lnFHW,"Some String"); - данные не пишутся. Если же открыть файл с флагом FILE_WRITE - файл открывается нулевой длины, т.е. ранее записанные данные пропадают. Это так и задумано или ошибка в программе?
Всего доброго.
Разобралась, нужно писать сразу при открытии и FILE_WRITE|FILE_READ. Только тогда не понятно назначение параметра FILE_BIN.
Разобралась, нужно писать сразу при открытии и FILE_WRITE|FILE_READ. Только тогда не понятно назначение параметра FILE_BIN.
FILE_BIN указывает на то, что числа, вещественные и целые, записываются в файл как есть, в двоичном формате, без преобразования в текстовый формат.
Разобралась, нужно писать сразу при открытии и FILE_WRITE|FILE_READ. Только тогда не понятно назначение параметра FILE_BIN.
Вы выбрали не самый очевидный способ открытия файла на чтение и запись.
Флаги открытия файлов
Значения флагов, определяющих режим работы с файлом. Флаги определены следующим образом:
Идентификатор
Описание
FILE_READ
Файл открывается для чтения
FILE_WRITE
Файл открывается для записи
FILE_BIN
Двоичный режим чтения-записи (без преобразования из строки и в строку)
FILE_CSV
Файл типа csv (все записанные элементы преобразуются к строкам соответствующего типа, unicode или ansi, и разделяются разделителем)
FILE_TXT
Простой текстовый файл (тот же csv, однако разделитель не принимается во внимание)
FILE_ANSI
Строки типа ANSI (однобайтовые символы)
FILE_UNICODE
Строки типа UNICODE (двухбайтовые символы)
FILE_SHARE_READ
Совместный доступ по чтению со стороны нескольких программ
FILE_SHARE_WRITE
Совместный доступ по записи со стороны нескольких программ
FILE_REWRITE
Возможность перезаписывания файла функциями FileCopy и FileMove. Файл должен существовать или открываться для записи. В противном случае файл открыт не будет
FILE_COMMON
Расположение файла в общей папке всех клиентских терминалов
Добрый день. Вопрос MQL5 - запись данных в файл.
Как дописать данные в файл? Пробовала открыть с помощью команды FileOpen("SomeFile.txt",FILE_BIN|FILE_SHARE_READ|FILE_ANSI); - файл открывается. Хэндл - 1. Но при записи в файл (FileWriteString(lnFHW,"Some String"); - данные не пишутся. Если же открыть файл с флагом FILE_WRITE - файл открывается нулевой длины, т.е. ранее записанные данные пропадают. Это так и задумано или ошибка в программе?
Всего доброго.
Если сильно не ломать голову то сначала считываем содержимое файла (открыв его при помощи FILE_SHARE_READ),а затем создаем новый файл и пишем в него все что нужно (при помощи FILE_WRITE).
PS
Хотя по логике вещей кроме FileOpen, FileCopy и FileDelete следует предусмотреть и FileCreate.
При этом так чтобы FileOpen открывал уже существующий файл для чтения и записи (без удаления содержимого), а FileCreate создавал/переписывал файл...
Или я что-то не понимаю или для объекта "Label" не корректно работает вот этот код
Руками проверил, корректно работает только "CORNER_LEFT_UPPER".
PS
Билд 212....
В разделе "Справочник MQL5 / Стандартные константы, перечисления и структуры / Константы объектов / Угол привязки " есть пример скрипта, который расставляет метки по четырем углам. Запустите его у себя.
А еще не мешало бы добавить OBJPROP_WIDTH и OBJPROP_HEIGHT для button, label, и др. подобных объектов.
Для полноценности. Отсутствие этих свойств сильно ограничивает возможности.
В разделе "Справочник MQL5 / Стандартные константы, перечисления и структуры / Константы объектов / Угол привязки " есть пример скрипта, который расставляет метки по четырем углам. Запустите его у себя.
Спасибо, разобрался. Не сразу обратил внимание на все параметры у Label (в старом коде отсутствовал OBJPROP_ANCHOR и другие приятные мелочи).....
А еще не мешало бы добавить OBJPROP_WIDTH и OBJPROP_HEIGHT для button, label, и др. подобных объектов.
Для полноценности. Отсутствие этих свойств сильно ограничивает возможности.
OBJPROP_XSIZE и OBJPROP_YSIZE