Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Листинг файла Form1.cs



Читайте также:
  1. Более подробные примеры для библиографических записей вы можете посмотреть в ИНТЕРНЕТе, набрав ГОСТР 7.05. т.е. действующий в настоящее время (в конце файла находятся примеры).
  2. Задание 2 Создание файла
  3. Использование компонентов стандартов диалогов для программирования в среде Delphi. Диалоги работы с файлами, цветами, шрифтами, поиска и замены.
  4. Команды работы с файлами
  5. Контроль, копирование и сжатие оперативного файла
  6. Листинг 11.2. Структура данных игрока.
  7. Листинг 11.3. Функции полета мухи.

 

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 MathWorks.MATLAB.NET.Utility;

using MathWorks.MATLAB.NET.Arrays;

using MatLab;

 

namespace DiagSound

{

public partial class Form1: Form

{

string FileName;

Class1 obj = new Class1();//MatLab

MWNumericArray MW;

int res = 0;

Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();

Microsoft.Office.Interop.Excel.Sheets ObjSheet;

Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;

Microsoft.Office.Interop.Excel.Workbook ObjWorkBook;

 

public int srav(double Vect, double Norma, double dx)

{

int res = 0;

if (Math.Abs(Vect - Norma) <= dx)

res++;

return res;

}

 

public int readMat(Microsoft.Office.Interop.Excel.Range Norma, double Vect, int i, int j)

{

Microsoft.Office.Interop.Excel.Range N;

Microsoft.Office.Interop.Excel.Range D;

N = Norma.get_Offset(i, j);

D = Norma.get_Offset(i + 18, j);

if (Math.Abs(Convert.ToDouble(N.Value2.ToString()) - Vect)

<= 2*Convert.ToDouble(D.Value2.ToString())) return 1;

else return 0;

}

 

public Form1()

{

InitializeComponent();

}

 

private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

Close();

}

 

private void button1_Click(object sender, EventArgs e)

{

obj.Graf(FileName);

}

 

private void wavфаToolStripMenuItem_Click(object sender, EventArgs e)

{

if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&

openFileDialog1.FileName.Length > 0)

FileName = openFileDialog1.FileName;

else MessageBox.Show("Error");

MW = (MWNumericArray)obj.Diag(FileName);

listBox1.Items.Add("=================");

listBox1.Items.Add("Wave-файл:");

listBox1.Items.Add(openFileDialog1.FileName);

listBox1.Items.Add("загружен!");

button1.Enabled = true;

if (openFileDialog2.FileName.Length > 0) button2.Enabled = true;

}

 

private void DataToolStripMenuItem_Click(object sender, EventArgs e)

{

if (openFileDialog2.ShowDialog() == System.Windows.Forms.DialogResult.OK &&

openFileDialog2.FileName.Length > 0)

{

listBox1.Items.Add("=================");

listBox1.Items.Add("База дефектов:");

listBox1.Items.Add(openFileDialog2.FileName);

listBox1.Items.Add("загружена!");

if (openFileDialog1.FileName.Length > 0) button2.Enabled = true;

}

}

private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)

{

MessageBox.Show("Программа разработана для курсовой работе\n по теме \"Автоматизированная система диагностики дефектов\nв конструкции электронных устройств\nс помощью акустических сигналов\"\nАвтор программы студент 3-го курса\nСургутского государственного университета \nВолков Александр\nкафедра АСОиУ\n2012г.","О программе");

}

 

private void button2_Click(object sender, EventArgs e)

{

ObjWorkBook = ObjExcel.Workbooks.Open(@openFileDialog2.FileName,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing);

ObjSheet = ObjWorkBook.Sheets;

listBox1.Items.Add("=================");

listBox1.Items.Add("Начала диагностики");

for (int sample = 0; sample < (MW.NumberOfElements / 39) - 16; sample=sample+17)

{

res = 0;

ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjSheet.get_Item(1);

Microsoft.Office.Interop.Excel.Range ObjRanges;

ObjRanges = ObjWorkSheet.get_Range("B2", Type.Missing);

// if (readMat(ObjRanges, (double)MW[ 1 + sample, 1], 0, 0) > 0)

for (int i = 0; i < 17; i++)

{

for (int j = 0; j < 39; j++)

res = res + readMat(ObjRanges, (double)MW[i + 1 + sample, j + 1], i, j);

}

if (res / 6.63 > 85)

{

listBox1.Items.Add("Стук " + Math.Round(res / 6.63, 2) + "% [" + (sample / 17) * 0.2 + "; " + Math.Round((sample / 17) * 0.2 + 0.2, 2) + "] сек");

//sample = sample + 17;

}

else

{

res = 0;

ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjSheet.get_Item(2);

ObjRanges = ObjWorkSheet.get_Range("B2", Type.Missing);

// if (readMat(ObjRanges, (double)MW[1 + sample, 1], 0, 0) > 0)

for (int i = 0; i < 17; i++)

{

for (int j = 0; j < 39; j++)

res = res + readMat(ObjRanges, (double)MW[i + 1 + sample, j + 1], i, j);

}

if (res / 6.63 > 85)

{

listBox1.Items.Add("Треск " + Math.Round(res / 6.63, 2) + "% [" + Math.Round((sample / 17) * 0.2, 2) + "; " + Math.Round((sample / 17) * 0.2 + 0.2, 2) + "] сек");

//sample = sample + 17;

}

}

}

listBox1.Items.Add("Диагностика завершина");

ObjExcel.Quit();

}

 

private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)

{

MessageBox.Show("Для диагностики сигнала необходимо сначала\nзагрузить Базу Дефектов и wave-файл содержащий\nсигнал, который нужно продиагностировать, после\nчего нажать кнопку Диагностика. После этого\nпрограмма начнет диагностировать сигнал и\nв случае обнаружения признаков дефекта\nвыводить в список наименование\nдефекта, процент схожести и отрезок времени\nна котором он обнаружил (в секундах)","Help");

}

}

}


Дата добавления: 2015-07-11; просмотров: 125 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.009 сек.)