tify gt ;. Павловська, Т.А. C #. Програмування на мові високого рівня: підручник для вузів.- СПб .: Питер, 2007. - 432 с.
Додаток А Лістинг програми
Текст програми Form1.cs
using System; System. Collections. Generic; System. ComponentModel; System. Data; System. Drawing; System. Linq; System. Text; System. Threading. Tasks; System. Windows. Forms; System.IO;// ФайлиSystem. Text. RegularExpressions;// Регулярні вирази
Курсовая_работа
{partial class Form1: Form
{Form1 ()
{();
}
StreamReader Read; string Path; int k=0; lt; Notebook gt; ekz=null;// Примірник дерева
class Node lt; T gt; where T: IComparable//Дерево
{T Value; Node lt; T gt; Left=null; Node lt; T gt; Right=null; Node lt; T gt; Parent=null;
Node (T Value)//Конструктор
{. Value=Value;
}
void Add (T Value)//Додавання
{
{(this. Value == null)//Якщо корінь порожній
{. Value=Value;
}
{ lt; T gt; Data=this; Stop=false; (! Stop)
{((Data. Value as Notebook) .CompareTo ((Value as Notebook)) == 0)//Однакові
{
throw new Exception («Неможливо додати 2 однакових елемента в дерево»);
} ((Data. Value as Notebook) .CompareTo ((Value as Notebook)) == 1)//Менше Вузла
{(Data. Left == null)//Якщо лівий син «Вузла» порожній
{. Left=new Node lt; T gt; (Value);// Новий вузол. Left. Parent=Data;// Відзначаємо його батька
Stop=true;// Зупинитися
}
else//Значить робимо поточним (Data) - лівого сина (Data. Left)
{
Data-;// Зробити поточним лівого сина
}
} if ((Data. Value as Notebook) .CompareTo ((Value as Notebook)) == - 1)//Більше
{(Data. Right == null)//Якщо правий син «Вузла» порожній
{. Right=new Node lt; T gt; (Value);// Новий вузол. Right. Parent=Data;// Відзначаємо його батька
Stop=true;// Зупинитися
}
else//Значить робимо поточним (Data) - правого сина (Data. Right)
{
Data ++;// Зробити поточним правого сина
}
}
}//While (stop)
}//else (Якщо «Кореня» немає)
} (Exception error)
{++ ;. Show (error. Message + » « + (Value as Notebook) .FIO_OutPut + » nНажміте ОК щоб продовжити», «Помилка організації дерева», MessageBoxButtons.OK, MessageBoxIcon. Error);
}
}//Add
static TreeNode [] Coloor=null;
void Quest (string Search, DataGridView Table, TreeView Tree)//Пошук елемента в дереві
{(Scan (Search)!=null)
{ lt; T gt; Data=Scan (Search); i=0; Stop=false; (Table. Rows. Count gt; i)
{(Table. Rows [i] .DefaultCellStyle. BackColor == Color. Green)
{. Rows [i] .DefaultCellStyle. BackColor=Color. White ;;
}
{++;
}
} (Coloor!=null)
{. SelectedNode=Coloor [0] ;. SelectedNode. BackColor=Color. White;
}=0; (Stop!=true)
{(Table [0, i] .Value. ToString () == Search)
{. Rows [i] .DefaultCellStyle. BackColor=Color. Green; [] Find=Tree. Nodes. Find (Search, true);=Find ;. SelectedNode=Find [0] ;. SelectedNode. BackColor=Color. Green;=true;
}
{++;
}
}. Show («Знайдений елемент виділених зеленим кольором. NДля зняття виділення кольором, клікніть лівою кнопкою миші в будь-якому місці рядка», «Інформація», MessageBoxButtons.OK, MessageBoxIcon. Information);
}
{. Show («Даного контактної особи не існує», «Помилка пошуку», MessageBoxButtons.OK, MessageBoxIcon. Error);
}
} ...