712 lines
33 KiB
C#
712 lines
33 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using System.Drawing.Printing;
|
|
using System.Diagnostics;
|
|
using Microsoft.Office;
|
|
|
|
|
|
|
|
|
|
namespace GenesisZeroFlow
|
|
{
|
|
|
|
|
|
public partial class GenesisZeroFlow : Form
|
|
{
|
|
//static void DefineContentSection(Document document)
|
|
//{
|
|
// Section section = document.AddSection();
|
|
// section.PageSetup.OddAndEvenPagesHeaderFooter = true;
|
|
// section.PageSetup.StartingNumber = 1;
|
|
// HeaderFooter header = section.Headers.Primary;
|
|
// header.AddParagraph("\tOdd Page Header");
|
|
// header = section.Headers.EvenPage;
|
|
// header.AddParagraph("Even Page Header");
|
|
// // Create a paragraph with centered page number. See definition of style "Footer".
|
|
// Paragraph paragraph = new Paragraph();
|
|
// paragraph.AddTab();
|
|
// paragraph.AddPageField();
|
|
// // Add paragraph to footer for odd pages.
|
|
// section.Footers.Primary.Add(paragraph);
|
|
// // Add clone of paragraph to footer for odd pages. Cloning is necessary because an object must
|
|
// // not belong to more than one other object. If you forget cloning an exception is thrown.
|
|
// section.Footers.EvenPage.Add(paragraph.Clone());
|
|
//}
|
|
//private void MigraDocTitlepage(Document document)
|
|
//{
|
|
// Section section = document.AddSection();
|
|
|
|
// Paragraph paragraph = section.AddParagraph();
|
|
// paragraph.Format.SpaceAfter = "3cm";
|
|
|
|
|
|
// paragraph = section.AddParagraph(rTB_ReportEnterTitle.Text);
|
|
// paragraph.Format.Font.Size = 18;
|
|
// paragraph.Format.Font.Bold = true;
|
|
// paragraph.Format.Alignment = ParagraphAlignment.Center;
|
|
// paragraph.Format.Font.Color = Colors.Black;
|
|
// paragraph.Format.SpaceBefore = "6cm";
|
|
// paragraph.Format.SpaceAfter = "3cm";
|
|
|
|
// paragraph = section.AddParagraph("by");
|
|
// paragraph.Format.Font.Size = 12;
|
|
// paragraph.Format.Font.Italic = true;
|
|
// paragraph.Format.Alignment = ParagraphAlignment.Center;
|
|
// paragraph.Format.SpaceAfter = "3cm";
|
|
|
|
// paragraph = section.AddParagraph(rTB_ReportEnterOperator.Text);
|
|
// paragraph.Format.Font.Size = 14;
|
|
// paragraph.Format.Alignment = ParagraphAlignment.Center;
|
|
// paragraph.Format.SpaceAfter = "3cm";
|
|
|
|
|
|
// paragraph = section.AddParagraph(rtB_ReportTitlepageIntro.Text);
|
|
// paragraph.Format.Font.Size = 12;
|
|
// // paragraph.Format.Alignment = ParagraphAlignment.Center;
|
|
// paragraph.Format.Alignment = ParagraphAlignment.Justify;
|
|
// paragraph.Format.SpaceAfter = "3cm";
|
|
|
|
//}
|
|
//public static void DefineTableOfContents(Document document)
|
|
//{
|
|
// #region CA1062
|
|
// if (document == null)
|
|
// return;
|
|
// #endregion
|
|
// #region Definitions and initializations
|
|
// Section section = document.LastSection;
|
|
// #endregion
|
|
// section.AddPageBreak();
|
|
// Paragraph paragraph = section.AddParagraph("Table of Contents");
|
|
// paragraph.Format.Font.Size = 14;
|
|
// paragraph.Format.Font.Bold = true;
|
|
// paragraph.Format.SpaceAfter = 24;
|
|
// paragraph.Format.OutlineLevel = OutlineLevel.Level1;
|
|
|
|
// paragraph = section.AddParagraph();
|
|
// paragraph.Style = "TOC";
|
|
// Hyperlink hyperlink = paragraph.AddHyperlink("GP30 Settings");
|
|
// hyperlink.AddText("GP30 Settings\t");
|
|
// hyperlink.AddPageRefField("GP30 Settings");
|
|
// hyperlink = paragraph.AddHyperlink("Decoded Data");
|
|
// hyperlink.AddText("Decoded Data\t");
|
|
// hyperlink.AddPageRefField("Decoded Data");
|
|
|
|
// paragraph = section.AddParagraph();
|
|
// paragraph.Style = "TOC";
|
|
// hyperlink = paragraph.AddHyperlink("Tables");
|
|
// hyperlink.AddText("Tables\t");
|
|
// hyperlink.AddPageRefField("Tables");
|
|
|
|
// paragraph = section.AddParagraph();
|
|
// paragraph.Style = "TOC";
|
|
// hyperlink = paragraph.AddHyperlink("Charts");
|
|
// hyperlink.AddText("Charts\t");
|
|
// hyperlink.AddPageRefField("Charts");
|
|
//}
|
|
//public static void DefineStyles(Document document)
|
|
//{
|
|
// #region CA1062
|
|
// if (document == null)
|
|
// return;
|
|
// #endregion
|
|
// // Get the predefined style Normal.
|
|
// Style style = document.Styles["Normal"];
|
|
// // Because all styles are derived from Normal, the next line changes the
|
|
// // font of the whole document. Or, more exactly, it changes the font of
|
|
// // all styles and paragraphs that do not redefine the font.
|
|
// style.Font.Name = "Times New Roman";
|
|
|
|
// // Heading1 to Heading9 are predefined styles with an outline level. An outline level
|
|
// // other than OutlineLevel.BodyText automatically creates the outline (or bookmarks)
|
|
// // in PDF.
|
|
|
|
// style = document.Styles["Heading1"];
|
|
// style.Font.Name = "Arial";
|
|
// style.Font.Size = 14;
|
|
// style.ParagraphFormat.Alignment = ParagraphAlignment.Center;
|
|
// style.Font.Bold = true;
|
|
// style.Font.Color = Colors.Black;
|
|
// style.ParagraphFormat.PageBreakBefore = true;
|
|
// style.ParagraphFormat.SpaceAfter = 10;
|
|
|
|
// style = document.Styles["Heading2"];
|
|
// style.Font.Name = "Arial";
|
|
// style.Font.Size = 12;
|
|
// style.Font.Bold = true;
|
|
// style.ParagraphFormat.PageBreakBefore = false;
|
|
// style.ParagraphFormat.SpaceBefore = 6;
|
|
// style.ParagraphFormat.SpaceAfter = 6;
|
|
|
|
// style = document.Styles["Heading3"];
|
|
// style.Font.Size = 10;
|
|
// style.Font.Bold = true;
|
|
// style.Font.Italic = true;
|
|
// style.ParagraphFormat.SpaceBefore = 6;
|
|
// style.ParagraphFormat.SpaceAfter = 3;
|
|
|
|
// style = document.Styles[StyleNames.Header];
|
|
// style.ParagraphFormat.AddTabStop("16cm", MigraDoc.DocumentObjectModel.TabAlignment.Right);
|
|
|
|
// style = document.Styles[StyleNames.Footer];
|
|
// style.ParagraphFormat.AddTabStop("8cm", MigraDoc.DocumentObjectModel.TabAlignment.Center);
|
|
|
|
// // Create a new style called TextBox based on style Normal
|
|
// style = document.Styles.AddStyle("TextBox", "Normal");
|
|
// style.ParagraphFormat.Alignment = ParagraphAlignment.Justify;
|
|
// style.ParagraphFormat.Borders.Width = 2.5;
|
|
// style.ParagraphFormat.Borders.Distance = "3pt";
|
|
// style.ParagraphFormat.Shading.Color = Colors.SkyBlue;
|
|
|
|
// // Create a new style called TOC based on style Normal
|
|
// style = document.Styles.AddStyle("TOC", "Normal");
|
|
// style.ParagraphFormat.AddTabStop("16cm", MigraDoc.DocumentObjectModel.TabAlignment.Right, TabLeader.Dots);
|
|
// style.ParagraphFormat.Font.Color = Colors.Blue;
|
|
//}
|
|
/*
|
|
private void MigraDocDecodedDataPath0(Document report)
|
|
{
|
|
|
|
|
|
if (l_GetFirstLevelUpPath0.Text != "---")
|
|
FirstHitLevelUpPath0 = l_GetFirstLevelUpPath0.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath0.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelUpPath0 = "---";
|
|
|
|
if (l_GetFirstLevelUpPath1.Text != "---")
|
|
FirstHitLevelUpPath1 = l_GetFirstLevelUpPath1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelUpPath1 = "---";
|
|
|
|
if (l_GetFirstLevelUpPath2.Text != "---")
|
|
FirstHitLevelUpPath2 = l_GetFirstLevelUpPath2.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath2.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelUpPath2 = "---";
|
|
|
|
if (l_GetFirstLevelDownPath0.Text != "---")
|
|
FirstHitLevelDownPath0 = l_GetFirstLevelDownPath0.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath0.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelDownPath0 = "---";
|
|
|
|
if (l_GetFirstLevelDownPath1.Text != "---")
|
|
FirstHitLevelDownPath1 = l_GetFirstLevelDownPath1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelDownPath1 = "---";
|
|
|
|
if (l_GetFirstLevelDownPath2.Text != "---")
|
|
FirstHitLevelDownPath2 = l_GetFirstLevelDownPath2.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath2.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelDownPath2 = "---";
|
|
|
|
if (l_Gp30GetNumberOfPulses.Text != "---")
|
|
NumberOfBursts = l_Gp30GetNumberOfPulses.Text;
|
|
else
|
|
NumberOfBursts = "---";
|
|
|
|
if (l_Gp30GetStartHit.Text != "---")
|
|
StartHit = l_Gp30GetStartHit.Text;
|
|
else
|
|
StartHit = "---";
|
|
|
|
if (l_Gp30GetAmplitude.Text != "---")
|
|
AmplitudePeak = l_Gp30GetAmplitude.Text;
|
|
else
|
|
AmplitudePeak = "---";
|
|
|
|
if (l_Gp30GetSamplerate.Text != "---")
|
|
Samplerate = l_Gp30GetSamplerate.Text;
|
|
else
|
|
Samplerate = "---";
|
|
|
|
|
|
|
|
Section Gp30Settings = Report.AddSection();
|
|
|
|
Paragraph paragraph = Gp30Settings.AddParagraph("GP30 Settings");
|
|
paragraph.Style = "Heading1";
|
|
paragraph.Format.SpaceAfter = 50;
|
|
paragraph.AddBookmark("GP30 Settings");
|
|
|
|
Table TableGp30Settings = new Table();
|
|
|
|
TableGp30Settings.Borders.Width = 0.75;
|
|
TableGp30Settings.Format.Alignment = ParagraphAlignment.Center;
|
|
Column Parameter = TableGp30Settings.AddColumn(Unit.FromCentimeter(6));
|
|
Column Value = TableGp30Settings.AddColumn(Unit.FromCentimeter(6));
|
|
|
|
Row row = TableGp30Settings.AddRow();
|
|
row.Format.Font.Bold = true;
|
|
Cell cell = row.Cells[0];
|
|
cell.AddParagraph("Parameter");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph("Value");
|
|
|
|
|
|
row = TableGp30Settings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level up PATH0");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelUpPath0);
|
|
|
|
row = TableGp30Settings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level up PATH1");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelUpPath1);
|
|
|
|
row = TableGp30Settings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level up PATH2");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelUpPath2);
|
|
|
|
row = TableGp30Settings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level down PATH0");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelDownPath0);
|
|
|
|
row = TableGp30Settings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level down PATH1");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelDownPath1);
|
|
|
|
row = TableGp30Settings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level down PATH2");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelDownPath2);
|
|
|
|
row = TableGp30Settings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("Number of bursts");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(NumberOfBursts);
|
|
|
|
row = TableGp30Settings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("Starthit");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(StartHit);
|
|
|
|
row = TableGp30Settings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("Amplitude Peak Detect");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(AmplitudePeak);
|
|
|
|
row = TableGp30Settings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("Samplerate");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(Samplerate);
|
|
Report.LastSection.Add(TableGp30Settings);
|
|
}*/
|
|
|
|
/*
|
|
private void MigraDocGp30Settings(Document Report)
|
|
{
|
|
|
|
string FirstHitLevelUpPath0 = string.Empty;
|
|
string FirstHitLevelUpPath1 = string.Empty;
|
|
string FirstHitLevelUpPath2 = string.Empty;
|
|
string FirstHitLevelDownPath0 = string.Empty;
|
|
string FirstHitLevelDownPath1 = string.Empty;
|
|
string FirstHitLevelDownPath2 = string.Empty;
|
|
string NumberOfBursts = string.Empty;
|
|
string StartHit = string.Empty;
|
|
string AmplitudePeak = string.Empty;
|
|
string Samplerate = string.Empty;
|
|
|
|
|
|
if (l_GetFirstLevelUpPath0Meter1.Text != "---")
|
|
FirstHitLevelUpPath0 = l_GetFirstLevelUpPath0Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath0Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelUpPath0 = "---";
|
|
|
|
if (l_GetFirstLevelUpPath1Meter1.Text != "---")
|
|
FirstHitLevelUpPath1 = l_GetFirstLevelUpPath1Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath1Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelUpPath1 = "---";
|
|
|
|
if (l_GetFirstLevelUpPath2Meter1.Text != "---")
|
|
FirstHitLevelUpPath2 = l_GetFirstLevelUpPath2Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath2Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelUpPath2 = "---";
|
|
|
|
if (l_GetFirstLevelDownPath0Meter1.Text != "---")
|
|
FirstHitLevelDownPath0 = l_GetFirstLevelDownPath0Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath0Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelDownPath0 = "---";
|
|
|
|
if (l_GetFirstLevelDownPath1Meter1.Text != "---")
|
|
FirstHitLevelDownPath1 = l_GetFirstLevelDownPath1Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath1Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelDownPath1 = "---";
|
|
|
|
if (l_GetFirstLevelDownPath2Meter1.Text != "---")
|
|
FirstHitLevelDownPath2 = l_GetFirstLevelDownPath2Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath2Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)";
|
|
else
|
|
FirstHitLevelDownPath2 = "---";
|
|
|
|
if (l_Gp30GetNumberOfPulsesMeter1.Text != "---")
|
|
NumberOfBursts = l_Gp30GetNumberOfPulsesMeter1.Text;
|
|
else
|
|
NumberOfBursts = "---";
|
|
|
|
if (l_Gp30GetStartHitMeter1.Text != "---")
|
|
StartHit = l_Gp30GetStartHitMeter1.Text;
|
|
else
|
|
StartHit = "---";
|
|
|
|
if (l_Gp30GetAmplitudeMeter1.Text != "---")
|
|
AmplitudePeak = l_Gp30GetAmplitudeMeter1.Text;
|
|
else
|
|
AmplitudePeak = "---";
|
|
|
|
if (l_Gp30GetSamplerateMeter1.Text != "---")
|
|
Samplerate = l_Gp30GetSamplerateMeter1.Text;
|
|
else
|
|
Samplerate = "---";
|
|
|
|
|
|
|
|
Section Settings = Report.AddSection();
|
|
|
|
Paragraph paragraph = Settings.AddParagraph("Settings");
|
|
paragraph.Style = "Heading1";
|
|
paragraph.Format.SpaceAfter = 50;
|
|
paragraph.AddBookmark("Settings");
|
|
|
|
Table TableSettings = new Table();
|
|
|
|
TableSettings.Borders.Width = 0.75;
|
|
TableSettings.Format.Alignment = ParagraphAlignment.Center;
|
|
Column Parameter = TableSettings.AddColumn(Unit.FromCentimeter(6));
|
|
Column Value = TableSettings.AddColumn(Unit.FromCentimeter(6));
|
|
|
|
Row row = TableSettings.AddRow();
|
|
row.Format.Font.Bold = true;
|
|
Cell cell = row.Cells[0];
|
|
cell.AddParagraph("Parameter");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph("Value");
|
|
|
|
|
|
row = TableSettings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level up PATH1");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelUpPath0);
|
|
|
|
row = TableSettings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level up PATH2");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelUpPath1);
|
|
|
|
row = TableSettings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level up PATH3");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelUpPath2);
|
|
|
|
row = TableSettings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level down PATH1");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelDownPath0);
|
|
|
|
row = TableSettings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level down PATH2");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelDownPath1);
|
|
|
|
row = TableSettings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("First Hit level down PATH3");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(FirstHitLevelDownPath2);
|
|
|
|
row = TableSettings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("Number of bursts");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(NumberOfBursts);
|
|
|
|
row = TableSettings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("Starthit");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(StartHit);
|
|
|
|
row = TableSettings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("Amplitude Peak Detect");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(AmplitudePeak);
|
|
|
|
row = TableSettings.AddRow();
|
|
cell = row.Cells[0];
|
|
cell.AddParagraph("Samplerate");
|
|
cell = row.Cells[1];
|
|
cell.AddParagraph(Samplerate);
|
|
Report.LastSection.Add(TableSettings);
|
|
|
|
}
|
|
*/
|
|
/*
|
|
private void GenerateMigraDoc()
|
|
{
|
|
Document Report = new Document();
|
|
DefineStyles(Report);
|
|
MigraDocTitlepage(Report);
|
|
DefineTableOfContents(Report);
|
|
//DefineContentSection(Report);
|
|
MigraDocGp30Settings(Report);
|
|
|
|
|
|
PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(false, PdfFontEmbedding.Always);
|
|
pdfRenderer.Document = Report;
|
|
pdfRenderer.RenderDocument();
|
|
|
|
string filename = "Hello World.pdf";
|
|
pdfRenderer.PdfDocument.Save(filename);
|
|
Process.Start(filename);
|
|
}*/
|
|
/*
|
|
public static Document CreateDocument()
|
|
{
|
|
// Create a new MigraDoc document
|
|
Document document = new Document();
|
|
document.Info.Title = "Hello, MigraDoc";
|
|
document.Info.Subject = "Demonstrates an excerpt of the capabilities of MigraDoc.";
|
|
document.Info.Author = "Stefan Lange";
|
|
|
|
Styles.DefineStyles(document);
|
|
|
|
Cover.DefineCover(document);
|
|
TableOfContents.DefineTableOfContents(document);
|
|
|
|
DefineContentSection(document);
|
|
|
|
Paragraphs.DefineParagraphs(document);
|
|
Tables.DefineTables(document);
|
|
Charts.DefineCharts(document);
|
|
|
|
return document;
|
|
}*/
|
|
private void GenerateWordReport()
|
|
{
|
|
/*
|
|
#region Parameter query check
|
|
if (cB_ReportGP30Settings.Checked)
|
|
{
|
|
if ((l_GetFirstLevelUpPath0Meter1.Text.Contains("-")) || (l_GetFirstLevelUpPath1Meter1.Text.Contains("-")) || (l_GetFirstLevelUpPath2Meter1.Text.Contains("-")) ||
|
|
(l_GetFirstLevelDownPath0Meter1.Text.Contains("-")) || (l_GetFirstLevelDownPath1Meter1.Text.Contains("-")) || (l_GetFirstLevelDownPath2Meter1.Text.Contains("-")) ||
|
|
(l_Gp30GetAmplitudeMeter1.Text.Contains("-")) || (l_Gp30GetNumberOfPulsesMeter1.Text.Contains("-")) || (l_Gp30GetStartHitMeter1.Text.Contains("-")))
|
|
{
|
|
MessageBox.Show("Perform parameter readout or deselect\n 'Include GP30 settings'-option", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
}
|
|
#endregion
|
|
#region Declarations
|
|
string FilenameWord = rTB_ReportEnterDate.Text.Replace("-", string.Empty);
|
|
string Fullpath = string.Empty;
|
|
#region GP30-settings
|
|
#region PATH0 up
|
|
string TextGp30Settings = string.Empty;
|
|
if (l_GetFirstLevelUpPath0Meter1.Text != "---")
|
|
TextGp30Settings = TextGp30Settings + "First Hit level up PATH0: " + l_GetFirstLevelUpPath0Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath0Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n";
|
|
else
|
|
TextGp30Settings = TextGp30Settings + "First Hit level up PATH0: ---\n";
|
|
#endregion
|
|
#region PATH1 up
|
|
if (l_GetFirstLevelUpPath1Meter1.Text != "---")
|
|
TextGp30Settings = TextGp30Settings + "First Hit level up PATH1: " + l_GetFirstLevelUpPath1Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath1Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n";
|
|
else
|
|
TextGp30Settings = TextGp30Settings + "First Hit level up PATH1: ---\n";
|
|
#endregion
|
|
#region PATH2 up
|
|
if (l_GetFirstLevelUpPath2Meter1.Text != "---")
|
|
TextGp30Settings = TextGp30Settings + "First Hit level up PATH2: " + l_GetFirstLevelUpPath2Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath2Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n";
|
|
else
|
|
TextGp30Settings = TextGp30Settings + "First Hit level up PATH2: ---\n";
|
|
#endregion
|
|
#region PATH0 down
|
|
if (l_GetFirstLevelDownPath0Meter1.Text != "---")
|
|
TextGp30Settings = TextGp30Settings + "First Hit level down PATH0: " + l_GetFirstLevelDownPath0Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelDownPath0Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n";
|
|
else
|
|
TextGp30Settings = TextGp30Settings + "First Hit level down PATH0: ---\n";
|
|
#endregion
|
|
#region PATH1 down
|
|
if (l_GetFirstLevelDownPath1Meter1.Text != "---")
|
|
TextGp30Settings = TextGp30Settings + "First Hit level down PATH1: " + l_GetFirstLevelDownPath1Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelDownPath1Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n";
|
|
else
|
|
TextGp30Settings = TextGp30Settings + "First Hit level down PATH1: ---\n";
|
|
#endregion
|
|
#region PATH2 down
|
|
if (l_GetFirstLevelDownPath2Meter1.Text != "---")
|
|
TextGp30Settings = TextGp30Settings + "First Hit level down PATH2: " + l_GetFirstLevelDownPath2Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelDownPath2Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n";
|
|
else
|
|
TextGp30Settings = TextGp30Settings + "First Hit level down PATH2: ---\n";
|
|
#endregion
|
|
#region Number of bursts
|
|
if (l_Gp30GetNumberOfPulsesMeter1.Text != "---")
|
|
TextGp30Settings = TextGp30Settings + "Number of bursts: " + l_Gp30GetNumberOfPulsesMeter1.Text + "\n";
|
|
else
|
|
TextGp30Settings = TextGp30Settings + "Number of bursts: ---\n";
|
|
#endregion
|
|
#region Start hit
|
|
if (l_Gp30GetStartHitMeter1.Text != "---")
|
|
TextGp30Settings = TextGp30Settings + "Starthit: " + l_Gp30GetStartHitMeter1.Text + "\n";
|
|
else
|
|
TextGp30Settings = TextGp30Settings + "Starthit: ---\n";
|
|
#endregion
|
|
#region Amplitude peak detect
|
|
if (l_Gp30GetAmplitudeMeter1.Text != "---")
|
|
TextGp30Settings = TextGp30Settings + "Amplitude peak detect: " + l_Gp30GetAmplitudeMeter1.Text + "\n";
|
|
else
|
|
TextGp30Settings = TextGp30Settings + "Amplitude peak detect: ---\n";
|
|
#endregion
|
|
#region Samplerate
|
|
if (l_Gp30GetSamplerateMeter1.Text != "---")
|
|
TextGp30Settings = TextGp30Settings + "Samplerate: " + l_Gp30GetSamplerateMeter1.Text + "\n";
|
|
else
|
|
TextGp30Settings = TextGp30Settings + "Samplerate: ---\n";
|
|
#endregion
|
|
#endregion
|
|
FilenameWord = FilenameWord + "_" + rTB_ReportEnterOperator.Text + "_" + rTB_ReportEnterTitle.Text + ".docx";
|
|
#endregion
|
|
#region Initialisation
|
|
Microsoft.Office.Interop.Word.Application winword = new Microsoft.Office.Interop.Word.Application();
|
|
//Set status for word application is to be visible or not.
|
|
winword.Visible = false;
|
|
//Create a missing variable for missing value
|
|
object missing = System.Reflection.Missing.Value;
|
|
//Create a new document
|
|
Microsoft.Office.Interop.Word.Document document = winword.Documents.Add(ref missing, ref missing, ref missing, ref missing);
|
|
#endregion
|
|
#region Header
|
|
foreach (Microsoft.Office.Interop.Word.Section section in document.Sections)
|
|
{
|
|
//Get the header range and add the header details.
|
|
Microsoft.Office.Interop.Word.Range headerRange = section.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
|
|
headerRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;
|
|
string path = System.IO.Directory.GetCurrentDirectory() + "\\XylemLogoSmall.png";
|
|
headerRange.InlineShapes.AddPicture(@path);
|
|
}
|
|
#endregion
|
|
#region Titlepage
|
|
Microsoft.Office.Interop.Word.Paragraph Titlepage = document.Paragraphs.Add(ref missing);
|
|
Titlepage.Range.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdBlack;
|
|
Titlepage.Range.Font.Name = "Arial";
|
|
Titlepage.Range.Text = string.Empty;
|
|
Titlepage.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
|
|
Titlepage.Range.Font.Size = 20;
|
|
Titlepage.Range.Font.Bold = 1;
|
|
Titlepage.Range.Italic = 0;
|
|
Titlepage.Range.Text = "\n\n\n" + rTB_ReportEnterTitle.Text + "\n\n";
|
|
Titlepage.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
|
|
Titlepage.Range.Font.Size = 14;
|
|
Titlepage.Range.Font.Bold = 1;
|
|
Titlepage.Range.Italic = 0;
|
|
Titlepage.Range.Text = rTB_ReportEnterDate.Text + "\n";
|
|
Titlepage.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
|
|
Titlepage.Range.Font.Size = 12;
|
|
Titlepage.Range.Font.Bold = 1;
|
|
Titlepage.Range.Italic = 1;
|
|
Titlepage.Range.Text = "by\n";
|
|
Titlepage.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
|
|
Titlepage.Range.Font.Size = 14;
|
|
Titlepage.Range.Font.Bold = 1;
|
|
Titlepage.Range.Italic = 0;
|
|
Titlepage.Range.Text = rTB_ReportEnterOperator.Text + "\n\n\n\n\n\n";
|
|
Titlepage.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
|
|
Titlepage.Range.Font.Size = 10;
|
|
Titlepage.Range.Font.Bold = 0;
|
|
Titlepage.Range.Italic = 0;
|
|
Titlepage.Range.Text = rtB_ReportTitlepageIntro.Text;
|
|
Titlepage.Range.InsertParagraphAfter();
|
|
Titlepage.Range.InsertBreak();
|
|
#endregion
|
|
#region Page GP30 settings
|
|
if (cB_ReportGP30Settings.Checked)
|
|
{
|
|
Microsoft.Office.Interop.Word.Paragraph GP30Settings = document.Paragraphs.Add(ref missing);
|
|
GP30Settings.Range.PageSetup.LeftMargin = (double)45;
|
|
GP30Settings.Range.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdBlack;
|
|
GP30Settings.Range.Font.Name = "Arial";
|
|
GP30Settings.Range.PageSetup.LeftMargin = (double)60;
|
|
GP30Settings.Range.Text = string.Empty;
|
|
#region Headline1
|
|
GP30Settings.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
|
|
GP30Settings.Range.Font.Size = 20;
|
|
GP30Settings.Range.Font.Bold = 1;
|
|
GP30Settings.Range.Italic = 0;
|
|
GP30Settings.Range.Text = "GP30-Settings\n";
|
|
#endregion
|
|
#region Headline2
|
|
GP30Settings.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
|
|
GP30Settings.Range.PageSetup.LeftMargin = (double)60;
|
|
GP30Settings.Range.Font.Size = 12;
|
|
GP30Settings.Range.Font.Bold = 1;
|
|
GP30Settings.Range.Italic = 1;
|
|
GP30Settings.Range.Text = "Values obtained from register readout\n\n";
|
|
#endregion
|
|
#region Data
|
|
GP30Settings.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
|
|
GP30Settings.Range.ParagraphFormat.LineSpacing = 8;
|
|
GP30Settings.Range.Font.Size = 10;
|
|
GP30Settings.Range.Font.Bold = 0;
|
|
GP30Settings.Range.Italic = 0;
|
|
GP30Settings.Range.Text = TextGp30Settings;
|
|
#endregion
|
|
GP30Settings.Range.InsertBreak();
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region Save files
|
|
#region Save file dialog
|
|
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
|
|
// saveFileDialog1.Filter = "DOCX (*.docx)|*.docx";
|
|
saveFileDialog1.Filter = "DOCX (*.docx)|*.docx";
|
|
saveFileDialog1.FilterIndex = 2;
|
|
saveFileDialog1.RestoreDirectory = true;
|
|
saveFileDialog1.FileName = FilenameWord;
|
|
#endregion
|
|
#region Save to file
|
|
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
|
|
{
|
|
SaveDataPathWord = System.IO.Path.GetFullPath(saveFileDialog1.FileName);
|
|
Fullpath = SaveDataPathWord;
|
|
|
|
object filename = Fullpath;
|
|
document.SaveAs2(ref filename);
|
|
document.Close(ref missing, ref missing, ref missing);
|
|
document = null;
|
|
winword.Quit(ref missing, ref missing, ref missing);
|
|
winword = null;
|
|
MessageBox.Show("Document created successfully !");
|
|
|
|
}
|
|
#endregion
|
|
#endregion
|
|
|
|
*/
|
|
|
|
}
|
|
}
|
|
} |