Ошибки, баги, вопросы - страница 897

 
Rugyi_cool:
Подскажите пожалуйста как создать опрос на форуме?

Где новая тема там есть маленькая стрелочка, нажимаем на неё и выходит "новый опрос" выбираем.


опрос

 
Zeleniy:

Где новая тема там есть маленькая стрелочка, нажимаем на неё и выходит "новый опрос" выбираем.



Спасибо большое за подсказку!!!!!!!!!!!
 
Подскажите пожалуйста, как перейти к считыванию данных с новой строки, не могу найти команду по перемещению курсора на новую строку, спасибо
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Символьные константы - Документация по MQL5
 
lazarev-d-m:
Подскажите пожалуйста, как перейти к считыванию данных с новой строки, не могу найти команду по перемещению курсора на новую строку, спасибо
FileSeek().
 
tol64:
FileSeek().

Я правильно понимаю, что эта функция может перемещать курсор, только отчитывая символы с начала файла? Как с помощью нее переместить курсор на новую строчку в таком файле

эмм...что-то не отправляется csv файл, сейчас в txt переделаю

привел к максимально похожему содержанию, как при открытии csv текстовым редактором 

Файлы:
News.txt  1 kb
 
lazarev-d-m:
переместить курсор на новую строчку в таком файле
что такое новая строчка файла? у файла разве есть строки? он же линейный.
 
sergeev: у файла разве есть строки?
 

FILE_LINE_END

Получение признака конца строки

 
sergeev:
что такое новая строчка файла? у файла разве есть строки? он же линейный.

тоесть согласно моему оформлению файла, чтобы перейти от 95 строки к 96, мне нужно знать кол-во файлов в строке и отсчитать кол-во переменных =(95*(кол-во значений в строке)+1)

так получается? Просто это все выглядит легко, если мне нужны все значения в файле, но мне нужен csv файл для создания архива новостей текущих и будущих, и надо придумать механизм перебора строк, чтобы данные соответствовали критериям, например только в 95 строке есть все данные которые соотрветствуют моим требованиям (EURUSD;2012;12;15;12;30) - если такая строка найдена, то торговать разрешено и т.д.

 
lazarev-d-m:

тоесть согласно моему оформлению файла, чтобы перейти от 95 строки к 96, мне нужно знать кол-во файлов в строке и отсчитать кол-во переменных =(95*(кол-во значений в строке)+1)

так получается? Просто это все выглядит легко, если мне нужны все значения в файле, но мне нужен csv файл для создания архива новостей текущих и будущих, и надо придумать механизм перебора строк, чтобы данные соответствовали критериям, например только в 95 строке есть все данные которые соотрветствуют моим требованиям (EURUSD;2012;12;15;12;30) - если такая строка найдена, то торговать разрешено и т.д.

Ознакомьтесь внимательно со всеми файловыми операциями. Там есть всё необходимое, чтобы ориентироваться в файле. 

Поэкспериментируйте вот с этим примером:

void CountStrings()
  {
   int handle=-1;
   string txt_string="";
   ulong tell_seek=NULL;
//---
   string nm_file="Experiments\Hello.csv";
//---
   handle=FileOpen(nm_file,FILE_READ|FILE_CSV|FILE_ANSI);
//---
   if(handle!=INVALID_HANDLE)
     {
      string s="";
      ulong tseek=0;
      int cnt_Strings=0; // Счётчик строк
      //---
      // Читать пока текущее положение файлового указателя не окажется в конце файла
      while(!FileIsEnding(handle))
        {
         if(_StopFlag) { return; }
         //---
         while(!FileIsLineEnding(handle)) // Считаем всю строку
           {
            if(_StopFlag) { return; }
            //---
            FileReadString(handle);
            //s=FileReadString(handle); Print("s: ",s);
            //---
            tell_seek=FileTell(handle); // Получим положение указателя
            //---
            if(FileIsLineEnding(handle))
              {
               Print("Это конец строки! ",tell_seek);
               //---
               // Переход на другую строку, если это не конец файла
               if(!FileIsEnding(handle)) { tseek=tell_seek+1; }
               //---
               FileSeek(handle,tseek,SEEK_SET); cnt_Strings++;
               //---
               break;
              }
           }
         //---
         if(FileIsEnding(handle)) { Print("Это конец файла! Всего строк: ",cnt_Strings); break; }
        }
      //---
      FileClose(handle);
     }
  }

//---

Да и в справке, в базе кода и в статьях есть довольно много примеров. Осталось только взяться и воспользоваться этим. ))

 
Yedelkin:
 

FILE_LINE_END

Получение признака конца строки

Я более или менее разобрался, терминал воспринимает csv файл не как таблицу, а как обычный файл где все переменные выстроены в строчку, и отделены разделителем, и чтобы в нем ориентироваться как в таблице, я написал небольшой скрипт-пример по работе с csv, как с таблицей, с точки зрения человека, как бы странно это не звучало, сегодня/завтра скину в CodeBase, думаю многим будет интересно 

Причина обращения: