нашел на форуме тему, где обсуждается как открыть файл экспертом,
предлагается воспользоваться библиотекой kernel32.dll и командой
WinExec, но дело в том что эта команда, похоже, открывает только
файлы *.exe а вот как открыть другие файлы? ну, например txt или
какой другой? причем, файл должен именно запуститься, появиться
на экране монитора. А может, кто подскажет как создать exe файл,
открывающий любые другие? тогда можно и WinExec..
- Пример создания программы
- Интеграция с другими IDE - Добро пожаловать в алготрейдинг
- Запуск - Добро пожаловать в алготрейдинг
Так попробуй, у меня работает
Но есть один нюанс, когда я програмирую на делфи и использую ShellExecuteA я вместо "Notepad" пишу nil что в данном случае означает параметр по умолчанию(то есть открыть файл в приложении ассоциированым в системе с расширением файла), однако, преназначенное для этих целей в MQL4 слово NULL не прокатывает, к сожалению я не в курсе почему, и по этой причине тебе придется указывать то приложение в котором ты будешь открывать произвольный файл("Notepad", напишешь "Winword" откроет в ворде).
//+------------------------------------------------------------------+ //| Shellexecute.mq4 | //| Jhonny | //| mailto:jhonnyfx@mail.ru | //+------------------------------------------------------------------+ #property copyright "Jhonny" #property link "mailto:jhonnyfx@mail.ru" #import "Shell32.dll" int ShellExecuteA(int Handle, string Operation, string filename, string parametr, string dir, int ShowCmd); int start() { //---- ShellExecuteA(0, "", "Notepad", "c:/1.txt", "", 1); //---- return(0); } //+------------------------------------------------------------------+
Но есть один нюанс, когда я програмирую на делфи и использую ShellExecuteA я вместо "Notepad" пишу nil что в данном случае означает параметр по умолчанию(то есть открыть файл в приложении ассоциированым в системе с расширением файла), однако, преназначенное для этих целей в MQL4 слово NULL не прокатывает, к сожалению я не в курсе почему, и по этой причине тебе придется указывать то приложение в котором ты будешь открывать произвольный файл("Notepad", напишешь "Winword" откроет в ворде).
Увы, и не инициализированная строка не прокатывает. У Вас лично получается открыть файл в приложении по умолчанию?
Ок, все работает, спасибо!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь