Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Давно с файловыми операциями не работал.. Посмотрите, у Вас при использовании FileOpen() объявлен файл типа CSV. Раньше указывалось, что все записанные элементы преобразуются к строкам unicode или ansi. Может, здесь собака?
Грёбанный Виннипух!!!
Там она как раз и "порылась" :) Добавилв параметр FILE_ANSI и все покатило как по маслу!
FileOpen("Price Label\\"+_Symbol+tpl_ext,FILE_READ|FILE_CSV|FILE_ANSI,';',CP_ACP);
Yedelkin, TheXpert спасибо за наводку!!! :)
is_vale:
...Судя по тому, что я вижу в дебагере (в переменной sTF краказёбы типа китайских иероглифов) он прочитал содержимое файла как уникод! При открытии файла перепробывал все допустимые кодовые страницы, но результат тот же :( Сам файл записан в виндовой кодировке.
Кто нибудь имеет представление где тут собака порылась?
По умолчанию записывается в UNICODE. Поэтому установите флаг FILE_ANSI:
По умолчанию записывается в UNICODE. Поэтому установите флаг FILE_ANSI:
Вопрос насчёт размера array[]. Надо ли как-то устанавливать размер массива array[] перед его использованием в функции FileReadArray(), или же "исполняющая система терминала" сама позаботится о его размере в данном случае?
Нет, функция сама распределит память под требуемое количество данных находящихся в файле, достаточно передать динамичный массив.
Кстати читать так же можно и массивы простых структур, если они туда записывались.
ЗЫ Функция FileReadArray() не распознаёт тип сохранённых данных, так что будь внимателен, это одна из фич, можно сохранить дубли а прочитать их как улонг и распарсить на биты.
Классно.
ЗЫ Функция FileReadArray() не распознаёт тип сохранённых данных, так что будь внимателен, это одна из фич, можно сохранить дубли а прочитать их как улонг и распарсить на биты.
Т.е. массивы при сохранении и считывании должны быть одного типа, я правильно понял? Этого достаточно?
Классно.
Т.е. массивы при сохранении и считывании должны быть одного типа, я правильно понял? Этого достаточно?
Да.
В описании сказано:
common_flag
[in] Флаг, определяющий местоположение файла. Если common_flag=FILE_COMMON, то файл находится в общей папке всех клиентских терминалов. В противном случае файл находится в локальной папке.
В описании сказано:
Вот если файл-источник находится в общей папке, то common_flag=FILE_COMMON, это понятно. А если файл находится в локальной папке - какой флаг указывать? Параметр common_flag не является умолчательным, - значит, какое-то значение всё равно должно быть указано.