MetaTrader 5 herunterladen

FileSize

Gibt die Größe der Datei in Bytes zurück.

ulong  FileSize(
   int  file_handle      // Datei-Handle
   );

Parameter

file_handle

[in]  Dateiattribut, das durch die Funktion FileOpen() zurückgegeben wird.

Rückgabewert

Wert des Typs int.

Bemerkung

Für die Erhaltung der fehlerbezogenen Information muss die Funktion GetLastError() aufgerufen werden.

Beispiel:

//--- Beim Starten des Scripts zeigen Sie den Fenster mit den Eingabeparametern an 
#property script_show_inputs
//--- Eingabeparameters
input ulong  InpThresholdSize=20;        // die Grenze von Dateigröße im Kilobyte
input string InpBigFolderName="big";     // Ordner für die größen Dateien
input string InpSmallFolderName="small"// Ordner für die kleinen Dateien
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string   file_name;      // Variable für Speichern die Dateinamen 
   string   filter="*.csv"// Der Filter für die Suche nach Dateien
   ulong    file_size=0;    // die Größe der Datei in Bytes
   int      size=0;         // die Anzahl der Dateien
//--- drucken Sie der Weg zum Ordner in der arbeiten werden
   PrintFormat("Arbeiten in dem Ordner %s\\Files\\",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
//--- erhalten Sie die Suche Handle von Grund auf den Gesamtordner aller Client-Terminals
   long search_handle=FileFindFirst(filter,file_name,FILE_COMMON);
//--- prüfen Sie, ob die FileFindFirst() Funktion erfolgreich durchgearbeitet hat
   if(search_handle!=INVALID_HANDLE)
     {
      //--- im Zyklus versetzen Sie die Dateien je nach ihrer Größe
      do
        {
         //--- öffnen Sie die Datei
         ResetLastError();
         int file_handle=FileOpen(file_name,FILE_READ|FILE_CSV|FILE_COMMON);
         if(file_handle!=INVALID_HANDLE)
           {
            //--- erhalten Sie die Größe der Datei
            file_size=FileSize(file_handle);
            //--- schließen Sie die Datei
            FileClose(file_handle);
           }
         else
           {
            PrintFormat("Fehler beim Öffnen der Datei %s, Fehlercode = %d",file_name,GetLastError());
            continue;
           }
         //--- drucken Sie die Größe der Datei
         PrintFormat("die Größe der Datei %s ist %d Byte gleich",file_name,file_size);
         //--- ermitteln Sie den Pfad um die Datei zu versetzen
         string path;
         if(file_size>InpThresholdSize*1024)
            path=InpBigFolderName+"//"+file_name;
         else
            path=InpSmallFolderName+"//"+file_name;
         //--- versetzen Sie die Datei
         ResetLastError();
         if(FileMove(file_name,FILE_COMMON,path,FILE_REWRITE|FILE_COMMON))
            PrintFormat("%s Datei ist versetzt",file_name);
         else
            PrintFormat("Fehler, Kode = %d",GetLastError());
        }
      while(FileFindNext(search_handle,file_name));
      //--- schließen Sie die Suche Handle
      FileFindClose(search_handle);
     }
   else
      Print("Dateien sind nicht geöffnet!");
  }