Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Введение в программирование на языке Visual C#

Методы ввода и вывода данных

Для запуска программы на выполнение следует выбрать на панели Standard кнопку Start Debugging либо воспользоваться «горячей» клавишей F5. Никаких функциональных действий она, конечно, выполнять не будет, поскольку мы не сделали самого главного — не написали программу. Для этого нам следует, в первую очередь, познакомиться с методами ввода-вывода данных.

В листинге 11 приведен текст программы, выполняющей сложение двух чисел. При создании консольных приложений для ввода-вывода данных используется класс Console пространства имен System. Методы ввода Write и WriteLine отличаются тем, что использование последнего приводит к переводу курсора на следующую строку. По умолчанию данные, считанные методом ReadLine, представляются текстовой строкой. Поэтому в листинге присутствует переменная con, описанная типом String.

Предположим, мы будем вводить в программе дробные значения в качестве данных, тогда, например, метод ToDoubleO можно использовать для преобразования текстового аргумента в числовое значение вещественного типа (см. листинг 11).

Кроме класса Convert, с помощью которого и выполняется данное преобразование, в программах можно применять метод Parse, что показано в листинге 12.

Листинг 11

using System;

using System.Collections.Generic; using System.Text;

namespace ConsoleApplicationl {

class Program {

static void Main(string[] args)

{

string con;

Console.WriteLine("Введите 1 число ");

con = Console.ReadLine();

double a = Convert.ToDouble(con);

Console.Write("Введите 2 число "); con = Console.ReadLine(); double b = Convert.ToDouble(con); double c = a + b;

Console.WriteLine("Результат сложения двух чисел = " + с); Console.ReadLine(); //Ожидание нажатия клавиши для завершения работы приложения }

}

}

Листинг 12

using System;

using System.Collections.Generic; using System.Text;

namespace ConsoleApplicationl {

class Program

{

static void Main(string[] args)

{

string con;

Console.WriteLine("Введите 1 число " ); con = Console.ReadLine(); double a = double.Parse(con);

Console.Write("Введите 2 число "); con = Console.ReadLine(); double b = double.Parse(con); double c = a + b;

Console.WriteLine("Результат сложения двух чисел = " + с); Console.ReadLine();

}

}

}

В листинге 13 приведен код программы «Сложение двух чисел», созданной как Windows-приложение. Для его создания, как говорилось выше, следует выбрать в окне New Progect опцию Windows Application и нанести на форму элементы управления (панель Toolbox) в соответствии с рис. 12.

Последовательно выделяя каждый элемент управления (Forml, label 1, label2, la-bel3, buttonl), находим его свойство Text и вводим надписи в соответствии с рис. 13.

Рис. 12. Порядок расположения элементов на форме

Рис. 13. Подписи к элементам управления

В листинге 13 приведена процедура, выполняющая сложение двух чисел. Для ее написания следует выполнить двойной щелчок на кнопке buttonl (Ок), создав процедуру обработки события buttonl_CIick.

Листинг 13

private void buttonl_Click(object sender, EventArgs e)

{

double a = Convert.ToDouble(textBoxl.Text); double b = Convert.ToDouble(textBox2.Text);

double с = a + b;

textBox3.Text = c.ToString("n");

}

Пользователь, используя методы ввода-вывода, выводит результаты разработанной им программы на экран. Однако сделать это он может по-разному, в частности, ввод данных можно осуществить на форме, что предпочтительнее тогда, когда не требуется вводить множество данных. И, наоборот, в случае ввода большого количества данных предпочтительнее запрограммировать стандартное диалоговое окно. Рассмотрим эти способы подробнее.

Первый способ. Ввод данных в текстовое окно, расположенное на форме.

Например:

double а = Convert.ToDouble(textBoxl.Text);

ИЛИ

int a = Convert.ToIntl6(textBoxl.Text);

Запись такого вида означает занесение в ячейку с именем а введенного пользователем значения в текстовое окно с именем textBoxl, расположенное на форме.

Появление интеллектуальной подсказки, которая появится после того, как пользователь поставит точку при написании класса Convert, поможет сориентироваться в выборе нужного метода преобразования.

Подобная ситуация представлена на рис. 14.

Вывод данных в текстовое окно на форме можно осуществить, используя метод ToString.

Например:

textBox3.Text = с.ToString("n");

Запись c.ToString() означает, что значение переменной с преобразуется из числа в строку символов.

і

private void buttonl Click(cfc~ect sender, EventArgs e)

ir.: a = :invert.

L

i) 0 Messages

