ArrayPrint

Ecrit un tableau de types simples ou une structure simple dans le journal.

void  ArrayPrint(
   const void&   array[],             // tableau à écrire
   uint          digits=_Digits,      // nombre de décimales
   const string  separator=NULL,      // séparateur des valeurs des champs de la structure
   ulong         start=0,             // indice du premier élément écrit
   ulong         count=WHOLE_ARRAY,   // nombre d'éléments à écrire
   ulong         flags=ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN    
   );

Paramètres

array[]

[in]  Tableau de type simple ou une structure simple.

digits=_Digits

[in]  Le nombre de décimales pour les types réels. La valeur par défaut est _Digits.

separator=NULL

[in]  Séparateur des valeurs des champs d'un élément de la structure. La valeur par défaut NULL signifie une ligne vide. Un espace est utilisé comme séparateur dans ce cas.

start=0

[in]  L'indice du premier élément à écrire du tableau.  Il est écrit depuis l'indice zéro par défaut.

count=WHOLE_ARRAY

[in]  Nombre d'éléments du tableau à écrire. Le tableau est écrit en intégralité par défaut (count=WHOLE_ARRAY).

flags=ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN

[in]  Combinaison de flags définissant le mode de sortie. Tous les flags sont activés par défaut :

    • ARRAYPRINT_HEADER — écrit les en-têtes du tableau de structures
    • ARRAYPRINT_INDEX — écrit l'indice sur le côté gauche
    • ARRAYPRINT_LIMIT — n'écrit que les 100 premiers et les 100 derniers éléments. Utilisez-le si vous souhaitez n'écrire qu'une partie d'un gros tableau.
    • ARRAYPRINT_ALIGN — active l'alignement des valeurs écrites — les nombres sont alignés sur la droite, les lignes sur la gauche.
    • ARRAYPRINT_DATE — lors de l'écriture de type datetime, écrit les dates au format jj.mm.aaaa
    • ARRAYPRINT_MINUTES — lors de l'écriture de type datetime, écrit les heures au format HH:MM
    • ARRAYPRINT_SECONDS — lors de l'écriture de type datetime, écrit les heures au format HH:MM:SS

Valeur de Retour

Aucune

Note

ArrayPrint() n'écrit pas tous les champs du tableau de structures dans le journal — les champs tableaux et pointeurs d'objets ne sont pas pris en compte. Ces colonnes ne sont tout simplement pas écrites pour une présentation plus pratique. Si vous avez besoin d'écrire tous les champs de la structure, vous devez écrire votre propre fonction d'écriture avec le format désiré.

Exemple :

//--- écrit les valeurs des 10 dernières barres
   MqlRates rates[];
   if(CopyRates(_Symbol,_Period,1,10,rates))
     {
      ArrayPrint(rates);
      Print("Vérification\n[time]\t[open]\t[high]\t[low]\t[close]\t[tick_volume]\t[spread]\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("Echec de CopyRates, code d'erreur=%d",GetLastError());
//--- exemple d'impression
/*
                    [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
  Vérification
   [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.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 
*/

Voir aussi

FileSave, FileLoad