Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Статьи уже помогли многим трейдерам. Заходи и читай!
Tatiana Zyrianova
10082
Tatiana Zyrianova 2016.08.11 23:27 

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

Заранее спасибо за помощь.

Alexey Volchanskiy
16615
Alexey Volchanskiy 2016.08.12 01:53  
Tatiana Zyrianova:

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

Заранее спасибо за помощь.

Фраза непонятно построена - писать или читать надо? Или и то и другое? 

Было тут недавно обсуждение про FileFlush, оттуда выдержка

    int h=FileOpen("1.txt",FILE_WRITE|FILE_ANSI|FILE_TXT|FILE_SHARE_READ);
    if(h==-1)return;
      
    FileWriteString(h,"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz");
    FileClose(h);
Tatiana Zyrianova
10082
Tatiana Zyrianova 2016.08.12 09:44  
Alexey Volchanskiy:

Фраза непонятно построена - писать или читать надо? Или и то и другое? 

Было тут недавно обсуждение про FileFlush, оттуда выдержка

Нужно создать файл txt, дать ему название, а также писать в него определенную информацию.
Vitalii Ananev
8081
Vitalii Ananev 2016.08.12 09:55  
Tatiana Zyrianova:
Нужно создать файл txt, дать ему название, а также писать в него определенную информацию.
В справочнике по языку есть примеры.
Tatiana Zyrianova
10082
Tatiana Zyrianova 2016.08.12 11:03  

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

ResetLastError();
string name = Symbol();
int filehandle=FileOpen(name,FILE_READ|FILE_WRITE|FILE_TXT); 
if (filehandle != INVALID_HANDLE) 
{ 
   FileWrite(filehandle,TimeCurrent(), " ",Symbol(), " ", EnumToString(ENUM_TIMEFRAMES(_Period)), ";"); 
   FileClose(filehandle); 
   Print("FileOpen OK"); 
} 
else Print("Операция FileOpen неудачна, ошибка ",GetLastError()); 
Vitalii Ananev
8081
Vitalii Ananev 2016.08.12 11:39  
Tatiana Zyrianova:

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

Перед каждой новой записью в файл перемещайте файловый указатель в конец файла (функция FileSeek() ).  
pako
3311
pako 2016.08.12 11:40  
Tatiana Zyrianova:

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

Прочитайте фаил до конца

потом пишите 

Vitalii Ananev
8081
Vitalii Ananev 2016.08.12 11:42  
pako:

Прочитайте фаил до конца

потом пишите 

Если файл большой то это займет много времени, проще переместить файловый указатель в конец файла.
pako
3311
pako 2016.08.12 11:47  
Vitalii Ananev:
Если файл большой то это займет много времени, проще переместить файловый указатель в конец файла.

Или так

 

Xdsayxcvbhg 

Чет от программиста такие вопросы 

Tatiana Zyrianova
10082
Tatiana Zyrianova 2016.08.12 11:50  
Vitalii Ananev:
Если файл большой то это займет много времени, проще переместить файловый указатель в конец файла.
Не могли бы Вы привести пример как это нужно сделать в моем случае?
pako
3311
pako 2016.08.12 11:52  
Tatiana Zyrianova:
Не могли бы Вы привести пример как это нужно сделать в моем случае?
А какой у вас случай? Сильно тяжелый?
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий