Dosya Fonksiyonları

Dosyalarla çalışmak için tasarlanmış fonksiyonlar grubu.

Dosya işlemleri, MQL5 dili içerisinde güvenlik amacıyla sıkı şekilde kontrol edilmektedir. İşlemleri, MQL5 araçları ile yürütülen dosyalar, dosya güvenlik-ortamı (sandbox) dışında yer alamaz.

Çalışan dosyaların yerleştirilebileceği iki konum (alt-konum) bulunmaktadır:

  • terminal_veri_klasörü\MQL5\FILES\ (görüntülemek için terminal menüsünden "Dosya" - "Veri dosyasını aç" seçimlerini yapın);
  • Bilgisayara kurulmuş tüm terminaller için ortak klasör - genellikle şu konumda yer alır C:\Documents and Settings\All Users\Application Data\MetaQuotes\Terminal\Common\Files.

Bu katalog (dosya yolu) isimleri, TerminalInfoString() fonksiyonunu ENUM_TERMINAL_INFO_STRING sayımıyla kullanarak elde edilebilir:

//--- Terminal verisini depolayan klasör
   string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
//--- Tüm terminaller için ortak klasör
   string common_data_path=TerminalInfoString(TERMINAL_COMMONDATA_PATH);

Diğer konumlardaki dosyalarla çalışmaya izin verilmez.

Dosya fonksiyonları "adlandırılmış kanallarla" çalışabilmenizi sağlar. Bunun için, FileOpen() fonksiyonunu uygun bir parametre ile çağırmanız gerekir.

Fonksiyon

Eylem

FileSelectDialog

Bir dosya veya klasör açma/oluşturma iletişim kutusu oluşturun

FileFindFirst

Belirtilen filtreye göre belli bir konumda dosya araması başlatır

FileFindNext

FileFindFirst() fonksiyonu ile yapılan aramayı devam ettirir

FileFindClose

Arama işleyicisini kapatır

FileOpen

Belirli bir isme ve bayrağa sahip olan dosyayı açar

FileDelete

Belirtilen bir dosyayı siler

FileFlush

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

FileGetInteger

Dosyaya dair bir tamsayı özelliğini alır

FileIsEnding

Okuma sürecinde bir dosyanın sonunu tanımlar

FileIsLineEnding

Okuma sürecinde bir metin dosyasındaki bir satırın sonunu tanımlar

FileClose

Açılmış bir dosyayı kapatır

FileIsExist

Bir dosyanın varlığını kontrol eder

FileCopy

Orjinal dosyayı, yerel veya paylaşımlı bir klasörden, başka bir dosyaya kopyalar

FileMove

Bir dosyayı taşır veya yeniden adlandırır

FileReadArray

BIN tipi bir dosyadan, string harici herhangi tipteki dizileri okur

FileReadBool

CSV dosyasındaki bir dizgiyi ayırıcı işarete kadar (veya satır sonuna kadar) okur ardından okunan dizgiyi bool tipine dönüştürür

FileReadDatetime

CSV dosyasındaki, "YYYY.MM.DD HH:MM:SS", "YYYY.MM.DD" veya "HH:MM:SS" biçimlerinden birindeki dizgiyi okur ve bir datetime değerine dönüştürür

FileReadDouble

Dosya işaretçisinin mevcut konumundan double tipi değeri okur

FileReadFloat

Dosya işaretçisinin mevcut konumundan float tipi bir değeri okur

FileReadInteger

Dosya işaretçisinin mevcut konumundan short veya char tipi bir değeri okur

FileReadLong

Dosya işaretçisinin mevcut konumundan long tipi bir değeri okur

FileReadNumber

CSV dosyasındaki bir dizgiyi, mevcut konumdan ayırıcı işarete kadar (veya satır sonuna kadar) okur, ardından bu dizgiyi double tipine dönüştürür

FileReadString

Bir dosyadaki dizgiyi, dosya işaretçisinin mevcut konumundan başlayarak okur

FileReadStruct

Bir yapıya parametre olarak geçirilmiş ikili dosyanın içeriğini okur

FileSeek

Dosya işaretçisinin konumunu, belirtilen bayt sayısı ile, belirlenen konuma taşır

FileSize

Söz konusu açık dosyanın boyutuna dönüş yapar

FileTell

Söz konusu açık dosyanın, mevcut dosya işaretçisi konumuna dönüş yapar

FileWrite

CSV veya TXT tipi dosyaya veri yazar

FileWriteArray

BIN tipi bir dosyaya herhangi bir tipte (string hariç) diziler yazar

FileWriteDouble

İkili bir dosya içine, işaretçinin mevcut konumundan başlayarak double tipi bir değer yazar

FileWriteFloat

İkili bir dosya içine, işaretçinin mevcut konumundan başlayarak float tipi bir değer yazar file

FileWriteInteger

İkili bir dosya içine, işaretçinin mevcut konumundan başlayarak int tipi bir değer yazar file

FileWriteLong

İkili bir dosya içine, işaretçinin mevcut konumundan başlayarak long tipi bir değer yazar

FileWriteString

Bir BIN veya TXT dosyasının içine, işaretçinin mevcut konumundan başlayarak string tipi bir değer yazar

FileWriteStruct

İkili bir dosya içine, işaretçinin mevcut konumundan başlayarak bir yapının içeriklerini yazar

FileLoad

Belirtilen ikili dosyadaki tüm verileri parametre şeklinde geçirilen sayısal diziye yazar

FileSave

Parametre şeklinde geçirilen dizinin tüm elemanlarını bir ikili dosyaya yazar

FolderCreate

Files dizini içinde (common_flag değerine bağlı olarak) bir klasör oluşturur

FolderDelete

Seçilen klasörü siler. Klasör boş değilse silinemez

FolderClean

Belirtilen klasördeki tüm dosyaları siler

Dosya, yazma amaçlı olarak FileOpen() fonksiyonu ile açılmışsa, dizinde bulunmayan alt-klasörler, oluşturulacaktır.