Discussão do artigo "Interfaces Gráficas VIII: O Controle Navegador de Arquivos (Capítulo 3)" - página 4
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
A lógica me diz que essas duas opções são mutuamente exclusivas. Se não for esse o caso, ficarei feliz em fazê-lo. Estou trabalhando para concluir o projeto. Não posso dizer quanto tempo levará, mas ele será concluído.
Meu projeto também está longe de ser concluído. Sugestões interessantes estão chegando de usuários interessados, que eu gostaria de realizar. A lista está crescendo.
Retag Konow:
Talvez você e eu possamos até cooperar no futuro :)
Tudo é possível. )
Tol, pergunta: como selecionar não um arquivo, mas uma pasta na qual os arquivos do programa serão salvos no navegador?
Exemplo:
//---
//| Manipulador de eventos|
//+------------------------------------------------------------------+
void CProgram::OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
{
//--- Tratamento do evento "Change path in tree list" (Alterar caminho na lista de árvores)
if(id==CHARTEVENT_CUSTOM+ON_CHANGE_TREE_PATH)
{
::Print(__FUNCTION__," > id: ",id,"; file name: ",m_navigator.SelectedFile());
::Print(__FUNCTION__," > id: ",id,"; path: ",m_navigator.CurrentPath()+m_navigator.SelectedFile());
::Print(__FUNCTION__," > id: ",id,"; full path: ",m_navigator.CurrentFullPath()+m_navigator.SelectedFile());
//--- Se um arquivo for selecionado, leia-o (as três primeiras linhas)
if(m_navigator.SelectedFile()!="")
{
//--- Forme o caminho para o arquivo
string path=m_navigator.CurrentPath()+m_navigator.SelectedFile();
//--- Obter o identificador do arquivo especificado
int filehandle=::FileOpen(path,FILE_READ|FILE_TXT|FILE_ANSI|m_navigator.DirectoryArea(),'\n');
//--- Se o identificador for recebido, leia as três primeiras linhas
if(filehandle!=INVALID_HANDLE)
{
::Print(__FUNCTION__," > Arquivo aberto: ",path);
::Print(__FUNCTION__," > Linha 01: ",::FileReadString(filehandle));
::Print(__FUNCTION__," > Linha 02: ",::FileReadString(filehandle));
::Print(__FUNCTION__," > Linha 03: ",::FileReadString(filehandle));
}
//--- Fechar o arquivo
::FileClose(filehandle);
}
::Print("---");
return;
}
}
//---
CProgram::OnEvent > id: 1024; path: ChartScreenshot\
CProgram::OnEvent > id: 1024; full path: D:\#TradingTerminals\MetaTrader 5 pretest\MQL5\Files\ChartScreenshot\
Exemplo:
//---
...
//---
CProgram::OnEvent > id: 1024; path: ChartScreenshot\
CProgram::OnEvent > id: 1024; full path: D:\#TradingTerminals\MetaTrader 5 pretest\MQL5\Files\ChartScreenshot\
Tol, outra pergunta: como posso ver as alterações nos catálogos exibidos pelo navegador depois de criar um novo arquivo no programa? Até agora, somente a mudança do período de tempo leva à atualização dos dados no navegador. O método Reset() no CFileNavigator.mqh não fornece o resultado desejado.
Ainda não foi implementado, mas está nos planos.
Estou vendo. Vamos aguardar...
Mais uma pergunta: as subpastas no navegador estão localizadas de acordo com a lista alfabética geral. Isso não é conveniente:
Haverá uma correção?
Outra pergunta: as subpastas no navegador são organizadas de acordo com a lista alfabética geral. Isso não é conveniente:
...
Haverá uma correção?
Concordo que é inconveniente. Haverá uma correção. Ainda não posso lhe dizer o momento.
Certo. Bem... não estou com pressa ;)