FileGetInteger

Dosyanın bir tam-sayı özelliğini alır. Fonksiyonun iki çeşidi bulunmaktadır.

1. Özelliği dosya tanıtıcısı ile al.

long  FileGetInteger(
   int                         file_handle,   // Dosya tanıtıcısı
   ENUM_FILE_PROPERTY_INTEGER  property_id    // Özellik tanımlayıcı
   );

2. Özeliği dosya ismi ile al.

long  FileGetInteger(
   const string                file_name,            // Dosya ismi
   ENUM_FILE_PROPERTY_INTEGER  property_id,          // Özellik yaanımlayıcı
   bool                        common_folder=false   // Dosya bir yerel klasörde (false)
   );                                                // veya tüm terminallerin ortak klasöründe (true)

Parametreler

file_handle

[in] FileOpen() fonksiyonunun dönüş yaptığı dosya tanımlayıcısı.

file_name

[in]  Dosya ismi.

property_id

[in]  Dosya özelliğinin tanımlayıcısı. Bu değer ENUM_FILE_PROPERTY_INTEGER sayımının değerlerinden biri olabilir. Fonksiyonun ikinci versiyonunun kullanılması durumunda, sadece şu özellikleri alabilirsiniz: FILE_EXISTS, FILE_CREATE_DATE, FILE_MODIFY_DATE, FILE_ACCESS_DATE ve FILE_SIZE.

common_folder=false

[in]  Dosya konumunu gösterir. Parametre false ise, terminal veri klasörü gösterilir Aksi durumda dosyanın, tüm terminallerin ortak klasöründe \Terminal\Common\Files (FILE_COMMON) olduğu varsayılır.

Dönüş değeri

Özellik değeri. Hata durumunda -1 dönüşü yapar. Hata kodunu almak için GetLastError() fonksiyonunu kullanın.

Özelliklerin alınması için dosya ismi belirtilmişse, fonksiyon 5018 numaralı hatayı alır (ERR_MQL_FILE_IS_DIRECTORY) bu durumda dönüş değeri doğru olacaktır.

Not

Fonksiyon, hata kodunu sürekli değiştirir. Başarılı sonuç durumunda, hata kodu NULL değerini alır.

Örnek:

//--- script çalıştırıldığında giriş parametrelerinin penceresini göster
#property script_show_inputs
//--- giriş parametreleri
input string InpFileName="data.csv";
input string InpDirectoryName="SomeFolder";
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string path=InpDirectoryName+"//"+InpFileName;
   long   l=0;
//--- dosyayı aç
   ResetLastError();
   int handle=FileOpen(path,FILE_READ|FILE_CSV);
   if(handle!=INVALID_HANDLE)
     {
      //--- Dosya hakkındaki tüm bilgiyi çıktıla
      Print(InpFileName," dosya bilgisi:");
      FileInfo(handle,FILE_EXISTS,l,"bool");
      FileInfo(handle,FILE_CREATE_DATE,l,"tarih");
      FileInfo(handle,FILE_MODIFY_DATE,l,"tarih");
      FileInfo(handle,FILE_ACCESS_DATE,l,"tarih");
      FileInfo(handle,FILE_SIZE,l,"diğer");
      FileInfo(handle,FILE_POSITION,l,"diğer");
      FileInfo(handle,FILE_END,l,"bool");
      FileInfo(handle,FILE_IS_COMMON,l,"bool");
      FileInfo(handle,FILE_IS_TEXT,l,"bool");
      FileInfo(handle,FILE_IS_BINARY,l,"bool");
      FileInfo(handle,FILE_IS_CSV,l,"bool");
      FileInfo(handle,FILE_IS_ANSI,l,"bool");
      FileInfo(handle,FILE_IS_READABLE,l,"bool");
      FileInfo(handle,FILE_IS_WRITABLE,l,"bool");
      //--- dosyayı kapat
      FileClose(handle);
     }
   else
      PrintFormat("%s dosya açılmadı, Hata Kodu = %d",InpFileName,GetLastError());
  }
//+------------------------------------------------------------------+
//| Dosya özelliğinin değerini görüntüle                             |
//+------------------------------------------------------------------+
void FileInfo(const int handle,const ENUM_FILE_PROPERTY_INTEGER id,
              long l,const string type)
  {
//--- özellik değerini al
   ResetLastError();
   if((l=FileGetInteger(handle,id))!=-1)
     {
      //--- değer alındı, şimdi doğru şekilde görüntüle
      if(!StringCompare(type,"bool"))
         Print(EnumToString(id)," = ",l ? "true" : "false");
      if(!StringCompare(type,"date"))
         Print(EnumToString(id)," = ",(datetime)l);
      if(!StringCompare(type,"other"))
         Print(EnumToString(id)," = ",l);
     }
   else
      Print("Hata, Kod = ",GetLastError());
  }

Ayrıca Bakınız

Dosya İşlemleri, Dosya Özellikleri