Результат работы программы




Введение

Работа программы основана на технологии

Windows Presentation Foundation (WPF, кодовое название — Avalon) — система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем, графическая (презентационная) подсистема в составе.NET Framework (начиная с версии 3.0), имеющая прямое отношение к XAML (ЗАМЛ).

WPF вместе с.NET Framework 3.0 предустановлена в Windows Vista и Windows 7(.NET Framework 3.5 SP1). С помощью WPF можно создавать широкий спектр как автономных, так и запускаемых в браузере приложений

Особенности технологии

В основе WPF лежит векторная система визуализации, не зависящая от разрешения устройства вывода и созданная с учётом возможностей современного графического оборудования. WPF предоставляет средства для создания визуального интерфейса, включая Язык XAML (Extensible Application Markup Language), элементы управления, привязку данных, макеты, двухмерную и трёхмерную графику, анимацию, стили, шаблоны, документы, текст, мультимедиа и оформление.

Графической технологией, лежащей в основе WPF, является DirectX, в отличие от Windows Forms, где используется GDI/GDI+[2]. Производительность WPF выше, чем у GDI+ за счёт использования аппаратного ускорения графики через DirectX.

Также существует урезанная версия CLR, называющаяся WPF/E, она же известна как Silverlight.

Использование разметки XAML

XAML представляет собой XML, в котором фактически реализованы классы.NET Framework. Так же реализована модель разделения кода и дизайна, позволяющая кооперироваться программисту и дизайнеру. Кроме того, есть встроенная поддержка стилей элементов, а сами элементы легко разделить на элементы управления второго уровня, которые, в свою очередь, разделяются до уровня векторных фигур и свойств/действий. Это позволяет легко задать стиль для любого элемента, например, Button (кнопка).

Средства разработки

Для работы с WPF требуется любой.NET-совместимый язык. В этот список входит множество языков: C#, VB, C++, Ruby, Python, Delphi (Prism), Lua и многие другие. Для полноценной работы может быть использована как Visual Studio, так и Expression Blend. Первая ориентирована на программирование, а вторая — на дизайн и позволяет делать многие вещи, не прибегая к ручному редактированию XAML. Примеры этому — анимация, стилизация, состояния, создание элементов управления и так далее.

 

Условие задания

 

Создать программу обработки текста для отдела статистики, которая позволяет:

· выводить текст на экран дисплея.

· поочередно выводить каждое слово текста, содержащее максимальное количество символов.

· выводить каждое слово текста, содержащее минимальное количество символов.

· выводить на экран только цитаты, то есть предложения заключенные в кавычки.

· выводить на экран только слова текста, начинающиеся с гласных букв и оканчивающиеся гласными буквами.

· выводить на экран только предложении, состоящие из заданного количества слов.

 

Текст программы

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Navigation;

using System.Windows.Shapes;

using System.IO;

 

namespace WPFExampleProject

{

/// <summary>

/// Interaction logic for MainWindow.xaml

/// </summary>

public partial class MainWindow: Window

{

protected String text;

public MainWindow()

{

InitializeComponent();

 

}

 

private void button1_Click(object sender, RoutedEventArgs e)

{

Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();

dlg.FileName = "Document";

dlg.DefaultExt = "*.log";

dlg.Filter = "Natalia's Files (.log)|*.log";

Nullable<bool> result = dlg.ShowDialog();

 

if (result == true)

{

string filename = dlg.FileName;

StreamReader sr = new StreamReader(filename, Encoding.Default);

text = sr.ReadToEnd();

textBox2.Text = text;

sr.Close();

}

}

 

public void Max()

{

 

string[] TextArray = text.Split(' ', '.', ',', '!', '?', '"', '-', '_', ')', '(', '\n');

int maxValue = TextArray[0].Length;

 

 

String maxWord = TextArray[0];

for (int i = 1; i < TextArray.Length; i++)

{

if (maxValue < TextArray[i].Length)

maxValue = TextArray[i].Length;

 

 

}

textBox1.Text = "";

 

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

{

if (maxValue == TextArray[i].Length)

textBox1.Text += TextArray[i];

}

 

}

 

 

public void Min()

{

string[] TextArray = text.Split('\n', ' ', '.', ',', '!', '?', '"', '-', '—', '_', ')', '(');

int minValue = TextArray[0].Length;

 

 

String minWord = TextArray[0];

 

for (int i = 1; i < TextArray.Length; i++)

{

if (minValue > TextArray[i].Length && TextArray[i].Length!= 0)

minValue = TextArray[i].Length;

}

 

textBox1.Text = "";

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

{

if (minValue == TextArray[i].Length)

textBox1.Text += TextArray[i] + "\n";

}

}

 

public void quote

{

textBox1.Text = "";

bool blocked = false;

char symbol = '"';

char[] delimiter = text.ToCharArray();

foreach (char b in delimiter)

{

 

if ((b.CompareTo(symbol)==0) && blocked == false)

{

MessageBox.Show("!!!!");

blocked = true;

continue;

}

if (b == symbol && blocked == true)

{

textBox1.Text += "\n";

blocked = false;

continue;

}

 

if (blocked == true)

textBox1.Text += b;

}

}

 

public void Glasn

{

try

{

textBox1.Text = "";

string[] TextArray = text.Split(' ');

char[] GlasnArray = { 'а', 'е', 'ё', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я' };

 

foreach (string b in TextArray)

{

string c;

c = b.ToLower();

char[] B = b.ToCharArray();

foreach (char exp in GlasnArray)

{

 

if (B[0].CompareTo(exp) == 0)

{

textBox1.Text += b + "\n";

}

}

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

}

 

private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)

{

String currentItemText = listBox1.SelectedValue.ToString();

 

int currentItemIndex = listBox1.SelectedIndex;

 

if (currentItemIndex == 0)

{

 

Max();

}

if (currentItemIndex == 1)

{

 

Min();

}

if (currentItemIndex == 2)

{

 

quote();

}

if (currentItemIndex == 3)

{

 

Glasn();

}

if (currentItemIndex == 4)

{

 

Pred();

}

}

 

 

public void Pred

{

textBox1.Text = "";

int n;

n = Convert.ToInt32(textBox3.Text);

string[] TextArray = text.Split('.', '!', '?');

foreach (string b in TextArray)

{

if (b.Split(' ').Length == n)

{

textBox1.Text += b + "\n";

}

}

}

}

}

 

Описание программы

Описание интерфейса

При нажатии на кнопку “ Текст” на экран выводится весь текст.

Кнопка “Max количество символов” выводит на экран максимальное количество символов из которых состоит слово.

Кнопка “Min количество символов ” выводит на экран минимальное количество символов из которых состоит слово.

Кнопка “Цитаты” выводит на экран предложении текста заключенное в кавычки.

Кнопка “Слово начинающееся с гласной” выводит на экран только слова текста, начинающиеся с гласных букв.

Кнопка “Предложения из n слов” выводит на экран только предложения, состоящие из заданного количества слов.

 

Результат работы программы

На рисунке 1 представлено действие кнопки “Max количество символов”

Рис.1 Показывает работу кнопки Максимальное количество символов

 

На рисунке 2 представлено действие кнопки “Цитаты ”

Рис.2 Вывод цитат на экран

На рисунке 3 представлено действие кнопки “Слова начинающиеся с гласной”

 

Рис.3 Вывод слов начинающихся с гласной

 

На рисунке 4 представлено действие кнопки “Предложения из n слов”

Рис.4 Выводит на экран предложения из n слов

 

5 Описание использованных библиотек классов

 

Классы, используемые в данной программе:

Class Window

 

public int maxValue;//записывается число соответствующее максимальному числу символов в слове

 

public int minValue;// записывается число соответствующее минимальному числу символов в слове

 

List<string> Povtor;//Список. Содержит в себе повторяющиеся слова.

 

 

Функции:

public Window();//конструктор

 

public void button _Click();//считывает весь текст из файла и выводит его на экран

 

public void Max();//определяет слово с макс. количеством символов,,выводит их на экран.

 

private void Min();//запускает функцию определяющую мин. количество символов.

public void quote();//разбивает текст на символы, определяет участки находящиеся между кавычками, и выводит их на экран.

private void Glasn();//запускает функцию определяющую слова начинающиеся с гласной буквы.

private void Pred ();//Разбивает текст на предложения. Затем разбивает эти предложения на слова. Подсчитывает колтчество слов. Если оно соответствует заданной величине – выводит предложение на экран.

 

 

 

Заключение

В результате выполнения курсовой работы была изучена работы с WPF в c#,создано программное приложение, выполняющее:

Выводит текст на экран дисплея.

Поочередно выводит каждое слово текста, содержащее максимальное количество символов.

Выводит каждое слово текста, содержащее минимальное количество символов.

Выводит на экран только цитаты, то есть предложения заключенные в кавычки.

Выводит на экран только слова текста, начинающиеся с гласных букв и оканчивающиеся гласными буквами.

Выводит на экран только предложении, состоящие из заданного количества слов.

 

 

Список литературы

1. C#: учебный курс. Герберт Шилдт. – СПб.: Питер К.: Издательская группа BHV, 2003. – 512с.

2. CLR via C#. Программирование на платформе Microsoft.NET Framework 2.0 на языке C#. Мастер-класс. Джеффри Рихтер. Пер. с англ. – М.: Издательство «Русская Редакция». – СПб.: Питер, 2007. – 656 стр.

3. С# 2008: ускоренный курс для профессионалов. Трей Неш. – ООО «ИД Вильямс», 2008. – 576с.

4.WPF в NET 3.5 с примерами на с# 2008 для начинающих.Мэтью Мак-Дональд.Пер. с англ.-М.: Издательство «Русская Редакция».-СПБ.: Москва,2008.-456 стр

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: