Funkcja void MQLSetInteger() ustawia wartość właściwości MQL_CODEPAGE w otoczeniu programu MQL4. Więcej informacji można znaleźć w specyfikacji MQL4.
#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.