Как из советника читать файл на "C:\log.txt" ? - страница 2

 
LRA:

Инсталлировать все подряд отучился еще 50 лет назад. Для одного файла ссылка создается так:
mklink  ...

В моем WinXP такой "трюк" не прошел бы.
 
AM2:

Подскажите пожалуйста простое решение?

Пробовал функции ReadFile.

 Функция хорошо бы подошла, но что в ней исправить чтобы работала?

 

Не работает.

 

Смотрел библиотеку: https://www.mql5.com/ru/code/8577
Громоздко, не разобрался. 

 

Аналогичное решение, но не для чтения, а для записи файла за пределы песочницы смотрите в конце ветки:

https://forum.mql4.com/ru/66491

 Мне там Скриптонг все подробно разжевал. Спасибо, Скриптонг! 

 
LRA:
Print выдает -1, что ИМХО, является признаком ошибки...

Забыл, что стринги сейчас юникодовые.

Правильно будет так:

#import "kernel32.dll"
   int OpenFile( uchar& lpFileName[], OFSTRUCT& lpReOpenBuff, int wStyle );
#import

void OnStart()
{
   uchar fileName[];
   StringToCharArray( "C:\\log.txt", fileName );
   
   OFSTRUCT ofstruct;
   int h = OpenFile( fileName, ofstruct, OF_EXIST );
   Print( "Handle: ", h );
}
 
LRA:

Инсталлировать все подряд отучился еще 50 лет назад.

Для одного файла ссылка создается так:

mklink  "X:\ПапкаТерминала\MQL4\Files\A.txt" "Y:\Фильмы\A.txt"

и в папке ...MQL4\Files\ появился файл A.txt

Для папки команда с ключом /D:

mklink /D "X:\ПапкаТерминала\MQL4\Files\BIRD\" "Y:\ICO\"

и в папке ...MQL4\Files\ появилась папка BIRD, а в ней - все содержимое папки Y:\ICO\

Подробнее: http://tigors.net/windows-on-ssd-tweaks/  и  http://kaktusenok.blogspot.ru/2012/05/hardlink-windows-7.html
У каждого свой путь. Для меня (создание ссылок) - это вещь необходимая, поэтому каждый раз набирать команды - это не моё, поэтому за меня это делает упомянутая программа.
 
TarasBY:
У каждого свой путь. Для меня (создание ссылок) - это вещь необходимая, поэтому каждый раз набирать команды - это не моё, поэтому за меня это делает упомянутая программа.

Команду mklink нужно выполнить один раз - после перезагрузки или выключения результат сохраняется.

Упомянутая программа лишь один раз формирует и выполняет упомянутую команду.

Ko1dun:

Забыл, что стринги сейчас юникодовые. Правильно будет так:

Да, стринги в Windows сейчас юникодовые. Спасибо, так работает. Выдает Handle: 1

 
LRA:

Команду mklink нужно выполнить один раз - после перезагрузки или выключения результат сохраняется.

Упомянутая программа лишь один раз формирует и выполняет упомянутую команду.

Я в курсе. Я много ссылок создаю.
Причина обращения: