RSS    

   Курсовая работа: Разработка программы "Формирование и проверка контрольной суммы кластеров"

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

В частности, были решены задачи корректной работы приложения, правильного выведения необходимой информации на экран. Также были решены задачи выборки нужной информации о файловой системе и ее параметрах в ОС Windows, преобразование полученной информации к форме, удобной для пользователя.

В результате выполнения курсового проекта было разработано приложение с использованием библиотеки .NET Framework – программа Формирования и проверки контрольной суммы клатеров.

Можно сказать, что поставленное при курсовом проектировании задание было реализовано полностью.

Недостатками результирующего программного средства являются:

-  недостаточная гармоничность и привлекательность графической составляющей проекта;

-  небольшие задержки при выполнении приложения на компьютерах с малым объемом оперативной памяти;

-  требования к предустановленном ПО (в частности .NET Framework 4.0)

Данные недостатки могли бы быть исправлены при наличии более широких знаний и навыков решения задач подобного рода.


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

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

2. С# в подлиннике: Пер. с англ./ Дейтел Х., Дейтел П., Листфиолд Дж., Нието Т., Йегер Ш., Златкина М. – СПб.Ж БХВ-Петербург, 2006. – 1056 с.

3. http://msdn.microsoft.com/

4. http://intuit.ru/

5. http://windxp.ru/

6. ДСТУ 3008-95 "ЗВІТИ У СФЕРІ НАУКИ І ТЕХНІКИ. Структура та правила оформлення".


ПРИЛОЖЕНИЕ А

Пример выполнения программы «Формирование и проверка контрольной суммы кластеров»

Рисунок 1 – Внишний вид диологового окна перед запуском сомой программы

Рисунок 2 – Внешний вид гланого окна программы


Рисунок 3 – Пример выполнения программы

Рисунок 4 – Пример выполнения проверки


ПРИЛОЖЕНИЕ Б

Код приложения «Формирование и проверка контрольной суммы кластеров»

//Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Collections;

using System.Management;

using Microsoft.Win32;

namespace kurs_pogulyat

{

 public partial class Form1 : Form

 {

 public Form1()

 {

 InitializeComponent();

 }

 ArrayList hdCollection = new ArrayList();

 int Num_Hdd = 0;

 double TotalSize = 0;

 double TotalSpaceLeft = 0;

 bool analiz = false;

 bool OSXP = false;

 private void Form1_Load(object sender, EventArgs e)

 {

 if (MessageBox.Show("Start getting info ?\nThis may take a while, so please stand by.", "Notice", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)

 {

 this.Close();

 }

 else

 {

 //AddGeneralinfoTolistview();

 GetHardDiskInfo();

 AddHDDItemToListview();

 }

 }

 

 private void GetHardDiskInfo()

 {

 #region HDD_Collction of Infomation

 hdCollection.Clear();

 Num_Hdd = 0;

 TotalSize = 0;

 TotalSpaceLeft = 0;

 ManagementObjectSearcher searcher = new

 ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");

 foreach (ManagementObject wmi_HD in searcher.Get())

 {

 HardDrive hd = new HardDrive();

 #region hd.Model

 try

 {

 hd.Model = wmi_HD["Model"].ToString();

 }

 catch (Exception)

 {

 hd.Model = "Unknown";

 }

 #endregion

 #region hd.Type

 try

 {

 hd.Type = wmi_HD["InterfaceType"].ToString();

 }

 catch (Exception)

 {

 hd.Type = "Unknown";

 }

 #endregion

 #region hd.BytesPerSector

 try

 {

 hd.BytesPerSector = wmi_HD["BytesPerSector"].ToString();

 }

 catch (Exception)

 {

 hd.BytesPerSector = "Unknown";

 }

 #endregion

 #region hd.MediaType

 try

 {

 hd.MediaType = wmi_HD["MediaType"].ToString();

 }

 catch (Exception)

 {

 hd.MediaType = "Unknown";

 }

 #endregion

 #region hd.Partitions

 try

 {

 hd.Partitions = wmi_HD["Partitions"].ToString();

 }

 catch (Exception)

 {

 hd.Partitions = "Unknown";

 }

 #endregion

 #region hd.SectorsPerTrack

 try

 {

 hd.SectorsPerTrack = wmi_HD["SectorsPerTrack"].ToString();

 }

 catch (Exception)

 {

 hd.SectorsPerTrack = "Unknown";

 }

 #endregion

 #region hd.Signature

 try

 {

 hd.Signature = wmi_HD["Signature"].ToString();

 }

 catch (Exception)

 {

 hd.Signature = "Unknown";

 }

 #endregion

 #region hd.size

 try

 {

 hd.Size = wmi_HD["Size"].ToString();

 }

 catch (Exception)

 {

 hd.Size = "0";

 }

 #endregion

 #region hd.Status

 try

 {

 hd.Status = wmi_HD["Status"].ToString();

 }

 catch (Exception)

 {

 hd.Status = "Unknown";

 }

 #endregion

 #region hd.TotalCylonders

 try

 {

 hd.TotalCylinders = wmi_HD["TotalCylinders"].ToString();

 }

 catch (Exception)

 {

 hd.TotalCylinders = "Unknown";

 }

 #endregion

 #region hd.TotalHeads

 try

 {

 hd.TotalHeads = wmi_HD["TotalHeads"].ToString();

 }

 catch (Exception)

 {

 hd.TotalHeads = "Unknown";

 }

 #endregion

 #region hd.TotalSectors

 try

 {

 hd.TotalSectors = wmi_HD["TotalSectors"].ToString();

 }

 catch (Exception)

 {

 hd.TotalSectors = "Unknown"; }

 #endregion

 #region hd.TotalTracks

 try

 {

 hd.TotalTracks = wmi_HD["TotalTracks"].ToString(); }

 catch (Exception)

 {

 hd.TotalTracks = "Unknown"; }

 #endregion

 #region hd.TracksPerCylinder

 try

 {

 hd.TracksPerCylinder = wmi_HD["TracksPerCylinder"].ToString(); }

 catch (Exception)

 {

 hd.TracksPerCylinder = "Unknown"; }

 #endregion

 #region hd.SeralNo

 if (OSXP != true)

 {

 try

 {

 hd.SerialNo = wmi_HD["SerialNumber"].ToString(); }

 catch (Exception)

 {

 hd.SerialNo = "Unknown";

 } }

 else

 { }

 #endregion

 #region hd.FirmwareRevision

 try

 {

 hd.FirmwareRevision = wmi_HD["FirmwareRevision"].ToString(); }

 catch (Exception)

 {

 hd.FirmwareRevision = " "; }

 #endregion

 hdCollection.Add(hd);

 hd = null;

 Num_Hdd = Num_Hdd + 1;

 TotalSize = TotalSize + double.Parse(wmi_HD["Size"].ToString());

 }

 #region //Getting HDD's serial under XP

 if (OSXP == true)

 {

 searcher = new

 ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");

 int i = 0;

 foreach (ManagementObject wmi_HD in searcher.Get())

 {

 // get the hard drive from collection

 // using index

 HardDrive hd = (HardDrive)hdCollection[i];

 // get the hardware serial no.

 if (wmi_HD["SerialNumber"] == null)

 hd.SerialNo = "None";

 else

 hd.SerialNo = wmi_HD["SerialNumber"].ToString();

 ++i;

 }

 }

 #endregion

 searcher = new

 ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk");

 foreach (ManagementObject wmi_HD in searcher.Get())

 {

 // get how much Freespace the HDD have left...

 if (wmi_HD["FreeSpace"] == null)

 {

 //do nothing

 }

 else

 {

 if (wmi_HD["DriveType"].ToString() == "3")

 {

 TotalSpaceLeft += double.Parse(wmi_HD["FreeSpace"].ToString());

 }

 }

 }

 // HDD_info_Done = true;

 searcher = null;

 #endregion

 }

 private void AddHDDItemToListview()

 {

 //Makes the Search group:::......

 ListViewGroup HDDGroup = new ListViewGroup();

 HDDGroup.Header = "HardDrive(s) :";

Страницы: 1, 2, 3, 4, 5, 6


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.