Разработка модуля автоматического контроля ПО "АСК-МКИ" на предприятии АО РКЦ "Прогресс"
Анализ систем вычисления и сравнение хеш-сумм: "HashTab", "MD5summer" и "Md5Checker". Проектирование базы данных, создание таблиц и связей. Реализация и функциональные возможности программного обеспечения (хранение базы, проверка рабочих файлов-программ).
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.08.2018 |
Размер файла | 5,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Рис. 3.6 - Источник данных
Присоединение БД осуществляется встроенными средствами Visual C#. Для этого требуется:
1) нажать на стрелочку в верхнем правом углу таблицы DataGridView;
2) в поле «Выберите источник данных» нажать на раскрывающийся список и выбрать «Добавить источник данных проекта…»;
3) из предложенных на рис. 3.7 типах источников выбрать «База данных» и нажать Далее;
Рис. 3.7 - Выбор типа источника данных
4) в следующем окне выбрать тип модели базы данных «Набор данных» и нажать Далее;
5) после, в окне выбора подключения базы данных (рис. 3.8) нажать на кнопку «Создать подключение». Нажатием на кнопку «Обзор» выбрать необходимую для работы базу данных, проверить подключение и подтвердить выбор кнопкой «ОК».
Рис. 3.8 - Создание подключения базы данных
В итоге выбранная БД отобразится в списке добавленных источников данных таблицы DataGridView.
Данная процедура необходима для вывода на главной форме содержания информации из базы данных, и для дальнейшей работы с ней.
После присоединения БД снизу под формой можно увидеть автоматические созданные объекты:
- dataBaseMainDataSet (представляет кэш базы данных DataBaseMain в памяти);
- mKIBindingSource (инкапсулирует источник таблицы MKI из базы данных для формы);
- mKITableAdapter (адаптер таблицы, обеспечивающий связь между приложением и базой данных. Точнее говоря, адаптер таблицы подключается к базе данных, выполняет запросы или хранимые процедуры и либо возвращает новую заполненную таблицу данных, либо заполняет существующую DataGridView возвращаемыми данными. Адаптер таблицы также используются для отправки обновленных данных из приложения обратно в базу данных).
Таким образом, при запуске программы в DataGridView отобразится присоединенная база данных:
private void Form1_Load(object sender, EventArgs e)
{
this.mKITableAdapter.Fill(this.dataBaseMainDataSet.MKI);
this.OpenBase();
}
В элементах ComboBox (рис. 3.9) добавлен латинский алфавит от «D» до «Z» (буквы «A» и «В» заведомо заняты дисководами, а «С» - локальный диск с операционной системой), выбирая которые задаются буквы дисков (томов) с исходными и рабочими файлами.
Рис. 3.9 - Редактор коллекции ComboBox
Кнопка «Обновить» используется для обновления выводимой БД в DataGridView. Это осуществляется посредством повторной загрузки БД в таблицу:
private void button1_Click(object sender, EventArgs e)
{
this.mKITableAdapter.Fill(this.dataBaseMainDataSet.MKI);
this.OpenBase();
}
Кнопка «Проверка» отвечает за выполнения анализа файлов. Осуществляется это путем загрузки базы данных, выборки из нее нужных полей, после чего данный модуль пробегает по всем записям базы, сравнивая файлы по контрольным суммам.
private void button4_Click(object sender, EventArgs e)
{
string flash = comboBox1.Text;
string disc = comboBox2.Text;
if ((flash != "") & (disc != ""))
{
string CheekFileHash, SampleFileHash;
string connectionString = "provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + System.IO.Path.Combine(Application.StartupPath, "DataBaseMain.accdb");
string commandString = "SELECT MKI.* FROM MKI ORDER BY Id ASC";
OleDbConnection aConn = new OleDbConnection(connectionString);
OleDbCommand com = aConn.CreateCommand();
com.CommandText = "SELECT count(*)" + "FROM MKI";
. . . . .
}
}
Из кода можно увидеть, что перед началом выполнения анализа происходит проверка элементов ComboBox на пустоту, в случае чего программа выдаст предупредительное сообщение.
Далее идет подключение рабочей базы данных и выбор необходимых полей, с которыми будут проводиться последующие операции.
Элемент ProgressBar изначально скрыт и отображается уже только в процессе выполнения проверки. Заполнение этой шкалы и количество ее делений зависит от количества проверяемых файлов.
Сама же проверка начинается с выбора содержимого поля «Path» из базы с дальнейшим удалением первого символа, которым является буква диска. После идет присвоение содержимого переменным:
- CheekFile - рабочий файл, присоединяется буква, выбранная в списке Disc;
- SampleFile - исходный файл, присоединяется буква, выбранная в списке Flash.
string p = this.dataBaseMainDataSet.MKI.Rows[count2]["Path"].ToString();
p = p.Remove(0, 1);
FileInfo CheekFile = new FileInfo(disc + p);
FileInfo SampleFile = new FileInfo(flash + p);
label3.Text = CheekFile.FullName;
Label3 отвечает за вывод пути проверяемого файла над шкалой прогресса проверки.
Далее следует сравнение контрольных сумм исходного и рабочего файлов. Вычисление этих сумм осуществляется методом ComputeMD5Checksum. Выглядит он следующим образом:
private string ComputeMD5Checksum(string path)
using (FileStream fs = System.IO.File.OpenRead(path))
MD5 md5 = new MD5CryptoServiceProvider();
byte[] fileData = new byte[fs.Length];
fs.Read(fileData, 0, (int)fs.Length);
byte[] checkSum = md5.ComputeHash(fileData);
string result = BitConverter.ToString(checkSum).Replace("-", String.Empty);
return result;
При сравнении возможны три ситуации:
1) контрольные суммы одинаковые - шкала ProgressBar заполняется на одно деление, программа переходит на следующий файл;
2) контрольные суммы различны - происходит удаление рабочего файла и копирование на его место исходного, выводится сообщение о замене;
CheekFile.Delete();
SampleFile.CopyTo(disc + p);
zam++;
progressBar1.Value = count3++;
MessageBox.Show("Файл '" + CheekFile + "' заменен");
3) рабочий файл отсутствует - на его место копируется исходный файл, выводится сообщение о добавлении.
SampleFile.CopyTo(disc + p);
dob++;
progressBar1.Value = count3++;
MessageBox.Show("Файл '" + CheekFile + "' добавлен");
По окончании работы происходит вывод результирующего сообщения со статистикой выполненной проверки, Label3 становится пустым, ProgressBar - невидимый. Закрывается подключение к базе.
MessageBox.Show("Проверка завершена: проверено " + prov + ", заменено " + zam + ", добавлено " + dob);
label3.Text = "";
progressBar1.Visible = false;
adapter.Update(DataSet);
aConn.Close();
Кнопка «Выход» отвечает за закрытие формы (выход из программы):
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
Таким образом, на главной форме был реализован удобный и функциональный интерфейс, требуемый для контроля наличия и целостности файлов-программ, имеющихся на рабочих местах участка проведения испытаний.
3.6 Вторичная форма «Новый файл»
Данная вторичная форма отвечает за добавление в базу данных сведений о новом файле. В соответствии с документацией, по которой составляется проверочный файл-программа, на эту форму добавлены элементы TextBox с подписями к ним, в которые в свою очередь будет вводиться следующая информация: наименование заказа, номер прибора, актуальная ведомость и извещение (может отсутствовать).
Кнопка «Добавить файл» на главной форме открывает данную дочернюю форму «Новый файл», представленную на рис. 3.10.
private void button2_Click(object sender, EventArgs e)
{
new Form2(this).Show();
}
Рис. 3.10 - Форма «Новый файл»
Здесь происходит выбор нового файла путем нажатия кнопки «Обзор», а так же ввод необходимой информации об этом файле. Поля «Путь к файлу» и «Контрольная сумма» заполняются автоматически. При нажатии на кнопку «ОК» вся информация добавляется в прикрепленную БД.
Так же при нажатии на кнопку «ОК» происходит проверка на наличие обязательной информации в полях, помеченных звездочкой, и проверка, выбран файл или нет.
DataTable dataTable = DataSet.Tables[0];
string r = dataTable.Rows[dataTable.Rows.Count - 1]["Id"].ToString();
int c = 0;
int.TryParse(r, out c);
c++;
OleDbCommand bComm = new OleDbCommand("INSERT INTO MKI VALUES ('" + c + "','" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "')", aConn);
if (bComm.ExecuteNonQuery() == 1)
{
MessageBox.Show("Файл добавлен");
}
adapter.Update(DataSet);
aConn.Close();
this.Close();
3.7 Вторичная форма «Сравнение»
Так как изначально данное программное средство создавалось для массовой (групповой) проверки контрольных сумм исходных и рабочих файлов, в процессе разработки появилась идея реализации дополнительной функции - отдельной проверки двух выбранных файлов. Для этого была создана третья форма под названием «Сравнение».
Кнопка «Сравнить» на главной форме отвечает за открытие данной формы, показанной на рис. 3.11.
Рис. 3.11 - Форма «Сравнение»
На этой форме предлагается возможность сравнения контрольных сумм любых двух файлов путем выбора их через Проводник, который открывается кнопками «. . .».
В добавленных на форму элементах TextBox будет отображаться путь к выбранным файлам.
Кнопка «Сравнить» отвечает за операцию сравнения файлов. Если контрольные суммы совпадают, то отобразиться изображение зеленой галочки, иначе загорится изображение красного крестика.
private void button3_Click(object sender, EventArgs e)
{
if ((textBox1.Text != "") & (textBox2.Text != ""))
{
pictureBox1.Visible = false;
pictureBox2.Visible = false;
string CheekHash, SampleHash;
CheekHash = ComputeMD5Checksum(textBox1.Text);
SampleHash = ComputeMD5Checksum(textBox2.Text);
if (CheekHash == SampleHash)
{
pictureBox1.Visible = true;
}
else
{
pictureBox2.Visible = true;
}
}
else
{
MessageBox.Show("Не выбран файл");
Если один из файлов не был выбран, то программа выдаст соответствующее сообщение.
Добавление новых функции (модернизация) в созданное ПО позволит выполнять куда больше действий помимо основной задачи - проверки целостности файловой базы.
Так же после внедрения планируется расширить функциональные возможности данного программного средства, к примеру, добавлением работы по сети методом подключения к рабочему компьютеру с сервера. Сейчас это ограничивается только тем, что внутренней сети на целевом участке пока нет, она будет в недалеком будущем. Но эта функция будет полезна уже на тех испытательных участках, где сеть уже имеется.
4. Описание и функциональные возможности ПО
4.1 Основные аспекты приложения «АСК-Контроль»
Программное обеспечение «АСК-Контроль» разрабатывалось для предприятия АО РКЦ «Прогресс» с целью систематизации и автоматического контроля всей базы файлов-программ проверки монтажа изделий (приборов). В процессе разработки были учтены все необходимые аспекты, реализованы нужные функции и удобный интерфейс.
ПО представляет из себя исполняемый файл «АСК-Контроль.ехе» (установка не требуется), работающий совместно с базой данных, которая хранится вместе с программой. В ней предоставляются следующие возможности:
- вести учет персонала (ФИО, дата трудоустройства и занимаемая должность);
- хранить сведения об аттестации персонала за приборами;
- вести учет файлов-программ, даты их создания и официального изменения;
- хранить путь к файлам и их контрольные суммы;
- хранить сведения об актуальной документации.
База файлов-программ изначально создается и хранится на компьютере оператора в папке «Programms». После, вся папка копируется в корневой каталог переносного диска (флэшки), на которой так же располагается само ПО «АСК-Контроль» и база данных.
Далее флэшка со всем содержимым подключается к рабочему компьютеру и запускается исполняемый файл и производится проверка всей базы файлов-программ. Данную процедуру следует проводить каждый день перед началом работы.
4.2 Главное окно «АСК-Контроль» и принцип работы
После запуска ПО загружает в себя сведения из подключенной базы данных и выводит их на главном окне (рис. 4.1). Визуальный интерфейс «АСК-Контроль» предоставляет пользователю возможность просмотреть всю базу проверяемых файлов, а так же уточнить актуальность используемой документации непосредственно перед началом работы. Функция поиска необходимого файла будет реализована в процессе дальнейшей разработки и модернизации данного ПО после внедрения его на предприятии.
Рис. 4.1 - Внешний вид программы АСК-Контроль
Процесс проверки файлов прост. Первым делом пользователь (испытатель или оператор) должен вручную выбрать соответствующий том флэш-накопителя (раскрывающийся список «Flash»), на котором лежат исходные копии файлов-программ, и том локального диска ПК (раскрывающийся список «Disc»), на котором в свою очередь хранятся рабочие копии файлов.
Далее необходимо нажать кнопку «Проверка» чтобы запустить процесс сравнения контрольных сумм исходных и рабочих файлов, который осуществляется по путям, указанным в БД. Если тома не были выбраны, то приложение выдаст предупреждение. Для наглядности выполнения внизу главного окна «АСК-Контроль» отображается шкала прогресса (рис. 4.2).
Рис. 4.2 - Процесс проверки файлов
Если контрольные суммы одинаковы, то ПО переходит на следующий файл. Если же контрольные суммы различны, то производится замена рабочего файла на исходный файл с переносного диска, о чем сообщает всплывающее окно (рис. 4.3)
Рис. 4.3 - Сообщение о замене файла
«АСК-Контроль» так же проверяет наличие всех файлов. Возможна такая ситуация, что какой-либо рабочий файл был удален. Тогда ПО восстанавливает недостающий файл путем копирования его из базы исходных файлов-программ, о чем так же сообщает во всплывающем окне (рис. 4.4).
Рис. 4.4 - Сообщение о добавлении файла
По завершении проверки выводится окно со статистикой, представленное на рис. 4.5. В нем сообщается, сколько файлов проверено, сколько заменено и сколько добавлено (восстановлено).
Рис. 4.5 - Статистика выполненной проверки
«АСК-Контроль» полностью справляется с поставленной задачей. Данный программный продукт быстро производит проверку, замену и восстановление файлов-программ, что и требуется при работе на предприятии.
4.3 Функция добавления новых файлов в базу
Помимо проверки файлов разработанное ПО имеет и ряд других функций. Так как количество изделий меняется, и со временем появляются новые, для них требуется создавать и новые файлы-программы. В разрабатываемом ПО эта ситуация учтена и была включена возможность добавления новых файлов в прикрепленную базу данных. Этот процесс производится путем нажатия кнопки «Добавить файл». Откроется новое окно (рис. 4.6).
Нажатием на кнопку «Обзор» открывается «проводник» (рис. 4.7), в котором оператор выбирает нужный файл для добавления.
После подтверждения выбора поля “Путь к файлу” и “Контрольная сумма” автоматически заполняются атрибутами выбранного файла. Это облегчает и автоматизирует процесс ввода необходимой для дальнейшего анализа информации. Остальные поля заполняются оператором вручную в соответствии с документацией.
Рис. 4.6 - Окно добавления нового файла в базу
Рис. 4.7 - Окно проводника
Те, что помечены звездочкой, необходимы к заполнению, иначе приложение выдаст предупредительное сообщение (рис. 4.8). Поле «Извещение» необязательно к заполнению, так как согласно документации к тому или иному изделию извещения может и не быть, а есть только последняя ведомость.
После ввода всей необходимой информации и нажатия на кнопку «ОК» новый файл добавится в базу, а приложение выдаст соответствующее сообщение (рис. 4.9).
Рис. 4.8 - Предупреждение об отсутствии записей
Рис. 4.9 - Успешное добавление файла
Изменения можно проследить в главном окне приложения (рис. 4.10), нажав на кнопку «Обновить». Новые данные загрузятся из подключенной базы данных с уже добавленным новым файлом.
Рис. 4.10 - Главное окно «АСК-Контроль» с обновленной базой
4.4 Функция сравнения двух конкретных файлов
Помимо проверки имеющейся базы иногда в процессе работы может потребоваться сравнить какой-либо конкретный файл-программу. Для таких случаев была предусмотрена функция сравнения контрольных сумм у двух конкретных файлов. Она доступна путем нажатия кнопки «Сравнить» на главном окне приложения «АСК-Контроль». Откроется новое окно (рис. 4.11), на котором предоставляется возможность выбрать нужные файлы.
Рис. 4.11 - Окно сравнения двух файлов
Сначала пользователь выбирает исходный файл, с которым будет происходить сравнение. Нажав на кнопку «. . .» напротив первого поля, откроется «проводник». После необходимо выбрать рабочий файл так же нажав на кнопку «. . .» напротив второго поля (рис. 4.12).
Рис. 4.12 - Окно сравнения с выбранными файлами
После выбора необходимых пользователю файлов нужно нажать на кнопку «Сравнить» и программа тут же покажет результат. Если их контрольная сумма (MD5) разная, то высветится значок с красным крестиком, как на рис. 4.13.
Рис. 4.13 - Отрицательный результат сравнения
Если же контрольные суммы выбранных файлов совпадают, то высветится значок с зеленой галочкой (рис. 4.14).
Рис. 4.14 - Положительный результат сравнения
По окончанию всей работы с «АСК-Контроль» достаточно нажать кнопку «Выход» чтобы закрыть приложение.
В результате, имеется готовый и функциональный продукт, который справляется с поставленными задачами, прост в использовании, его легко модернизировать, а так же он не уступает, а точнее превосходит другие аналоги.
Заключение
В данной дипломной работе были рассмотрены основные принципы проектирования программного обеспечения на примере «АСК-Контроль». В ходе проделанной работы были получены такие результаты, как:
1) Проведен сравнительный анализ характеристик систем вычисления и сравнения хеш-сумм: «HashTab», «MD5summer» и «Md5Checker» по основным параметрам: скорость, объем и хранение.
2) Определены требования к модулю автоматического контроля ПО «АСК-МКИ» и обоснована необходимость его разработки.
3) Обоснован выбор средств для разработки модуля автоматического контроля ПО «АСК-МКИ» и проектирования БД, среди которых язык высокого уровня Visual C# и редактор баз данных MS Access 2010.
4) Спроектирована необходимая база данных, включающая сведения о персонале, изделиях с прилагаемой документацией и проверочных файлах-программах.
5) Разработан модуль автоматического контроля ПО «АСК-МКИ», в рамках которого был написан программный код и создан графический интерфейс;
6) Описаны реализация и функциональные возможности «АСК-Контроль», такие как хранение базы, проверка рабочих файлов-программ на соответствие исходным данным по их контрольной сумме.
В результате можно сделать вывод о необходимости создания этого программного продукта для данного предприятия в целях контроля целостности имеющихся файлов-программ, исключения конфликтных ситуаций в процессе испытаний и возможности хранения информации об актуальной документации, так как разработанное ПО быстро и эффективно справляется с поставленными задачами.
Список использованных источников
1) Рассел Р. Защита от хакеров корпоративных сетей. 2 изд. [Текст] / ДМК-Пресс - Москва, пер. с анг 2002. - 558 с.
2) Евсеева О., Шамшев А. Работа с базами данных на языке C#. Технология АDO .NET [Текст] / Евсеева О.Н., Шамшев А.Б.;. УлГТУ - Ульяновск, 2009. - 170 с.
3) HashTab.ru - сайт разработчика приложения-плагина HashTab / Copyright 2017 by Implbits.
4) Скит. Д. C# in Depth/C#. Программирование для профессионалов. [Текст] / Джон Скит. - ИД «Вильямс», пер. с анг 2014. - 602 с.
5) Лабор В. С#: Создание приложений для Windows [текст] / В.В. Лабор. - Мн.: Харвест, 2003. - 384 с.
6) Микелсен К. Язык программирования С#. Лекции и упражнения. Учебник [текст] / К. Микелсен. пер. с англ. - СПб.: «ДиаСофтЮП», 2002. - 656 с.
7) MSDN - Сеть разработчиков Microsoft / Сайт Корпорации Microsoft. 2017.
8) CyberForum.ru - форум программистов и сисадминов / Сайт некоммерческой компании vBulletin Solutions, Inc. 2000-2017.
9) IT по-своему / Сайт разработчика «Aleksei Penzentcev». 2016.
10) Stack Overflow на русском -- сайт вопросов и ответов для программистов / Сайт компании Stack Exchange Inc. 2017.
11) Стиллмен Э., Грин Дж. Изучаем C#. Включая .NET 4.5 и Visual Studio 2012. 3-е издание [текст] / O'Reilly. пер. с англ. - Питер, 2014 - 816 с.
12) Обучение в интернет - образовательный сайт / Сайт автора «Vladimir Antonovich Tkachenko» 2007-2017.
13) Олифер В. Компьютерные сети. Принципы, технологии, протоколы. 4-е издание [текст] / В. Олифер. - Питер, 2010 - 944 с.
14) Симонович С. Информатика. Базовый курс [текст] / С. Симонович - Питер, 2016, 640 с.
15) Vellisa.ru - Интернет и программы для всех / Сайт-блог Василия Прохорова, 2012-2017.
программный файл hashtab
Приложение А
Программный код главной формы «АСК-Контроль»
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
using System.IO;
using System.Security.Cryptography;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void OpenBase()
{
string connectionString = "provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + System.IO.Path.Combine(Application.StartupPath, "DataBaseMain.accdb");
string commandString = "SELECT MKI.* FROM MKI ORDER BY Id ASC";
OleDbConnection aConn = new OleDbConnection(connectionString);
OleDbDataAdapter adapter = new OleDbDataAdapter(commandString, connectionString);
aConn.Open();
DataSet DataSet = new DataSet();
adapter.Fill(DataSet);
DataTable dataTable = DataSet.Tables[0];
this.dataGridView1.DataSource = dataTable;
aConn.Close();
}
private string ComputeMD5Checksum(string path)
{
using (FileStream fs = System.IO.File.OpenRead(path))
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] fileData = new byte[fs.Length];
fs.Read(fileData, 0, (int)fs.Length);
byte[] checkSum = md5.ComputeHash(fileData);
string result = BitConverter.ToString(checkSum).Replace("-", String.Empty);
return result;
}
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
this.mKITableAdapter.Fill(this.dataBaseMainDataSet.MKI);
this.OpenBase();
}
private void button2_Click(object sender, EventArgs e)
{
new Form2(this).Show();
}
private void button1_Click(object sender, EventArgs e)
{
this.mKITableAdapter.Fill(this.dataBaseMainDataSet.MKI);
this.OpenBase();
}
private void button4_Click(object sender, EventArgs e)
{
string flash = comboBox1.Text;
string disc = comboBox2.Text;
if ((flash != "") & (disc != ""))
{
string CheekFileHash, SampleFileHash;
string connectionString = "provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + System.IO.Path.Combine(Application.StartupPath, "DataBaseMain.accdb");
string commandString = "SELECT MKI.* FROM MKI ORDER BY Id ASC";
OleDbConnection aConn = new OleDbConnection(connectionString);
OleDbCommand com = aConn.CreateCommand();
com.CommandText = "SELECT count(*)" + "FROM MKI";
OleDbDataAdapter adapter = new OleDbDataAdapter(commandString, connectionString);
int dob = 0;
int prov = 0;
int zam = 0;
int i = 0;
int count3 = 1;
aConn.Open();
DataSet DataSet = new DataSet();
adapter.Fill(DataSet);
int count = System.Convert.ToInt32(com.ExecuteScalar());
try
{
progressBar1.Visible = true;
progressBar1.Maximum = count;
for (int count2 = i; count2 < count; count2++)
{
progressBar1.Value = count3;
string p = this.dataBaseMainDataSet.MKI.Rows[count2]["Path"] .ToString();
p = p.Remove(0, 1);
FileInfo CheekFile = new FileInfo(disc + p);
FileInfo SampleFile = new FileInfo(flash + p);
label3.Text = CheekFile.FullName;
if (System.IO.File.Exists(CheekFile.FullName))
{
CheekFileHash = ComputeMD5Checksum(CheekFile.FullName);
SampleFileHash = ComputeMD5Checksum(SampleFile .FullName);
if (CheekFileHash == SampleFileHash)
{
progressBar1.Value = count3++;
}
else
{
CheekFile.Delete();
SampleFile.CopyTo(disc + p);
zam++;
progressBar1.Value = count3++;
MessageBox.Show("Файл '" + CheekFile + "' заменен");
}
}
else
{
SampleFile.CopyTo(disc + p);
dob++;
progressBar1.Value = count3++;
MessageBox.Show("Файл '" + CheekFile + "' добавлен");
}
prov++;
}
}
catch (Exception ex)
{
MessageBox.Show("Ошибка получения данных: " + Environment.NewLine + ex.ToString());
}
finally
{
MessageBox.Show("Проверка завершена: проверено " + prov + ", заменено " + zam + ", добавлено " + dob);
label3.Text = "";
progressBar1.Visible = false;
adapter.Update(DataSet);
aConn.Close();
}
}
else
{
MessageBox.Show("Не выбран том");
}
}
private void button5_Click(object sender, EventArgs e)
{
new Form3(this).Show();
}
}
}
Приложение Б
Таблица использованных классов и методов
Основные классы и методы, используемые в программном продукте |
||
Класс |
Назначение |
|
FileStream |
Представляет действия с файлом, поддерживая синхронные и асинхронные операции чтения и записи |
|
MD5 |
Абстрактный класс, от которого наследуются все реализации хэш-алгоритма MD5 |
|
BitConverter |
Преобразует базовые типы данных в массив байтов и наоборот |
|
OpenFileDialog |
Запрашивает пользователя об открытии файла |
|
MessageBox |
Отображает окно сообщения, содержащее текст, кнопки и символы для информирования пользователя |
|
DataSet |
Представляет расположенный в памяти кэш данных |
|
OleDbConnection |
Представляет открытое подключение к источнику данных |
|
OleDbDataAdapter |
Набор команд данных и подключение базы данных для заполнения и обновления источника данных |
|
OleDbCommand |
Оператор SQL или хранимая процедура, применяемая к источнику данных |
|
DataTable |
Представляет одну таблицу с данными в памяти |
|
FileInfo |
Свойства и методы экземпляра для создания, копирования, удаления, перемещения и открытия файлов |
|
EventArgs |
Базовый класс для классов, содержащих данные о событии |
|
Метод |
Назначение |
|
OpenBase() |
Открытие и вывод таблицы присоединенной базы данных |
|
ComputeMD5Checksum() |
Вычисление контрольной суммы файла |
|
button_Click() |
Обработка нажатия кнопки на форме |
Приложение В
Блок-схема работы приложения «АСК-Контроль»
Приложение Г
Презентационный материал
Размещено на Allbest.ru
...Подобные документы
Создание таблиц базы данных с помощью MS Access "Страны Азии". Форма базы данных и запросы к выборкам данных. Модификация структуры таблиц, создания связей между главными таблицами, редактирование данных и проектирование форм для реальной базы данных.
контрольная работа [723,9 K], добавлен 25.11.2012Анализ баз данных и систем управления ими. Проектирование и создание реляционной базы данных в среде MS Access для ресторана "Дельфин": построение информационно логической модели, разработка структур таблиц базы данных и схемы данных, создание Web-узла.
курсовая работа [3,7 M], добавлен 15.11.2010Разбиение данных по таблицам и создание связей между таблицами. Нормализация и проектирование сценария работы базы данных. Выбор программного обеспечения. Требования к аппаратным и программным средствам для работы созданного программного продукта.
курсовая работа [30,2 K], добавлен 23.01.2011- Анализ, разработка и реализация базы данных встраиваемого модуля информационной системы IP-телефонии
Анализ предметной области. Проектирование диаграммы "сущность-связь" в Enterprise Architect. Общие сведения о базовых запросах. Создание базы данных в MySQL. Выделение сущностей, атрибутов, ключей, связей. Применение табличных и скалярных функций.
курсовая работа [1,8 M], добавлен 28.01.2016 Компоненты реляционной базы данных Microsoft Access. Создание структуры таблиц и определение связей между ними. Проектирование форм для сводных таблиц и запросов с помощью конструктора окон. Разработка и создание автоотчетов и запросов на выборку данных.
реферат [3,3 M], добавлен 29.01.2011Проектирование и разработка базы данных, основанной на инфологической модели по семантическому описанию. Информационно-логическая модель. Проверка таблиц на соответствие нормальным формам. Запросы на создание таблиц и установлению связей между ними.
курсовая работа [476,7 K], добавлен 19.11.2022Рассмотрение теоретических основ проектирования. Анализ предметной области и разработка таблиц базы данных. Заполнение таблиц, поиск данных с помощью фильтра. Создание форм, разработка запросов. Создание и настройка отчетов, составление приложения.
курсовая работа [2,8 M], добавлен 01.06.2014Программные продукты, используемые при проектировании базы данных. Разработка базы данных "Библиотека" с использование программного проекта Microsoft SQL Server. Создание таблиц, триггеров, пользователей, репликации, запросов, функций, процедур.
курсовая работа [897,6 K], добавлен 21.11.2011Формирование входных и выходных данных, SQL–скрипт генерации таблиц базы данных. Создание интерфейса программного приложения и проектирование форм базы данных. Требования к аппаратно–программному обеспечению. Инструкции по установке и эксплуатации.
курсовая работа [1,6 M], добавлен 08.02.2013Основы проектирования базы данных (БД). Модели, типы и функциональные возможности БД. Практическая разработка БД для горнолыжной базы. Сохранение данных в таблицах. Типы запросов как средства выбора необходимой информации. Создание отчетов и макросов.
курсовая работа [53,3 K], добавлен 12.06.2014Реализация приложения "Книжный магазин" средствами систем управления базами данных. Проектирование структуры базы данных, определение сущности и атрибутов. Логическое проектирование базы данных и реализация базы данных в СУБД Microsoft Office Access.
курсовая работа [7,8 M], добавлен 13.02.2023Концептуальное проектирование базы данных: разработка схемы и структуры таблиц, описание атрибутов. Реализация базы данных в среде СУБД MS SQL Server 2000. Основные принципы создания таблиц. Доступ и обработка данных с помощью утилиты Enterprise Manager.
курсовая работа [3,8 M], добавлен 22.01.2013Характеристика Microsoft Access. Создание структуры базы данных. Определение основных тем таблиц базы данных и информации, которую будут содержать поля таблиц. Создание таблиц, запросов, форм и отчетов. Страницы доступа к данным. Макросы и модули.
курсовая работа [1,1 M], добавлен 09.12.2012Создание базы данных в среде MS Access. Создание и работа с базой данных на бирже труда. Алгоритм решения. Выбор пакета прикладных программ. Проектирование форм выходных документов и описание структуры таблиц базы данных. Отчеты по запросам и таблицам.
курсовая работа [2,1 M], добавлен 30.01.2009Создание базы данных в среде MS Access. Создание и работа с базой данных в ателье. Алгоритм решения задачи. Выбор пакета прикладных программ. Проектирование форм выходных документов с использованием СУБД MS Access. Структура записи таблиц базы данных.
курсовая работа [1,6 M], добавлен 30.01.2009Обзор преимуществ и недостатков среды программирования Delphi, ее сравнение с аналогичными продуктами. Разработка инфологической, датологической, модели базы данных. Проектирование структуры программного обеспечения и понятного интерфейса базы данных.
курсовая работа [964,8 K], добавлен 27.09.2014Анализ предметной области. Требования, предъявляемые при составлении базы данных гостиницы. Реализация процесса поиска необходимой информации. Формирование таблиц, запросов, отчетов и вывод их на печать. Редактирование, добавление и хранение данных.
курсовая работа [2,0 M], добавлен 07.02.2016Разработка базы данных для автоматизации деятельности гостиничного предприятия. Инфологическое проектирование БД, ее логическая и физическая структура. Реализация проекта БД: создание таблиц и представлений (готовых запросов), руководства пользователя.
курсовая работа [1018,3 K], добавлен 17.03.2015Проектирование базы данных для удобства работы организатора и систематизации различных конференций. Создание таблиц в режиме конструктора и установление связей между ними, запросов, форм для ввода данных, главной кнопочной формы, макросов и отчетов.
курсовая работа [2,3 M], добавлен 25.10.2014Порядок проектирования и разработки базы данных и программного обеспечения. Информация о структуре базы данных, созданных таблицах, формах, отчетах, запросах, хранимой информации. Логическая и концептуальная модели данных; выбор программного обеспечения.
курсовая работа [906,6 K], добавлен 20.01.2010