Обсуждение статьи "Графические интерфейсы VIII: Элемент "Файловый навигатор" (Глава 3)" - страница 4
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Логика подсказывает мне, что эти два варианта взаимоисключающие. Если это не так, то я буду только рад. Работаю над завершением проекта. Сколько еще это займет времени загадывать не берусь, но проект будет завершен.
Мой проект тоже ещё далеко не завершён. От заинтересованных пользователей поступают интересные предложения, которые мне очень хочется реализовать. Список растёт.
Реter Konow:
Возможно, в будущем мы с Вами даже будем сотрудничать...)
Возможно всё. )
Толь, вопрос: как в навигаторе выбрать не файл, а папку, в которую будут сохраняться файлы программы?
Пример:
//---
//| Обработчик событий |
//+------------------------------------------------------------------+
void CProgram::OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
{
//--- Обработка события "Изменение пути в древовидном списке"
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());
//--- Если выделен файл, прочитаем его (первые три строки)
if(m_navigator.SelectedFile()!="")
{
//--- Сформируем путь к файлу
string path=m_navigator.CurrentPath()+m_navigator.SelectedFile();
//--- Получим хэндл указанного файла
int filehandle=::FileOpen(path,FILE_READ|FILE_TXT|FILE_ANSI|m_navigator.DirectoryArea(),'\n');
//--- Если хэндл получен, прочитаем три первые строки
if(filehandle!=INVALID_HANDLE)
{
::Print(__FUNCTION__," > Открыт файл: ",path);
::Print(__FUNCTION__," > Строка 01: ",::FileReadString(filehandle));
::Print(__FUNCTION__," > Строка 02: ",::FileReadString(filehandle));
::Print(__FUNCTION__," > Строка 03: ",::FileReadString(filehandle));
}
//--- Закроем файл
::FileClose(filehandle);
}
::Print("---");
return;
}
}
//---
CProgram::OnEvent > id: 1024; path: ChartScreenshot\
CProgram::OnEvent > id: 1024; full path: D:\#TradingTerminals\MetaTrader 5 pretest\MQL5\Files\ChartScreenshot\
Пример:
//---
...
//---
CProgram::OnEvent > id: 1024; path: ChartScreenshot\
CProgram::OnEvent > id: 1024; full path: D:\#TradingTerminals\MetaTrader 5 pretest\MQL5\Files\ChartScreenshot\
Толь, ещё вопрос: как в навигаторе, после создания нового файла из программы, увидеть изменения в каталогах, отображаемым навигатором? Пока только переключение таймфрейма приводит к обновлению данных в навигаторе. Метод Reset() в CFileNavigator.mqh не даёт желаемого результата.
Пока не реализовано, но в планах есть.
Понятно. Бум ждать...
Ещё вопрос: подпапки в навигаторе располагаются соответственно общего алфавитного списка. Это не удобно:
Будет исправление?
Ещё вопрос: подпапки в навигаторе располагаются соответственно общего алфавитного списка. Это не удобно:
...
Будет исправление?
Согласен, что неудобно. Исправление будет. О сроках пока не могу сказать.
Ясно. Ну... не к спеху ;)