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

 
Yedelkin:
 

FILE_LINE_END

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

вам я ничего не скажу. вы и так умный. 

и понимаете что у файла есть управляющие символы в его линейном отображении. для того, чтоб какие то просмоторщики его содержимого показывали его по общепризнанным правилам.

Управляющие символы — Википедия
  • ru.wikipedia.org
Управля́ющие си́мволы — элементы данной кодировки, которым не приписано графическое представление, но которые используются для управления устройствами, организации передачи данных и других целей. Сейчас для этих целей применяются форматы файлов, языки управления устройствами (такие как Postscript) и сетевые протоколы. Поэтому многие...
 
lazarev-d-m:

Я более или менее разобрался, терминал воспринимает csv файл не как таблицу, а как обычный файл где все переменные выстроены в строчку, и отделены разделителем

он воспринимает не только csv так, но и вообще все, что файл.
 

lazarev-d-m:

надо придумать механизм перебора строк,

у файла есть строки? как вы обозначаете новую строку? (намекаю на спец символ :)

предствьте что файл - это одномерный массив символов.

как в этом массиве найти "новую строку"?

 

 

FILE_LINE_END

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

sergeev вам я ничего не скажу. вы и так умный.  и понимаете что у файла есть управляющие символы в его линейном отображении. для того, чтоб какие то просмоторщики его содержимого показывали его по общепризнанным правилам. 
 :) Будем считать, что ответы на вопросы "что такое новая строчка файла? у файла разве есть строки?" Вы получили. Ответ с Вашей стороны и не предполагался.
 
Yedelkin:
 :) Будем считать, что ответы на вопросы "что такое новая строчка файла? у файла разве есть строки?" Вы получили. Ответ с Вашей стороны и не предполагался.

все дело в используемых понятиях и восприятии этих понятий.

что есть "новая строка" в файле?  Это и пытаюсь узнать у lazarev-d-m, если дождусь ответ, то в случае чего подкорректирую и объясню понятие по правильному. И потом направлю на решение задачи.

а пока я не знаю что представляет себе lazarev-d-m когда спрашивает про "новую строку". и не могу дать ответ как её найти. Он знает и FileSeek и FileIsLineEnding и FileRead. Но похоже не знает зачем они.

понятно в его случае найти какой то символ можно только лишь перебором. но понимает ли он что новая строка это просто символ - не знаю.

 
sergeevвсе дело в используемых понятиях и восприятии этих понятий. что есть "новая строка" в файле?  Это и пытаюсь узнать у lazarev-d-m, если дождусь ответ, то в случае чего подкорректирую и объясню понятие по правильному. И потом направлю на решение задачи. а пока я не знаю что представляет себе lazarev-d-m когда спрашивает про "новую строку". и не могу дать ответ как её найти. Он знает и FileSeek и FileIsLineEnding и FileRead. Но похоже не знает зачем они. понятно в его случае найти какой то символ можно только лишь перебором. но понимает ли он что новая строка это просто символ - не знаю.  

 Всё дело в том, что этот форум - форум MQL5сообщества. А язык MQL5 подразумевает такое понятие, как "признак конца строки файла":

FILE_LINE_END

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

Поэтому вопрос Лазарева - аПсалютнА кАрректен. Абсолютно корректен в рамках MQL5сообщества.

 
Yedelkin:

 Всё дело в том, что этот форум - форум MQL5сообщества. А язык MQL5 подразумевает такое понятие, как "признак конца строки файла":

Вопрос - скажите, а какие числа делятся на два?

Ответ - все.

Мораль - не путайте конец и то что надо lazarev-d-m

 
sergeev: Вопрос - скажите, а какие числа делятся на два? Ответ - все.  Мораль - не путайте конец и то что надо lazarev-d-m
 Ага. Ответ на свой вопрос "у файла разве есть строки?" Вы уже получили. Теперь сравниваете конец и потребности Лазарева. :)
 
sergeev:

Вопрос - скажите, а какие числа делятся на два?

Ответ - все.

Мораль - не путайте конец и то что надо lazarev-d-m

Я понял что есть способы определения отдельной строки, но нет отдельной команды по обращению к ней, нужно пересчитать кол-во символов разделителей строк, чтобы дойти до нужной строки (если известен "номер" строки)

Либо мой вариант, сканировать файл построчно, что тоже капец как не удобно, особенно с большими файлами, где могут быть сотни строк, а если вдруг столкнуться с этим в тестере, то вообще караул.

Вот как сдеал я, работает криво, освобожусь - подправлю

MqlDateTime mqldt;
string qwerty="EURUSD";
int filehandle;

void OnStart()
  {
   filehandle=FileOpen("News.csv",FILE_READ|FILE_CSV|FILE_ANSI,';');
   uint column1=FileReadInteger(filehandle);//Code
   string column2=FileReadString(filehandle);//Symbol
   uint column3=FileReadInteger(filehandle);//Year
   uint column4=FileReadInteger(filehandle);//Month
   uint column5=FileReadInteger(filehandle);//Day
   uint column6=FileReadInteger(filehandle);//Hour
   uint column7=FileReadInteger(filehandle);//Minute
   while(column2!=qwerty&&column3!=mqldt.year&&column4!=mqldt.mon&&column5!=mqldt.day&&column6!=mqldt.hour)
     {
   column1=FileReadString(filehandle);//Code
   column2=FileReadString(filehandle);//Symbol
   column3=FileReadInteger(filehandle);//Year
   column4=FileReadInteger(filehandle);//Month
   column5=FileReadInteger(filehandle);//Day
   column6=FileReadInteger(filehandle);//Hour
   column7=FileReadInteger(filehandle);//Minute
     }
   Alert("Искомое находится в ",column1,"-й строчке");
  }
Сейчас постоянно возвращает column1=Code, а должен возвращать номер строки, в которой совпадает значение часа с текущим временем, думаю это из кода понятно
 
Yedelkin:
 Ага. Ответ на свой вопрос "у файла разве есть строки?" Вы уже получили.

Еделкин, я его получил, когда еще вы под стол пешком ходили.
объясняю еще раз - все дело в понятиях

чел. вопрошает

lazarev-d-m:
Подскажите пожалуйста, как перейти к считыванию данных с новой строки, не могу найти команду по перемещению курсора на новую строку, спасибо

получает некорректный ответ

ну и?  Еделкин, вы считаете это ответ который ему откроет глаза на то что он хочет смоделировать? 

Вместо чтоб мне голову морочить своим уровнем знаний, лучше бы пообщались с человеком и натолкнули на мысль куда смотреть.


А вместо этого вы встряли в наш с ним диалог и начали "блестать" познаниями справки. Плохо. Неуд.