ArrayPrint

Basit tipli bir diziyi veya bir yapıyı günlüğe yazar.

void  ArrayPrint(
   const void&   array[],             // yazılacak dizi
   uint          digits=_Digits,      // ondalık basamakların sayısı
   const string  separator=NULL,      // yapı alanı değerlerinin ayracı
   ulong         start=0,             // yazılacak ilk elemanın indisi
   ulong         count=WHOLE_ARRAY,   // yazılacak elemanların sayısı
   ulong         flags=ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN    
   );

Parametreler

array[]

[in]  Basit tipli bir dizi veya bir basit yapı.

digits=_Digits

[in]  Reel tipler için ondalık basamak sayısı. Varsayılan değer olarak _Digits kullanılır.

separator=NULL

[in]  Yapı elemanları alanının değerleri için kullanılan ayraç. Varsayılan değer NULL boş satır anlamına gelir. Bu durumda ayraç olarak boşluk karakteri kullanılır.

start=0

[in]  Yazılacak ilk dizi elemanının indisi.  Yazma işlemine sıfırıncı indisten başlanır.

count=WHOLE_ARRAY

[in]  Yazılacak dizi elemanlarının sayısı. Varsayılan olarak tüm dizi yazılır (count=WHOLE_ARRAY).

flags=ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN

[in]  Çıktı modunu ayarlayan bayrak kombinasyonu. Varsayılan olarak tüm bayraklar etkindir:

    • ARRAYPRINT_HEADER – yapı dizisinin başlıklarını yaz
    • ARRAYPRINT_INDEX – indisi sol tarafa yaz
    • ARRAYPRINT_LIMIT – sadece ilk ve son 100 dizi elemanını yaz. Bunu sadece çok geniş bir diziyi yazdırırken kullanın.
    • ARRAYPRINT_ALIGN – yazılan değerler için hizalamayı etkinleştir – sayılar sağa, metinler sola yaslanır.
    • ARRAYPRINT_DATE – tarih/zaman yazılırken tarihi dd.mm.yyyy (gün.ay.yıl) formatında yaz
    • ARRAYPRINT_MINUTES – tarih/zaman yazılırken, zamanı HH:MM (saat:dakika) formatında yaz
    • ARRAYPRINT_SECONDS – tarih/zaman yazılırken, zamanı HH:MM:SS (saat:dakika:saniye) formatında yaz

Dönüş Değeri

Yok

Not

ArrayPrint() tüm yapı dizisi alanlarını günlüğe yazmaz – dizi ve nesne işaretçisi alanları atlanır. Daha uygun bir sunum için bu sütunlar yazılmaz. Tüm yapı alanlarını yazdırmanız gerekiyorsa, istediğiniz şekillendirme yöntemiyle kendi yazdırma fonksiyonunuzu oluşturmalısınız.

Örnek:

//--- son 10 çubuğun değerlerini yazdır
   MqlRates rates[];
   if(CopyRates(_Symbol,_Period,1,10,rates))
     {
      ArrayPrint(rates);
      Print("Denetle\n[zaman]\t[açılış]\t[yüksek]\t[düşük]\t[kapanış]\t[tik_hacmi]\t[makas]\t[real_volume]");
      for(int i=0;i<10;i++)
        {
         PrintFormat("[%d]\t%s\t%G\t%G\t%G\t%G\t%G\t%G\t%I64d\t",i,
         TimeToString(rates[i].time,TIME_DATE|TIME_MINUTES|TIME_SECONDS),
         rates[i].open,rates[i].high,rates[i].low,rates[i].close,
         rates[i].tick_volume,rates[i].spread,rates[i].real_volume);
        }
     }
   else
      PrintFormat("CopyRates başarısız oldu, hata kodu=%d",GetLastError());
//--- çıktı örneği
/*
                    [time]  [open]  [high]   [low] [close] [tick_volume] [spread] [real_volume]
   [0] 2016.11.09 04:00:00 1.11242 1.12314 1.11187 1.12295         18110       10   17300175000
   [1] 2016.11.09 05:00:00 1.12296 1.12825 1.11930 1.12747         17829        9   15632176000
   [2] 2016.11.09 06:00:00 1.12747 1.12991 1.12586 1.12744         13458       10    9593492000
   [3] 2016.11.09 07:00:00 1.12743 1.12763 1.11988 1.12194         15362        9   12352245000
   [4] 2016.11.09 08:00:00 1.12194 1.12262 1.11058 1.11172         16833        9   12961333000
   [5] 2016.11.09 09:00:00 1.11173 1.11348 1.10803 1.11052         15933        8   10720384000
   [6] 2016.11.09 10:00:00 1.11052 1.11065 1.10289 1.10528         11888        9    8084811000
   [7] 2016.11.09 11:00:00 1.10512 1.11041 1.10472 1.10915          7284       10    5087113000
   [8] 2016.11.09 12:00:00 1.10915 1.11079 1.10892 1.10904          8710        9    6769629000
   [9] 2016.11.09 13:00:00 1.10904 1.10913 1.10223 1.10263          8956        7    7192138000
  Denetle
  [zaman] [açılış] [yüksek] [düşük] [kapanış] [tik_hacmi] [makas] [reel_hacim]
   [0] 2016.11.09 04:00:00 1.11242 1.12314 1.11187 1.12295 18110 10 17300175000 
   [1] 2016.11.09 05:00:00 1.12296 1.12825 1.1193 1.12747 17829 9 15632176000 
   [2] 2016.11.09 06:00:00 1.12747 1.12991 1.12586 1.12744 13458 10 9593492000 
   [3] 2016.11.09 07:00:00 1.12743 1.12763 1.11988 1.12194 15362 9 12352245000 
   [4] 2016.11.09 08:00:00 1.12194 1.12262 1.11058 1.11172 16833 9 12961333000 
   [5] 2016.11.09 09:00:00 1.11173 1.11348 1.10803 1.11052 15933 8 10720384000 
   [6] 2016.11.09 10:00:00 1.11052 1.11065 1.10289 1.10528 11888 9 8084811000 
   [7] 2016.11.09 11:00:00 1.10512 1.11041 1.10472 1.10915 7284 10 5087113000 
   [8] 2016.11.09 12:00:00 1.10915 1.11079 1.10892 1.10904 8710 9 6769629000 
   [9] 2016.11.09 13:00:00 1.10904 1.10913 1.10223 1.10263 8956 7 7192138000 
*/

Ayrıca bakınız

FileSave, FileLoad