Как можно нормально прочитать файл? - страница 3

 
TheXpert:

К FILE_CSV конечно есть, это вами придуманный костыль. К FILE_COMMON нет, это вполне нормальное решение разделения песочниц.

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

Вот именно, что это один из костылей. И его всё-таки лучше решить т.к. иначе он будет висеть всегда. На данный момент, получается, что нет необходимости вообще флаг задавать юникода, т.к. его, по сути, вообще нет. Чисто FILE_ANSI. Это не верно. Я промудохался часа по 3 с этой хренью. Вопрос решился в том день, ещё до ответа в этой ветке. Но это весьма не радужный факт. Т.к. за это время можно было что-то другое сделать, а не напрягать мозг вещами, реализация которых является загадочной.

 

Добавлено примечание для FileOpen:

Примечание

Из соображений безопасности в языке MQL5 строго контролируется работа с файлами. Файлы, с которыми проводятся файловые операции средствами языка MQL5, не могут находиться за пределами файловой "песочницы".

Если файл требуется прочитать в определенной кодировке (указан параметр codepage со значением кодовой страницы), то необходимо обязательно выставить флаг FILE_ANSI. Без указания флага FILE_ANSI чтение текстового файла будет происходить в Юникоде без какого-либо преобразования.


 
Rashid Umarov:

Добавлено примечание для FileOpen:

UTF-8 это юникод )

т.е. для того чтобы прочитать файл с юникодной кодировкой, надо выставить флаг FILE_ANSI. маразм...

И с точки зрения совместимости кодов просто шикарное решение.
 
TheXpert:

UTF-8 это юникод )

т.е. для того чтобы прочитать файл с юникодной кодировкой, надо выставить флаг FILE_ANSI. маразм...

И с точки зрения совместимости кодов просто шикарное решение.

Не придирайтесь к словам. Не юникод, а один из юникодов. К тому же 8-битный. Практически мультибайт (до 4 байтов).

Не хамите.

Вам было объяснено, почему мы не будем менять поведение. И совместимость кодов тут совсем ни при чём.

 
Slava:

да что ж вы все нежные такие?

я не придираюсь и не хамлю, я пытаюсь до вас донести что явная заданная кодировка должна быть приоритетней ваших флагов, а с флагом получается явный ляп, который к тому же еще и приводит к несовместимости кодов 5ки и 4ки.

поговорили крч.

 
TheXpert:

да что ж вы все нежные такие?

я не придираюсь и не хамлю, я пытаюсь до вас донести что явная заданная кодировка должна быть приоритетней ваших флагов, а с флагом получается явный ляп, который к тому же еще и приводит к несовместимости кодов 5ки и 4ки.

поговорили крч.

1) вы некомпетентны
2) откровенно пытаетесь высосать проблему из пальца
 
Renat Fatkhullin:
1) вы некомпетентны

в чем? UTF-8 это не юникод? или может ANSI это юникод?

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

 
TheXpert:

в чем? UTF-8 это не юникод? или может ANSI это юникод?

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

B fxsaber'а зацепили))

Renat Fatkhullin:
1) вы некомпетентны
2) откровенно пытаетесь высосать проблему из пальца

На самом деле, TheXpert компетентный программист, на сколько я знаю. И в теме уже не первый год. К тому же, ни слова он не сказал лишнего, не хамил и всё в тему. Ежели ли подгонять на него, лучше бы инкапсулировали делёжку мт4 от мт5 внутри реализации функции открытия, а не обвиняли тех, кто находит касяки. В конце концов, это не стыковка и её нужно как-то решать. По крайне мере, что бы не портить себе репутацию..

Значит в мт4 безопасности не мешало чтение с флагом соответствующим, а в мт5 мешает? Отлично. Так держать..

 
hoz:

Как можно нормально прочитать целую строку, если нет данных её длины?

С год назад заводил тему о файловом обмене. Вопрос был вообще о другом, но там тоже читались строки - с этим проблем не было.

 
Yuriy Asaulenko:

С год назад заводил тему о файловом обмене. Вопрос был вообще о другом, но там тоже читались строки - с этим проблем не было.

Вы вообще ветку читали эту? Видно же, что изначально недоработка. Понятное дело, что каждый это всё уже понимает как обработать. Я лично пишу wrapper'ы для подобной дичи. Но сколько я продолбался часов пока этот вопрос решился... Вот что не радует особо.

Причина обращения: