laatzen/ZeroFlowTool/FutureReports.cs
2021-10-01 11:12:07 +02:00

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
*/
}
}
}