ToChar ^ ToDateTime $ ToDedmal ^ ToDouble

?I

Ъ ToInt32 ^ ToInt64 Ъ ToSByte ToSmgle $ ToString

short Convert.Tolnt 16(string value, int fromBase) (+ 13 Converts the System.String representation of a number ir signed integer.

Exceptions:

System. ArgumentException System. OverflowExcepbon System. Forma tException

Рис. 14. Появление интеллектуальной подсказки

В коде листинга 13 используется один из символов форматирования строк, применяемых в Visual С#. В строке textBox3.Text = c.ToString(Mnf'); используется символ п. В табл. 9 представлены основные символы форматирования строк.

Таблица 9. Символы форматирования строк

Константа

Формат отображения числа

f,F

Число с фиксированной точкой

е, Е

Число, записанное в экспоненциальной форме

n, N

Числовой формат Number. Применяется для представления дробных чисел

g,G

Универсальный формат General. Можно использовать для представления чисел с фиксированной или плавающей точкой

d, D

Используется для форматирования десятичных чисел

с, С

Денежный формат. Применяется для отображения денежных величин

Второй способ. Создание диалоговых окон.

К сожалению, в пространстве имен System.Windows.Forms нет базового класса, отвечающего за вывод диалоговых окон. Воспользуемся функцией InputBox языка программирования Microsoft Visual Basic, который входит в состав среды Microsoft Visual Studio 2012. Для ее использования выберем пункт

меню Project / Add Reference. Откроется окно, представленное на рис. 15

Add Reference

Ш)

.NET

COM

Projects Browse Recent

Component Name ^

Version

Runtime

Microsoft. SqlServer. SmoEnum

9.0.242.0

v2.0.50727

Microsoft. SqlServer.SqlEnum

9.0.242.0

v2.0.50727

Microsoft.SqIServer.WmiEnum

9.0.242.0

v2.0.50727

Microsoft.stdformat

7.0.3300.0

vl.0.3705

I Microsoft. VisualBasJC

8.0.0.0

v2.0.50727 !

Microsoft. VisualBasic.Compatibility

8.0.0.0

v2.0.50727

Microsoft. VisualBasic.Compatibility.Data

8.0.0.0

v2.0.50727 і

Microsoft. VisualBasic. Vsa

8.0.0.0

v2.0.50727

Microsoft. VisualC

8.0.0.0

v2.0.50727

Microsoft. VisualC. VSCodeProvider

8.0.0.0

v2.0.50727

Microsoft. VisualStudio. CommandBars

8.0.0.0

vl.0.3705

Microsoft. VisualStudio .CommandBars

8.0.0.0

vl.0.3705

Microsoft. VisualStudio. Debugger Visualizers

8.0.0.0

v2.0.50727

Microsoft. VisualStudio.TemplateWizardlnterface

8.0.0.0

v2.0.50727

Mirrrv;nft. Vici іяІЯй iHin. VCr nrleMorlel

Я.П.0.Г)

vl.0.3705

<

>

OK

Cancel

Рис. 15. Окно Add Reference

На вкладке .NET выбираем Microsoft.Visual Basic и нажмем Ok. В окне Solution Explorer (рис. 16) увидим ссылку Microsoft.Visual Basic.

Solution Explorer ? Д X

a

j> m ш ш a

•ip Наконец-то получившееся с

SI cM Properties

a ?

References

*0 Microsoft.VisualBasic *0 System •O System.Data *0 System.Deployment *0 System.Drawing *0 System.Windows.Forms 'O System.Xml

Q .

] Forml.cs

^ Forml.Designer.es ^ Forml.resx

