Полный путь до *.ex5

 

Всем доброго времени. 

 Эксперт находится в определенном каталоге, и необходимо работать  с файлами (например текстовыми), которые расположены в том же каталоге что и эксперт. Подскажите, возможно ли из эксперта, определить путь (полное имя) до него самого. Заранее благодарю.

 

__FILE__
__PATH__
 
sergeev:

__FILE__
__PATH__

В хелпе по OpenFile, представлен "правильный и неправильный" вариант работы с файлами. Смысл его в том, что файлы должны распологаться в ..MQL5\files. Мой вариант похож на "неправильный", но в определенных случаях он является наиболее удобным. Подскажите как работать с файлами, расположенными не в "общей куче", а там "где нужно".

Пример функции:

//+------------------------------------------------------------------+
void PrintToFile()
  {
//--
   static string mq5Path=StringSubstr(__PATH__,0,StringLen(__PATH__)-StringLen(__FILE__));
   static string dataPath=mq5Path;
   static int    fileHandle=-1;
//*************************************************************
   //static string fName=dataPath+"ttt.txt";//должна распологать в каталоге с *.ex5 НО выходит ошибка !!!!!!!!!
   static string fName="ttt.txt";                 //распологает в MQL5\files
//*************************************************************

//--
   if(fileHandle==INVALID_HANDLE)
     {
      ResetLastError();
      fileHandle=FileOpen(fName,FILE_READ|FILE_WRITE);
      if(fileHandle==INVALID_HANDLE)
        {
         Print("LastError()="+(string)(_LastError));
        }
     }
   Print((string)fileHandle+"   "+fName);
  }
//+------------------------------------------------------------------+
 

 
tmp1204:

Подскажите как работать с файлами, расположенными не в "общей куче", а там "где нужно".


WinAPI
Причина обращения: