удалять не могу- данные из этого файла используются самим шаблоном. Может тогда скопировать файл, в скопированном подсчитать и удалить строки?Удаляй строки списка. И можешь хоть каждое выполнение добавлять число попыток. Зачем какие-то условия не понимаю
Раз такое дело, можно сохранять дату при запуске каждый час. Т.е. где-то в файлике лежит дата запуска час назад. Пришло время нового запуска. Шаблон проверяет, прошёл ли час от той даты. Если прошёл - записываем новую дату, текущую, и добавляем нужное число попыток. Если не прошёл - просто выполняем шаблон. Правда тут лучше проверять не 60 минут, а 59, например.удалять не могу- данные из этого файла используются самим шаблоном. Может тогда скопировать файл, в скопированном подсчитать и удалить строки?
думаю подходящий вариант. Как бы такое реализовать?Раз такое дело, можно сохранять дату при запуске каждый час. Т.е. где-то в файлике лежит дата запуска час назад. Пришло время нового запуска. Шаблон проверяет, прошёл ли час от той даты. Если прошёл - записываем новую дату, текущую, и добавляем нужное число попыток. Если не прошёл - просто выполняем шаблон. Правда тут лучше проверять не 60 минут, а 59, например.
series_912039_krugovorot/">Круговорот</a></span><div class="margin_top_5"><a class=" p_link_black" href="/series/all/rus/">Россия</a>, <a class=" p_link_black" href="/series/all/pol/">Польша</a>, <a class=" p_link_black" href="/series/all/ukr/">Украина</a>, <a class=" p_link_black" href="/series/all/2017/">2017</a>, <a class=" p_link_black" href="/series/all/melodrama/">мелодрама
Подскажите со снипетом, спарсил текст в таком виде:Мне нужно получить Страны и год и разложить по разным переменным, при этом страна может быть всего одна.Код:series_912039_krugovorot/">Круговорот</a></span><div class="margin_top_5"><a class=" p_link_black" href="/series/all/rus/">Россия</a>, <a class=" p_link_black" href="/series/all/pol/">Польша</a>, <a class=" p_link_black" href="/series/all/ukr/">Украина</a>, <a class=" p_link_black" href="/series/all/2017/">2017</a>, <a class=" p_link_black" href="/series/all/melodrama/">мелодрама
Проблема заключается в номерах совпадений, если стран больше 1 то год не получается положить в переменную, т.к не соответствует номер совпадения
string str = project.Variables["Text"].Value;
project.Variables["Country"].Value = string.Join("\r\n", Regex.Matches(str, "(?<=/series/all/[a-z]{3}/\">).*?(?=<)").Cast<Match>().Select(x => x.Value));
project.Variables["Year"].Value = Regex.Match(str, "(?<=/series/all/[0-9]{4}/\">).*?(?=<)").Value;
Спасибо! почти то что нужноC#:string str = project.Variables["Text"].Value; project.Variables["Country"].Value = string.Join("\r\n", Regex.Matches(str, "(?<=/series/all/[a-z]{3}/\">).*?(?=<)").Cast<Match>().Select(x => x.Value)); project.Variables["Year"].Value = Regex.Match(str, "(?<=/series/all/[0-9]{4}/\">).*?(?=<)").Value;
Попробуй такую регуляркуСпасибо! почти то что нужно
project.Variables["Country"].Value = string.Join("\r\n", Regex.Matches(str, "(?<=/series/all/[a-z]{3}/\">).*?(?=<)").Cast<Match>().Select(x => x.Value)); берет еще жанры можно как то их отсечь?
Или же разбирать переменную?
(?<=/series/all/[a-z]{3}/\">)[А-Я].*?(?=<)
аз такое дело, можно сохранять дату при запуске каждый час. Т.е. где-то в файлике лежит дата запуска час назад. Пришло время нового запуска. Шаблон проверяет, прошёл ли час от той даты. Если прошёл - записываем новую дату, текущую, и добавляем нужное число попыток. Если не прошёл - просто выполняем шаблон. Правда тут лучше проверять не 60 минут, а 59, например.
Тоже хочу. Но не по времени запуска, а внутри рабочего цикла.думаю подходящий вариант. Как бы такое реализовать?
int result = (Convert.ToInt32(project.Variables["time_end"].Value) - Convert.ToInt32(project.Variables["time_start"].Value)) / 1000 / 60;
return result;
В твоем случае лучше использовать переменную TickCount.Помогите составить сниппет.
return Environment.TickCount;
return (Environment.TickCount - int.Parse(project.Variables["time_start"].Value)) / 1000; // время в секундах
да я через нее и работаю.
только есть циклы которые работают больше минуты.
можно их как-то привести к более нормальному виду?
ну то есть что бы одновременно работали и секунды и минуты? или придется ставить проверку, если больше 60 сек то переводим в минуты?
double time_start = double.Parse(project.Variables["time_start"].Value);
TimeSpan ts = TimeSpan.FromMilliseconds(Environment.TickCount - time_start);
return string.Format("{0:0.00}", ts.TotalMinutes).Replace(",", ".") + " мин."; // в формате "00.00 мин."
//return DateTime.Parse(ts.ToString()).ToString("mm мин. ss сек."); // в формате "00 мин. 00 сек."
Всё там правильно - в минуте 60 сек, в данном случае - это одна целая и 98 сотых минут.Dimionix, чет я поторопился
в минуте получается 100 секунд
http://dl4.joxi.net/drive/2017/03/17/0011/3379/724275/75/4207cd58b7.jpg
ну так в минуте-то 60 секундВсё правильно - одна целая и 98 сотых минут
Да уж, дроби, по моему, ещё в младших классах изучают))ну так в минуте-то 60 секунд
как может быть 1 минута и 98 секунд?
а должно быть, если у нас 1.98 то = 2.38 мин
мне ж нужно к человеческому виду это привести.
"hh:mm:ss" - так норм, ну или хотя бы "mm:ss".но вообще так время не записывают
string File1 = project.Directory+@"\Log.txt";
// Проверяем существование файлов и если их нет, создаем
if (!File.Exists(File1)) {using (StreamWriter sw = File.CreateText(File1)) {sw.WriteLine("");}}
Как создать файл?
Есть сниппет, создающий файл log.txt
А как использовать вместо log.txt переменную?Код:string File1 = project.Directory+@"\Log.txt"; // Проверяем существование файлов и если их нет, создаем if (!File.Exists(File1)) {using (StreamWriter sw = File.CreateText(File1)) {sw.WriteLine("");}}
string File1 = project.Directory+@""+твоя_переменная+"";
А как использовать вместо log.txt переменную?
string File1 = project.Directory + @"\" + project.Variables["Var"].Value;
C#:string File1 = project.Directory + "\" + project.Variables["Var"].Value;
string File1 = project.Directory + "\" + project.Variables["main_akk"].Value;
// Проверяем существование файлов и если их нет, создаем
if (!File.Exists(File1)) {using (StreamWriter sw = File.CreateText(File1)) {sw.WriteLine("");}}
Код:string File1 = project.Directory+@""+твоя_переменная+"";
string File1 = project.Directory+@""+main_akk+"";
Да!так?Код:string File1 = project.Directory + "\" + project.Variables["main_akk"].Value; // Проверяем существование файлов и если их нет, создаем if (!File.Exists(File1)) {using (StreamWriter sw = File.CreateText(File1)) {sw.WriteLine("");}}
Нет!так?Код:string File1 = project.Directory+@""+main_akk+"";
стесняюсь спросить а как?Да!
не пашет символ новой строки в константе
Нет!
Мой косяк, собачку забыл))стесняюсь спросить а как?
string File1 = project.Directory + @"\" + project.Variables["main_akk"].Value;
создает, но не txt файл. Можно в коде прописать, чтобы txt создавалось или другую переменную вне кода назначить main_akk.txt?Мой косяк, собачку забыл))
C#:string File1 = project.Directory + @"\" + project.Variables["main_akk"].Value;