Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 10.04.2020
Сообщений: 14

Очистка кривых доменов почт

21.07.2020, 11:19. Показов 1784. Ответов 25

Студворк — интернет-сервис помощи студентам
Вообщем нужно реализовать данное тз

Приложение по очистке кривых доменов почт (ручной ввод того , что нужно удалить)

Пол кода сделал , файл на кнопку открывает в текст боксе выводит , все что написано в txt файле

Теперь вопрос есть еще один textbox2 , что туда вписать?

Допустим пользователь загрузил базу почт , ему не нужны домены @shoff.ru
он вписывает в textbox2 (@shoff.ru)

и из всей базы , что он загрузил удаляются почты с доменами shoff.ru

button2

и так же сохранение результата(с выбором куда сохранить) на кнопку
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.07.2020, 11:19
Ответы с готовыми решениями:

Прикрепление файла к почт.сообщению
Привет! Отправляю почтовое сообщение при помощи CDO - все ОК Добавляю строку iMsg.AddAttachment 'dog_post.doc' Бройзер выдает...

Парсер почт youtube на python
Добрый вечер,Друзья! мне когда то давний друг написал парсер почт youtube на питоне,прошло 2 месяца и этот парсер перестал работать,можете...

Определить использования почт.ящика
А можно как-то отобрать ФИО пользователей, которые не пользовались своим почтовым ящиком более 5 месяцев (пользователь вообще его не...

25
Пора на C++?
 Аватар для TrickyBestia
370 / 264 / 99
Регистрация: 10.04.2020
Сообщений: 1,275
21.07.2020, 13:23
Студворк — интернет-сервис помощи студентам
whusein, вот класс, функционал которого вам подойдёт:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System.Collections.Generic;
using System.Linq;
using System.IO;
 
public class MailManager
{
    /// <summary>
    /// Список всех почт
    /// </summary>
    public List<string> MailBoxes { get; private set; }
    /// <summary>
    /// Домены, которые есть в списке.
    /// </summary>
    public IEnumerable<string> Domains
    {
        get
        {
            return new HashSet<string>(MailBoxes.Select(mb => mb.Split('@')[1]));
        }
    }
    /// <summary>
    /// Удаляет все почты определённого домена
    /// </summary>
    /// <param name="domain">Домен, например "gmail.com"</param>
    public void RemoveDomain(string domain)
    {
        MailBoxes.RemoveAll(m => m.Contains(domain));
    }
    public MailManager(string file)
    {
        MailBoxes = new List<string>(File.ReadAllLines(file));
    }
    public void Save(string file)
    {
        File.WriteAllLines(file, MailBoxes);
    }
}
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
21.07.2020, 13:26
На форме кнопка загрузки, листбокс для отображения и комбобокс для выбора почт удаляемого домена.
Удаление из листбокса происходит при выборе домена в комбобоксе.
Кнопку сохранения того что останется сами сделаете?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void button41_Click(object sender, EventArgs e)
{
    listBox5.Items.Clear();
    comboBox5.Items.Clear();
    string[]mass = File.ReadAllLines("D:\\адреса почт.txt", Encoding.Default);
    foreach (string s in mass)
        listBox5.Items.Add(s);
    string[] mass1 = mass.Distinct().ToArray();
    foreach (string s in mass1)
        comboBox5.Items.Add(s.Substring(s.IndexOf('@')));            
}
private void comboBox5_SelectedIndexChanged(object sender, EventArgs e)
{
    for(int i = listBox5.Items.Count - 1; i >= 0; i--)
    {
        if(listBox5.Items[i].ToString().Contains(comboBox5.Text) == true)
            listBox5.Items.Remove(listBox5.Items[i]); 
    }
}
На индексы контролов не обращайте внимания. У меня один проект на весь форум )))
0
0 / 0 / 0
Регистрация: 10.04.2020
Сообщений: 14
21.07.2020, 15:28  [ТС]
chumich, немного кривовато как то, оно не выбирает то, что удалять из комбокса

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            listBox1.ClearSelected();
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string[] mass = File.ReadAllLines("D:\\Base.txt", Encoding.Default);
            foreach (string s in mass)
                listBox1.Items.Add(s);
            string[] mass1 = mass.Distinct().ToArray();
            foreach (string s in mass1)
                comboBox1.Items.Add(s.Substring(s.IndexOf('@')));
 
        }
        private void comboBox5_SelectedIndexChanged(object sender, EventArgs e)
        {
            for (int i = listBox1.Items.Count - 1; i >= 0; i--)
            {
                if (listBox1.Items[i].ToString().Contains(comboBox1.Text) == true)
                    listBox1.Items.Remove(listBox1.Items[i]);
            }
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
    }
}
Добавлено через 13 минут
chumich, а все разобрался спасибо
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
21.07.2020, 16:03
Цитата Сообщение от whusein Посмотреть сообщение
chumich, напиши свой телеграм
У меня нет телеграм, вконтактов, фэйсбуков, одноклассников, скайпов, инстаграммов, ватсаппов и вайберов. Контачу только через посты в форуме. И исключительно по своему желанию... В этой теме я уже сделал всё, что мне было интересно...
0
0 / 0 / 0
Регистрация: 10.04.2020
Сообщений: 14
21.07.2020, 21:17  [ТС]
chumich, с кнопкой сохранения я допилил, а вот с очисткой и комбоксом не особо .
Сделал кнопку очистки вставил listBox1.Items.Clear();
и оно стирает полностью весь лист бокс .
А нужно чтобы стирал все почты с выбранным пользователем доменом
а он по 1 стирает либо вообще весь лист

Добавлено через 4 минуты
chumich,

Если же вставлять это

C#
1
2
3
4
private void button2_Click(object sender, EventArgs e)
        {
            listBox1.Items.RemoveAt(0);
        }
Оно стирает все подряд неважно, что я выбрал @gmail.com
оно с самого вверха все почты подряд стирает

Добавлено через 58 минут
chumich, будут по этому поводу какие нибудь предложения?)
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
21.07.2020, 21:32
Цитата Сообщение от whusein Посмотреть сообщение
chumich, будут по этому поводу какие нибудь предложения?)
Прочитайте внимательно код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void button1_Click(object sender, EventArgs e)
{
    listBox1.Items.Clear();
    comboBox1.Items.Clear();
    string[]mass = File.ReadAllLines("D:\\адреса почт.txt", Encoding.Default);
    foreach (string s in mass)
        listBox1.Items.Add(s);
    string[] mass1 = mass.Distinct().ToArray();
    foreach (string s in mass1)
        comboBox1.Items.Add(s.Substring(s.IndexOf('@')));            
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    for(int i = listBox1.Items.Count - 1; i >= 0; i--)
    {
        if(listBox1.Items[i].ToString().Contains(comboBox1.Text) == true)
            listBox1.Items.Remove(listBox1.Items[i]); 
    }
}
В нем одна кнопка, один листбокс и один комбобокс. Их нужно поместить на форму, щелкнуть по кнопке и комбобоксу и скопировать в получившиеся события код, приведенный выше. Если вам нужна дополнительная кнопка полной очистки, вставьте, щелкните и впишите туда listBox1.Items.Clear();
Код рабочий, проверенный и дальнейшее зависит только от вашей внимательности.
А про мое дальнейшее участие здесь я вам написал:
Цитата Сообщение от chumich Посмотреть сообщение
В этой теме я уже сделал всё, что мне было интересно...
Поэтому - всего хорошего!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.07.2020, 21:32

Инструкция пользователя почт. системы Lotus
Доброе время суток Надо раздать юзерам краткую инструкцию по пользованию почт. системы Lotus. Кнопа F1 - следующий шаг после инструкции....

Вход и поиск писем забугор почт
Всем привет, по моему у IMAP есть такая функция. Нужно сделать так, чтобы я вставлял в программу аккаунт и текст письма. А программа мне...

Отправка формы заказа с сайта на почт.ящик mail.ru
Доброго времени суток! На сайте есть пункт &quot;Сделать заказ&quot; (доставка роллов, пиццы и т.п.). Выбрав определенное кол-во продуктов и нажав...

Удаление неиспользуемых аккаунтов почт gmail, yandex, mailru
Добрый день! Подскажите, пожалуйста, через какое время удаляют аккаунты в этих сервисах, если в них никто не заходит?

Очистка консоли, очистка строки, установка курсора
Здравствуйте! Подскажите как можно после очистки консоли поставить курсор в самый вверх, чтоб то что вывожу было в верху консоли а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru