Новая переменная FILE - страница 2

 
A100:
Доступ к папке MQL5\Indicators\ из MQL программы запрещен даже на чтение имен файлов

Вы как вызываете пользовательский индикатор?

int handle=iCustom(NULL, 0, "Market\\MyIndicator", ...);

Так разве сложно из выбранного пути убрать расширение и все что до директории Indicators вместе с ней. Получите то что вам нужно.

 
О доступе к именам файлов MQL5\Indicators
Закрыта, Начата: 2015.08.28 00:57, #1290863

Описание проблемы

Для построения списка индикаторов  

Системным функциям ::FileFindFirst, ::FileFindNext, ::FileIsExist, а возможно и ::FileFindClose

нужен доступ к папке MQL5\Indicators (и подпапкам)

Доступ необходим для чтения имен файлов (используются в ::IndicatorCreate(,,,,parameters_array[ 0 ]). Чтение самих файлов не требуется.

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

Support Team 2015.09.03 16:03
Статус: Не обработана Завершена

Здравствуйте!

Спасибо за сообщение,но реализация данного функционала пока не планируется.

 
Konstantin Nikitin:

Вы как вызываете пользовательский индикатор?

Так развел сложно из выбранного пути убрать расширение и все что до директории Indicators вместе с ней. Получите то что вам нужно.

Фактически Вы предлагаете обойти существующие сейчас ограничения
 
A100:
Фактически Вы предлагаете обойти существующие сейчас ограничения

Так ограничения на вызов индикаторов не существует. Просто это даст лишнее удобство в работе. А сам вызов остается таким-же каким и есть сейчас.

 
Konstantin Nikitin:

Так ограничения на вызов индикаторов не существует. Просто это даст лишнее удобство в работе. А сам вызов остается таким-же каким и есть сейчас.

Я имел ввиду ограничение на чтение имен файлов https://www.mql5.com/ru/forum/267318/page2#comment_8146013

Чтобы вызвать индикатор Вам нужно знать имя файла, а его Вы не узнаете потому что доступ к папке MQL5\Indicators запрещен

Новая переменная FILE
Новая переменная FILE
  • 2018.07.22
  • www.mql5.com
Нужна, Нет...
 

A100:
Я имел ввиду ограничение на чтение имен файлов https://www.mql5.com/ru/forum/267318/page2#comment_8146013

Чтобы вызвать индикатор Вам нужно знать имя файла, а его Вы не узнаете потому что доступ к папке MQL5\Indicators запрещен

Это уже другое. Для чтения файлов можно использовать директорию FILE и для тех файлов с которыми собираетесь работать по чтению/записи выбирать путь в ней.
В выбранном пути будет и имя файла.
Вообще я не говорю о доступности или нет, я лишь говорю о функционале выбора пути файла/директории стандартными средствами. А как выбранный путь будет использовать программист это уже другой вопрос.

 

Мы сделаем функцию вида:

string FileSelect(string folder,string extensions,bool internal);

где:
  folder      - предпочитаемый каталог поиска, может быть NULL для дефолтного /Files
  extensions  - список разрешенных расширений "*.csv;*.txt"
  internal    - флаг жесткого контроля пути чтобы был внутри песочницы

В результате можно выбрать как файл из песочницы, так и любой, если он будет передаваться в DLL. Если у программы нет разрешения на DLL, то поиск всегда внутри песочницы.

 
Renat Fatkhullin:

Мы сделаем функцию вида:

В результате можно выбрать как файл из песочницы, так и любой, если он будет передаваться в DLL. Если у программы нет разрешения на DLL, то поиск всегда внутри песочницы.

Ну да что-то в этом роде. Просто постараться учесть наиболее шире используемые файлы в пользовательских программах.

 
Konstantin Nikitin:

Вообще я не говорю о доступности или нет, я лишь говорю о функционале выбора пути файла/директории стандартными средствами. А как выбранный путь будет использовать программист это уже другой вопрос.

Такой функционал уже очень давно есть https://www.mql5.com/ru/code/1074 да еще и с учётом FILE_COMMON

Какой смысл тратить время разработчиков?

CSelectFile
CSelectFile
  • www.mql5.com
CSelectFile - класс графического интерфейса выбора файла. Класс создан на основе Стандартной библиотеки. Методы классы. 1. Create - создание графического интерфейса. 2. ChartEvent - обработка события графика, возвращает состояние нажатых кнопок: 0 - кнопки не нажаты, 1 - нажата кнопка ОК, -1 - нажата кнопка Cancel. 3. Filename - получение имени...
 
A100:
Такой функционал уже очень давно есть https://www.mql5.com/ru/code/1074 да еще и с учётом COMMON

И вы ее сможете использовать в INPUT??? Это костыль с диалоговым окном.