как залочить значение переменной

canroy

Client
Регистрация
18.03.2018
Сообщения
186
Благодарностей
28
Баллы
28
Добрый день, Имеется список привязанный к файлу, нужно проверить существование текста из переменной в файле и если его нет то вписать чтобы другие потоки его не брали.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 538
Благодарностей
8 712
Баллы
113
Добрый день, Имеется список привязанный к файлу, нужно проверить существование текста из переменной в файле и если его нет то вписать чтобы другие потоки его не брали.
- экшен Операции над списком - Объединить элементы списка (в переменную)
- экшен Обработка текста Regex парсим переменную из пред. шага содержимым переменной критерия поиска (предварительно эту переменную заэскейптить, тем самым превратив в регулярку, это можно сделать с помощью Обработка текста - Escape строки)
- экшен IF - проверяем результирующую переменную из пред. шага на пустоту (выходим на дальнейшую обработку по красному или зеленому выходу из IF)
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 091
Благодарностей
127
Баллы
63
(предварительно эту переменную заэскейптить, тем самым превратив в регулярку, это можно сделать с помощью Обработка текста - Escape строки)
тем самым превратив в регулярку
Не совсем ясно, разве для Regex нужно эскейпить?
Или я не понял, речь о какой переменной, ту которую использовать для критерия поиска или ту в которую объединили список для поиска в нем?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 538
Благодарностей
8 712
Баллы
113
Не совсем ясно, разве для Regex нужно эскейпить?
Или я не понял, речь о какой переменной, ту которую использовать для критерия поиска или ту в которую объединили список для поиска в нем?
Ту, по которой производится поиск (критерий поиска).
Переменную в которую объединили список - не трогаем.
 
Последнее редактирование:

canroy

Client
Регистрация
18.03.2018
Сообщения
186
Благодарностей
28
Баллы
28
не совсем то имел ввиду, вот код который не могу правильно написать
C#:
string strFilePath = project.Variables["lokk"].Value;
IZennoList lstlok = project.Lists["лок"];
if (strFilePath=="")
   throw new Exception("Не указан путь к файлу для лока ");//прерываем работу по ошибке

   lock(CommonCode.Locklok);//лок из общего кода
return project.Lists["лок"].First(s=>s.Contains(project.Variables["nomera"].Value));
   //нужно чтобы если код выше выполнился успешно то код ниже не выполнять
   project.Lists["лок"].Add(project.Variables["number"].Value);
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 538
Благодарностей
8 712
Баллы
113
не совсем то имел ввиду, вот код который не могу правильно написать
C#:
string strFilePath = project.Variables["lokk"].Value;
IZennoList lstlok = project.Lists["лок"];
if (strFilePath=="")
   throw new Exception("Не указан путь к файлу для лока ");//прерываем работу по ошибке

   lock(CommonCode.Locklok);//лок из общего кода
return project.Lists["лок"].First(s=>s.Contains(project.Variables["nomera"].Value));
   //нужно чтобы если код выше выполнился успешно то код ниже не выполнять
   project.Lists["лок"].Add(project.Variables["number"].Value);
А почему же этот код не в первом сообщении топика? :-)
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 091
Благодарностей
127
Баллы
63

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 538
Благодарностей
8 712
Баллы
113
Сорри, а для чего нужно эскейпить, как это связано с формированием регулярки?
Чтобы из простой последовательности символов получить регулярное выражение.
 
  • Спасибо
Реакции: bizzon

canroy

Client
Регистрация
18.03.2018
Сообщения
186
Благодарностей
28
Баллы
28

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