Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Поле редактирования с возможностью задания IP-адреса

Тип Реферат
Предмет Информатика и программирование
Просмотров
390
Размер файла
427 б
Поделиться

Ознакомительный фрагмент работы:

Поле редактирования с возможностью задания IP-адреса

Курсовая работа

По дисциплине "Объектно-ориентированное программирование"

На тему "Поле редактирования с возможностью задания IP-адреса"


Содержание

1. Постановка задачи и ее анализ

2. Иерархия классов и интерфейсов

3.Описание классов, их полей, свойств

4. Блок-схемы алгоритмов

5.Тестирование

Заключение

Приложение

приложение интерфейс программирование алгоритм


1. Постановка задачи и ее анализ

Предлагается разработать компонент для дальнейшего использования при создании приложений. Выбор родительского компонента следует осуществить исходя из цели разработки. Компонент должен обладать соответствующими свойствами и событиями, указанными в пояснении. Продемонстрировать использование разработанного компонента в приложении.

При этом необходимыми условиями работы являются использование в качестве инструмента разработки - среды программирования MicrosoftVisualStudio.NET. Язык программирования C#.

В данной пояснительной записке рассматривается описание процесса создания компонента дальнейшего использования при создании приложений "Editip".

Компонент "Editip" содержит в себе 4 свойства "ip1", "ip2", "ip3", "ip4", хранящие IPv4 номера побитно. Эти свойства были созданы для проверки правильности обработки компонентов введенных данных. При событии изменения строки идет проверка на ввод цифр или точки. Если введен неудовлетворяющий этому условию символ – он убирается из строки, без сброса каретки. Если в строке обнаружится более трех точек, и после последней будет стоять число – все содержимое текстового поля обновляется согласно правилам ввода IP-адреса (754.198589.50.5 превращается в 255.255.50.5).


2.Иерархия классов и интерфейсов

Рисунок 1 – Иерархия классов

3.Описание классов, их полей, свойств

Класс "Editip" является дочерним классом "TextBox". В него добавлены свойства свойства "ip1", "ip2", "ip3", "ip4" типа byte. Изменен метод "OnTextCanged", в котором идет проверка на удовлетворение введенных данных условию поставленной задачи и обработка этих данных с изменением свойств, таких как "ip1", "ip2", "ip3", "ip4" и "Text".


4. Блок-схемы алгоритмов

Алгоритм метода "OnTextChanged".


5. Тестирование

Для тестирования компонента был приглашен человек с опытом пользователя работы на компьютере, который проверял компонент в специально созданной форме на все возможные ошибки. Тестирование показало, что функциональность компонента соответствует предъявленным требованиям.

В результате тестирования компонента были осуществлены следующие операции:

- в форму был помещен созданный компонент "Editip" и четыре стандартных компонента "Label" имеющих обозначение ip1, ip2, ip2, ip4 соответственно;

- в событии TextCanged компонента Editip было прописано присвоение свойств ip1, ip2, ip3, ip4 проверочным строкам (выделены жирным).

Рисунок 4 – Ввод в форму ip адреса

- при внесении в поле компонента числа превышающего 255, ip автоматически снижали это число в 255.

Рисунок 5 – Ввод в форму больших чисел


- после ввода последних цифр, после третьей точки, вид компонента приходил в "порядок", если числа ip1, ip2, ip3 не соответствовали требованиям

Рисунок 6 – Ввод в форму последнего числа

- была выявлена ошибка переполнения, вследствие ввода слишком большого числа, которое не могло быть преобразовано в числовой формат Int32.

Рисунок 7 – Ошибка


Ошибка была исправлена использованием в компоненте try-catch

Рисунок 8 – Ошибка исправлена


Заключение

В рамках курсовой работы была создан компонент "Editip" для дальнейшего использования при создании приложений. В процессе проектирования использовались методологии объектно-ориентированного программирования.

В процессе создания программы мы более тесно познакомились с синтаксисом языка C#, в частности создания компонентов, которые очень удобно использовать в широком спектре разнотипных программ.


Приложение

Листинг

Модуль главной формы

usingSystem;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace OOPip

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void editip1_TextChanged(object sender, EventArgs e)

{

label1.Text = Convert.ToString(editip1.ip1);

label2.Text = Convert.ToString(editip1.ip2);

label3.Text = Convert.ToString(editip1.ip3);

label4.Text = Convert.ToString(editip1.ip4);

}

}

}


Модулькомпонента"Editip"

using System;

using System.ComponentModel;

using System.Collections.Generic;

using System.Diagnostics;

using System.Text;

namespace OOPip

{

public partial class Editip : System.Windows.Forms.TextBox

{

public Editip()

{

InitializeComponent();

}

public Editip(IContainer container)

{

container.Add(this);

Text = "0.0.0.0";

InitializeComponent();

}

// объявляем переменные хранящие циры ip адреса

public short ip1, ip2, ip3, ip4;

// встраиваемсявсобытиеизменениятекста

protected override void OnTextChanged(EventArgs e)

{

// обнуляем переменные хранящие циры ip адреса

ip1 = 0;

ip2 = 0;

ip3 = 0;

ip4 = 0;

// запоминаем положение каретки

int start = SelectionStart;

//счетчикточек

byte pCount = 0;

// если строка не пуста

try

{

if (Text != "")

{

// нам нужен ввод только цифр, проверяем введенные символы на соответствие

for (int i = 0; i < Text.Length; i++)

{

// проверканасоответствиечислам

if ((Convert.ToInt32(Text[i]) >= 48 && Convert.ToInt32(Text[i]) <= 57)

// или соотвествие точке, не стоящей первой, не более чем третей и после цифры

|| (Text[i] == '.' && pCount < 3 && i >= 1

&& (Convert.ToInt32(Text[i - 1]) >= 48 && Convert.ToInt32(Text[i - 1]) <= 57)))

{

if (Text[i] == '.')

{

pCount++;

}

}

else

{

Text = Text.Substring(0, i) + Text.Substring(i + 1);

}

}

// закрываем ипы методом сканирования на точки

string Str = Text;

int ii = 0;

if (Str.IndexOf('.') != -1)

{

ii = (Convert.ToInt32(Str.Substring(0, Str.IndexOf('.'))));

if (ii > 255) { ii = 255; } ip1 = Convert.ToByte(ii);

Str = Str.Substring(Str.IndexOf('.') + 1);

}

if (Str.IndexOf('.') != -1)

{

ii = (Convert.ToInt32(Str.Substring(0, Str.IndexOf('.'))));

if (ii > 255) { ii = 255; } ip2 = Convert.ToByte(ii);

Str = Str.Substring(Str.IndexOf('.') + 1);

}

if (Str.IndexOf('.') != -1)

{

ii = (Convert.ToInt32(Str.Substring(0, Str.IndexOf('.'))));

if (ii > 255) { ii = 255; } ip3 = Convert.ToByte(ii);

Str = Str.Substring(Str.IndexOf('.') + 1);

}

if (Str != "")

{

ii = (Convert.ToInt32(Str)); if (ii > 255) { ii = 255; } ip4 = Convert.ToByte(ii);

}

}

}

catch { }

// приводим в "божеский вид" напечатаный текст, если уже имеется 3 точки и последний символ не точка

if (pCount == 3 && Text.LastIndexOf('.') != Text.Length - 1)

{

Text = Convert.ToString(ip1) + "." + Convert.ToString(ip2) + "." + Convert.ToString(ip3) + "." + Convert.ToString(ip4);

}

// возвращаем каретку на место (сбивается при измении текста)

SelectionStart = start;

base.OnTextChanged(e);

}

}

}


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156804
рейтинг
icon
6076
работ сдано
icon
2739
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
65 308 оценок star star star star star
среднее 4.9 из 5
Юр
Очень рада, что нашла такого исполнителя! Все быстро и качественно! Спасибо огромное)) все...
star star star star star
Волгау
Отзывчивый человек, пошла на встречу и в цене и в требованиях. Рекомендую, все быстро и ка...
star star star star star
КемГУ
Спасибо большое за отличную работу. Выполнена раньше срока и без замечаний
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

1 задание по вариант10

Контрольная, Нормативно-правовые основы проектирования систем электроснабжения

Срок сдачи к 15 мар.

только что

Сделать презентацию на 20 страниц в Power Point

Презентация, Событийный туризм

Срок сдачи к 16 мар.

1 минуту назад

Контрольная работа сделать задание 3...

Контрольная, Гидрология

Срок сдачи к 16 мар.

2 минуты назад

Изменить текст

Решение задач, Логистика

Срок сдачи к 14 мар.

10 минут назад

География 9 класс, ДЗ

Решение задач, География

Срок сдачи к 15 мар.

10 минут назад

Химия 9 класс, ДЗ

Решение задач, Химия

Срок сдачи к 15 мар.

10 минут назад

Эссе по фильму «Суфражистка» (Великобритания, 2015)

Эссе, Гендерное измерение истории, история

Срок сдачи к 14 мар.

11 минут назад

Выполнить реферат на тему "Управление затратами организации" и ответить на вопросы.

Реферат, Управление затратами сварочного производства

Срок сдачи к 23 мар.

11 минут назад

Настольный теннис

Другое, Физическая культура и спорт

Срок сдачи к 18 мар.

11 минут назад

Написать курсовую 30-40 страниц

Курсовая, Документационное обеспечение работы с персоналом

Срок сдачи к 10 апр.

11 минут назад

Выполнить технологие карты

Другое, Русский язык и литература

Срок сдачи к 15 мар.

11 минут назад

Сделать реферат по биохимии

Реферат, Биохимия

Срок сдачи к 28 мар.

11 минут назад

Сделать отчет по практике

Отчет по практике, Ревьюирование программных модулей, программирование

Срок сдачи к 22 мар.

11 минут назад

Разработка специализированных хлебобулочных изделий

Контрольная, Технология специализированных пищевых продуктов, кулинария

Срок сдачи к 29 мар.

11 минут назад

Изменить текст

Отчет по практике, Логистика

Срок сдачи к 14 мар.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно