Похоже, Вы попутали ansi и unicode
simple:
Да и код - не Ваш...
Пару лет назад писал программки для работы с файлами в МТ4
//+------------------------------------------------------------------+ //| Тест файлопен.mq4 | //| sanyooooook | //+------------------------------------------------------------------+ |
stringo:
Да и код - не Ваш...
Этот код не мой.
Да и код - не Ваш...
stringo:
Похоже, Вы попутали ansi и unicode
Не подскажете как мне это исправить?
Похоже, Вы попутали ansi и unicode
Странно, тут была ссылка от stringo с легким троллингом моих поисковых талантов, сходив по которой я все понял и исправил. Жаль что этот пост был удален.
Тем не менее пока я решил не вдаваться глубоко в дебри разбора ansi и unicode и вышел из положения так:
//+------------------------------------------------------------------+ //| Тест файлопен.mq4 | //| sanyooooook | //| .ru, .ru | //+------------------------------------------------------------------+ #property copyright "" #property link "" #include <WinUser32.mqh> #import "kernel32.dll" int CopyFileW (string lpExistingFileName, string lpNewFileName, int bFailIfExists); #import extern string FilePath="C:\\test\M222.txt"; extern int Sleep_=1000;//Периодичность открытия файла extern string FileName="M222.txt"; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ void OnTick(void) { int handle=FileOpen(FileName,FILE_READ|FILE_WRITE); if(handle<0) Print("Ошибка открытия файла ",TerminalInfoString(TERMINAL_DATA_PATH)+"\MQL4\Files"+"\\"+FileName," handle=",handle); int result=FileWrite(handle,TimeCurrent()); if(result==0) Print("Ошибка записи в файл ",TerminalInfoString(TERMINAL_DATA_PATH)+"\MQL4\Files"+"\\"+FileName); FileClose(handle); CopyFileW(TerminalInfoString(TERMINAL_DATA_PATH)+"\MQL4\Files"+"\\"+FileName, FilePath, 0); Print(TerminalInfoString(TERMINAL_DATA_PATH)+"\MQL4\Files"+"\\"+FileName); Sleep(Sleep_); } //+------------------------------------------------------------------+Какой я молодец!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пару лет назад писал программки для работы с файлами в МТ4. Сейчас понадобилось записать в сторонний файл информацию, но не смог. Помогите решить проблему...
Файл который проверяю на открытие, создан и присутствует в указанной папке. Программа проверялась на нескольких МТ4 на 5 разных компьютерах с WIN7 и XP. Код тестовой программки для открытия-закрытия файла:
//| Тест файлопен.mq4 |
//| sanyooooook |
//| .ru, .ru |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
#include <WinUser32.mqh>
#import "kernel32.dll"
int _lopen (string path, int of);
int _lcreat (string path, int attrib);
int _llseek (int handle, int offset, int origin);
int _lread (int handle, string buffer, int bytes);
int _lwrite (int handle, string buffer, int bytes);
int _lclose (int handle);
#import
extern string FilePath="C:\M222.txt";
extern int Sleep_=1000;//Периодичность открытия файла
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
void OnTick(void)
{
int handle=_lopen(FilePath,0);
if(handle<0)
Print("Ошибка открытия файла ",FilePath," handle=",handle);
int result=_lclose (handle);
if(result<0)
Print("Ошибка закрытия файла ",FilePath);
Sleep(Sleep_);
}
//+------------------------------------------------------------------+
Ошибка из журнала экспертов:
Один из МТ4 на которых проверялось: