Funkcje sprawdzające:   MQLSetInteger()

Funkcja void MQLSetInteger() ustawia wartość właściwości MQL_CODEPAGE w otoczeniu programu MQL4. Więcej informacji można znaleźć w specyfikacji MQL4.


Przykład 1

#property strict
void OnStart()
  {
//--- strona kodowa, używana przez program MQL4 do konwersji tekstu
   int CodePage = MQLInfoInteger(MQL_CODEPAGE);

//--- ustawić stronę kodową dla programu MQL4
   switch(CodePage)
     {
      case CP_ACP:        MQLSetInteger(MQL_CODEPAGE,CP_ACP); break;
      case CP_OEMCP:      MQLSetInteger(MQL_CODEPAGE,CP_OEMCP); break;
      case CP_MACCP:      MQLSetInteger(MQL_CODEPAGE,CP_MACCP); break;
      case CP_THREAD_ACP: MQLSetInteger(MQL_CODEPAGE,CP_THREAD_ACP); break;
      case CP_SYMBOL:     MQLSetInteger(MQL_CODEPAGE,CP_SYMBOL); break;
      case CP_UTF7:       MQLSetInteger(MQL_CODEPAGE,CP_UTF7); break;
      case CP_UTF8:       MQLSetInteger(MQL_CODEPAGE,CP_UTF8); break;
     }
  }


Domyślnie w programie MQL4 ustawia się ta strona kodowa, która była używana w momencie kompilacji programu. Jeśli ustawienia regionalne systemu operacyjnego w momencie kompilacji i uruchomienia programu się różnią, mogą wystąpić problemy z wyświetlaniem komunikatów i otrzymywaniem wartości tekstowych. Dotyczy to funkcji PrintFormat(), Print(), Comment(), Alert(), MessageBox(), SendFTP(), SendMail(), SendNotification(), iCustom() i innych, gdzie jako parametry stosowane są nazwy plików, objektów graficznych, zmiennych globalnych itd.

Aby jawnie zmienić stronę kodową do pracy z tekstem w uruchomionym programie, należy wywołać MQLSetInteger() z żądaną stroną kodową na miejscu drugiego argumentu.