コード例 #1
0
        //Кнопка для вывода формы редактирования текста
        private void EditTextButton_Click(object sender, EventArgs e)
        {
            var EditTextForm = new EditTextForm();

            EditTextForm.ShowDialog();
            if (EditTextForm.DialogResult == DialogResult.OK)
            {
                DeleteSymbolArray = EditTextForm.currentText.SymbolMark;
                DeletePunctuationSymbolMethod();

                currentMinimumLength = EditTextForm.currentText.MinWordLength;
                DeleteWordsSpecifiedLength();
            }
        }
コード例 #2
0
        //Поле редактирования текста файла
        private void EditTextToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var EditTextForm = new EditTextForm();

            //Вызываем форму для выбора действий по редактированию текста файла
            EditTextForm.ShowDialog();

            //Если результат работы формы ОК
            if (EditTextForm.DialogResult == DialogResult.OK)
            {
                //Передаем массив со знаками препинания, которые необходимо удалить в MainForm из EditTextForm
                DeleteSymbolArray = EditTextForm.currentText.SymbolMark;

                DeletePunctuationSymbolMethod();

                //Передаем минимальную длину слова в MainForm из EditTextForm
                currentMinimumLength = EditTextForm.currentText.MinWordLength;

                DeleteWordsSpecifiedLength();
            }
        }
コード例 #3
0
        //Метод, обеспечивающий обработку паки с файлами
        private void ProcessFolderFilesMethod()
        {
            FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();

            //Если результат диалога выбора папки равен ОК
            if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
            {
                //Записываем в переменную путь к выбранно папке
                string folderName = folderBrowserDialog.SelectedPath;

                //Записываем в массив пути к файлам в указанной папке
                string[] folderFiles = Directory.GetFiles(folderName, "*.txt", SearchOption.AllDirectories);

                //Выводим пользователю диалог с запросом на необходимость обработки файлов в указанной папке
                DialogResult result = MessageBox.Show("Process a files in folder?", "Process", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                if (result == DialogResult.OK)
                {
                    var editTextForm = new EditTextForm();
                    editTextForm.ShowDialog();

                    if (editTextForm.DialogResult == DialogResult.OK)
                    {
                        DeleteSymbolArray    = editTextForm.currentText.SymbolMark;
                        currentMinimumLength = editTextForm.currentText.MinWordLength;

                        //Выводим пользователю сообщение о необходимости сохранения файлов в папке
                        DialogResult SaveFilesInFolder = MessageBox.Show("Save files in folder?", "Save", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                        if (SaveFilesInFolder == DialogResult.OK)
                        {
                            if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
                            {
                                //Записываем в переменную путь к выбранной для сохранения папке
                                string folderSaveName = folderBrowserDialog.SelectedPath;

                                //Циклом проходим по всем файла в выбранной папке
                                for (var i = 0; i < folderFiles.Length; i++)
                                {
                                    //Получаем имя файла, с которым программа работает в данный момент
                                    string folderSaveNameInFolder = Path.GetFileName(folderFiles[i]);

                                    //Получаем текст из файла, с которым программа взаимодействует в данный момент
                                    string fileTextInFolder = File.ReadAllText(folderFiles[i]);

                                    //Записываем в массив элементов текст из файла
                                    char[] symbolsArray = fileTextInFolder.ToCharArray();

                                    //Записываем массив с текстом из файла в список
                                    var symbolsList = new List <char>(symbolsArray);

                                    //Циклом проходим по всем элементам списка
                                    for (int z = 0; z < symbolsList.Count; z++)
                                    {
                                        //Циклом проходим по всем элементам массива со знаками, которые необходимо удалить из текста
                                        for (int j = 0; j < DeleteSymbolArray.Length; j++)
                                        {
                                            //Если элемент списка symbolsList равен символу массива DeleteSymbolArray
                                            if (symbolsList[z] == DeleteSymbolArray[j])
                                            {
                                                //Удаляем элемент списка
                                                symbolsList.RemoveAt(z);

                                                //Обнуляем счетчик для удаления для контрольной проверки текста
                                                z = 0;
                                            }
                                        }
                                    }

                                    //Записываем в строку результат обработки списка
                                    fileTextInFolder = String.Join("", symbolsList);

                                    //Записываем в строковый массив строки, полученные при разделении входящей строки по пробелу
                                    string[] words = fileTextInFolder.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                                    //Записываем в список массив строк
                                    var wordsList = new List <string>(words);

                                    //Циклом проходим по всем элементам списка
                                    for (int q = 0; q < wordsList.Count; q++)
                                    {
                                        //Если длина элемента списка меньше либо равна минимальной заданной длине
                                        if (wordsList[q].Length <= currentMinimumLength)
                                        {
                                            //Удаляем элемент списка
                                            wordsList.RemoveAt(q);

                                            //Обнуляем счетчик
                                            q = 0;
                                        }

                                        //Повторяем операцию для устранения необработанных элементов списка,
                                        //если находим, то удаляем элемент
                                        if (wordsList[q].Length <= currentMinimumLength)
                                        {
                                            //Удаляем элемент списка
                                            wordsList.RemoveAt(q);
                                        }
                                    }

                                    //Преобразуем список в строку, вставляя между элементами списка пробел
                                    fileTextInFolder = String.Join(" ", wordsList);

                                    //Комбинируем путь до папки и имя сохраняемого файла в один путь
                                    var file = Path.Combine(folderSaveName, folderSaveNameInFolder);

                                    //Записываем по указанному пути файл с редактированным текстом
                                    File.WriteAllText(file, fileTextInFolder);
                                }

                                //Выводим сообщения об окончании обработки папки
                                DialogResult completed = MessageBox.Show("Process completed!", "Complet", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                            }
                        }
                    }
                }
            }
        }