forked from rosh/MQL5Book
44 lines
2.1 KiB
MQL5
44 lines
2.1 KiB
MQL5
//+------------------------------------------------------------------+
| |||
//| FileProperties.mq5 |
| |||
//| Copyright 2021, MetaQuotes Ltd. |
| |||
//| https://www.mql5.com |
| |||
//+------------------------------------------------------------------+
| |||
#include "..\..\Include\PRTF.mqh"
| |||
| |||
const string fileprop = "MQL5Book/fileprop";
| |||
| |||
//+------------------------------------------------------------------+
| |||
//| Script program start function |
| |||
//+------------------------------------------------------------------+
| |||
void OnStart()
| |||
{
| |||
int handle = 0; // incorrect handle (it's not obtained from FileOpen)
| |||
ulong size = FileSize(handle);
| |||
if(_LastError)
| |||
{
| |||
Print("FileSize ", size, ", error=", E2S(_LastError) + "(" + (string)_LastError + ")");
| |||
// Got: FileSize 0, error=WRONG_FILEHANDLE(5008)
| |||
}
| |||
PRTF(FileGetInteger(handle, FILE_SIZE)); // -1 / WRONG_FILEHANDLE(5008)
| |||
| |||
// create new file or empty existing one
| |||
handle = PRTF(FileOpen(fileprop, FILE_TXT | FILE_WRITE | FILE_ANSI)); // 1
| |||
// write some text
| |||
PRTF(FileWriteString(handle, "Test Text\n")); // 11
| |||
PRTF(FileGetInteger(fileprop, FILE_SIZE)); // 0, not yet written to disk
| |||
PRTF(FileGetInteger(handle, FILE_SIZE)); // 11
| |||
PRTF(FileSize(handle)); // 11
| |||
PRTF(FileGetInteger(handle, FILE_MODIFY_DATE)); // 1629730884 / ok
| |||
PRTF(FileGetInteger(handle, FILE_IS_TEXT)); // 1
| |||
PRTF(FileGetInteger(handle, FILE_IS_BINARY)); // 0
| |||
// the next call will fail, because this property is one of those
| |||
// which are not supported, when requested by filename
| |||
PRTF(FileGetInteger(fileprop, FILE_IS_TEXT)); // -1 / INVALID_PARAMETER(4003)
| |||
Sleep(1000); // wait 1 second to make noticable change in modification time
| |||
FileClose(handle);
| |||
PRTF(FileGetInteger(fileprop, FILE_MODIFY_DATE)); // 1629730885 / ok
| |||
| |||
PRTF((datetime)FileGetInteger("MQL5Book", FILE_CREATE_DATE));
| |||
// Got: 2021.08.09 22:38:00 / FILE_IS_DIRECTORY(5018)
| |||
}
| |||
//+------------------------------------------------------------------+
|