Есть советник, который при определенных условиях подает звуковой сигнал. Вот функция:
Т.е. если сигнал сработал на EURUSD, то проиграет файл EURUSD.wav, если на AUDUSD, то проиграет звуковой файл AUDUSD.wav. Мне нужно, чтобы если звукового файла не нашлось, то проиграл бы файл Signal.wav
что-то типа:
Как узнать существование звукового файла?проверять список файлов в папке со звуками )
стоит ли заморачиватся так ради звуков? )
проверять список файлов в папке со звуками )
как это сделать?
как это сделать?
тут можно почитать
Получение списка всех экспертов с исходным кодом Простой скрипт для демонстрации возможностей описанных функций: //+------------------------------------------------------------------+ //| CheckFindFile.mq4 | //| Copyright © 2008, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property show_inputs #import "kernel32.dll" int FindFirstFileA(string path, int& answer[]); bool FindNextFileA(int handle, int& answer[]); bool FindClose(int handle); #import //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- int win32_DATA[79]; int handle = FindFirstFileA(TerminalPath() + "\experts\*.mq4",win32_DATA); Print(bufferToString(win32_DATA)); ArrayInitialize(win32_DATA,0); while (FindNextFileA(handle,win32_DATA)) { Print(bufferToString(win32_DATA)); ArrayInitialize(win32_DATA,0); } if (handle>0) FindClose(handle); //---- return(0); } //+------------------------------------------------------------------+ //| считать текст из буфера | //+------------------------------------------------------------------+ string bufferToString(int buffer[]) { string text=""; int pos = 10; for (int i=0; i<64; i++) { pos++; int curr = buffer[pos]; text = text + CharToStr(curr & 0x000000FF) +CharToStr(curr >> 8 & 0x000000FF) +CharToStr(curr >> 16 & 0x000000FF) +CharToStr(curr >> 24 & 0x000000FF); } return (text); } //+------------------------------------------------------------------+
спасибо. статья подсказала в какую сторону копать. вот функция FileExist:
#import "kernel32.dll" int GetFileAttributesA(string filepath); #import bool FileExist(string path) { int res = GetFileAttributesA(path); if (res == -1) return(false); else return(true); }
спасибо. статья подсказала в какую сторону копать. вот функция FileExist:
Zhunko:
Нестандартное решение. Почитал в МСДН... Ненадёжно выходит. Возможны проблемы. Вариант с перебором файлов и папок, как выложено выше,
#import "kernel32.dll" int FindFirstFileA(string filepath, int& answer[]); bool FindClose(int handle); #import bool FileExist(string path) { int win32_DATA[80]; int handle = FindFirstFileA(path, win32_DATA); if (handle > 0) { FindClose(handle); return(true); } else return(false); }первый вариант был такой :)
первый вариант был такой :)
if (handle > 0) { FindClose(handle); return(true); } else return(false);
Есть советник, который при определенных условиях подает звуковой сигнал. Вот функция:
Т.е. если сигнал сработал на EURUSD, то проиграет файл EURUSD.wav, если на AUDUSD, то проиграет звуковой файл AUDUSD.wav. Мне нужно, чтобы если звукового файла не нашлось, то проиграл бы файл Signal.wav
что-то типа:
Как узнать существование звукового файла?Да в этом случае останавливайте советник совсем, если кто-то законно использует Ваш советник, у него будет нужный .wav. А если нет - дополнительная защита Ваших авторских прав.
Нестандартное решение. Почитал в МСДН... Ненадёжно выходит.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть советник, который при определенных условиях подает звуковой сигнал. Вот функция:
Т.е. если сигнал сработал на EURUSD, то проиграет файл EURUSD.wav, если на AUDUSD, то проиграет звуковой файл AUDUSD.wav. Мне нужно, чтобы если звукового файла не нашлось, то проиграл бы файл Signal.wav
что-то типа:
Как узнать существование звукового файла?