Защита баг-репорта - страница 2

 
Artyom Trishkin #:
Нет ошибки. 

А у меня есть и сразу, на чистой установке терминала, поэтому я написал сюда
 
Lior Alex Milchenko #:
Сразу ошибка, самое простое
Сделайте, пожалуйста, скриншот, где видно ошибки компиляции этого кода
 
Lior Alex Milchenko #:

А у меня есть и сразу, на чистой установке терминала, поэтому я написал сюда
Проверьте наличие не отображаемых символов, мусора, так сказать.
 
Vladislav Boyko #:
Сделайте, пожалуйста, скриншот, где видно ошибки компиляции этого кода

Переустановил чистую систему Windows 11 тоже самое, компилятор MetaEditor не распознает стандартные функции MQL5 ( FileClose , StringLen , FileFindFirst , TimeToString , константу FILE_ATTRIBUTE_ARCHIVE и т.д.), выдавая ошибки 'undeclared identifier'.

Пожалуйста, помогите разобраться.

Вот код

Учитесь форматировать код!

#property strict
#property version   "1.00"

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {#property strict
#property script_show_inputs

//+------------------------------------------------------------------+
//| Тестовый скрипт для проверки стандартных функций MQL5             |
//+------------------------------------------------------------------+
void OnStart()
{
  Print("--- Запуск теста стандартных функций ---");

  //--- Тест 1: Строки и Время ---
  string test_string = "Тестовая строка";
  int len = StringLen(test_string); // <--- Функция StringLen
  if(len > 0)
    {
     Print("StringLen: OK");
    }
  else
    {
     Print("Ошибка StringLen!");
    }

  datetime current_time = TimeCurrent(); // Стандартный тип
  string time_str = TimeToString(current_time, TIME_DATE | TIME_SECONDS); // <--- Функция TimeToString
  if(StringLen(time_str) > 5)
    {
     Print("TimeToString: OK (", time_str, ")");
    }
  else
    {
     Print("Ошибка TimeToString!");
    }

  //--- Тест 2: Файловые операции ---
  string test_file = "test_native_functions.log";
  string folder = "Logs"; // Папка должна существовать
  string full_path = folder + "\\" + test_file;
  int file_handle;

  // Попытка открыть файл
  file_handle = FileOpen(full_path, FILE_WRITE | FILE_ANSI); // <--- Функция FileOpen

  if(file_handle != INVALID_HANDLE) // Стандартная константа
    {
     Print("FileOpen: OK");
     FileWriteString(file_handle, "Test write\n"); // Стандартная функция
     FileClose(file_handle); // <--- Функция FileClose

     // Попытка найти файл
     string found_name;
     long find_handle = FileFindFirst(folder + "\\*.log", found_name, FILE_ATTRIBUTE_ARCHIVE); // <--- FileFindFirst и константа

     if(find_handle != INVALID_HANDLE)
       {
        Print("FileFindFirst: OK (Найден: ", found_name, ")");
        FileFindClose(find_handle); // <--- Функция FileFindClose
        // Попытка удалить файл
        if(FileDelete(full_path)) // <--- Функция FileDelete
          {
           Print("FileDelete: OK");
          }
        else
          {
           Print("Ошибка FileDelete!");
          }
       }
     else
       {
        Print("Ошибка FileFindFirst!");
       }
    }
  else
    {
     Print("Ошибка FileOpen! Не удалось открыть/создать файл ", full_path, ". Код: ", (string)GetLastError());
    }

  Print("--- Тест стандартных функций завершен ---");
}
//+------------------------------------------------------------------+
   string test_string = "Hello";
   Print("Test OnInit: String length = ", StringLen(test_string)); // Используем базовые Print и StringLen
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  //---
  }
//+------------------------------------------------------------------+



 
Lior Alex Milchenko #:

Переустановил чистую систему Windows 11 тоже самое, компилятор MetaEditor не распознает стандартные функции MQL5 ( FileClose , StringLen , FileFindFirst , TimeToString , константу FILE_ATTRIBUTE_ARCHIVE и т.д.), выдавая ошибки 'undeclared identifier'.

Пожалуйста, помогите разобраться.

Вот код


у вас в OnInit() закрывающая скобочка потерялась, MetaTrader не при чём..я бы на месте компилятора тоже ругался

всегда смотрите только первую ошибку, все остальные ошибки - как правило наведённые и их можно было вообще не печатать

 
Maxim Kuznetsov #:

у вас в OnInit() закрывающая скобочка потерялась, MetaTrader не при чём..я бы на месте компилятора тоже ругался

всегда смотрите только первую ошибку, все остальные ошибки - как правило наведённые и их можно было вообще не печатать

согласен моя ошибка, но кроме этого проблема именно на этом билде, компилятор не распознает стандартные встроенные функции и константы MQL5, такие как FileClose , StringLen , FILE_ATTRIBUTE_ARCHIVE п ри компиляции простейшего тестового скрипта сразу ошибка undeclared identifier я хочу исправить свой робот, а оно не работает как нужно, не просто так пишу вам
 
Lior Alex Milchenko #:
согласен моя ошибка, но кроме этого проблема именно на этом билде, компилятор не распознает стандартные встроенные функции и константы MQL5, такие как FileClose , StringLen , FILE_ATTRIBUTE_ARCHIVE п ри компиляции простейшего тестового скрипта сразу ошибка undeclared identifier я хочу исправить свой робот, а оно не работает как нужно, не просто так пишу вам

1. исправляёте ошибку

2. не смотрите на все остальные, они наведёнки 

не используйте ChatGPT и прочее подобное