StrToTime işlevi 4051 hatasına neden oluyor - sayfa 2

 
qjol :
ancak "yyyy.mm.dd ss:mm" biçimini kullanmanız gerekir, aksi takdirde 4051 hatası alırsınız
Tamam, haklısın, ya MetaEditor'daki yardım yanlış ya da bir hata var, her iki şekilde de Servis Masasına bildirilmesi gerekiyor, rapor edeceğim. . . ve İngilizce'deki rusça yardım.
MQL4 Referans / Dönüştürme Fonksiyonları / StrToTime

StrToZamanı

"yyyy.mm.dd ss:mi" biçimindeki dizeyi tarih saat türüne dönüştürür (1 Ocak 1970'den bu yana geçen saniye miktarı).

tarihsaat StrToTime (
sicim değer // sicim
);

parametreler

değer

[içinde] Строка в формате "yyyy.mm.dd hh:mi ".

döndürülen değer

01.01.1970'den bu yana geçen saniye sayısı olarak datetime türünün değeri.

Misal:

tarihsaat var1,var2,var3;
var1= StrToTime ( "2003.8.12 17:35" );
var2= StrToTime ( "17:35" ); // verilen saatle geçerli tarihi döndürür
var3= StrToTime ( "2003.8.12" ); // gece yarısı saati "00:00" olan tarihi döndürür


 
RaptorUK :
Tamam, haklısın, ya MetaEditor'daki yardım yanlış ya da bir hata var, her iki şekilde de Servis Masasına bildirilmesi gerekiyor, rapor edeceğim. . . ve İngilizce'deki rusça yardım.

Bu, aynı sonucu veren bir geçici çözüm olarak çalışacaktır. . .

   datetime xxxxx = StrToTime ( TimeToStr ( TimeCurrent (), TIME_DATE )+ " " + "21:45" );

. . ve hata yok.

 
RaptorUK :

. . ve hata yok.


tabiki doğru format
 

Neden bahsediyorsun?

   Print (( string ) StringToTime ( "21:45" ));
   datetime test = StringToTime ( "21:45" );
   Print (( string )test);
   Print ( TimeToString (test, TIME_MINUTES ));

verir

 00 : 01 : 00 Test GOLD,M15: 2014.02 . 12 21 : 45 : 00
00 : 01 : 00 Test GOLD,M15: 2014.02 . 12 21 : 45 : 00
00 : 01 : 00 Test GOLD,M15: 21 : 45

peki yanlış olan ne?

 
graziani :

Neden bahsediyorsun?

verir

peki yanlış olan ne?

StrToTime() değil StringToTime()
 
graziani :

Neden bahsediyorsun?

verir

peki yanlış olan ne?


GetLastError() ekleyin , öğreneceksiniz
 
RaptorUK :
StrToTime() değil StringToTime()


önemli değil ikiside 4051 hatası veriyor
 

GetLastError(), yalnızca meydana gelmişse ve yalnızca işlev hata işleyiciyi kullanıyorsa hatanın açıklamasını verir.

Burada durum böyle değil, bu yüzden kullanmanın bir anlamı yok.

Str vs. String, kaynak uyumluluğuna sahip olmak için yeni işlevleri MQL5'te olduğu gibi kullanmalısınız.

Ayrıca sonuçlar belgelendiği gibiyse neden hatada ısrar ediyorsunuz?

 
graziani :

GetLastError(), yalnızca meydana gelmişse ve yalnızca işlev hata işleyiciyi kullanıyorsa hatanın açıklamasını verir.

Burada durum böyle değil, bu yüzden kullanmanın bir anlamı yok.

Str vs. String, kaynak uyumluluğuna sahip olmak için yeni işlevleri MQL5'te olduğu gibi kullanmalısınız.

Ayrıca sonuçlar belgelendiği gibiyse neden hatada ısrar ediyorsunuz?

StrToTime() çağrısından önce ResetLastError(), ardından GetLastError() öğesini çağırın. . . StrToTime() bir hataya neden olmamalıdır, ancak . . . bu bir böcek. Benzer bir şey zaten kabul edildi ve düzeltildi: https://www.mql5.com/en/forum/149475/page2
 
graziani :


Str vs. String, kaynak uyumluluğuna sahip olmak için yeni işlevleri MQL5'te olduğu gibi kullanmalısınız.

Neden mql5 ile uyumluluk isteyeyim? MT4 için mql4 kodunu kullanıyorum.