Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 1118
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
Lütfen olası gelişmeleri bildiriniz.
Bir dizi[100] vardır ve [1000] boyutunda bir ikili dosya da saklanır, son 100 değerden oluşan bir ikili dosya dizisinin nasıl döndürüleceği. Evrensel bir şey var mı? BU yine 12 saat kazma ve hiçbir şey.
Lütfen olası gelişmeleri bildiriniz.
Bir dizi[100] vardır ve [1000] boyutunda bir ikili dosya da saklanır, son 100 değerden oluşan bir ikili dosya dizisinin nasıl döndürüleceği. Evrensel bir şey var mı? BU yine 12 saat kazma ve hiçbir şey.
Yanlış hatırlamıyorsam mql4'te count = WHOLE_ARRAY ise veya değer dizi elemanlarının sayısını aşıyorsa tüm dizinin sonuna kadar yazıldığı yazıyordu. Ve herhangi bir hisse senedinden bahsedilmedi. Yani, herhangi bir 1000'den söz edilemez.
Bunu şu şekilde kontrol edebilirsiniz: Kaç değerin kaydedildiğini ve dosyanın hangi boyutta elde edildiğini hesaplayın.
Yanlış hatırlamıyorsam mql4'te count = WHOLE_ARRAY ise veya değer dizi elemanlarının sayısını aşıyorsa tüm dizinin sonuna kadar yazıldığı yazıyordu. Ve herhangi bir hisse senedinden bahsedilmedi. Yani, herhangi bir 1000'den söz edilemez.
Bunu şu şekilde kontrol edebilirsiniz: Kaç değerin kaydedildiğini ve dosyanın hangi boyutta elde edildiğini hesaplayın.
Diziyi bir ikili dosyaya yazdıktan sonra, bir süre sonra yeni verilerin ortaya çıkmasından bahsetmiyorum, onları yeni bir odomeric dizi aracılığıyla ikiliye yazmaya devam ediyorum (= birincil dizinin sütununun boyutları ), dosyanın sonuna kadar her seferinde yeni bir j sütununa göre
o zaman orijinal dizinin indeksine eşit sayıda ikili veriden çıkarılmasına ihtiyaç vardır, ilk yinelemede ikiliye aktarılmıştır. Ancak, ikincil satırların eklenmesi nedeniyle ikili birincil diziden daha büyük olduğundan, son veri bu sınırlı diziye girecek şekilde kaldırıyoruz. İkincil dizeler okunabilir diziye girmeli ve ikili dosyadaki ilk dizeler bölge dışı dizide olmalıdır.
Diziyi bir ikili dosyaya yazdıktan sonra, bir süre sonra yeni verilerin ortaya çıkmasından bahsetmiyorum, onları yeni bir odomeric dizi aracılığıyla ikiliye yazmaya devam ediyorum (= birincil dizinin sütununun boyutları ), dosyanın sonuna kadar her seferinde yeni bir j sütununa göre
o zaman orijinal dizinin indeksine eşit sayıda ikili veriden çıkarılmasına ihtiyaç vardır, ilk yinelemede ikiliye aktarılmıştır. Ancak, ikincil satırların eklenmesi nedeniyle ikili birincil diziden daha büyük olduğundan, son veri bu sınırlı diziye girecek şekilde kaldırıyoruz.
O halde okumadan önce dizinin boyutunu atamak gerekli değildir. İlk veri gerekli değilse, boyutu bayt cinsinden hesaplamak ve okuma için başlangıç konumunu gerekli miktarda kaydırmak gerekir.
Baytların nasıl hesaplanacağı soru bu
s1= FileReadInteger (h, INT_VALUE ); //ножно ли перед восстановлением считываем размер массива?
может как то через это sizeof
Baytların nasıl hesaplanacağı soru bu
s1= FileReadInteger (h, INT_VALUE ); //ножно ли перед восстановлением считываем размер массива?
может как то через это sizeof
Veriler double türündeyse , dosya boyutunu double türünün sayısı tarafından işgal edilen bayt sayısına, yani 8'e bölün.
Veriler double türündeyse , dosya boyutunu double türünün sayısı tarafından işgal edilen bayt sayısına, yani 8'e bölün.
FileFindFirst aracılığıyla mı?
veya her yeni satırı bayt cinsinden toplayın
file_size=+ FileSize (handle); // чтобы выяснить индекс от которого открывать
FileReadArray (file_handle,arr,file_size, WHOLE_ARRAY );
FileFindFirst aracılığıyla mı?
FileFindFirst aracılığıyla mı?
veya her yeni satırı bayt cinsinden toplayın
file_size=+ FileSize (handle); // чтобы выяснить индекс от которого открывать
FileReadArray (file_handle,arr,file_size, WHOLE_ARRAY );
Gönderinizi yanıtladıktan sonra düzenlememelisiniz...
Bu taraftan değil. Diziyi okumadan önce, boyutunu belirlersiniz file_size = FileSize (handle); ve dolu hafızaya veri tipine göre bölün, yani ikiye katlayın. Dosyadaki sayıların sayısını alırsınız. Dizi iki boyutluysa, dosyada tam olarak 2 kat daha az giriş vardır. Ve istediğiniz satırdan okumak için kaç bayt taşımanız gerektiğini alırsınız.
Gönderinizi yanıtladıktan sonra düzenlememelisiniz...
Bu taraftan değil. Diziyi okumadan önce, boyutunu belirlersiniz file_size = FileSize (handle); ve dolu hafızaya veri tipine göre bölün, yani ikiye katlayın. Dosyadaki sayıların sayısını alırsınız. Dizi iki boyutluysa, dosyada tam olarak 2 kat daha az giriş vardır. Ve istediğiniz satırdan okumak için kaç bayt taşımanız gerektiğini alırsınız.