Как написать первую функцию

Добрый день.

В этой статье будет описано как же сделать свои первые вычисления и вывести их на экран в элемент формы такой, как «текствое поле».

Создаем новый проект и называем его myCulc_1. Кидаем в форму из тулбокса два «TextBox’а» и одну кнопку. Кликните по первому правой кнопкой и выберите «Properties (Параметры)». Найди в списки параметров строку с названием «Name» и введите в поле справа «txtN1». Тоже самое проделайте и со вторым текстовым полем, только назвоите его «txtN2». Теперь сделаем свое имя и для кнопки аналогичным путем, назавем ее «btStart». Также для кнопки найдите в Параметрах «Lable» и назовите его «Расчет». Еще добавьте одни «Lable» в форму и назовите его «lblOut». Отлично.

Теперь давайте создадим обработку события для кнопки по нажатию. Это можно сделать двойным кликом по ней (в этой статье это было). Открылся код. Будем складывать два разных числа, которые пользователь введет в тестовые поля. Для кнопки будет необходим следующий код:

private void btStart_Click(object sender, EventArgs e)
{
	int N1, N2;
	N1 = Convert.ToInt32(this.txtN1.Text);
	N2 = Convert.ToInt32(this.txtN2.Text);
	this.lblOut.Text = Convert.ToString(N1 + N2);
}

В этом коде я использовал конвертирование параметров текстовых полей в целые числа. Затем при выводе результата в «lblOut» конвентировал сумму чисел в строчный формат. После этого необходимо запустить дебаггер и посмотреть результат.

У нас получилась первая расчитывающая программа. Этого правда не совсем достаточно: хорошим тоном считается — не делать какие либо операции в обработке событий на прямую. Их следует выносить в отдельные функции и процедуры. Сделаем это и для нашей программы.

После закрывающей скобки «}» допишем маленькую собственную функцию:

private float myFunc(int N1, int N2)
{
	float sum = N1 + N2;
	return sum;
}

Теперь заменим код в кнопке на этот:

private void btStart_Click(object sender, EventArgs e)
{
	int N1, N2;
	N1 = Convert.ToInt32(this.txtN1.Text);
	N2 = Convert.ToInt32(this.txtN2.Text);
	this.lblOut.Text = myFunc(N1, N2).ToString();
}

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

private bool check()
{
	int N1, N2;
	try
	{
		N1 = Convert.ToInt32(this.txtN1.Text);
		N2 = Convert.ToInt32(this.txtN2.Text);
	}
	catch (System.Exception erAll)
	{
		return false;
	}
	return true;
}

Изменим нашу кнопку следующим образом:

private void btStart_Click(object sender, EventArgs e)
{
	if (check() == false)
	{
		MessageBox.Show("Значения введены неккоректно");
		return;
	}
	else
	{
		int N1, N2;
		N1 = Convert.ToInt32(this.txtN1.Text);
		N2 = Convert.ToInt32(this.txtN2.Text);
		//
		this.lblOut.Text = myFunc(N1, N2).ToString();
	}
}

Теперь у нас есть функция, которая проверяет входные значения на корректность. Еще это называют «защита от юзера», это очень необходимая вещь в программировании.

Доброго дня