Как отловить конец строки?
- /HISTORY/<текущий брокер> - специально для функции FileOpenHistory;
- /EXPERTS/FILES - общий случай;
- /TESTER/FILES - специально для тестирования.
У меня файл открывается в другом месте и никак не получается отловить конец строки.
bool FileIsLineEnding( int handle) Возвращает TRUE, если файловый указатель находится в конце строки файла формата CSV, иначе возвращает FALSE. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().Эта штука не работает тоже?
Если не работает, то можно файл обрабатывать через DLL
Если Вы читаете файл, как описано в рекомендованной статье, то у Вас весь текст записывается в одну строку, а ее длина определяется StringLen(text).
Из ветки https://www.mql5.com/ru/forum/100532, предшествующей статье, прочитал "...
Добавить немного проверки на символы разделители и на символы
конца строки..." подумал может кто знает как, подскажет. У меня это не получилось. Мне удобнее было бы записать и считывать построчно, но пришлось, пока, сделать в одну строку.
Покажите пример файла, который надо прочитать.
... read=_lread(handle,char,1); res=res+char; len=StringLen(res); temp=StringSubstr(res,len-2,2); if(temp=="\n") { .... }Сначала искал символ конца строки считывая два последних байта, т.к. "\n" - это два символа.
А вот сейчас попробовал считать один байт и все прокатило. )))
... read=_lread(handle,char,1); res=res+char; len=StringLen(res); temp=StringSubstr(res,len-1,1); if(temp=="\n") { .... }
P.S. обычный текстовый файл (*.txt)