WinProject : Teşekkürler!) Cevabınızdan, her nesne türü için ayrı bir işlev oluşturulması gerektiği sonucuna vardım. Dosyayı okumak için ana işlevin while döngüsünde yuvalanmış nesneleri oluşturmak için işlevleri ayrı ayrı çalıştırmanın bir şekilde yapılabileceğini düşündüm. Belki Anahtarı?
Sanırım konunun özüne yeterince inemedim.
Tüm grafik nesnelerin ilk yapısı herhangi bir zorluğa ve soruya neden olmaz. Ama ikincisini anlamıyorum. Görünüşe göre soru, birçok nesne türü için bir düğmenin çalışmasını bir şekilde düzenlemek değil, bir tür nesne için bir düğmeyi düzenlemekti. Bu durumda, her nesne türü için bir dizi olmak üzere nesne parametreleri ve birkaç yapı dizisi içeren bir yapı yapardım. Ve buna göre, bu yapı dizilerini karşılık gelen türlerin düğmelerine bağlardım.
Ardından, düğmeye basılarak ilgili nesne türü silinir. Ve düğme bırakıldığında, nesneler, yapılar dizisinde bulunan parametrelere göre geri yüklenir.
Bu nedenle dosya indirilirken yalnızca bir kez okunması gerekecektir.
Tüm grafik nesnelerin ilk yapısı herhangi bir zorluğa ve soruya neden olmaz. Ama ikincisini anlamıyorum. Görünüşe göre soru, birçok nesne türü için bir düğmenin çalışmasını bir şekilde düzenlemek değil, bir tür nesne için bir düğmeyi düzenlemekti. Bu durumda, her nesne türü için bir dizi olmak üzere nesne parametreleri ve birkaç yapı dizisi içeren bir yapı yapardım. Ve buna göre, bu yapı dizilerini karşılık gelen türlerin düğmelerine bağlardım.
Ardından, düğmeye basılarak ilgili nesne türü silinir. Ve düğme bırakıldığında, nesneler, yapılar dizisinde bulunan parametrelere göre geri yüklenir.
Bu nedenle dosya indirilirken yalnızca bir kez okunması gerekecektir.
Cevabınız için çok teşekkür ederim, STARIJ'in önerdiği gibi bayraklar aracılığıyla her iki seçeneği de yapmaya çalışacağım ve seçeneğiniz de denemek ilginç. Aynı zamanda daha az soru sormaya çalışacağım, cevaplanmış olmaları bir lütuf!)
Bayraklar değişkendir. Veya bool: false=omitted, true=yükseltilmiş veya int - o zaman aynı anda bir sayıda birçok işaret vardır: 0 - tüm işaretler atlanır, 1=birinci yükseltilir, 2=saniye yükseltilir, 3=birinci ve ikinci yükseltilir , 4=üçüncü yükseltilir, 5= 3. ve 1. yukarı, 6=3. ve 2. yukarı, 7=1., 2., 3. yukarı, 8=4. yukarı.... Peki, ikili. Ve nasıl öğrenilir?
Teşekkür ederim internette güzel bir açıklama buldum deneyeceğim. Bu sitedeki belgelerde veya ders kitabında böyle bir şeyin olmaması garip, muhtemelen buraya gelen herkesin zaten programlama becerisine sahip olduğu anlamına geliyor.
WinProject : Cevabınız için çok teşekkür ederim, STARIJ'in önerdiği gibi bayraklar aracılığıyla her iki seçeneği de yapmaya çalışacağım ve seçeneğiniz de denemek ilginç. Aynı zamanda daha az soru sormaya çalışacağım, cevaplanmış olmaları bir lütuf!)
Bayraklarla fena olmayabilir, ancak sorudaki asıl şey eksik
İyi akşamlar! Ve yine yardım için buradayım. Uzman Danışmanım, dosyayı okuyan ve farklı koşullara göre hemen farklı grafik nesneleri oluşturan OnInit'teki ana İşleve sahiptir. Grafikte ayrıca düğmeler vardır, tıklandığında, örneğin metin etiketleri gibi bu nesneleri silme işlevi çalışır. Düğmeye bastıktan sonra metin etiketlerinin silinmesini, düğme bırakıldığında, tüm nesneleri tamamen oluşturacak olan İşlevin tamamını değil, yalnızca metin etiketlerini oluşturacak şekilde nasıl yapabilirim. Aklıma gelen tek şey, bir dosyayı açma ve okuma ile ilgili tüm eylemlerleher nesne türü için ayrı ayrı ana işlevin bir analogunu oluşturmaktır , ancak bir tür akıllı çözüm kullanmak istiyorum, ancak yapmıyorum. hangisini ve nasıl, ana fonksiyonda mı yoksa fonksiyon butonlarında mı?
Bu durumda, aynı kodu birkaç kez üretmemek için dosyanın okumasını ayrı bir kullanıcı tanımlı fonksiyona taşımak ve birkaç kez çağırmak daha kolaydır. Ancak ne kadar uğraşırsanız uğraşın, flagları kullanırken dosyayı okumak kalacaktır. Ve uzak nesneler oluştururken neyin kontrol edileceği konusunda hiçbir fark yoktur - bunların yokluğu veya nesne türüne göre bayrağın durumu. Sonuçta, nesnelerin türü, belirli bir türe bağlı düğme ile belirlenir, bu bayraktır.
Sondan bir önceki örnek, bir dize olarak RGB temsilinde renk. " içeriği kopyalayarak iki yapıyı yayınlamak " çalışmıyor.
#property script_show_inputsinputcolor testColor= clrBlue ; // задайте цвет для тестирования//--- структура для представления цвета в RGBstruct RGB
{
uchar blue; // синяя составляющая цветаuchar green; // зеленая составляющая цветаuchar red; // красная составляющая цветаuchar empty; // этот байт не используетсяstring toString(); // функция для получения в виде строки
};
//--- функция для вывода цвета в виде строкиstring RGB::toString( void )
{
string out= "(" +( string )red+ ":" +( string )green+ ":" +( string )blue+ ")" ;
return out;
}
//--- структура для хранения встроенного типа color struct builtColor
{
color c;
};
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart ()
{
//--- переменная для хранения в RGB
RGB colorRGB;
//--- переменная для хранения типа color
builtColor test;
test.c=testColor;
//--- приведение двух структур путем копирования содержимого
colorRGB=test;
Print ( "color " ,test.c, " = " ,colorRGB.toString());
//---
}
Derleyici bu hatayı veriyor... ( '=' - geçersiz işlem kullanımıtest.mq43412)
Bir şeyi doğru kopyalamadım veya örnekte bir hata olabilir mi ??? Lütfen bana söyle.
Часто возникает необходимость преобразовать один числовой тип в другой. Не каждый числовой тип допустимо преобразовать в другой, допустимые преобразования в MQL4 показаны на схеме: Сплошные линии со стрелками обозначают преобразования, которые выполняются без потери информации. Вместо типа char может выступать тип bool (оба занимают в памяти 1...
Teşekkürler!) Cevabınızdan, her nesne türü için ayrı bir işlev oluşturulması gerektiği sonucuna vardım. Dosyayı okumak için ana işlevin while döngüsünde yuvalanmış nesneleri oluşturmak için işlevleri ayrı ayrı çalıştırmanın bir şekilde yapılabileceğini düşündüm. Belki Anahtarı?
Sanırım konunun özüne yeterince inemedim.
Tüm grafik nesnelerin ilk yapısı herhangi bir zorluğa ve soruya neden olmaz. Ama ikincisini anlamıyorum. Görünüşe göre soru, birçok nesne türü için bir düğmenin çalışmasını bir şekilde düzenlemek değil, bir tür nesne için bir düğmeyi düzenlemekti. Bu durumda, her nesne türü için bir dizi olmak üzere nesne parametreleri ve birkaç yapı dizisi içeren bir yapı yapardım. Ve buna göre, bu yapı dizilerini karşılık gelen türlerin düğmelerine bağlardım.
Ardından, düğmeye basılarak ilgili nesne türü silinir. Ve düğme bırakıldığında, nesneler, yapılar dizisinde bulunan parametrelere göre geri yüklenir.
Bu nedenle dosya indirilirken yalnızca bir kez okunması gerekecektir.
Sanırım konunun özüne yeterince inemedim.
Tüm grafik nesnelerin ilk yapısı herhangi bir zorluğa ve soruya neden olmaz. Ama ikincisini anlamıyorum. Görünüşe göre soru, birçok nesne türü için bir düğmenin çalışmasını bir şekilde düzenlemek değil, bir tür nesne için bir düğmeyi düzenlemekti. Bu durumda, her nesne türü için bir dizi olmak üzere nesne parametreleri ve birkaç yapı dizisi içeren bir yapı yapardım. Ve buna göre, bu yapı dizilerini karşılık gelen türlerin düğmelerine bağlardım.
Ardından, düğmeye basılarak ilgili nesne türü silinir. Ve düğme bırakıldığında, nesneler, yapılar dizisinde bulunan parametrelere göre geri yüklenir.
Bu nedenle dosya indirilirken yalnızca bir kez okunması gerekecektir.
Bayraklar değişkendir. Veya bool: false=omitted, true=yükseltilmiş veya int - o zaman aynı anda bir sayıda birçok işaret vardır: 0 - tüm işaretler atlanır, 1=birinci yükseltilir, 2=saniye yükseltilir, 3=birinci ve ikinci yükseltilir , 4=üçüncü yükseltilir, 5= 3. ve 1. yukarı, 6=3. ve 2. yukarı, 7=1., 2., 3. yukarı, 8=4. yukarı.... Peki, ikili. Ve nasıl öğrenilir?
Cevabınız için çok teşekkür ederim, STARIJ'in önerdiği gibi bayraklar aracılığıyla her iki seçeneği de yapmaya çalışacağım ve seçeneğiniz de denemek ilginç. Aynı zamanda daha az soru sormaya çalışacağım, cevaplanmış olmaları bir lütuf!)
Bayraklarla fena olmayabilir, ancak sorudaki asıl şey eksik
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MQL4, yardım ve algoritmalar ve kodlar hakkında herhangi bir acemi sorusu
WinProject , 2018.01.26 18:17
İyi akşamlar! Ve yine yardım için buradayım. Uzman Danışmanım, dosyayı okuyan ve farklı koşullara göre hemen farklı grafik nesneleri oluşturan OnInit'teki ana İşleve sahiptir. Grafikte ayrıca düğmeler vardır, tıklandığında, örneğin metin etiketleri gibi bu nesneleri silme işlevi çalışır. Düğmeye bastıktan sonra metin etiketlerinin silinmesini, düğme bırakıldığında, tüm nesneleri tamamen oluşturacak olan İşlevin tamamını değil, yalnızca metin etiketlerini oluşturacak şekilde nasıl yapabilirim. Aklıma gelen tek şey, bir dosyayı açma ve okuma ile ilgili tüm eylemlerle her nesne türü için ayrı ayrı ana işlevin bir analogunu oluşturmaktır , ancak bir tür akıllı çözüm kullanmak istiyorum, ancak yapmıyorum. hangisini ve nasıl, ana fonksiyonda mı yoksa fonksiyon butonlarında mı?
MQL5'te geçerli saatin değerini nasıl alacağımı söyle?
MqlDateTime yapısının bir nesnesini yarattım, saat orada hiçbir şey vermiyor
MQL5'te geçerli saatin değerini nasıl alacağımı söyle?
MqlDateTime yapısının bir nesnesini yarattım, saat orada hiçbir şey vermiyor
Yapının tarih-saat ile doldurulması gerekiyor.
TimeCurrent() kullan ? sadece nasıl olduğunu anlamıyorum
TimeCurrent() kullan ? sadece nasıl olduğunu anlamıyorum
Yapıya Zamanı()
Ah, anladım, işe yaradı, teşekkürler!
https://docs.mql4.com/en/basis/types/casting
Sondan bir önceki örnek, bir dize olarak RGB temsilinde renk. " içeriği kopyalayarak iki yapıyı yayınlamak " çalışmıyor.
Derleyici bu hatayı veriyor... ( '=' - geçersiz işlem kullanımı test.mq4 34 12)
Bir şeyi doğru kopyalamadım veya örnekte bir hata olabilir mi ??? Lütfen bana söyle.