FileSize

La funzione restituisce la dimensione del file in byte.

ulong  FileSize(
   int  file_handle    // File handle
   );

Parametri

file_handle

[in] Il descrittore di file restituito da FileOpen().

Valore restituito

Il valore di tipo int.

Nota

Per ottenere informazioni sull' errore chiamare GetLastError().

Esempio:

//--- mostra la finestra dei parametri di input quando si lancia lo script
#property script_show_inputs
//--- parametri di input
input ulong  InpThresholdSize=20;        // soglia della grandezza del file in kilobytes
input string InpBigFolderName="big";     // cartella per file larghi
input string InpSmallFolderName="small"// cartella per file piccoli
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script                                         |
//+--------------------------------------------------------------------------------+
voidOnStart()
  {
   string   file_name;      // variabile per memorizzare i nomi dei file
   string   filter="*.csv"// filtro per la ricerca dei file
   ulong    file_size=0;    // grandezza del file in byte
   int      size=0;         // numero di file
//--- fa il print del percorso del file con cui stiamo per lavorare
   PrintFormat("Working in %s\\Files\\ folder",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
//--- riceve l'handle di ricerca nella root della cartella comune a tutti i terminali
   long search_handle=FileFindFirst(filter,file_name,FILE_COMMON);
//--- controlla se FileFindFirst() è stato eseguito con successo
   if(search_handle!=INVALID_HANDLE)
     {
      //--- sposta i file nel ciclo secondo la loro grandezza
      do
        {
         //--- apre il file
         ResetLastError();
         int file_handle=FileOpen(file_name,FILE_READ|FILE_CSV|FILE_COMMON);
         if(file_handle!=INVALID_HANDLE)
           {
            //--- riceve la grandezza del file
            file_size=FileSize(file_handle);
            //--- chiude il file
            FileClose(file_handle);
           }
         else
           {
            PrintFormat("Fallimento nell'aprire il file %s, Codice Errore = %d",file_name,GetLastError());
            continue;
           }
         //--- fa il print della grandezza del file
         PrintFormat("La grandezza del file %s è uguale a %d byte",file_name,file_size);
         //--- definisce il percorso per spostare il file
         string path;
         if(file_size>InpThresholdSize*1024)
            path=InpBigFolderName+"//"+file_name;
         else
            path=InpSmallFolderName+"//"+file_name;
         //--- sposta il file
         ResetLastError();
         if(FileMove(file_name,FILE_COMMON,path,FILE_REWRITE|FILE_COMMON))
            PrintFormat("il file %s è stato spostato",file_name);
         else
            PrintFormat("Error, code = %d",GetLastError());
        }
      while(FileFindNext(search_handle,file_name));
      //--- chiude l'handle di ricerca
      FileFindClose(search_handle);
     }
   else
      Print("File non trovato!");
  }