FileFlush

Giriş/çıkış tamponunda kalan tüm veriyi diske yazar.

void  FileFlush(
   int  file_handle      // Dosya tanıtıcı değeri
   );

Parametreler

file_handle

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

Dönüş değeri

Dönüş değeri yok.

Not

Bir dosya yazarken, veriler dosyada belli bir zaman sonra oluşabilir. Veriyi dosyaya anında kaydetmek amacıyla, FileFlush() fonksiyonunu kullanın. Bu fonksiyonun kullanılmaması durumunda, verinin bir kısmı hala diske yazılmamış olabilir, dosya FileClose() fonksiyonu ile kapatıldığında zorla yazılacaktır.

Fonksiyon, yazılan verinin kesin ve doğru bir değere sahip olması durumunda kullanılmalıdır. Sık yapılan fonksiyon çağrısının, programın işlem zamanını etkileyeceği not edilmelidir.

FileFlush() fonksiyonu, bir dosya üzerinde yapılan okuma ve yazma işlemlerinin arasında çağrılmalıdır.

Örnek:

//--- script çalıştığında giriş parametrelerinin penceresini göster
#property script_show_inputs
//--- Yazılacak dosyanın ismi
input string InpFileName="example.csv"// dosya ismi
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- dosyayı aç
   int file_handle=FileOpen(InpFileName,FILE_READ|FILE_WRITE|FILE_CSV);
   if(file_handle!=INVALID_HANDLE)
     {
      //--- veriyi dosyaya yaz
      for(int i=0;i<1000;i++)
        {
         //--- Yazma fonksiyonunu çağır
         FileWrite(file_handle,TimeCurrent(),SymbolInfoDouble(Symbol(),SYMBOL_BID),SymbolInfoDouble(Symbol(),SYMBOL_ASK));
         //--- her 128-inci tekrarda veriyi kaydet
         if((i & 127)==127)
           {
            //--- artık veri dosyaya yazılı durumda ve herhangi bir kritik hata durumunda kaybolmayacak
            FileFlush(file_handle);
            PrintFormat("i = %d, OK",i);
           }
         //--- 0.01 saniye durakla
         Sleep(10);
        }
      //--- dosyayı kapat
      FileClose(file_handle);
     }
   else
      PrintFormat("Hata, kod = %d",GetLastError());
  }

Ayrıca Bakınız

FileClose