FileSize

Rend la taille du fichier en bytes.

ulong  FileSize(
   int  file_handle      // handle du fichier
   );

Paramètres

file_handle

[in]   Le descripteur de fichier rendu par la fonction FileOpen().

La valeur rendue

La valeur du type int.

Note

Pour recevoir l'information sur l'erreur, il faut appeler la fonction GetLastError().

Exemple:

//--- montrons la fenêtre des paramètres d'entrée au lancement du script
#property script_show_inputs
//--- les paramètres d'entrée
input ulong  InpThresholdSize=20;        // la frontière de la taille des fichiers en kilooctets
input string InpBigFolderName="big";     // le dossier pour les grands fichiers
input string InpSmallFolderName="small"// le dossier pour les petits fichiers
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string   file_name;      // la variable pour la sauvegarde des noms des fichiers
   string   filter="*.csv"// le filtre pour la recherche des fichiers
   ulong    file_size=0;    // la taille du fichier en octets
   int      size=0;         // le nombre de fichier
//--- imprimons la voie vers le dossier dans lequel on va travailler 
   PrintFormat("Travaillons dans le dossier %s\\Files\\",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
//--- la réception du handle de la recherche dans la racine du dossier total de tous les terminaux
   long search_handle=FileFindFirst(filter,file_name,FILE_COMMON);
//--- vérifions si la fonction FileFindFirst() a travaillé avec succès 
   if(search_handle!=INVALID_HANDLE)
     {
      //--- dans le cycle nous déplaçons les fichiers en fonction de leur taille
      do
        {
         //--- ouvrons le fichier
         ResetLastError();
         int file_handle=FileOpen(file_name,FILE_READ|FILE_CSV|FILE_COMMON);
         if(file_handle!=INVALID_HANDLE)
           {
            //--- recevrons la taille du fichier
            file_size=FileSize(file_handle);
            //--- fermons le fichier
            FileClose(file_handle);
           }
         else
           {
            PrintFormat("On n' a pas réussi à ouvrir le fichier %s, le code de l'erreur = %d",file_name,GetLastError());
            continue;
           }
         //--- imprimons la taille du fichier
         PrintFormat("La taille du fichier %s est égal au %d octets",file_name,file_size);
         //--- définirons la voie pour le déplacement du fichier
         string path;
         if(file_size>InpThresholdSize*1024)
            path=InpBigFolderName+"//"+file_name;
         else
            path=InpSmallFolderName+"//"+file_name;
         //--- déplaçons le fichier
         ResetLastError();
         if(FileMove(file_name,FILE_COMMON,path,FILE_REWRITE|FILE_COMMON))
            PrintFormat("Le fichier %s est déplacé",file_name);
         else
            PrintFormat("L'erreur, le code = %d",GetLastError());
        }
      while(FileFindNext(search_handle,file_name));
      //--- fermons le handle de la recherche
      FileFindClose(search_handle);
     }
   else
      Print("Files not found!");
  }