Program.es

< L

>

Рис. 16. Окно Solution Explorer

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

Переменная = Microsoft.VisualBasic.ІпІегасйоп.ІприіВох('77/шглашгш/г", "Заголовок'", "Содержимое", X, Y);

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

Аргумент Заголовок — это надпись в строке заголовка Окна ввода.

Содержимое — первоначальное содержимое поля ввода.

X и Y — координаты вывода диалогового окна (чаще всего будем использовать координаты -1,-1, которые позволят расположить окно по центру экрана).

Значение функции InputBox — строка, которую ввел пользователь. Поэтому если программе надо получить число, то введенная строка должна быть преобразована в число при помощи соответствующего метода.

Вывод в окно сообщения осуществляется с помощью функции MessageBox и метода Show — MessageBox.Show. Эта функция позволяет поместить в окно с сообщением один из стандартных значков, например «Внимание», задать количество и тип командных кнопок и определить, какую из кнопок нажал пользователь.

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

MessageBox.Show ("Сообщение" + Значение, "Заголовок", Кнопки, Пиктограмма)

Сообщение — представляет собой текст, который будет отображен в окне сообщения.

Значение — ответ, представленный в числовом виде.

Заголовок — это надпись в строке заголовка Окна вывода.

Кнопки — указывается тип отображаемых кнопок.

Пиктограмма — тип используемой пиктограммы.

Установки для аргумента Кнопки представлены в табл. 10.

Таблица 10. Установки для аргумента Кнопки

Константа

Описание

MessageBoxButtons.OK

Отображает только кнопку Ок

MessageBoxButtons.OkCancel

Отображает кнопки Ок и Отмена

MessageBoxButtons.AbortRetrylgnore

Отображает кнопки Стоп, Повтор и Пропустить

MessageBoxButtons.YesNoCancel

Отображает кнопки Да, Нет, Отмена

MessageBoxButtons.YesNo

Отображает кнопки Да, Нет

MessageBoxButtons.RetryCancel

Отображает кнопки Повтор и Отмена

Некоторые наиболее часто используемые установки для аргумента Пиктограмма представлены в табл. 11.

Таблица 11. Установки для аргумента Пиктограмма_

Константа

Описание

MessageBoxIcon. Error

Отображает запрещающую пиктограмму

MessageBoxIcon. Question

Отображает предупреждающую пиктограмму (знак вопроса на белом фоне)

MessageBoxIcon.Exclamation

Отображает предупреждающую пиктограмму (знак вопроса в красном треугольнике)

MessageBoxIcon.Information

Отображает информационную пиктограмму

В листинге 14 приведен еще один вариант программы «Сложить два числа» с использованием функций InputBox и MessageBox.

Листинг 14

namespace WindowsApplicationl

public partial class Forml : Form

{

public Forml()

{

InitializeComponent();

} private void Forml_Load(object sender, EventArgs e)

{

string a =

Microsoft.VisualBasic.Interaction.InputBox("Введите 1 число", "Заголовок окна", "О", -1, -1); //первоначальное содержимое окна ввода

— О ,так как в качестве параметра указано "0"

int chislo = Convert.ToInt32(a); string b =

Microsoft.VisualBasic.Interaction.InputBox("Введите 2 число", "Заголовок окна", -1, -1); //первоначальное содержимое окна ввода

— курсор, так как в качестве параметра указаны пустые кавычки ""

int chislol = Convert.ToInt32(a); //преобразуем строковое значение в числовое

int chislo2 = Convert.ToInt32(b); //преобразуем строковое значение в числовое

int sum = chislol + chislo2;

MessageBox.Show("Сумма двух чисел=" + sum.ToString("n"),"Заголовок

окна",MessageBoxButtons.OK,MessageBoxIcon.Information);

Application.Exit();

}

}

}

Последовательность появления запроса на ввод данных и вывода результата представлена на рис. 17 — 19._

Рис. 17. Запрос на ввод первого числа

Рис. 18. Запрос на ввод второго числа

Рис. 19. Результат сложения чисел

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
 
Популярные страницы