Hatalar, hatalar, sorular - sayfa 3040

 
Andrei Trukhanovich :

Uzun zamandır böyle. mql dizeleri, işlevlerde de bir dize içindeki ve değişmez değerlerdeki boş karakterleri gerçekten sevmez.

Tek mantıklı yol, boş sonlandırılmış üç diziyi bir diziye dökmektir.

Onlar. bu davranış şimdi olduğu gibi birkaç yıl önce kasıtlı olarak yapıldı. Nedenlerini bilmiyorum.

Ve StringToCharArray dışında hangi işlev dahili sıfırlarla düzgün çalışmıyor?

Örneğin StringToShortArray - hatasız çalışır

StringCompare eskiden hatalı çalışıyordu ama bu uzun zaman önce düzeltildi.

StringLen söz konusu olduğunda, o zaman

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

A100 , 2019.05.15 13:45

Hataları kısmen düzelttik ... neden olmasın!? Hafızamda StringLen her zaman doğru çalıştı (en azından x32'de)

 
A100 :

Tam olarak hatırlamıyorum, güzel bir anda içinde sıfır olan bir dize sıfıra kesildi, belki stringconcatenate , belki basit string işlemleriyle.

 

Mükemmel forum, öğleden sonra yanıt gönderildiğinde alındı. Cevap kayboldu.

Pazartesi öğlen..


 

Birkaç terminal çöktü. Aynı zamanda, her terminal kendi uyarı pencerelerinde uyarılar verir - simge durumuna küçültülmez.

Hangi uyarı penceresinin hangi terminale karşılık geldiği nasıl anlaşılır?

 
fxsaber :

Birkaç terminal çöktü. Aynı zamanda, her terminal kendi uyarı pencerelerinde uyarılar verir - simge durumuna küçültülmez.

Hangi uyarı penceresinin hangi terminale karşılık geldiği nasıl anlaşılır?

Benzersiz terminal kimliği hakkında hiçbir şey bilmiyorum, ancak uyarıya AccountInfoString (ACCOUNT_COMPANY) ekleyebilirsiniz. Aynı aracı kurumda aynı anda oturum açan birden fazla MT5 örneğine sahip olacağını düşünmüyorum, ancak varsayımsal olarak aynı komisyoncu ile farklı hesaplarda olmanız gerekiyorsa yine de mantıklı olabilir. Bu durumda (en kötü ihtimalle) AccountInfoInteger(ACCOUNT_LOGIN) veya AccountInfoString(ACCOUNT_SERVER) uygun olabilir.

 
x572intraday :

Benzersiz terminal kimliği hakkında hiçbir şey bilmiyorum, ancak uyarıya AccountInfoString (ACCOUNT_COMPANY) ekleyebilirsiniz. Aynı aracı kurumda aynı anda oturum açan birden fazla MT5 örneğine sahip olacağını düşünmüyorum, ancak varsayımsal olarak aynı komisyoncu ile farklı hesaplarda olmanız gerekiyorsa yine de mantıklı olabilir. Bu durumda (en kötü ihtimalle) AccountInfoInteger(ACCOUNT_LOGIN) veya AccountInfoString(ACCOUNT_SERVER) uygun olabilir.

Evet, herhangi bir tanımlama verisini Uyarılarınıza doldurabilirsiniz. Ancak soru genel durumla ilgilidir.

 
A100 :

Ve StringToCharArray dışında hangi işlev dahili sıfırlarla düzgün çalışmıyor?

Örneğin StringToShortArray - hatasız çalışır

StringCompare eskiden hatalı çalışıyordu ama bu uzun zaman önce düzeltildi.

StringLen söz konusu olduğunda, o zaman


Haklısınız, StringToCharArray'in davranışını şimdi ilk karakter '\0' yerine dizenin tüm uzunluğuna değiştirdiniz

 
Ilyas :

Haklısınız, StringToCharArray'in davranışını şimdi ilk karakter '\0' yerine dizenin tüm uzunluğuna değiştirdiniz

O zaman StringToCharArray ve StringToShortArray arasındaki tek fark kalır:

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

A100 , 2021.05.25 00:16

 void OnStart ()
{
     string text = "ABC" ;
     const int start = 0 , count = 0 ;
     uchar array1[]; int n1 = StringToCharArray (  text, array1, start, count );
     short array2[]; int n2 = StringToShortArray ( text, array2, start, count );
     Print ( n1, ":" , n2 );
}

Sonuç: 4:0

Beklenen: 0:0

 
A100 :
O zaman StringToCharArray ve StringToShortArray arasındaki tek fark kalır:

Davranışı aynı yaptı.


İsteğe bağlı: yakın gelecekte diziler ve dizeler yöntemlerle desteklenecektir, örneğin:

str.ToCharArray(char_arr, from_position, symbol_count);
str.Length();

arr.Size();
string str = char_arr.ToString( code_page );

if(!obj_arr.Push( constructor_parameters ))
   CriticalError("failed to add element");

obj_arr.Sort( compare_func_ptr, context );

obj_arr.Select( uint_result_index_array, filter_func_ptr, context );
 
Ilyas :

yakın gelecekte diziler ve diziler yöntemlerle desteklenecektir.

MQL4 ile daha az ortak nokta...