Эксперт по сдаче вступительных испытаний в ВУЗах
Задание:
1) Создать визуальную часть приложения (интерфейс), используя необходимые компоненты. Все нужные компоненты указаны на рисунке 1. Их расположение и общий вид формы может выбираться самостоятельно.
2) Приложение должно позволить пользователю открыть текстовый файл, который считается в RichTextBox. Далее, пользователь может выбрать критерий по которому он хочет отобрать слова: «Все», «Содержащие цифры», «Содержащие ‘имейл’. После нажатия на кнопку «Начать», текст в RichTextBox’e разбивается на слова, которые в свою очередь, заносятся в ListBox (Раздел 1), по заданному критерию. Между двумя разделами имеется панель, в которой находятся 4 кнопки, посредством которых можно переносить отдельные выбранные слова, либо всю коллекцию из одного ListBox’a в другой, а также кнопки «Добавить» и «Удалить», которые соответственно реализуют добавление/удаление элементов из разделов. Также каждый раздел можно очистить, либо отсортировать любыми двумя способами: по длине (возр.), по длине (убыв.), по алфавиту (возр.) и соответственно по алфавиту (убыв.). В нижнем правом углу находится блок, отвечающий за поиск строк в разделах. Может быть также реализована возможность сохранения содержимого из Раздела 2 в текстовый файл.
3) Реализовать Сортировку разделов, любым известным алгоритмом сортировки.
Текст программы:
Form1.cs:
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Lab1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog OpenDlg = new OpenFileDialog();
if (OpenDlg.ShowDialog() == DialogResult.OK)
{
StreamReader Reader = new StreamReader(OpenDlg.FileName, Encoding.Default);
richTextBox1.Text = Reader.ReadToEnd();
Reader.Close();
}
OpenDlg.Dispose();
}
private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveFileDialog SaveDlg = new SaveFileDialog();
if (SaveDlg.ShowDialog() == DialogResult.OK)
{
StreamWriter Writer = new StreamWriter(SaveDlg.FileName);
for (int i = 0; i < listBox2.Items.Count; i++)
{
Writer.WriteLine((string)listBox2.Items[i]);
}
Writer.Close();
}
SaveDlg.Dispose();
}
private void выходToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
MessageBox.Show(«Информация о приложении и разработчике»);
}
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox1.BeginUpdate();
string[] Strings = richTextBox1.Text.Split(new char[] { ‘\n’, ‘\t’, ‘ ‘ },
StringSplitOptions.RemoveEmptyEntries);
foreach (string s in Strings)
{
string Str = s.Trim();
if (Str == String.Empty) continue;
if (radioButton1.Checked) listBox1.Items.Add(Str);
if (radioButton2.Checked)
{
if (Regex.IsMatch(Str, @»\d»)) listBox1.Items.Add(Str);
}
if (radioButton3.Checked)
{
if (Regex.IsMatch(Str, @»\w+@\w+\.\w+»)) listBox1.Items.Add(Str);
}
}
listBox1.EndUpdate();
}
private void button3_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
richTextBox1.Text = «»;
textBox1.Text = «»;
checkBox1.Checked = true;
radioButton1.Checked = true;
}
private void button4_Click(object sender, EventArgs e)
{
listBox3.Items.Clear();
string Find = textBox1.Text;
if (checkBox1.Checked)
{
foreach (string String in listBox1.Items)
{
if (String.Contains(Find)) listBox3.Items.Add(String);
}
}
if (checkBox2.Checked)
{
foreach (string String in listBox2.Items)
{
if (String.Contains(Find)) listBox3.Items.Add(String);
}
}
}
private void button10_Click(object sender, EventArgs e)
{
Form2 AddRec = new Form2();
AddRec.Owner = this;
AddRec.ShowDialog();
}
void DeleteSelectedStrings(ListBox l)
{
for (int i = l.Items.Count — 1; i >= 0; i—)
{
if (l.GetSelected(i))
l.Items.RemoveAt(i);
}
}
private void button9_Click(object sender, EventArgs e)
{
if (checkBox1.Checked)
DeleteSelectedStrings(listBox1);
if (checkBox2.Checked)
DeleteSelectedStrings(listBox2);
}
private void button12_Click(object sender, EventArgs e)
{
listBox2.BeginUpdate();
foreach (object Item in listBox1.SelectedItems)
{
listBox2.Items.Add(Item);
}
listBox2.EndUpdate();
for (int x = listBox1.SelectedIndices.Count — 1; x >= 0; x—)
{
int idx = listBox1.SelectedIndices[x];
listBox1.Items.RemoveAt(idx);
}
}
private void button11_Click(object sender, EventArgs e)
{
listBox1.BeginUpdate();
foreach (object Item in listBox2.SelectedItems)
{
listBox1.Items.Add(Item);
}
listBox1.EndUpdate();
for (int x = listBox2.SelectedIndices.Count — 1; x >= 0; x—)
{
int idx = listBox2.SelectedIndices[x];
listBox2.Items.RemoveAt(idx);
}
}
private void button14_Click(object sender, EventArgs e)
{
listBox2.Items.AddRange(listBox1.Items);
listBox1.Items.Clear();
}
private void button13_Click(object sender, EventArgs e)
{
listBox1.Items.AddRange(listBox2.Items);
listBox2.Items.Clear();
}
private void button5_Click(object sender, EventArgs e)
{
ArrayList q = new ArrayList();
foreach (object o in listBox1.Items)
q.Add(o);
listBox1.Items.Clear();
if (comboBox1.SelectedIndex == 0)
{
var sorted = q.Cast<string>().OrderBy(str => str).ThenBy(str => str.Length);
foreach (object o in sorted)
listBox1.Items.Add(o);
}
else if (comboBox1.SelectedIndex == 1)
{
var sorted = q.Cast<string>().OrderByDescending(str => str).ThenBy(str => str.Length);
foreach (object o in sorted)
listBox1.Items.Add(o);
}
else if (comboBox1.SelectedIndex == 2)
{
var sorted = q.Cast<string>().OrderBy(str => str.Length).ThenBy(str => str);
foreach (object o in sorted)
listBox1.Items.Add(o);
}
else
{
var sorted = q.Cast<string>().OrderByDescending(str => str.Length).ThenBy(str => str);
foreach (object o in sorted)
listBox1.Items.Add(o);
}
}
private void button6_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
}
private void button7_Click(object sender, EventArgs e)
{
listBox2.Items.Clear();
}
private void button8_Click(object sender, EventArgs e)
{
ArrayList q = new ArrayList();
foreach (object o in listBox2.Items)
q.Add(o);
listBox2.Items.Clear();
if (comboBox2.SelectedIndex == 0)
{
var sorted = q.Cast<string>().OrderBy(str => str).ThenBy(str => str.Length);
foreach (object o in sorted)
listBox2.Items.Add(o);
}
else if (comboBox2.SelectedIndex == 1)
{
var sorted = q.Cast<string>().OrderByDescending(str => str).ThenBy(str => str.Length);
foreach (object o in sorted)
listBox2.Items.Add(o);
}
else if (comboBox2.SelectedIndex == 2)
{
var sorted = q.Cast<string>().OrderBy(str => str.Length).ThenBy(str => str);
foreach (object o in sorted)
listBox2.Items.Add(o);
}
else
{
var sorted = q.Cast<string>().OrderByDescending(str => str.Length).ThenBy(str => str);
foreach (object o in sorted)
listBox2.Items.Add(o);
}
}
}
}
Form2.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Lab1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form1 Main = this.Owner as Form1;
if (textBox1.Text != «»)
{
if (this.radioButton1.Checked == true)
Main.listBox1.Items.Add(this.textBox1.Text);
else Main.listBox2.Items.Add(this.textBox1.Text);
this.Close();
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Результаты работы приложения:
Ссылка на первоисточник:
https://etu.ru
Оставить комментарий
Inna Petrova 18 минут назад
Нужно пройти преддипломную практику у нескольких предметов написать введение и отчет по практике так де сдать 4 экзамена после практики
Иван, помощь с обучением 25 минут назад
Inna Petrova, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Коля 2 часа назад
Здравствуйте, сколько будет стоить данная работа и как заказать?
Иван, помощь с обучением 2 часа назад
Николай, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Инкогнито 5 часов назад
Сделать презентацию и защитную речь к дипломной работе по теме: Источники права социального обеспечения. Сам диплом готов, пришлю его Вам по запросу!
Иван, помощь с обучением 6 часов назад
Здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Василий 12 часов назад
Здравствуйте. ищу экзаменационные билеты с ответами для прохождения вступительного теста по теме Общая социальная психология на магистратуру в Московский институт психоанализа.
Иван, помощь с обучением 12 часов назад
Василий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Анна Михайловна 1 день назад
Нужно закрыть предмет «Микроэкономика» за сколько времени и за какую цену сделаете?
Иван, помощь с обучением 1 день назад
Анна Михайловна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Сергей 1 день назад
Здравствуйте. Нужен отчёт о прохождении практики, специальность Государственное и муниципальное управление. Планирую пройти практику в школе там, где работаю.
Иван, помощь с обучением 1 день назад
Сергей, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Инна 1 день назад
Добрый день! Учусь на 2 курсе по специальности земельно-имущественные отношения. Нужен отчет по учебной практике. Подскажите, пожалуйста, стоимость и сроки выполнения?
Иван, помощь с обучением 1 день назад
Инна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Студент 2 дня назад
Здравствуйте, у меня сегодня начинается сессия, нужно будет ответить на вопросы по русскому и математике за определенное время онлайн. Сможете помочь? И сколько это будет стоить? Колледж КЭСИ, первый курс.
Иван, помощь с обучением 2 дня назад
Здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Ольга 2 дня назад
Требуется сделать практические задания по математике 40.02.01 Право и организация социального обеспечения семестр 2
Иван, помощь с обучением 2 дня назад
Ольга, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Вика 3 дня назад
сдача сессии по следующим предметам: Этика деловых отношений - Калашников В.Г. Управление соц. развитием организации- Пересада А. В. Документационное обеспечение управления - Рафикова В.М. Управление производительностью труда- Фаизова Э. Ф. Кадровый аудит- Рафикова В. М. Персональный брендинг - Фаизова Э. Ф. Эргономика труда- Калашников В. Г.
Иван, помощь с обучением 3 дня назад
Вика, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Игорь Валерьевич 3 дня назад
здравствуйте. помогите пройти итоговый тест по теме Обновление содержания образования: изменения организации и осуществления образовательной деятельности в соответствии с ФГОС НОО
Иван, помощь с обучением 3 дня назад
Игорь Валерьевич, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Вадим 4 дня назад
Пройти 7 тестов в личном кабинете. Сооружения и эксплуатация газонефтипровод и хранилищ
Иван, помощь с обучением 4 дня назад
Вадим, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Кирилл 4 дня назад
Здравствуйте! Нашел у вас на сайте задачу, какая мне необходима, можно узнать стоимость?
Иван, помощь с обучением 4 дня назад
Кирилл, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Oleg 4 дня назад
Требуется пройти задания первый семестр Специальность: 10.02.01 Организация и технология защиты информации. Химия сдана, история тоже. Сколько это будет стоить в комплексе и попредметно и сколько на это понадобится времени?
Иван, помощь с обучением 4 дня назад
Oleg, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Валерия 5 дней назад
ЗДРАВСТВУЙТЕ. СКАЖИТЕ МОЖЕТЕ ЛИ ВЫ ПОМОЧЬ С ВЫПОЛНЕНИЕМ практики и ВКР по банку ВТБ. ответьте пожалуйста если можно побыстрее , а то просто уже вся на нервяке из-за этой учебы. и сколько это будет стоить?
Иван, помощь с обучением 5 дней назад
Валерия, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Инкогнито 5 дней назад
Здравствуйте. Нужны ответы на вопросы для экзамена. Направление - Пожарная безопасность.
Иван, помощь с обучением 5 дней назад
Здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Иван неделю назад
Защита дипломной дистанционно, "Синергия", Направленность (профиль) Информационные системы и технологии, Бакалавр, тема: «Автоматизация приема и анализа заявок технической поддержки
Иван, помощь с обучением неделю назад
Иван, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru
Дарья неделю назад
Необходимо написать дипломную работу на тему: «Разработка проекта внедрения CRM-системы. + презентацию (слайды) для предзащиты ВКР. Презентация должна быть в формате PDF или формате файлов PowerPoint! Институт ТГУ Росдистант. Предыдущий исполнитель написал ВКР, но работа не прошла по антиплагиату. Предыдущий исполнитель пропал и не отвечает. Есть его работа, которую нужно исправить, либо переписать с нуля.
Иван, помощь с обучением неделю назад
Дарья, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru