Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
bunları sizeof(<Type>)*<Number_Elements> uzunluğunda bir değişken olarak ele alın ve her şey yoluna girecektir :)
Yani bu sınıf sadece bir işaretçiyi aktarmak için mi gerekli? Dizileri tek seferde kullanmanın mümkün olduğunu sanıyordum :(
bunları sizeof(<Type>)*<Number_Elements> uzunluğunda bir değişken olarak ele aldığınızda her şey yoluna girecektir :)
void OnStart()
{
CMemMapFile hmem;
int err=hmem.Open("Local\\\\test",111,modeCreate);
int data[];
ArrayResize(data,50);
err=hmem.Write(data,ArraySize(data)*sizeof(int));
ArrayInitialize(data,0);
hmem.Seek(0,SEEK_SET);
err=hmem.Read(data, ArraySize(data)*sizeof(int));
hmem.Close();
}
Doğru yaptım mı? Değilse, yanlış olan ne?
baramantan:
Doğru yaptım mı?Debag'a sor. O yüzde yüz biliyor.
Ve neden yazıma okları kaydırarak yanıt vermek zorundasınız?
Bir diziyi int veya double olarak nasıl geçireceğinizi örnek olarak gösterebilir misiniz?
Debug'ınız bile yoksa nasıl kontrol edeceksiniz? Okulda bilgisayar olmadan kara tahtada bilgisayar bilimleri okumaya alışkın mısınız?
Eğer detay ve örnek istiyorsanız MSDN okuyun.
Genel olarak insanlar küstah olabiliyor. Zaten her şeyi MQL'e aktarmışlar ve yorumlarla çiğnemişler,
bu yüzden slivatörleri için de fonksiyon yazmaları :) garip oluyor.
;)
Debug'ınız bile yoksa nasıl kontrol edeceksiniz? Okulda bilgisayar olmadan kara tahtada bilgisayar bilimleri okumaya alışkın mısınız?
Eğer detay ve örnek istiyorsanız MSDN okuyun.
Genel olarak insanlar küstah olabiliyor. Zaten her şeyi MQL'e aktarmışlar ve yorumlarla çiğnemişler,
bu yüzden slivatörleri için de fonksiyon yazmaları :) garip oluyor.
;)
Kendi sorularıma kendim cevap vereceğim. Bu yarım kalmış, az pişmiş ürünü almak zorunda kaldım.
Bu sınıf çok basit bir nedenden dolayı int ve double dizileri işleyemez.
Bildirilen işlev int veya double türden dizileri kabul edemez. Sınıf yalnızca uchar türünü işleyebilir " virtual int Write(const uchar &buf[],int sz); // belirtilen bayt sayısını belleğe yaz "
İhtiyaçlarıma göre son haline getirmek için tarifi değiştirdim, elimdekini gönderiyorum, yalnızca int dizileri geçirebilirsiniz. Yazar eserini son haline getirmezse, daha sonra kendiminkini göndereceğim.
Kendi sorularıma kendim cevap vereceğim. Biraz araştırma yapmam gerekti.
böylece amacıma ulaştım :)
Bu sınıf çok basit bir nedenden dolayı int ve double dizileri kabul edemez.
Bildirilen fonksiyon int veya double tipindeki dizileri kabul edemez.
Bu açık bir gerçek. uchar kabul ediyor, <bazı_gerekli_tip> değil.
Aynı şekilde, sizin deyiminizle bu "yarı mamul üründen" dizeleri içeren bir dizi yapıyı kaydetmesini talep edebilirsiniz. Ayağınızı yere vurmak - yazar neden "ihtiyacım olan veri formatını" öngörmedi.
Ama size bir evrensel işlev verildi. bir bayttan daha az bölünecek yer yok. Bu yüzden saklanır.
Herhangi bir veri türü uchar dizisine çevrilebildiğinden (baytları okuyun), böyle bir sınıf için en evrensel olanıdır.
İhtiyaçlarıma göre son haline getirmek için tarifi değiştirdim, ne elde ettiğimi gönderiyorum, sadece int dizileri geçirebilirsiniz.
evet. ilerleme :)
böylece amacıma ulaşmış oldum :)
Bu açık bir gerçek. uchar kabul ediyor, <some_necessary_type> değil.
Aynı şekilde, bu, sizin deyiminizle, "yarı mamul üründen" dizeleri olan bir dizi yapıyı kaydetmesini talep edebilirsiniz. Ayağınızı yere vurmak - yazar neden "ihtiyacım olan veri formatını" öngörmedi.
Ama size bir evrensel işlev verildi. bir bayttan daha az bölünecek yer yok. Bu yüzden saklanır.
O uchar'dı, şimdi int.Herhangi bir veri türü uchar dizisine çevrilebildiğinden (baytları okuyun), böyle bir sınıf için en evrensel olanıdır.
evet. ilerleme :))
Ben bir mega programcı değilim elbette. Ama evrenselliğin nerede olduğunu anlamıyorum? uchar evrensel olamaz çünkü kullanıcıyı sınırlar, yani: uchar sadece pozitif değerler içindir. Minimum değer sıfır, maksimum değer 255'tir.
uchar değerinin ötesindeki herhangi bir veri, uchar'ın maksimum veya minimum değerine eşit olur.
Söylediklerime dayanarak, en baştan "int veya double nasıl geçilir" diye sordum. Ne demek istediğinizi anlamadım şef.