Скачать MetaTrader 5

помогите с форматирванием текста в MQL

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Статьи уже помогли многим трейдерам. Заходи и читай!
Dmitiry Ananiev
6570
Dmitiry Ananiev 2011.09.18 01:16 

вообщем задача в следующем:

есть некий файл в *.txt в файле через табулятор идет перечисление переменных типа "a=1 b=2 c=10" где пробелы соответственно (Tab).

надо, чтоб в этом же файле вместо табулятора был первод строки. Т.е. чтоб в файле получилось:

"a=1

b=2

c=10"

Как это сделать?

Алексей Тарабанов
7271
Алексей Тарабанов 2011.09.18 01:38  

Заменить символ табуляци на символ перевода каретки. Один код ASCII на другой. В чем проблема-то?

https://docs.mql4.com/ru/strings/StringGetChar

https://docs.mql4.com/ru/strings/StringFind

https://docs.mql4.com/ru/convert/CharToStr

Dmitiry Ananiev
6570
Dmitiry Ananiev 2011.09.18 02:14  
вот тут то и проблема, Индекс знака табуляции нашел, получить файл с переводом каретки - не получается.
Dmitiry Ananiev
6570
Dmitiry Ananiev 2011.09.18 02:30  


до этого я тоже как бы догадался.

Использую StringSetChar(sub_str,index_str,10) . В файле - все в одну строчку, только вместо 10го символа появляется символ не занимающий никакой ширины и не переводящий каретку.

Попробуй сам создать такой файл, где было бы перечисление через Tab, и потом в этом файле сделать перевод каретки. Желательно на примере.

Алексей Тарабанов
7271
Алексей Тарабанов 2011.09.18 02:37  

Попробую, но не сейчас. Сейчас могу взглянуть на твой код.

Алексей Тарабанов
7271
Алексей Тарабанов 2011.09.18 02:51  

Надо CharToStr(10) писать в позицию StringFind(Record, CharToStr(9)), где Record - запись базы.

Андрей
1890
Андрей 2011.09.18 06:53  

Да просто надо запихивать все данные в массив,
а при сохранении суммировать вручную с нужным разделителем-
и никакой ботвы с табуляциями.

В нужных столбцах- прописывать =.
Разберетесь.

Мне в эксель надо было не с табуляцией, а с запятой.
CSV- это штука регионозависимая, но не в МТ :-).

Dmitiry Ananiev
6570
Dmitiry Ananiev 2011.09.18 10:46  
а как запихнуть данные в массив ? может кто кусок кода напишет, хоть примерного
Роман
7939
Роман 2011.09.18 11:02  
dimeon:
а как запихнуть данные в массив ? может кто кусок кода напишет, хоть примерного

см. учебник.
Андрей
1890
Андрей 2011.09.18 11:33  
Массив - сделаете чтобы компилилось,
String arr[2000][20]
я ставлю строк очень много- чтобы не изменять размер массива
столбцов- сколько надо.
.
Дальше константы - осмысленные названия столбцов
int Дата = 0;
int Цена = 1;
int Стохастик = 2;
.
arr[текущаяСтрока][Дата] = TimeToStr(что то там);
еще заполняем столбцы
текущаяСтрока++;
.
Подробнее расписывать лень.
.
Потом каждую строку суммировать и писать в файл.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий