Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Desktop_1 / ЛК / Лекция 14ВвВывМодуль.doc
Скачиваний:
37
Добавлен:
10.06.2015
Размер:
415.74 Кб
Скачать

Лекция 14

20.0. Ввод и вывод данных

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

int.Parse(s) Целое, изображением которого является строка s.

double.Parse(s) Вещественное, изображением которого является строка.

После расчёта полученный результат выводится в компоненты через их свойства «text» поэтому числовые значения необходимо преобразовать в их строковые отображения. Для этого используются следующие методы:

S.ToString() Строка, являющаяся изображением вещественного / целого числа s, в соответствии с заданным форматом.

String.Format(s,x) Строка, являющаяся изображением вещественного числаxс заданным форматированиемs.

Строка формата задается методу String.Formatв следующем виде:

{ N [ , M ] [ : formatString ] }

Здесь число Nзадает номер преобразуемого аргумента, передаваемого методуString.Formatв качестве параметра. Необязательное числоMзадает ширину области текстовой строки (в символах), внутри которой необходимо поместить цифры преобразуемого значения. Если это число отрицательное, цифры числа выравниваются по левой границе данной области, а если положительное – по правой границе области.

Например,

int а = int.Parse(textBox1.Text); //преобразование текста-числа, введенного

// в textBox1 в целое число

double b = double.Parse(textBox1.Text); //преобразование текста-числа, введенного

// в textBox1 в вещественное число

label3.Text = S.ToString()+ " руб."; // преобразование числа S в строку

label1.Text =String.Format(“{0,5:d}”,x); преобразование целогочисла x в строку, где d – количество (здесь 5) целых чисел в изображении числа в компоненте label1.Text.

label1.Text =String.Format(“{0:f 2}”,x); // преобразование вещественного числа x в строку c форматным выводом символов в компонент label1 через его свойство Text,

где 0 – индекс переменной, f – мантисса c2 символами после запятой.

label1.Text =String.Format(“{0,8:f 3}”,x); // преобразование числа x в строку c форматным выводом символов в компонент label1, где 0 – индекс переменной, 8 – количество выводимых символов (включая зпт.), f – мантисса c3 символами после зпт.

label1.Text=String.Format(“{0}”,x); // форматирование по умолчанию.

20.1 Ввод из поля редактирования и вывод в метку, и окно сообщения

В качестве поля редактирования используется компонент textBox (однострочный текстовой контейнер). Ввод данных осуществляется через свойство text.

Пример расчета суммы оплаты за купленные детали, с выводом результата в метку label3. Вывод данных осуществляется то же через свойствоtext.

textBox1

textBox2

private void button1_Click(object sender, EventArgs e)

{

try //охраняемый блок

{

double cena = double.Parse(textBox1.Text); // преобразование в вещественное

int kol = int.Parse(textBox2.Text); // преобразование в целое число

double S = cena * kol; // расчет стоимости

label3.Text = "S= " + String.Format("{0,8:f2}", S) + " руб."; //вывод результата

}

catch//перехватчик исключения и формирование ошибки

{ // Вывод в метку

label3.Text = " Нельзя вводить буквы ";

// Вывод в окно сообщения MessageBox

MessageBox.Show("Надо вводить цифры");

}

}

Соседние файлы в папке ЛК