- FileSelectDialog
- FileFindFirst
- FileFindNext
- FileFindClose
- FileIsExist
- FileOpen
- FileClose
- FileCopy
- FileDelete
- FileMove
- FileFlush
- FileGetInteger
- FileIsEnding
- FileIsLineEnding
- FileReadArray
- FileReadBool
- FileReadDatetime
- FileReadDouble
- FileReadFloat
- FileReadInteger
- FileReadLong
- FileReadNumber
- FileReadString
- FileReadStruct
- FileSeek
- FileSize
- FileTell
- FileWrite
- FileWriteArray
- FileWriteDouble
- FileWriteFloat
- FileWriteInteger
- FileWriteLong
- FileWriteString
- FileWriteStruct
- FileLoad
- FileSave
- FolderCreate
- FolderDelete
- FolderClean
FileSelectDialog
Cria uma caixa de diálogo para abrir/criar um arquivo ou pasta.
int FileSelectDialog(
|
Parâmetros
caption
[in] Título da caixa de diálogo.
initial_dir
[in] Nome da pasta inicial relativa à pasta MQL5\Files, cujo conteúdo será exibido na caixa de diálogo. Se o valor for igual a NULL, na caixa de diálogo será mostrada a pasta MQL5\Files.
filter
[in] Filtro de extensões de arquivos que serão mostradas na caixa de diálogo para serem selecionadas. Arquivos de outros formatos ficarão ocultos.
flags
[in] Combinação de sinalizadores que define o modo da caixa de diálogo. Os sinalizadores são definidos da seguinte maneira:
FSD_WRITE_FILE diálogo de abertura de arquivo
FSD_SELECT_FOLDER permite selecionar apenas pastas;
FSD_ALLOW_MULTISELECT permite selecionar alguns arquivos;
FSD_FILE_MUST_EXIST os arquivos selecionados devem existir;
FSD_COMMON_FOLDER o arquivo está localizado na pasta compartilhada de terminais do cliente \Terminal\Common\Files.
filenames[]
[out] Matriz de linhas na qual serão colocados os nomes dos arquivos/pastas selecionados.
default_filename
[in] Nome do arquivo/pasta por padrão. Se especificado, esse nome será automaticamente substituído no diálogo de abertura e retornado na matriz filenames[] durante o teste.
Valor retornado
Se for bem-sucedida, a função retornará o número de arquivos selecionados cujos nomes podem ser obtidos em filenames[]. Se o usuário não selecionar o arquivo e fechar a caixa de diálogo, a função retornará 0. Em caso de execução mal sucedida retornará um valor menor que 0, código de erro poderá ser obtido com a ajuda de GetLastError().
Observação
Por motivos de segurança, em MQL5 o trabalho com arquivos é estritamente controlado. Os arquivos com os quais são executadas as operações de arquivo através da linguagem MQL5 não podem estar localizados fora do arquivo "área restrita", isto é, fora da pasta MQL5\Files.
O nome da pasta inicialinitial_dir é procurado na pasta do terminal do cliente na subpasta MQL5\Files (ou diretório_agente_teste\MQL5\Files em caso de teste). Se entre os sinalizadores for especificado FSD_COMMON_FOLDER, a pasta inicial será procurada na pasta compartilhada de terminais do cliente \Terminal\Common\Files.
O parâmetro filter indica arquivos válidos e deve ser definido com o formato "<descrição 1>|<extensão 1>|<descrição 2>|<extensão 2>...". Por exemplo, "Text files (*.txt)|*.txt|All files (*.*)|*.*", além disso, a primeira extensão "Text files (*.txt)|*.txt" será selecionada como tipo de arquivo por padrão.
Se filter=NULL, a máscara de seleção de arquivos na caixa de diálogo será "All Files (*.*)|*.*|"
Se definido o parâmetro default_filename, então durante o teste não visual a chamada de FileSelectDialog() retornará 1, e o valor de default_filename será copiado na matriz filenames[].
A função é proibida em indicadores personalizados, uma vez que a chamada para FileSelectDialog() interrompe o trabalho do thread de execução durante todo o tempo de espera pela resposta do usuário. Como todos os indicadores de cada símbolo são executados num único thread, o funcionamento de todos os gráficos em todos os períodos gráficos do símbolo em questão será interrompido.
Exemplo:
//+------------------------------------------------------------------+
|
Veja também
FileOpen, FileIsExist, FileDelete, FileMove, FolderCreate, FolderDelete, FolderClean, Sinalizadores de abertura de arquivos