Скачать MetaTrader 5

операции с файлами

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Знаете ли вы, что в MQL5 появились структуры?
dimka8
361
dimka8 2015.12.08 20:25 
давно хотел задать вопрос ,не могу записать файл в бинарном виде. по очереди записываю переменные
int file_open=FileOpen("123.bin",FILE_WRITE|FILE_BIN);
минимум что удалось 1бай - вещественное число
int file_open=FileOpen("123.bin",FILE_WRITE|FILE_ANSI);
я не правильно что-то делаю или с бинарником не работает MQL5 ?
dimka8
361
dimka8 2015.12.08 20:27  
может как структуру записывать? если как структуру ,то компилятор не сделает выравнивание структуры ( переменные разной длинны)?
Alexandr Bryzgalov
27365
Alexandr Bryzgalov 2015.12.08 20:34  
dimka8:
может как структуру записывать?

что бы записать что-то в файл просто открыть его не достаточно,

нужно в него ещё что-то записать функциями

FileWrite...
char result[];
//тут заполняем массив.
int filehandle=FileOpen("файл.бин",FILE_WRITE|FILE_BIN);
      //--- проверка ошибки
      if(filehandle!=INVALID_HANDLE)
        {
         //--- сохраняем содержимое массива result[] в файл
         FileWriteArray(filehandle,result,0,ArraySize(result));
         //--- закрываем файл
         FileClose(filehandle);
        }
dimka8
361
dimka8 2015.12.08 20:39  
Alexandr Bryzgalov:

что бы записать что-то в файл просто открыть его не достаточно,

нужно в него ещё что-то записать функциями

я записываю спокойно
int file_open=FileOpen("123.bin",FILE_WRITE|FILE_ANSI);
далее код записи и закрытия файла
Alexandr Bryzgalov
27365
Alexandr Bryzgalov 2015.12.08 20:41  
dimka8:
я записываю спокойно далее код записи и закрытия файла

Эээ-эх (

Наверное не смогу помочь.

Опыта у меня не хватит вынести эти муки. )

Mikhail Filimonov
5931
Mikhail Filimonov 2015.12.08 20:42  

У меня в МТ5 всё работает:

//+------------------------------------------------------------------+
//| Expert Save settings function                                    |
//+------------------------------------------------------------------+
void SaveSettings()
{
  string file_name = _Symbol + ".dat";
  int file_handle;
  bool file_found = true;
//---  
  if ( FileIsExist( file_name, 0 ) )
  {
    if ( FileDelete( file_name, 0 ) ) file_found = false;
  }
  else
  {
    file_found = false;
  }
//---
  if ( !file_found )
  {
    file_handle = FileOpen( file_name, FILE_WRITE|FILE_BIN );
    
    if ( file_handle != INVALID_HANDLE )
    {
      FileWriteLong( file_handle, e_high );
      FileWriteLong( file_handle, a_profit );
      FileWriteLong( file_handle, e_low );
      FileWriteLong( file_handle, ord_delta_high );
      FileWriteLong( file_handle, ord_delta_low );
      FileWriteLong( file_handle, order_delta );
      FileWriteLong( file_handle, exit_delta );
      FileClose( file_handle );
    }
  } 
}
Alexey Volchanskiy
16730
Alexey Volchanskiy 2015.12.08 20:57  
Alexandr Bryzgalov:

Эээ-эх (

Наверное не смогу помочь.

Опыта у меня не хватит вынести эти муки. )

Это еще что )) Я студентом в детском саду подрабатывал слесарем, как-то раз заболела половина воспитательниц и меня попросили позаниматься с ребятишками))) Вот где полное отсутствие логики. Я тогда был не женат, опыта с детьми не было, но ничего, как-то справился. Учили арифметику.

dimka8
361
dimka8 2015.12.08 21:02  
вроде понял ,завтра исправлю . спасибо большое и звените за тупые вопросы
Alexey Volchanskiy
16730
Alexey Volchanskiy 2015.12.08 21:06  
dimka8:
вроде понял ,завтра исправлю . спасибо большое и звените за тупые вопросы
Вопросы не тупые, просто надо четко обрисовывать проблему. Это редко кто умеет ) 
Alexandr Bryzgalov
27365
Alexandr Bryzgalov 2015.12.08 21:07  
Alexey Volchanskiy:

Это еще что )) Я студентом в детском саду подрабатывал слесарем, как-то раз заболела половина воспитательниц и меня попросили позаниматься с ребятишками))) Вот где полное отсутствие логики. Я тогда был не женат, опыта с детьми не было, но ничего, как-то справился. Учили арифметику.

у детей очень хорошая логика и абстрактное мышление,

просто они решения принимают на основе имеющихся данных.

ЗЫ: одна из моих на вопрос: "Почему?", всегда отвечает "Потому что?" Ей 2 года, что дальше будет даже не стараюсь представить )

На вопрос "где?" конечно вспоминается Караганда )

dimka8
361
dimka8 2015.12.08 21:41  
я простой фзушник по профессии автослесарь
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий