Hatalar, hatalar, sorular - sayfa 3011
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
4. parametre olduğu için
İlk 3 karakteri kopyalamam gerekiyor. Tüm dizeyi kopyalamam gerekirse (sondaki 0 dahil 7 karakter), o zaman -1 belirtirdim. Ve kopyalamak kısmen imkansızsa, bu parametreye neden ihtiyaç duyulur?
Bu seçenek, alt dize olarak kaç karakter kopyalamak istediğinizi belirtmek için değildir.
ve diziye hangi boyutta karakterlerin aktarılacağını belirtmek için.
onlar. bu, iletilen verilerin boyutu için sıkı bir güvenlik denetimidir.
Bu boyuta göre dinamik dizi belleği otomatik olarak ayrılacaktır.
Bir dizeden üç öğe kopyalamanız gerekiyorsa, önce bunları dizeden almanız gerekir,
ve daha sonra ne kadar aktardığınızın boyutunu belirtirken zaten aktarın.
Bu seçenek, alt dize olarak kaç karakter kopyalamak istediğinizi belirtmek için değildir.
ve diziye hangi boyutta karakterlerin aktarılacağını belirtmek için.
onlar. bu, iletilen verilerin boyutu için sıkı bir güvenlik denetimidir.
Bu boyuta göre dinamik dizi belleği otomatik olarak ayrılacaktır.
Bir dizeden üç öğe kopyalamanız gerekiyorsa, önce bunları dizeden almanız gerekir,
ve daha sonra ne kadar aktardığınızın boyutunu belirtirken zaten aktarın.
Bu doğru?
Bu doğru?
Artı bir, sonlanan sıfırın boyutu olarak.
StringLen , sıfır hariç boyutu döndürür.
Artı bir, sonlanan sıfırın boyutu olarak.
StringLen , sıfır hariç boyutu döndürür.
Geliştiricilerden bir örnek verdim ve işe yarıyor
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Kütüphaneler: Hash fonksiyonlarının kütüphanesi ve diğer sayı sistemlerine dönüşümler
İlyas , 2021.03.04 15:12
Dizenin uzunluğunu (geçmişte) belirtmezseniz, StringToArray işlevi sonlandırıcı null değerini yakalar.
Bu nedenle, CryptDecodeA işlevinde kullanmanız gerekir.
yerine
StringToCharArray (InputText,scr);
Geliştiricilerden bir örnek verdim ve işe yarıyor
Bu soruda kitaplıkların kullanılması amaçlanmamıştır))
Bunlar kütüphanelerin nüanslarıdır.
Artı bir, sonlanan sıfırın boyutu olarak.
StringLen , sıfır hariç boyutu döndürür.
Ve neden StringToCharArray, bir dizenin uzunluğunu dize türünden çıkaramıyor (özellikle MQL'de hesaplanması gerekmediğinden), ek bir parametre biçiminde harici yardım gerekli mi? O halde neden diğer MQL işlevlerinde bu kadar katı olduğu iddia edilen bir " sish check" kontrolü yok?
Ve neden StringToCharArray, bir dizenin uzunluğunu dize türünden çıkaramıyor (özellikle MQL'de hesaplanması gerekmediğinden), ek bir parametre biçiminde harici yardım gerekli mi? Ve o halde neden diğer MQL işlevlerinde böyle bir sözde katı kontrol yoktur?
Bu soru muhtemelen artık benim için değil, geliştiriciler için.
Ancak bu parametreye göre dinamik dizi için bellek boyutu tahsis edilir.
Yani, sizin için kolaylık, dizinin hafızasını kendiniz tahsis etmemenizdir.
Artı ve doğruluğunu kontrol edin.
Ek bir boyut parametresi olan bu, sya'da güçlü güvenlik için standart bir uygulamadır.
Boyutun gerekli olmadığı diğer işlevlerde bu parametre mevcut değildir.
Genellikle bu parametre dizilerle çalışırken bellek ayırmak için kullanılır.
Bu durumda ne olur.
Bu soru muhtemelen artık benim için değil, geliştiriciler için.
Ancak bu parametreye göre dinamik dizi için bellek boyutu tahsis edilir.
Yani, sizin için kolaylık, dizinin hafızasını kendiniz tahsis etmemenizdir.
Artı ve doğruluğunu kontrol edin.
Doğruluk kontrolü nedir? - burada, diyelim ki 0 belirledim - açıkçası yanlış değer
Ve her şey normal şekilde kopyalandı, Sonuç: 7 - hata yok
Doğruluk kontrolü nedir? - burada, diyelim ki 0 belirledim - açıkçası yanlış değer
Ve her şey normal şekilde kopyalandı, Sonuç: 7 - hata yok
İşte işlevin açıklamasındaki püf noktası))
otomatik ilerleme
ki bu kullanıcı için daha kafa karıştırıcıdır.
Bu seçenek, alt dize olarak kaç karakter kopyalamak istediğinizi belirtmek için değildir.
ve diziye hangi boyutta karakterlerin aktarılacağını belirtmek için.
referans bu yorumla aynı fikirde değil.
Kopyalanacak dizi öğelerinin sayısı. Sonuç dizesinin uzunluğunu belirtir. Varsayılan -1'dir, bu, dizinin sonuna veya terminal 0 ile karşılaşılıncaya kadar kopyalama anlamına gelir.Terminal 0, hedef diziye de kopyalanır, gerekirse dinamik dizinin boyutu sığdırmak için artırılabilir. dizenin boyutu. Dinamik dizinin boyutu, dizenin uzunluğundan büyükse, dizinin boyutu küçülmez.
ders tanımı atas - diziye dizi, diziye dizi, karışıklık ve karışıklık denir
Kopyalanacak dizi öğelerinin (dizeler) sayısı. Sonuç dizesinin (dizinin) uzunluğunu belirtir. Varsayılan -1'dir; bu, dizinin (dize) sonuna veya 0 terminaliyle karşılaşılıncaya kadar kopyalama anlamına gelir.