Почему не соблюдается условие C#

BFG

Новичок
Регистрация
17.04.2016
Сообщения
8
Благодарностей
1
Баллы
3
Логика такая - если в папке появляется файл с buy в названии, то кубик должен завершаться по зеленой, если buy нету то по красной.
Код:
string path = @"C:\Users\Jana\AppData\Roaming\MetaQuotes\Terminal\Common\Files"; // Путь к директории с файлами
//var list = project.Lists["Файлы сигналы"]; // Ваш список


//DirectoryInfo dirInfo = new DirectoryInfo(path);
//
//foreach (FileInfo file in dirInfo.GetFiles())
//{
//    file.Delete();
//}

while(true)
{
if (Directory.GetFiles(path).Length == 0)
    {
    Thread.Sleep(100*1);   
    }
else
    {
//   list.AddRange(Directory.GetFiles(path));
        if (Directory.GetFiles(path).ToString().Contains("buy"))
        {
            return "Купить";
           
        }   
    else
        {

            project.SendErrorToLog("Продажа", true);
            throw new Exception("Выход по ошибке");
        }
    }

}
условие if с поиском buy почему то не выполняется, подскажите что не так
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
if (Directory.GetFiles(path).ToString().Contains("buy"))
{
return "Купить";

}

это что такое? Нужно весь список файлов перебирать
 

BFG

Новичок
Регистрация
17.04.2016
Сообщения
8
Благодарностей
1
Баллы
3
if (Directory.GetFiles(path).ToString().Contains("buy"))
{
return "Купить";

}

это что такое? Нужно весь список файлов перебирать
Весь список перебирать не нужно, по задумке как только файл появляется в папке с названием buy зенка будет совершать одно действие в браузере, если с другим названием, то другое (выход по ошибке), перед завершением цикла папка чистится ( закомментированные строки сверху). return "Купить"; - это что бы в логе сохранялось что код делал
 

BFG

Новичок
Регистрация
17.04.2016
Сообщения
8
Благодарностей
1
Баллы
3
if (Directory.GetFiles(path).ToString().Contains("buy"))
{
return "Купить";

}

это что такое? Нужно весь список файлов перебирать
А вне зависимости от названия файла он по ошибке выходит... может условие как по другому прописать. проверял содержимое Directory.GetFiles(path) там название с buy есть, а условие все равно не работает
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
ну попробуй так

Код:
    if (string.Join(" ", Directory.GetFiles(path)).Contains("buy"))
    {
    return "Купить";

    }
 
  • Спасибо
Реакции: BFG

specialist

Client
Регистрация
28.12.2018
Сообщения
732
Благодарностей
343
Баллы
63
Thread.Sleep(100*1); - 100 мс, задержка, он точно там окажется за это время с этим названием?

как только файл появляется в папке
Монитора я тоже не вижу, кубик отработал и ушел, цикла ожидания нет while(true) слишком общее в данном случае
 

BFG

Новичок
Регистрация
17.04.2016
Сообщения
8
Благодарностей
1
Баллы
3

BFG

Новичок
Регистрация
17.04.2016
Сообщения
8
Благодарностей
1
Баллы
3
Thread.Sleep(100*1); - 100 мс, задержка, он точно там окажется за это время с этим названием?


Монитора я тоже не вижу, кубик отработал и ушел, цикла ожидания нет while(true) слишком общее в данном случае
Файл сам извне приходит, его генерит программа, к зенке не относящаяся, и кидает в папку. Задача в том что бы скрипт на зенке с максимальной скоростью отреагировал на это появление и нажал кнопку в браузере
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Thread.Sleep(100*1); - 100 мс, задержка, он точно там окажется за это время с этим названием?


Монитора я тоже не вижу, кубик отработал и ушел, цикла ожидания нет while(true) слишком общее в данном случае
там зациклено, если файлов нет в папке
 

specialist

Client
Регистрация
28.12.2018
Сообщения
732
Благодарностей
343
Баллы
63
там зациклено, если файлов нет в папке
Это да, поэтому написал, что очень общее условие. Бывает так, что появляется файл с техническим именем, после переименовывается, может временный файл какой-то появиться.

Примерно как проверка окончания загрузки, по расширению, пока не появилось или не исчезло расширение, завершать нельзя.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)