Die Logik sagt mir, dass sich diese beiden Optionen gegenseitig ausschließen. Wenn das nicht der Fall ist, werde ich das gerne tun. Ich arbeite daran, das Projekt zu beenden. Ich kann nicht sagen, wie lange es dauern wird, aber es wird fertig sein.
Auch mein Projekt ist noch lange nicht fertig. Es kommen interessante Vorschläge von interessierten Nutzern, die ich gerne umsetzen möchte. Die Liste wird immer länger.
Retag Konow:
Vielleicht arbeiten Sie und ich in Zukunft sogar zusammen :)
Artyom Trishkin: Tol, Frage: Wie kann man nicht eine Datei, sondern einen Ordner auswählen, in dem die Programmdateien im Navigator gespeichert werden?
Beispiel:
//---
//+------------------------------------------------------------------+ //| Ereignisbehandler| //+------------------------------------------------------------------+ void CProgram::OnEvent(constint id,constlong &lparam,constdouble &dparam,conststring &sparam) { //--- Behandlung des Ereignisses "Pfad in der Baumliste ändern". 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()); //--- Wenn eine Datei ausgewählt ist, wird sie gelesen (die ersten drei Zeilen) if(m_navigator.SelectedFile()!="") { //--- Den Pfad zur Datei bilden string path=m_navigator.CurrentPath()+m_navigator.SelectedFile(); //--- Abrufen des Handles der angegebenen Datei int filehandle=::FileOpen(path,FILE_READ|FILE_TXT|FILE_ANSI|m_navigator.DirectoryArea(),'\n'); //--- Wenn der Handle empfangen wird, lesen Sie die ersten drei Zeilen if(filehandle!=INVALID_HANDLE) { ::Print(__FUNCTION__," > Datei öffnen: ",path); ::Print(__FUNCTION__," > Zeile 01: ",::FileReadString(filehandle)); ::Print(__FUNCTION__," > Zeile 02: ",::FileReadString(filehandle)); ::Print(__FUNCTION__," > Zeile 03: ",::FileReadString(filehandle)); } //--- Schließen Sie die Datei ::FileClose(filehandle); } ::Print("---"); return; } }
Tol, noch eine Frage: Wie kann ich Änderungen in den Katalogen sehen, die vom Navigator angezeigt werden, nachdem ich eine neue Datei im Programm erstellt habe? Bisher führt nur das Umschalten des Zeitrahmens zu einer Datenaktualisierung im Navigator. Die Methode Reset() in CFileNavigator.mqh bringt nicht das gewünschte Ergebnis.
Artyom Trishkin: Tol, noch eine Frage: Wie kann ich Änderungen in den Katalogen sehen, die vom Navigator angezeigt werden, nachdem ich eine neue Datei im Programm erstellt habe? Bisher führt nur das Umschalten des Zeitrahmens zu einer Datenaktualisierung im Navigator. Die Methode Reset() in CFileNavigator.mqh bringt nicht das gewünschte Ergebnis.
Sie ist noch nicht implementiert, aber in Planung.
Artyom Trishkin: Richtig. Nun ja... ich habe es nicht eilig ;)
Dies ist übrigens die Reihenfolge, in der die Liste beim Lesen des Dateisystems angezeigt wird. Das heißt, nicht in der Reihenfolge, in der Sie sie im Dateinavigator des Betriebssystems sehen.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Die Logik sagt mir, dass sich diese beiden Optionen gegenseitig ausschließen. Wenn das nicht der Fall ist, werde ich das gerne tun. Ich arbeite daran, das Projekt zu beenden. Ich kann nicht sagen, wie lange es dauern wird, aber es wird fertig sein.
Auch mein Projekt ist noch lange nicht fertig. Es kommen interessante Vorschläge von interessierten Nutzern, die ich gerne umsetzen möchte. Die Liste wird immer länger.
Retag Konow:
Vielleicht arbeiten Sie und ich in Zukunft sogar zusammen :)
Alles ist möglich. )
Tol, Frage: Wie kann man nicht eine Datei, sondern einen Ordner auswählen, in dem die Programmdateien im Navigator gespeichert werden?
Beispiel:
//---
//| Ereignisbehandler|
//+------------------------------------------------------------------+
void CProgram::OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
{
//--- Behandlung des Ereignisses "Pfad in der Baumliste ändern".
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());
//--- Wenn eine Datei ausgewählt ist, wird sie gelesen (die ersten drei Zeilen)
if(m_navigator.SelectedFile()!="")
{
//--- Den Pfad zur Datei bilden
string path=m_navigator.CurrentPath()+m_navigator.SelectedFile();
//--- Abrufen des Handles der angegebenen Datei
int filehandle=::FileOpen(path,FILE_READ|FILE_TXT|FILE_ANSI|m_navigator.DirectoryArea(),'\n');
//--- Wenn der Handle empfangen wird, lesen Sie die ersten drei Zeilen
if(filehandle!=INVALID_HANDLE)
{
::Print(__FUNCTION__," > Datei öffnen: ",path);
::Print(__FUNCTION__," > Zeile 01: ",::FileReadString(filehandle));
::Print(__FUNCTION__," > Zeile 02: ",::FileReadString(filehandle));
::Print(__FUNCTION__," > Zeile 03: ",::FileReadString(filehandle));
}
//--- Schließen Sie die Datei
::FileClose(filehandle);
}
::Print("---");
return;
}
}
//---
CProgram::OnEvent > id: 1024; path: ChartScreenshot\
CProgram::OnEvent > id: 1024; full path: D:\#TradingTerminals\MetaTrader 5 pretest\MQL5\Files\ChartScreenshot\
Beispiel:
//---
...
//---
CProgram::OnEvent > id: 1024; path: ChartScreenshot\
CProgram::OnEvent > id: 1024; full path: D:\#TradingTerminals\MetaTrader 5 pretest\MQL5\Files\ChartScreenshot\
Tol, noch eine Frage: Wie kann ich Änderungen in den Katalogen sehen, die vom Navigator angezeigt werden, nachdem ich eine neue Datei im Programm erstellt habe? Bisher führt nur das Umschalten des Zeitrahmens zu einer Datenaktualisierung im Navigator. Die Methode Reset() in CFileNavigator.mqh bringt nicht das gewünschte Ergebnis.
Noch nicht umgesetzt, aber in Planung.
Aha, ich verstehe. Warten wir mal ab...
Eine weitere Frage: Die Unterordner im Navigator sind nach der allgemeinen alphabetischen Liste geordnet. Das ist unpraktisch:
Wird es eine Lösung geben?
Eine weitere Frage: Die Unterordner im Navigator sind nach der allgemeinen alphabetischen Liste geordnet. Das ist unpraktisch:
...
Wird es eine Lösung geben?
Ich stimme zu, dass es lästig ist. Es wird eine Lösung geben. Ich kann Ihnen den Zeitpunkt noch nicht sagen.
Richtig. Nun ja... ich habe es nicht eilig ;)