Здравствуйте! Как узнать код объекта программно
...............
kak_yznat_kod=ObjectGetString(0,"s",OBJPROP_TEXT);
Print(kak_yznat_kod);
А что Вас смущает? 168 = код символа "Ё" - он и получается. Попробуйте написать: ObjectSetString(0, "s", OBJPROP_TEXT, "Ё"); - результат будет тот же
Alert(kak_yznat_kod); - дает результат сразу на экран, и стало быть быстрее
А что Вас смущает? 168 = код символа "Ё" - он и получается. Попробуйте написать: ObjectSetString(0, "s", OBJPROP_TEXT, "Ё"); - результат будет тот же
Alert(kak_yznat_kod); - дает результат сразу на экран, и стало быть быстрее
Вы не поняли! я хочу видеть код 168, именно это число. Т.е. как мне перевести "Ё" в 168 ? т.е я не понимаю что такое "Ё". )) Есть таблица кодов - куда я и смотрю. 168 - для меня это значение, а "Ё" - извините.... или где посмотреть тогда таблицу кодов по Вашим обозначениям??
void OnStart()
{
string Строка = CharToString(168);
int Число=0;
for(int Номер=0; Номер<255; Номер++)
{
Число++;
if(CharToString(Число)==Строка) break;
}
Alert(Строка, " ========== ",Число);
}
void OnStart()
{
string Строка = CharToString(168);
int Число=0;
for(int Номер=0; Номер<255; Номер++)
{
Число++;
if(CharToString(Число)==Строка) break;
}
Alert(Строка, " ========== ",Число);
}
Спасибо большое!
void OnStart()
{
string Строка = CharToString(168);
int Число=0;
for(int Номер=0; Номер<255; Номер++)
{
Число++;
if(CharToString(Число)==Строка) break;
}
Alert(Строка, " ========== ",Число);
}
StringGetChar дает какую-то малоприемлемую (юникодную ???) хрень. Подскажите, в чем дело? Приведите пример, если знаете... Как использовать?
void OnStart()
{
string Строка = CharToString(168);
uchar Число=0;
for(int Номер=0; Номер<255; Номер++)
{
Число++;
if(CharToString(Число)==Строка) break;
}
int Номер=StringGetChar(Строка,0);
Alert(Строка, " ========== ",Число, " ========== ",Номер);
}
StringGetChar дает какую-то малоприемлемую (юникодную ???) хрень. Подскажите, в чем дело? Приведите пример, если знаете... Как использовать?
Нужно для начала в ASCII конвертнуть:
uchar strChar[];
StringToCharArray(str, strChar);
Alert("Code = ", strChar[0], ", code 2 = ", strChar[1]);
Получим:
uchar strChar[];
StringToCharArray(str, strChar);
Alert("Code = ", strChar[0], ", code 2 = ", strChar[1]);
Так короче...
void OnStart()
{
string Строка = CharToString(168);
// Есть строка, нужно получить ASCII-код первого символа
// Пробуем без цикла, короче и быстрее
uchar Массив[];
StringToCharArray(Строка, Массив); // Можно преобразовать в число int Число=Массив[0];
Alert(Строка, " ========== ",Массив[0]);
}
Так короче...
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте! Как узнать код объекта программно
Обьект создается вот так
ObjectCreate("s", OBJ_TEXT, 0, TimeCurrent(), Ask);//создаем её.
ObjectSetString(0, "s", OBJPROP_TEXT, CharToStr(168));
а пытаюсь узнать вот так
kak_yznat_kod=ObjectGetString(0,"s",OBJPROP_TEXT);
В каком месте я не прав? Спасибо!
//| 1.mq4 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void deinit() {
ObjectDelete("s");
Comment("");
}
int OnInit()
{
string kak_yznat_kod;
ObjectCreate("s", OBJ_TEXT, 0, TimeCurrent(), Ask);//создаем её.
ObjectSetString(0, "s", OBJPROP_TEXT, CharToStr(168));
ObjectSetString(0, "s", OBJPROP_FONT, "Wingdings");
ObjectSet("s", OBJPROP_COLOR, Red);
ObjectSet("s", OBJPROP_FONTSIZE, 18);
kak_yznat_kod=ObjectGetString(0,"s",OBJPROP_TEXT);
Print(kak_yznat_kod);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| 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 value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+