Как удалить данные из файла и списка

cmvvo

Client
Регистрация
07.07.2019
Сообщения
33
Благодарностей
15
Баллы
8
Здравствуйте. С помощью этой строчки кода : project.Lists["nazvanie_spiska"].Remove(project.Variables["nazvanie_peremennoy"].Value); я удаляю строку в списке nazvanie_spiska внутри зеннопостера. А как сделать так, чтобы значение переменной искалось в файле txt на компьютере и удалялось сразу из файла? Не из списка в зеннопостере, а сразу из файла?
 
Последнее редактирование:

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 795
Благодарностей
1 066
Баллы
113
Здравствуйте. С помощью этой строчки кода : project.Lists["nazvanie_spiska"].Remove(project.Variables["nazvanie_peremennoy"].Value); я удаляю строку в списке nazvanie_spiska внутри зеннопостера. А как сделать так, чтобы значение переменной искалось в файле txt на компьютере и удалялось сразу из файла? Не из списка в зеннопостере, а сразу из файла?
Список синхронизируйте и удалится из файла
 

cmvvo

Client
Регистрация
07.07.2019
Сообщения
33
Благодарностей
15
Баллы
8

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 795
Благодарностей
1 066
Баллы
113
  • Спасибо
Реакции: cmvvo

kaakor

Client
Регистрация
22.04.2020
Сообщения
5
Благодарностей
3
Баллы
3
Здравствуйте. С помощью этой строчки кода : project.Lists["nazvanie_spiska"].Remove(project.Variables["nazvanie_peremennoy"].Value); я удаляю строку в списке nazvanie_spiska внутри зеннопостера. А как сделать так, чтобы значение переменной искалось в файле txt на компьютере и удалялось сразу из файла? Не из списка в зеннопостере, а сразу из файла?
Если правильно понял можно так. Привязать этот txt файл к списку и оттуда удалить, потом обратно записать в файл

string filePath = project.Directory + @"\1.txt"; //путь к файл
IZennoList lst = project.Lists["Список 1"];
lst.Bind(filePath); //привязка к файлу txt
lst.Remove(project.Variables["strstr"].Value);
File.Delete(filePath);
foreach(string s in lst)
{
File.AppendAllText(filePath, (s + Environment.NewLine)); //запись конечного результат обратно в файл
}

Либо считать файл в обычную переменную string если не нужен список IZenno и с ним все тоже самое произвести
 
Последнее редактирование:
  • Спасибо
Реакции: cmvvo
Регистрация
12.07.2014
Сообщения
916
Благодарностей
366
Баллы
63

cmvvo

Client
Регистрация
07.07.2019
Сообщения
33
Благодарностей
15
Баллы
8
Если правильно понял можно так. Привязать этот txt файл к списку и оттуда удалить, потом обратно записать в файл

string filePath = project.Directory + @"\1.txt"; //путь к файл
IZennoList lst = project.Lists["Список 1"];
lst.Bind(filePath); //привязка к файлу txt
lst.Remove(project.Variables["strstr"].Value);
File.Delete(filePath);
foreach(string s in lst)
{
File.AppendAllText(filePath, (s + Environment.NewLine)); //запись конечного результат обратно в файл
}

Либо считать файл в обычную переменную string если не нужен список IZenno и с ним все тоже самое произвести
Спасибо, а вообще никак не обращаясь к спискам такое можно сделать? Обратно записывать не нужно, нужно просто найти строку содержащую значение переменной и её удалить
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 795
Благодарностей
1 066
Баллы
113

kaakor

Client
Регистрация
22.04.2020
Сообщения
5
Благодарностей
3
Баллы
3
Спасибо, а вообще никак не обращаясь к спискам такое можно сделать? Обратно записывать не нужно, нужно просто найти строку содержащую значение переменной и её удалить
можно без списков зеннопостера, но в коде все равно нужно будет сначала readalltext файла, потом как закончим работу с ним записать обратно через writealltext(если нужно чтобы все это отображалось в файле). Либо я чего то не понимаю по ТЗ :-)
 
  • Спасибо
Реакции: cmvvo

cmvvo

Client
Регистрация
07.07.2019
Сообщения
33
Благодарностей
15
Баллы
8
можно без списков зеннопостера, но в коде все равно нужно будет сначала readalltext файла, потом как закончим работу с ним записать обратно через writealltext(если нужно чтобы все это отображалось в файле). Либо я чего то не понимаю по ТЗ :-)
а обратно вообще ничего не нужно записывать, просто найти в файле строку и удалить. Не подскажете как кодом удалить?
 

cmvvo

Client
Регистрация
07.07.2019
Сообщения
33
Благодарностей
15
Баллы
8
Ребят, всем спасибо кто ответил, я нашёл решение:

var re = File.ReadAllLines("file.txt", Encoding.Default).Where(s => !s.Contains("дождь"));
File.WriteAllLines("file.txt",re,Encoding.Default);

Вот этот код делает то, что мне нужно.
 
  • Спасибо
Реакции: Valandersi

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