підтримує набір символів Unicode. Отже, будь-який символ будь-якого алфавіту світу можна включити в документи XML на «законній підставі».
Для здійснення взаємодії з XML я використовував стандартні засоби роботи з XML-документами мови програмування C # - такі класи як: XmlDocument, XmlNodeList, XmlTextWriter, XmlElement, XmlAttribute, XmlNode та ін.
Фрагмент коду програми, що демонструє створення XML-документа, що містить інформацію про версію XML, кодуванні, а також кореневий елемент з необхідними атрибутами:
XmlTextWriter writer=new XmlTextWriter (path, Encoding.UTF8);.WriteStartDocument();.WriteStartElement(laquo;hashtableraquo;);.WriteStartAttribute(laquo;pair_countraquo;);.WriteEndAttribute();.WriteEndElement();.Close();
3.5 Опис користувальницького інтерфейсу
Інтерфейс програми побудований з використанням стандартних компонентів Windows Forms. На рис. 4.5.1 зображена головна форма програми.
Малюнок 4.5.1 Головна форма програми
Щоб знайти потрібну статтю, треба просто почати вводити ключове слово в поле пошукового запиту, а програма сама запропонує на вибір схожі статті в списку, що розкривається (рис. 4.5.2).
Малюнок 4.5.2 Демонстрація пошуку по ключовому слову
Після вибору потрібної статті стрілками вгору/вниз і натиснення клавіші «введення», у нижній частині форми відображається відповідна ключу стаття (рис. 4.5.3).
Малюнок 4.5.3 Відображення статті за обраним ключу
Після запуску програми, хеш-таблиця в її підставі не заповнена даними. Ці дані можна завантажити з XML-файла, вибравши в меню «Файл»? «Завантажити з XML ...» (рис. 4.5.4).
Малюнок 4.5.4 Завантаження/збереження XML з меню «Файл»
Так само можна додати статтю вручну. При виборі в меню пункту «Додати статтю ...» з'являється форма додавання статті (рис. 4.5.5).
Малюнок 4.5.5
Після додавання статті дані зберігаються у відкритому в даний момент XML-файлі.
Вибравши пункт меню «Файл»? «Зберегти у XML ...» можна зберегти дані програми, вказавши шлях до XML-файлу.
Висновок
Додаток було розроблено у відповідності з поставленими завданнями. Програма була написана на мові C # в середовищі програмування Microsoft Visual Studio 2010. Мною були реалізовані два з чотирьох основних «кити», реалізована запис і читання даних XML, а так само розроблений патерн «Модифікатор», що виконує зміни строкових об'єктів, їх перетворення і форматування тексту.
Список літератури
1. Гамма Е., Хелм Р., Джонсон Р., Вліссідес ??Дж. П75 «Прийоми об'єктно-орієнтованого проектування. Патерни проектування »- СПб: Питер, 2001. - 368 с .: ил. (Серія «Бібліотека програміста»);
. Лекції з дисципліни «Об'єктно-орієнтоване програмування», предодаватель: доцент каф. ПОВТ Бузало Г.А.
. Шілдг, Герберт «Повний довідник по C #». Переклад з англійської - М .: Видавничий дім Вільямові raquo ;, 2004. - 752 с.
. Бібліотека MSDN - # justify gt; Додаток А. Лістинг програми
Файл main_form.cs
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using System.Xml;
using System.Text;
namespace HashSearchEngine
{
public partial class main_form: Form
{
public interface IModify
{
/// lt; summary gt;
/// Виробляє в рядку заміну BB-тегів на коди RTF.
/// lt;/summary gt;
/// lt; returns gt; Повертає змінену рядок. lt;/returns gt;
string Modify ();
}
public class StringModificator: IModify
{
private static string TEXT;
public StringModificator (string text)
{
TEXT=text;
}
/// lt; summary gt;
/// Виробляє в рядку заміну BB-тегів на коди RTF.
/// lt;/summary gt;
/// lt; returns gt; Повертає змінену рядок. lt;/returns gt;
public string Modify ()
{
TEXT=string.Concat ( { rtf1 ansi ansicpg1251 r n raquo ;, TEXT);
TEXT=TEXT.Replace ( [b] raquo ;, { b ). Replace ( [/ b] raquo ;, } );
TEXT=TEXT.Replace ( [u] raquo ;, { ul ). Replace (...