Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Делись ссылками с других ресурсов. Теперь они имеют описание!
Ekvador
223
Ekvador 2014.09.01 09:23 

Добрый день 

Подскажите , почему происходит смещение записи в файл на 1 строчку , например :

void CreateFileTXT(string x,string y,string z){
int handle;
handle=FileOpen("UserInfo.csv", FILE_CSV|FILE_WRITE);
if(handle<0){Print("Open error : ",GetLastError());}
FileSeek(handle,0,SEEK_SET);
FileWrite(handle, x);
FileWrite(handle, y);
FileWrite(handle, z);
FileClose(handle);
} 

 в csv файле при первой записи получается : 

 

а последующая запись уже смешается на несколько ячеек в низ , хотя функция таже используется :

 

Dmitry Fedoseev
41213
Dmitry Fedoseev 2014.09.01 09:36  
Если файл в блокноте открыть, как с пропусками будет?
Ekvador
223
Ekvador 2014.09.01 09:44  
Integer:
Если файл в блокноте открыть, как с пропусками будет?


в первой записи : 

 

а после :

 

уже смещается  

Dmitry Fedoseev
41213
Dmitry Fedoseev 2014.09.01 09:49  
Надо смотреть что там на конце у "x", "y", "z". Наверно там символ новой строки "\n". Для начала можно попробовать для каждой переменой сделать StringTrimRight(), если поможет, то искать, откуда на конце появляется "\n".
Ekvador
223
Ekvador 2014.09.01 09:58  
Integer:
Надо смотреть что там на конце у "x", "y", "z". Наверно там символ новой строки "\n". Для начала можно попробовать для каждой переменой сделать StringTrimRight(), если поможет, то искать, откуда на конце появляется "\n".


Спасибо ! помогло в таком виде : 

void CreateFileTXT(string x,string y,string z){
int handle;
handle=FileOpen("UserInfo.csv", FILE_CSV|FILE_WRITE);
if(handle<0){Print("Open error : ",GetLastError());}
//FileSeek(handle,0,SEEK_SET);
FileWrite(handle, StringTrimLeft(StringTrimRight(x)));
FileWrite(handle, StringTrimLeft(StringTrimRight(y)));
FileWrite(handle, StringTrimLeft(StringTrimRight(z)));
FileClose(handle);
} 
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий