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

 

работа с CSV файлом. 

FileReadString(handle) читает ячейку и перемещает курсор после, а мне нужно ПЕРЕПИСАТЬ(удалить) значение именно той ячейки которую прошли. как переместить курсор на ячейку назад или в начало строки?  

куда запихнуть "\r" символ что б курсор воспринял его? 

пример:

if(FileReadString(handle)==чего то там)

Документация по MQL5: Файловые операции / FileReadString
Документация по MQL5: Файловые операции / FileReadString
  • www.mql5.com
FileReadString - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Достаточно научиться пользоваться поиском по документации

Если я ошибся и вам нужно по mql5, то это точно так-же.

 
Alexey Viktorov #:

Достаточно научиться пользоваться поиском по документации

Если я ошибся и вам нужно по mql5, то это точно так-же.

дурачок? 

 
koko_moko #:

дурачок? 

Уважаемый! Хамство на форуме не приветствуется, а иногда карается баном от модератора.

С уважением, Владимир.

 
MrBrooklin #:

Уважаемый! Хамство на форуме не приветствуется, а иногда карается баном от модератора .

С уважением, Владимир.

че он воздух сотрясает. ни о чем ответ.

лучше б сам дал ответ чем делать бесполезно замечания. 
 
koko_moko #:

че он воздух сотрясает. ни о чем ответ.

Просто спокойно ждите ответ, который Вас удовлетворит. Может кто-нибудь и ответит.

С уважением, Владимир.

 

при работе с CSV, при переходе к следующей записи - запоминайте позицию. см FileTell. Потом к этой позиции всегда можно будет вернуться через FileSeek

НО в общем случае при перезаписи вам придётся переписывать ВЕСЬ "ХВОСТ" файла, а не просто одно значение. 

поэтому если данные перезаписываются - оптимальнее использовать SQLite. Да и вообще это лучше - данные сразу в виде понятном другому софту, и пригодны к выборкам и аналитике

 
Maxim Kuznetsov #:

при работе с CSV, при переходе к следующей записи - запоминайте позицию. см FileTell. Потом к этой позиции всегда можно будет вернуться через FileSeek

НО в общем случае при перезаписи вам придётся переписывать ВЕСЬ "ХВОСТ" файла, а не просто одно значение. 

поэтому если данные перезаписываются - оптимальнее использовать SQLite. Да и вообще это лучше - данные сразу в виде понятном другому софту, и пригодны к выборкам и аналитике

да, именно так уже и делаю. 

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

про хвост не понял. Меня устроит заменить всю строку, это делается простой функцией FileWriteString. Не получится? 

 
koko_moko #:

да, именно так уже и делаю. 

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

про хвост не понял. Меня устроит заменить всю строку, это делается простой функцией FileWriteString. Не получится? 

Не получится..строки как правило разной длины

 
koko_moko:

работа с CSV файлом. 

FileReadString(handle) читает ячейку и перемещает курсор после, а мне нужно ПЕРЕПИСАТЬ(удалить) значение именно той ячейки которую прошли. как переместить курсор на ячейку назад или в начало строки?  

куда запихнуть "\r" символ что б курсор воспринял его? 

пример:

if(FileReadString(handle)==чего то там)

Однако непонятно, а почему бы целиком не считать в память весь файл, поправить что нужно (в памяти) и записать файл заново.
 
Vladimir #:
Однако непонятно, а почему бы целиком не считать в память весь файл, поправить что нужно (в памяти) и записать файл заново.

Если файл влезает в память.

Почему бы не создать новый, читать из старого построчно, править и писать в новый, потом новый переименовать в старый?