no body?

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
If I set up using this as shown in the figure, apply the regional language to English.
But,If I changed the locale language as shown below.It is not right.
How is this if i send a program to someone else i can not ask him to change the system settings.
Interestingly if I edit the script with the old platform code editor, it will do so.
In fact if you try to edit it again, just click on a sure you will find he will be so.
Is very interesting ?If i apply the following code to my computer so show.
//| testASCII.mq4 |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property description "ASCII set code test indicator, which draws all ASCII set characters (include extended ASCII set) and it's codes on label objects."
#define OBJ_PREFIX "ASCII Test #"
input string FontName="Wingdings";
input color FontColor=White;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
ushort code=0;
string text=" ";
string name="";
//--- create objects of character image
for(int y=0;y<16;y++)
for(int x=0;x<16;x++)
{
if(code==0)
text=" ";
text =ShortToString(code); //text=CharToStr(code);
// Print(text," ",code);
name=OBJ_PREFIX+(string)code+" Image";
ObjectCreate(0,name,OBJ_LABEL,0,0,0);
ObjectSetInteger(0,name,OBJPROP_COLOR,FontColor);
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,16);
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x*70);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y*25);
ObjectSetString(0,name,OBJPROP_FONT,FontName);
ObjectSetString(0,name,OBJPROP_TEXT,text);
code++;
}
//--- create objects of character code
code=0;
for( y=0;y<16;y++)
for( x=0;x<16;x++)
{
text=(string)code;
name=OBJ_PREFIX+(string)code+" Code";
ObjectCreate(0,name,OBJ_LABEL,0,0,0);
ObjectSetInteger(0,name,OBJPROP_COLOR,FontColor);
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x*70+30);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y*25+5);
ObjectSetString(0,name,OBJPROP_FONT,"Consolas");
ObjectSetString(0,name,OBJPROP_TEXT,text);
code++;
}
ChartRedraw();
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- delete objects
int len=StringLen(OBJ_PREFIX);
for(int i=ObjectsTotal(0,0,OBJ_LABEL)-1;i>=0;i--)
{
string name=ObjectName(0,i,0,OBJ_LABEL);
if(StringSubstr(name,0,len)==OBJ_PREFIX)
ObjectDelete(0,name);
}
ChartRedraw();
return;
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime& time[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{
return(rates_total);
}
//+------------------------------------------------------------------+
As shown in the figure 0-127 is correct.The other is not right. I think this is caused by the character set encoding.
600 version of the previous is ascii coding, 600 + is followed by unicode.Not just the Wingdings font, other fonts have a similar situation.
Of course, all the cases are in the case of regional languages set to oriental language, but I think the regional language set for
the Western language will also encounter problems that do not recognize oriental language characters .By Google automatically translated.Please understand.