diff --git a/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.cs b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.cs
new file mode 100644
index 000000000..ef72abc8d
--- /dev/null
+++ b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.cs
@@ -0,0 +1,290 @@
+///
+/// Copyright (c) 2015-2023 Sensus Slovensko a.s.
+///
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+using log4net;
+using Common;
+using TBF.Rig.Sequences;
+using TBF.Rig.Output.DB.SensusOracle;
+using TBF.Resources;
+using System.Drawing;
+using NHibernate;
+
+namespace TBF.Rig.DataEntry.PoseidonCmd
+{
+ public partial class CycleBeginningForm : Form, GenericDevices.IHasCompleted
+ {
+ private static readonly ILog log = LogManager.GetLogger(typeof(CycleBeginningForm));
+
+ /// Number of water meters
+ public readonly int WaterMetersCount;
+ readonly EntryFormCfg cfg;
+
+ /// Loaded from database beforethe form is open
+ IList listOfOrders;
+ string preselectedOrder;
+
+ /// To be retrieved after the form is closed
+ public string PurchaseOrder;
+ public string[] SNText;
+ public bool[] Disabled;
+
+ /// Set to 'true' when the form closes
+ public bool Completed { get { return completed; } }
+ bool completed;
+
+
+ /// Parameterless constructor for common functionality
+ public CycleBeginningForm()
+ {
+ InitializeComponent();
+ ControlBox = false;
+ preselectedOrder = null;
+
+ completed = false;
+ StartForceCloseHandler();
+ }
+
+
+ ///
+ /// Constructor
+ ///
+ /// Number of text boxes for serial numbers
+ public CycleBeginningForm(int waterMetersCount, EntryFormCfg cfg, string preselectedOrder = null)
+ : this()
+ {
+ this.WaterMetersCount = waterMetersCount;
+ this.cfg = cfg;
+ this.preselectedOrder = preselectedOrder;
+ SNText = null;
+ Disabled = null;
+ }
+
+
+ private void CycleBeginningForm_Load(object sender, EventArgs e)
+ {
+ Text = Strings.Data;
+ orderGroupBox.Text = Strings.Purchase_order;
+ okButton.Text = Strings.OkBtnText;
+
+ listOfOrders = new List();
+
+ if ((cfg.Orders == Orders.FromOracle || cfg.Orders == Orders.CombinedAndFromOracle)
+ && ProcessData.OracleDB != null)
+ {
+ foreach (var o in ProcessData.OracleDB.ReadOrders())
+ {
+ listOfOrders.Add(o);
+ }
+ }
+
+ if ((cfg.Orders == Orders.FromTracingDB || cfg.Orders == Orders.CombinedAndFromTracingDB)
+ && ProcessData.TracingDB != null
+ && ProcessData.TracingDB.DebugLevel == DebugMode.Normal)
+ {
+ foreach (var o in ProcessData.TracingDB.ReadOrders())
+ {
+ listOfOrders.Add(o);
+ }
+ }
+
+ string insertFirst = null;
+ if (!string.IsNullOrEmpty(preselectedOrder))
+ {
+ insertFirst = preselectedOrder;
+ }
+ else
+ {
+ if (Program.LocalSettings.PurchaseOrderHistoryCount > 0)
+ {
+ foreach (var o in listOfOrders)
+ {
+ if (o.POName == Program.LocalSettings.PurchaseOrderHistory[0])
+ {
+ insertFirst = o.POName;
+ break;
+ }
+ }
+ }
+ }
+
+ switch (cfg.Orders)
+ {
+ case Orders.Arbitrary:
+ PrepareOrderCombo(orderComboBox);
+ break;
+
+ case Orders.FromOracle:
+ case Orders.FromTracingDB:
+ if (insertFirst != null)
+ {
+ orderComboBox.Items.Add(insertFirst);
+ orderComboBox.Text = insertFirst;
+ }
+
+ foreach (var o in listOfOrders)
+ if (o.POName != insertFirst)
+ orderComboBox.Items.Add(o.POName);
+ break;
+
+ case Orders.CombinedAndFromOracle:
+ case Orders.CombinedAndFromTracingDB:
+ if (insertFirst != null)
+ {
+ orderComboBox.Items.Add(insertFirst);
+ orderComboBox.Text = insertFirst;
+ }
+ orderComboBox.Items.Add("BBAAMMXX");
+ orderComboBox.Items.Add("BBAAOMXX");
+ orderComboBox.Items.Add("BBAAQMXX");
+ orderComboBox.Items.Add("BBAATMFR");
+ orderComboBox.Items.Add("BBAATMXX");
+ orderComboBox.Items.Add("CCAAMMXX");
+ orderComboBox.Items.Add("CCAAOMXX");
+ orderComboBox.Items.Add("CCAAQMXX");
+ orderComboBox.Items.Add("CCAATMFR");
+ orderComboBox.Items.Add("CCAATMXX");
+ orderComboBox.Items.Add("DDAAMMXX");
+ orderComboBox.Items.Add("DDAAOMXX");
+ orderComboBox.Items.Add("DDAAQMXX");
+ orderComboBox.Items.Add("DDAATMXX");
+ orderComboBox.Items.Add("DEAAMMXX");
+ orderComboBox.Items.Add("DEAAOMXX");
+ orderComboBox.Items.Add("DEAAQMXX");
+ orderComboBox.Items.Add("DEAATMXX");
+ orderComboBox.Items.Add("EEAAMMXX");
+ orderComboBox.Items.Add("EEAAOMXX");
+ orderComboBox.Items.Add("EEAAQMXX");
+ orderComboBox.Items.Add("EEAATMFR");
+ orderComboBox.Items.Add("EEAATMXX");
+ orderComboBox.Items.Add("FFAAMMXX");
+ orderComboBox.Items.Add("FFAAOMXX");
+ orderComboBox.Items.Add("FFAAQMXX");
+ orderComboBox.Items.Add("FFAATMFR");
+ orderComboBox.Items.Add("FFAATMXX");
+ orderComboBox.Items.Add("GFAAMMXX");
+ orderComboBox.Items.Add("GFAAOMXX");
+ orderComboBox.Items.Add("GFAAQMXX");
+ orderComboBox.Items.Add("GFAATMXX");
+
+ foreach (var o in listOfOrders)
+ if (o.POName != insertFirst)
+ orderComboBox.Items.Add(o.POName);
+ break;
+ }
+
+ ///
+ /// Draw an appropriate test bench picture
+ ///
+ Side side = (TBF.Rig.Sequences.ProcessData.BenchInfo is DataContainer.iPerlBenchInfo.Component)
+ ? (TBF.Rig.Sequences.ProcessData.BenchInfo as DataContainer.iPerlBenchInfo.Component).Side
+ : Side.Left;
+ if ((cfg.Direction == Direction.Reversed_LR) && (side == Side.Left))
+ {
+ /// direction L->R (reversed), left side
+ pictureBox.Image = Image.FromFile(string.Format("{0}\\Pictures\\reversed_dir_left.jpg", Program.ExecutableDir, true));
+ }
+ else if ((cfg.Direction == Direction.Reversed_LR) && (side == Side.Right))
+ {
+ /// direction L->R (reversed), right side
+ pictureBox.Image = Image.FromFile(string.Format("{0}\\Pictures\\reversed_dir_right.jpg", Program.ExecutableDir, true));
+ }
+ else if (side == Side.Right)
+ {
+ /// direction R->L (forward), right side
+ pictureBox.Image = Image.FromFile(string.Format("{0}\\Pictures\\forward_dir_right.jpg", Program.ExecutableDir, true));
+ }
+ else
+ {
+ /// direction R->L (forward), left side
+ pictureBox.Image = Image.FromFile(string.Format("{0}\\Pictures\\forward_dir_left.jpg", Program.ExecutableDir, true));
+ }
+ }
+
+ ///
+ /// Load Purchase order combo box items from the LocalSettings PurchaseOrderHistory array
+ ///
+ /// Puchase order ComboBox
+ void PrepareOrderCombo(ComboBox orderComboBox)
+ {
+ for (int i = 0; i < Program.LocalSettings.PurchaseOrderHistoryCount; i++)
+ {
+ orderComboBox.Items.Add(Program.LocalSettings.PurchaseOrderHistory[i]);
+ }
+
+ if (orderComboBox.Items.Count > 0)
+ {
+ orderComboBox.Text = orderComboBox.Items[0].ToString();
+ }
+ }
+
+ private void okButton_Click(object sender, EventArgs e)
+ {
+ if (orderComboBox.Text.Length > 8 ||
+ (cfg.Orders != Orders.Arbitrary && !orderComboBox.Items.Contains(orderComboBox.Text)))
+ {
+ MessageBox.Show(Strings.Invalid_order_number, Strings.Error, MessageBoxButtons.OK,
+ MessageBoxIcon.Exclamation);
+ return;
+ }
+
+ IOrderInfo oInfo = (listOfOrders == null) ? null : listOfOrders.FirstOrDefault(x => x.POName == orderComboBox.Text);
+ ///
+ if (oInfo is Output.DB.SensusOracle.OrderDetails)
+ {
+ ProcessData.OrderInfo = oInfo;
+ }
+ else if (oInfo is SharedDatabase.Entities.OrderInfo && ProcessData.TracingDB != null)
+ {
+ try
+ {
+ using (var session = ProcessData.TracingDB.SessionFactory.OpenSession())
+ {
+ var list = session.QueryOver()
+ .Where(x => (x.POName == Program.MainWnd.SelectedProcedure.OrderInfo.POName))
+ .List();
+ ProcessData.OrderInfo = (list.Count == 1) ? list[0] : null;
+ string workflow = (list.Count == 1) ? list[0].Workflow : null;
+ ProcessData.WorkflowSummary = SharedDatabase.WorkflowSummary.ReadFromDB(workflow, "test", session);
+ session.Close();
+ }
+ }
+ catch (Exception ex)
+ {
+ log.ErrorFormat("Unable to load an order, workflow or workstep: {0}", ex);
+ ProcessData.OrderInfo = null;
+ ProcessData.WorkflowSummary = null;
+ }
+ }
+
+ PurchaseOrder = orderComboBox.Text;
+ Program.LocalSettings.UpdateHistory(orderComboBox.Text, ref Program.LocalSettings.PurchaseOrderHistory);
+
+ completed = true;
+ Close();
+ }
+
+
+ #region Forced close handling
+
+ public void StartForceCloseHandler()
+ {
+ UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
+ {
+ if (InvokeRequired) { Invoke(new EventHandler(OnForceClose), sender, args); }
+ else OnForceClose(sender, args);
+ };
+ }
+
+ private void OnForceClose(object sender, EventArgs args)
+ {
+ DialogResult = DialogResult.Cancel;
+ Close();
+ }
+
+ #endregion
+ }
+}
diff --git a/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.designer.cs b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.designer.cs
new file mode 100644
index 000000000..f6237e75e
--- /dev/null
+++ b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.designer.cs
@@ -0,0 +1,97 @@
+///
+/// Copyright (c) 2015 Sensus Metering Systems
+///
+namespace TBF.Rig.DataEntry.PoseidonCmd
+{
+ partial class CycleBeginningForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CycleBeginningForm));
+ this.okButton = new System.Windows.Forms.Button();
+ this.orderGroupBox = new System.Windows.Forms.GroupBox();
+ this.orderComboBox = new System.Windows.Forms.ComboBox();
+ this.pictureBox = new System.Windows.Forms.PictureBox();
+ this.orderGroupBox.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit();
+ this.SuspendLayout();
+ //
+ // okButton
+ //
+ resources.ApplyResources(this.okButton, "okButton");
+ this.okButton.ForeColor = System.Drawing.Color.Black;
+ this.okButton.Name = "okButton";
+ this.okButton.UseVisualStyleBackColor = true;
+ this.okButton.Click += new System.EventHandler(this.okButton_Click);
+ //
+ // orderGroupBox
+ //
+ this.orderGroupBox.Controls.Add(this.orderComboBox);
+ resources.ApplyResources(this.orderGroupBox, "orderGroupBox");
+ this.orderGroupBox.ForeColor = System.Drawing.Color.Black;
+ this.orderGroupBox.Name = "orderGroupBox";
+ this.orderGroupBox.TabStop = false;
+ //
+ // orderComboBox
+ //
+ this.orderComboBox.FormattingEnabled = true;
+ resources.ApplyResources(this.orderComboBox, "orderComboBox");
+ this.orderComboBox.Name = "orderComboBox";
+ //
+ // pictureBox
+ //
+ resources.ApplyResources(this.pictureBox, "pictureBox");
+ this.pictureBox.Name = "pictureBox";
+ this.pictureBox.TabStop = false;
+ //
+ // CycleBeginningForm
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.BackColor = System.Drawing.Color.DarkGray;
+ this.Controls.Add(this.pictureBox);
+ this.Controls.Add(this.orderGroupBox);
+ this.Controls.Add(this.okButton);
+ this.ForeColor = System.Drawing.Color.Black;
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
+ this.Name = "CycleBeginningForm";
+ this.TopMost = true;
+ this.Load += new System.EventHandler(this.CycleBeginningForm_Load);
+ this.orderGroupBox.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button okButton;
+ private System.Windows.Forms.GroupBox orderGroupBox;
+ private System.Windows.Forms.ComboBox orderComboBox;
+ private System.Windows.Forms.PictureBox pictureBox;
+ }
+}
\ No newline at end of file
diff --git a/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.resx b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.resx
new file mode 100644
index 000000000..5e7e06de5
--- /dev/null
+++ b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.resx
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ Verdana, 14.25pt
+
+
+ 627, 26
+
+
+ 112, 63
+
+
+
+ 7
+
+
+ OK
+
+
+ okButton
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 2
+
+
+ 90, 32
+
+
+ 432, 31
+
+
+ 0
+
+
+ orderComboBox
+
+
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ orderGroupBox
+
+
+ 0
+
+
+ Verdana, 14.25pt
+
+
+ 28, 12
+
+
+ 565, 82
+
+
+ 0
+
+
+ Order
+
+
+ orderGroupBox
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 1
+
+
+ 28, 118
+
+
+ 711, 497
+
+
+ 8
+
+
+ pictureBox
+
+
+ System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ True
+
+
+ 6, 13
+
+
+ True
+
+
+ 769, 639
+
+
+ Batch data
+
+
+ CycleBeginningForm
+
+
+ System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/TBF/Rig/DataEntry/PoseidonCmd/EntryForm.cs b/TBF/Rig/DataEntry/PoseidonCmd/EntryForm.cs
new file mode 100644
index 000000000..a45d5b77e
--- /dev/null
+++ b/TBF/Rig/DataEntry/PoseidonCmd/EntryForm.cs
@@ -0,0 +1,353 @@
+///
+/// Copyright (c) 2015-2021 Sensus Metering Systems
+///
+using System;
+using System.Collections.Generic;
+using log4net;
+using Config.Entities;
+using NHibernate.Util;
+using TBF.Rig;
+using TBF.Rig.GenericDevices;
+using TBF.Rig.RegisterReaders.PoseidonCmdStartStop;
+using TBF.Rig.Sequences;
+
+namespace TBF.Rig.DataEntry.PoseidonCmd
+{
+ public class EntryForm : ComponentBase, IOperation, IDataEntry, IHasCycleBeginForm, IHasWMStatesForm, IHasFromUNIDisablePossibility
+ {
+ private static readonly ILog log = LogManager.GetLogger(typeof(EntryForm));
+ public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
+
+ public bool UsesCameras() { return false; }
+
+ readonly EntryFormCfg entryFormCfg;
+ IRegReader[] regReaders;
+
+ ///
+ /// Properties set by the Begin, End and WMStates form
+ ///
+ bool[] disabled; /// This array is shared between forms
+
+ string[] wmCycleEndState;
+ public string WMCycleEndState(int wmNr) { return (wmNr >= 0 && wmNr < wmCycleEndState.Length) ? wmCycleEndState[wmNr] : string.Empty; }
+
+ double[] wmStartState;
+ public double WMStartState(int wmNr) { return (wmNr >= 0 && wmNr < wmStartState.Length) ? wmStartState[wmNr] : 0; }
+
+ double[] wmEndState;
+ public double WMEndState(int wmNr) { return (wmNr >= 0 && wmNr < wmEndState.Length) ? wmEndState[wmNr] : 0; }
+
+ string[] wmStartStateStr;
+
+
+ System.Windows.Forms.Form modelessDlg;
+ public bool Completed { get { return (modelessDlg is IHasCompleted) ? (modelessDlg as IHasCompleted).Completed : true; } }
+
+ double refVolume;
+ double errLimLo;
+ double errLimHi;
+
+ bool resultSaved; /// Set in Run() when results are saved
+
+ IList waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
+
+ public enum CurrentOp
+ {
+ None,
+ SendStartDataStream,
+ ReadDatastream_StartStates,
+ ReadDatastream_EndStates,
+ }
+
+ CurrentOp currentOp;
+
+
+ public EntryForm() { }
+
+ public EntryForm(Generic.IComponentCfg cfg)
+ : base(cfg)
+ {
+ entryFormCfg = cfg as EntryFormCfg;
+ }
+
+ public override void Initialize()
+ {
+ disabled = new bool[TBF.Data.WMsCount];
+ wmStartState = new double[TBF.Data.WMsCount];
+ wmStartStateStr = new string[TBF.Data.WMsCount];
+ wmEndState = new double[TBF.Data.WMsCount];
+ wmCycleEndState = new string[TBF.Data.WMsCount];
+ currentOp = CurrentOp.None;
+ log.FatalFormat("{0} initialized: {1}", Name, this);
+ }
+
+
+ /// Reference to the operation
+ public IOperation ShowCycleBeginFormOp()
+ {
+ if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
+ currentOp = CurrentOp.SendStartDataStream;
+ this.waterMeters = ProcessData.BatchRslts.Batch.WaterMeters;
+ return this;
+ }
+
+ /// Reference to the operation
+ public IOperation ShowTestStartFormOp(IRegReader[] regReaders)
+ {
+ if (!(
+ currentOp == CurrentOp.None
+ || currentOp == CurrentOp.SendStartDataStream)
+ ) throw new Exception("Sequence error");
+ currentOp = CurrentOp.ReadDatastream_StartStates;
+ //TODO BUMI apply show data in dialog if config required
+ //entryFormCfg.Direction = Direction.S640;
+ //currentOp = CurrentOp.EnterTestStartStates;
+ this.regReaders = regReaders;
+ return this;
+ }
+
+ /// null (not implemented)
+ public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList waterMeters, bool isCondOp) { return null; }
+ public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
+
+ /// Reference to the operation
+ public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
+ {
+ if (!(currentOp == CurrentOp.None) )
+ throw new Exception("Sequence error");
+ currentOp = CurrentOp.ReadDatastream_EndStates;
+ this.regReaders = regReaders;
+ this.refVolume = refVolume;
+ this.errLimLo = errLimLo;
+ this.errLimHi = errLimHi;
+ return this;
+ }
+
+ delegate void EntryFormDlgt(EntryForm myRef);
+ ///
+ void OpenBeginningDlg(EntryForm myRef)
+ {
+ if (!ShowForm)
+ return;
+ myRef.modelessDlg = new CycleBeginningForm(TBF.Data.WMsCount, myRef.entryFormCfg,
+ ProcessData.SelectedProcedure.OrderInfo != null ? ProcessData.SelectedProcedure.OrderInfo.POName : string.Empty);
+ modelessDlg.Show();
+ }
+ ///
+ void OpenTestStartStatesDlg(EntryForm myRef)
+ {
+ if (!ShowForm)
+ return;
+ myRef.modelessDlg = new TestStartEndForm(myRef.waterMeters.Count, myRef.regReaders, disabled);
+ modelessDlg.Show();
+ }
+ ///
+ void OpenTestEndStatesDlg(EntryForm myRef)
+ {
+ if (!ShowForm)
+ return;
+ myRef.modelessDlg = new TestStartEndForm(TBF.Data.WMsCount, myRef.regReaders, wmStartStateStr, disabled, refVolume, errLimLo, errLimHi);
+ modelessDlg.Show();
+ }
+
+ /// Start this operation
+ public void Start()
+ {
+ if (!ShowForm)
+ return ;
+
+ resultSaved = false;
+ switch (currentOp)
+ {
+ case CurrentOp.SendStartDataStream:
+ ReadAndSetDataToMeters();
+ if (ProcessData.SelectedProcedure.OrderInfo == null || entryFormCfg.Direction != Direction.S640)
+ {
+ Program.MainWnd.Invoke(new EntryFormDlgt(OpenBeginningDlg), this);
+ }
+ else
+ {
+ /// Only in case of 640 meters and an order information entered during the procedure selection
+ /// this DataEntry form at the beginning of the cycle is skipped
+ modelessDlg = null;
+ }
+ break;
+ case CurrentOp.ReadDatastream_StartStates:
+ Program.MainWnd.Invoke(new EntryFormDlgt(OpenTestStartStatesDlg), this);
+ break;
+ case CurrentOp.ReadDatastream_EndStates:
+ Program.MainWnd.Invoke(new EntryFormDlgt(OpenTestEndStatesDlg), this);
+ break;
+ }
+ }
+
+ /// Run this operation
+ /// Event.ResultsPrinted
+ public Event Run()
+ {
+ ReadAndSetDataToMeters();
+
+ if (!ShowForm)
+ return Event.ModelessFormClosed;
+
+ if (ProcessData.SelectedProcedure.OrderInfo != null && entryFormCfg.Direction == Direction.S640)
+ {
+ for (int i = 0; i < waterMeters.Count; i++)
+ {
+ if (waterMeters[i] != null)
+ waterMeters[i].PurchaseOrder = ProcessData.SelectedProcedure.OrderInfo.POName;
+ }
+ return Event.ModelessFormClosed;
+ }
+
+ if ((modelessDlg is IHasCompleted) && !(modelessDlg as IHasCompleted).Completed)
+ {
+ return Event.ModelessFormIsOpen;
+ }
+
+ if (!resultSaved) /// This is to save the result only once
+ {
+ if (currentOp == CurrentOp.SendStartDataStream)
+ {
+ CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
+ if (dlg != null)
+ {
+ for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
+ {
+ if (waterMeters[i] != null)
+ {
+ if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
+ }
+ }
+ }
+ }
+ else if (modelessDlg is TestStartEndForm && currentOp == CurrentOp.ReadDatastream_StartStates)
+ {
+ /// Fixed start test - start
+ TestStartEndForm dlg = (modelessDlg as TestStartEndForm);
+ if (dlg != null)
+ {
+ for (int i = 0; i < dlg.WaterMetersCount; i++)
+ {
+ wmStartState[i] = dlg.WMStartState[i];
+ wmStartStateStr[i] = dlg.WMStartStateStr[i];
+ }
+ }
+ }
+ else if (modelessDlg is TestStartEndForm && currentOp == CurrentOp.ReadDatastream_EndStates)
+ {
+ /// Fixed start test - end
+ TestStartEndForm dlg = (modelessDlg as TestStartEndForm);
+ if (dlg != null)
+ {
+ for (int i = 0; i < dlg.WaterMetersCount; i++)
+ {
+ wmEndState[i] = dlg.WMEndState[i];
+ }
+ }
+ }
+ resultSaved = true;
+ modelessDlg = null;
+ }
+
+ return Event.ModelessFormClosed; /// Form closed
+ }
+
+ /// Stop this operation
+ public void Stop()
+ {
+ if (modelessDlg is IHasCompleted)
+ {
+ UiBridge.Bridge.OnCloseModelessForm(this, null);
+ modelessDlg = null;
+ }
+ currentOp = CurrentOp.None;
+ }
+
+ public bool ShowForm { get; set; }
+ public bool ReadAndSetDataToMeters()
+ {
+ bool bOperationSuccess = false;
+ if (currentOp == CurrentOp.SendStartDataStream)
+ {
+ bool finishedReading = regReaders == null; // we can work only with register readers
+ while (!finishedReading)
+ {
+ bool bAllReadersFinished = true;
+ foreach (var iRegReader in regReaders )
+ {
+ if (iRegReader is PoseidonReader)
+ {
+ PoseidonReader poseidonReader = (iRegReader as PoseidonReader);
+ if (poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.SendStartDataStream_Done
+ || poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.SendStartDataStream_Runing)
+ {
+ poseidonReader.SetCurrentOp(PoseidonReader.CurrentPoseidonOp.SendStartDataStream);
+ }
+ /// Send start data stream
+ poseidonReader.Run();
+ if (!(poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.Done
+ || poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.Error))
+ {
+ bAllReadersFinished = false;
+ }
+ }
+ }
+ /// Wait for all readers to finish
+ if (bAllReadersFinished)
+ {
+ finishedReading = true;
+ }
+ else
+ {
+ System.Threading.Thread.Sleep(100);
+ }
+ }
+
+ bOperationSuccess = true;
+ }
+ else if ((currentOp == CurrentOp.ReadDatastream_StartStates)
+ || (currentOp == CurrentOp.ReadDatastream_EndStates))
+ {
+ bool finishedReading = regReaders == null; // we can work only with register readers
+ while (!finishedReading)
+ {
+ bool bAllReadersFinished = true;
+ foreach (var iRegReader in regReaders )
+ {
+ if (iRegReader is PoseidonReader)
+ {
+ PoseidonReader poseidonReader = (iRegReader as PoseidonReader);
+ if (!(poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.ReadDatastream_Done
+ || poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.ReadDatastream_Running))
+ {
+ poseidonReader.SetCurrentOp((currentOp == CurrentOp.ReadDatastream_StartStates)?
+ PoseidonReader.CurrentPoseidonOp.ReadDataStream_Start :
+ PoseidonReader.CurrentPoseidonOp.ReadDataStream_End);
+ }
+ /// Send start data stream
+ poseidonReader.Run();
+ if (!(poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.Done
+ || poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.Error))
+ {
+ bAllReadersFinished = false;
+ }
+ }
+ }
+ if (bAllReadersFinished)
+ {
+ finishedReading = true;
+ }
+ else
+ {
+ System.Threading.Thread.Sleep(100);
+ }
+ }
+
+ bOperationSuccess = true;
+ }
+
+ return bOperationSuccess;
+ }
+ }
+}
diff --git a/TBF/Rig/DataEntry/PoseidonCmd/EntryFormCfg.cs b/TBF/Rig/DataEntry/PoseidonCmd/EntryFormCfg.cs
new file mode 100644
index 000000000..0e7c91a1b
--- /dev/null
+++ b/TBF/Rig/DataEntry/PoseidonCmd/EntryFormCfg.cs
@@ -0,0 +1,191 @@
+///
+/// Copyright (c) 2015-2021 Sensus Slovensko a.s.
+///
+using System;
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using Common;
+using Config.Entities;
+using TBF.Resources;
+using TBF.Rig.Generic;
+
+namespace TBF.Rig.DataEntry.PoseidonCmd
+{
+ public enum Direction
+ {
+#if LANG_SK
+ [Description("iPERL normálne (R-L)")] Forward_RL,
+ [Description("iPERL opačne (L-R)")] Reversed_LR,
+ [Description("640")] S640,
+#elif LANG_DE
+ [Description("iPERL Forward (R-L)")] Forward_RL,
+ [Description("iPERL Reversed (L-R)")] Reversed_LR,
+ [Description("640")] S640,
+#else
+ [Description("iPERL Forward (R-L)")] Forward_RL,
+ [Description("iPERL Reversed (L-R)")] Reversed_LR,
+ [Description("640")] S640,
+#endif
+ Count,
+ }
+
+ public enum Orders
+ {
+#if LANG_SK
+ [Description("Ľubovolné")] Arbitrary,
+ [Description("Z Oracle databázy")] FromOracle,
+ [Description("Zo sledovacej databázy")] FromTracingDB,
+ [Description("Združené a z Oracle")] CombinedAndFromOracle,
+ [Description("Združené a zo sledovacej databázy")] CombinedAndFromTracingDB,
+#elif LANG_CZ
+ [Description("Libovolné")] Arbitrary,
+ [Description("Z Oracle databáze")] FromOracle,
+ [Description("Ze sledovací databáze")] FromTracingDB,
+ [Description("Sdružené a z Oracle")] CombinedAndFromOracle,
+ [Description("Sdružené a ze sledovací databáze")] CombinedAndFromTracingDB,
+#else
+ [Description("Arbitrary")] Arbitrary,
+ [Description("From Oracle")] FromOracle,
+ [Description("From Tracing DB")] FromTracingDB,
+ [Description("Combined and from Oracle")] CombinedAndFromOracle,
+ [Description("Combined and from Tracing DB")] CombinedAndFromTracingDB,
+#endif
+ Count,
+ }
+
+ public class EntryFormCfg : ComponentCfgBase, IComponentCfg, IParamsProvider
+ {
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
+ public override XmlSerializer GetSerializer() { return Serializer; }
+
+ public IComponentCfgCtrl GetControl(IList cmpntEntities)
+ {
+ return new Configs.ParamsProvider.ComponentCfgCtrl(this, null);
+ }
+
+ ///
+ /// Serialized parameters
+ ///
+ public Direction Direction;
+ public Orders Orders;
+
+ /// Private parameterless constructor invoked by all other (public) constructors
+ EntryFormCfg() { }
+
+ public EntryFormCfg(string name, IComponentFactory factory)
+ : this()
+ {
+ Name = name;
+ Factory = factory;
+ ParentName = string.Empty;
+ InitializeAll();
+ }
+
+ public string ComponentName { get { return Name; } }
+
+ public void InitializeAll()
+ {
+ Direction = Direction.Forward_RL;
+ Orders = Orders.Arbitrary;
+ }
+
+ string[] paramNames = new string[]
+ {
+ Strings.Direction,
+ Strings.Orders,
+ };
+ public string ParamName(int i) { return paramNames[i]; }
+ public int ParamsCount() { return paramNames.Length; }
+
+ public ICollection ParamValues(int i)
+ {
+ var list = new List();
+ switch (i)
+ {
+ case 0:
+ for (Direction d = 0; d < Direction.Count; d++) list.Add(d.ToDescription());
+ return list;
+ case 1:
+ for (Orders o = 0; o < Orders.Count; o++) list.Add(o.ToDescription());
+ return list;
+ default:
+ return null;
+ }
+ }
+
+
+ public string ToString(int i)
+ {
+ switch (i)
+ {
+ case 0: return Direction.ToDescription();
+ case 1: return Orders.ToDescription();
+ default:
+ return string.Format("Name={0}, Direction={1}, Orders={2}", Name, Direction, Orders);
+ }
+ }
+
+ public CfgUpdateFlags UpdateParam(int i, string str)
+ {
+ switch (i)
+ {
+ case 0:
+ for (Direction d = 0; d < Direction.Count; d++)
+ if (d.ToDescription() == str)
+ {
+ Direction = d;
+ return CfgUpdateFlags.RestartRqrd;
+ }
+ break;
+
+ case 1:
+ for (Orders o = 0; o < Orders.Count; o++)
+ if (o.ToDescription() == str)
+ {
+ Orders = o;
+ return CfgUpdateFlags.RestartRqrd;
+ }
+ break;
+ }
+
+ return CfgUpdateFlags.None;
+ }
+
+ public bool ValidateParam(int i, string str, out string message)
+ {
+ message = string.Empty;
+
+ switch (i)
+ {
+ case 0:
+ case 1:
+ if (ParamValues(i).Contains(str)) return true;
+ break;
+ default:
+ message = "Invalid index";
+ return false;
+ }
+
+ message = ParamName(i) + " is invalid";
+ return false;
+ }
+
+ void CopyContentTo(EntryFormCfg prms)
+ {
+ prms.Direction = this.Direction;
+ prms.Orders = this.Orders;
+ }
+
+ public IParamsProvider Clone()
+ {
+ EntryFormCfg pars = new EntryFormCfg();
+ CopyContentTo(pars);
+ return pars;
+ }
+
+ public bool UpdateEmbeddedDbEntity()
+ {
+ return true; /// =OK, do nothing
+ }
+ }
+}
diff --git a/TBF/Rig/DataEntry/PoseidonCmd/Factory.cs b/TBF/Rig/DataEntry/PoseidonCmd/Factory.cs
new file mode 100644
index 000000000..c538f6172
--- /dev/null
+++ b/TBF/Rig/DataEntry/PoseidonCmd/Factory.cs
@@ -0,0 +1,25 @@
+///
+/// Copyright (c) 2015-2021 Sensus Slovensko a.s.
+///
+using System.Collections.Generic;
+using TBF.Rig.Generic;
+
+namespace TBF.Rig.DataEntry.PoseidonCmd
+{
+ public class Factory : IComponentFactory
+ {
+ public string ClassName { get { return GetType().Namespace.Substring(8); } }
+ public override string ToString() { return ClassName; }
+
+ public IComponent DummyComponent() { return new EntryForm(); }
+
+ public IComponent GetComponent(IComponentCfg cfg, IList components) { return new EntryForm(cfg); }
+
+ public IComponentCfg DefaultConfig() { return new EntryFormCfg("DataEntry-PoseidonCmd", this); }
+
+ public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
+ {
+ return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
+ }
+ }
+}
diff --git a/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.cs b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.cs
new file mode 100644
index 000000000..8e785d7d3
--- /dev/null
+++ b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.cs
@@ -0,0 +1,478 @@
+///
+/// Copyright (c) 2015-2017 Sensus Metering Systems
+///
+using System;
+using System.Collections.Generic;
+using System.Windows.Forms;
+using log4net;
+using TBF.Rig.GenericDevices;
+using TBF.Resources;
+
+namespace TBF.Rig.DataEntry.PoseidonCmd
+{
+ public partial class TestStartEndForm : Form, GenericDevices.IHasCompleted
+ {
+ private static readonly ILog log = LogManager.GetLogger(typeof(TestStartEndForm));
+
+ // Set to 'true' when the form closes
+ public bool Completed { get { return completed; } }
+ bool completed;
+
+ /// Number of text boxes for serial numbers
+ public readonly int WaterMetersCount;
+ readonly IRegReader[] regReaders;
+ readonly bool[] disabled;
+
+ // To be retrieved after the form closes
+ public double[] WMStartState;
+
+ // To be retrieved after the form closes
+ public readonly string[] WMStartStateStr;
+
+ // To be retrieved after the form closes
+ public double[] WMEndState;
+
+ bool endStates; /// false=start states, true=end states
+ double refVolume;
+ double warningLimLo; /// limit to display exclamation mark, typically 2x errLimLo
+ double warningLimHi; /// limit to display exclamation mark, typically 2x errLimHi
+
+ int TextBoxesCount;
+ ///
+ Label[] labels;
+ TextBox[] startTextBoxes;
+ TextBox[] endTextBoxes;
+ IList enabledTextBoxes;
+
+ ///
+ /// Parameterless constructor initializing common part for start and endstate form
+ ///
+ public TestStartEndForm()
+ {
+ InitializeComponent();
+ ControlBox = false;
+
+ TextBoxesCount = 48;
+
+ labels = new Label[]
+ {
+ label1, label2, label3, label4, label5, label6, label7, label8, label9, label10,
+ label11, label12, label13, label14, label15, label16, label17, label18, label19, label20,
+ label21, label22, label23, label24, label25, label26, label27, label28, label29, label30,
+ label31, label32, label33, label34, label35, label36, label37, label38, label39, label40,
+ label41, label42, label43, label44, label45, label46, label47, label48,
+ };
+ startTextBoxes = new TextBox[]
+ {
+ startTextBox1, startTextBox2, startTextBox3, startTextBox4, startTextBox5, startTextBox6, startTextBox7, startTextBox8, startTextBox9, startTextBox10,
+ startTextBox11, startTextBox12, startTextBox13, startTextBox14, startTextBox15, startTextBox16, startTextBox17, startTextBox18, startTextBox19, startTextBox20,
+ startTextBox21, startTextBox22, startTextBox23, startTextBox24, startTextBox25, startTextBox26, startTextBox27, startTextBox28, startTextBox29, startTextBox30,
+ startTextBox31, startTextBox32, startTextBox33, startTextBox34, startTextBox35, startTextBox36, startTextBox37, startTextBox38, startTextBox39, startTextBox40,
+ startTextBox41, startTextBox42, startTextBox43, startTextBox44, startTextBox45, startTextBox46, startTextBox47, startTextBox48,
+ };
+ endTextBoxes = new TextBox[]
+ {
+ endTextBox1, endTextBox2, endTextBox3, endTextBox4, endTextBox5, endTextBox6, endTextBox7, endTextBox8, endTextBox9, endTextBox10,
+ endTextBox11, endTextBox12, endTextBox13, endTextBox14, endTextBox15, endTextBox16, endTextBox17, endTextBox18, endTextBox19, endTextBox20,
+ endTextBox21, endTextBox22, endTextBox23, endTextBox24, endTextBox25, endTextBox26, endTextBox27, endTextBox28, endTextBox29, endTextBox30,
+ endTextBox31, endTextBox32, endTextBox33, endTextBox34, endTextBox35, endTextBox36, endTextBox37, endTextBox38, endTextBox39, endTextBox40,
+ endTextBox41, endTextBox42, endTextBox43, endTextBox44, endTextBox45, endTextBox46, endTextBox47, endTextBox48,
+ };
+ enabledTextBoxes = new List();
+
+ completed = false;
+ StartForceCloseHandler();
+ }
+
+ ///
+ /// Constructor to fill in start states
+ ///
+ /// Number of water meters
+ /// Information from CycleBeginningForm about availability of water meters
+ public TestStartEndForm(int waterMetersCount, IRegReader[] regReaders, bool[] disabled)
+ : this()
+ {
+ endStates = false;
+
+ this.WaterMetersCount = waterMetersCount;
+ this.regReaders = regReaders;
+ this.disabled = disabled;
+
+ ShuffleTextBoxes();
+
+ WMStartState = new double[waterMetersCount];
+ WMStartStateStr = new string[waterMetersCount];
+ }
+
+ ///
+ /// Constructor to fill in end states
+ ///
+ /// Number of water meters
+ /// Information entered on test start
+ /// Information from CycleBeginningForm about availability of water meters
+ /// Reference volume, it is used to verify the end state, show/hide exclamation if necessary
+ /// Error limit low, it is used to verify the end state, show/hide exclamation if necessary
+ /// Error limit high, it is used to verify the end state, show/hide exclamation if necessary
+ public TestStartEndForm(int waterMetersCount, IRegReader[] regReaders, string[] wmStartStateStr, bool[] disabled,
+ double refVolume, double errLimLo, double errLimHi)
+ : this()
+ {
+ endStates = true;
+
+ this.WaterMetersCount = waterMetersCount;
+ this.regReaders = regReaders;
+ if (wmStartStateStr == null || wmStartStateStr.Length != waterMetersCount)
+ throw (new Exception("Invalid 'wmStartStateStr' argument"));
+ this.WMStartStateStr = wmStartStateStr;
+ this.disabled = disabled;
+ this.refVolume = refVolume;
+ this.warningLimLo = 2 * errLimLo;
+ this.warningLimHi = 2 * errLimHi;
+
+ ShuffleTextBoxes();
+
+ WMEndState = new double[waterMetersCount];
+ }
+
+ ///
+ /// Make sure the layout of labels/text boxes on the screen
+ /// corresponds to the layout of watermeters of the test bench.
+ ///
+ void ShuffleTextBoxes()
+ {
+ if (TBF.Data.WMsCount < TextBoxesCount)
+ {
+ int nrLines = TBF.Data.WMsCount / TBF.Data.LineSize;
+ int gap = (TextBoxesCount - TBF.Data.WMsCount) / nrLines;
+
+ int dest = 0;
+ for (int l = 0; l < nrLines; l++)
+ {
+ for (int i = 0; i < TBF.Data.LineSize; i++)
+ {
+ labels[dest] = labels[l * TBF.Data.LineSize + l * gap + i];
+ startTextBoxes[dest] = startTextBoxes[l * TBF.Data.LineSize + l * gap + i];
+ endTextBoxes[dest] = endTextBoxes[l * TBF.Data.LineSize + l * gap + i];
+ dest++;
+ }
+ }
+ TextBoxesCount = TBF.Data.WMsCount;
+ }
+ }
+
+ private void CycleEndForm_Load(object sender, EventArgs e)
+ {
+ Localize();
+
+ //Height = 115 + 90 * WaterMetersCount;
+
+ for (int i = 0; i < TextBoxesCount; i++)
+ {
+ if (i < WaterMetersCount)
+ {
+ labels[i].Visible = startTextBoxes[i].Visible = endTextBoxes[i].Visible = true;
+ }
+ }
+
+ if (endStates)
+ {
+ for (int i = 0; i < TextBoxesCount; i++)
+ {
+ if (WMStartStateStr != null && i < WMStartStateStr.Length)
+ {
+ startTextBoxes[i].Text = WMStartStateStr[i];
+ }
+
+ if (disabled != null && i < disabled.Length && disabled[i])
+ {
+ endTextBoxes[i].Enabled = false;
+ }
+ else
+ {
+ endTextBoxes[i].Enabled = true;
+ enabledTextBoxes.Add(endTextBoxes[i]);
+ }
+ }
+ }
+ else
+ {
+ for (int i = 0; i < TextBoxesCount; i++)
+ {
+ if (disabled != null && i < disabled.Length && disabled[i])
+ {
+ startTextBoxes[i].Enabled = false;
+ }
+ else
+ {
+ startTextBoxes[i].Enabled = true;
+ enabledTextBoxes.Add(startTextBoxes[i]);
+ }
+ }
+ }
+ }
+
+ void Localize()
+ {
+ Text = Strings.Water_Meter_States;
+ for (int i = 0; i < TextBoxesCount; i++)
+ {
+ labels[i].Text = string.Format("{0} {1}", Strings.Water_Meter, i + 1);
+ }
+ startLabel.Text = start2Label.Text = Strings.Start;
+ endLabel.Text = end2Label.Text = Strings.End;
+ okButton.Text = Strings.OkBtnText;
+ }
+
+ private void okButton_Click(object sender, EventArgs eArgs)
+ {
+ try
+ {
+ if (endStates)
+ {
+ for (int i = 0; i < Math.Min(WaterMetersCount, TextBoxesCount); i++)
+ {
+ if (endTextBoxes[i].Visible && endTextBoxes[i].Enabled)
+ {
+ WMEndState[i] = Utils.ParseUDouble(endTextBoxes[i].Text);
+ }
+ }
+ }
+ else
+ {
+ for (int i = 0; i < Math.Min(WaterMetersCount, TextBoxesCount); i++)
+ {
+ if (startTextBoxes[i].Visible && startTextBoxes[i].Enabled)
+ {
+ WMStartStateStr[i] = startTextBoxes[i].Text;
+ WMStartState[i] = Utils.ParseUDouble(startTextBoxes[i].Text);
+ }
+ }
+ }
+ }
+ catch(Exception e)
+ {
+ log.ErrorFormat("Exception: {0}", e.Message);
+ return;
+ }
+
+ completed = true;
+ Close();
+ }
+
+ #region Forced close handling
+
+ public void StartForceCloseHandler()
+ {
+ UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
+ {
+ if (InvokeRequired) { Invoke(new EventHandler(OnForceClose), sender, args); }
+ else OnForceClose(sender, args);
+ };
+ }
+
+ void OnForceClose(object sender, EventArgs args)
+ {
+ DialogResult = DialogResult.Cancel;
+ Close();
+ }
+
+ #endregion
+
+
+ ///
+ /// Calculate the approximate error and verify whether it is within limits.
+ /// Make an exclamation mark visible if out of range.
+ /// Similar event handler is implemented for all endTextBoxes (1..24).
+ ///
+ private void ProcTextChanged(object sender, EventArgs e, TextBox endStateTB, TextBox startStateTB, Label exclamation)
+ {
+ double err = 0;
+ try
+ {
+ double endState = Utils.ParseUDouble(endStateTB.Text);
+ double startState = Utils.ParseUDouble(startStateTB.Text);
+ err = 100.0 * (endState - startState - refVolume) / refVolume;
+ }
+ catch { err = 1000.0f; };
+ exclamation.Visible = (err < warningLimLo) || (warningLimHi < err);
+ }
+
+ private void endTextBox1_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox1, startTextBox1, exclamation1); }
+ private void endTextBox2_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox2, startTextBox2, exclamation2); }
+ private void endTextBox3_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox3, startTextBox3, exclamation3); }
+ private void endTextBox4_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox4, startTextBox4, exclamation4); }
+ private void endTextBox5_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox5, startTextBox5, exclamation5); }
+ private void endTextBox6_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox6, startTextBox6, exclamation6); }
+ private void endTextBox7_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox7, startTextBox7, exclamation7); }
+ private void endTextBox8_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox8, startTextBox8, exclamation8); }
+ private void endTextBox9_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox9, startTextBox9, exclamation9); }
+ private void endTextBox10_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox10, startTextBox10, exclamation10); }
+ private void endTextBox11_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox11, startTextBox11, exclamation11); }
+ private void endTextBox12_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox12, startTextBox12, exclamation12); }
+ private void endTextBox13_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox13, startTextBox13, exclamation13); }
+ private void endTextBox14_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox14, startTextBox14, exclamation14); }
+ private void endTextBox15_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox15, startTextBox15, exclamation15); }
+ private void endTextBox16_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox16, startTextBox16, exclamation16); }
+ private void endTextBox17_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox17, startTextBox17, exclamation17); }
+ private void endTextBox18_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox18, startTextBox18, exclamation18); }
+ private void endTextBox19_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox19, startTextBox19, exclamation19); }
+ private void endTextBox20_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox20, startTextBox20, exclamation20); }
+ private void endTextBox21_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox21, startTextBox21, exclamation21); }
+ private void endTextBox22_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox22, startTextBox22, exclamation22); }
+ private void endTextBox23_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox23, startTextBox23, exclamation23); }
+ private void endTextBox24_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox24, startTextBox24, exclamation24); }
+ private void endTextBox25_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox25, startTextBox25, exclamation25); }
+ private void endTextBox26_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox26, startTextBox26, exclamation26); }
+ private void endTextBox27_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox27, startTextBox27, exclamation27); }
+ private void endTextBox28_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox28, startTextBox28, exclamation28); }
+ private void endTextBox29_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox29, startTextBox29, exclamation29); }
+ private void endTextBox30_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox30, startTextBox30, exclamation30); }
+ private void endTextBox31_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox31, startTextBox31, exclamation31); }
+ private void endTextBox32_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox32, startTextBox32, exclamation32); }
+ private void endTextBox33_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox33, startTextBox33, exclamation33); }
+ private void endTextBox34_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox34, startTextBox34, exclamation34); }
+ private void endTextBox35_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox35, startTextBox35, exclamation35); }
+ private void endTextBox36_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox36, startTextBox36, exclamation36); }
+ private void endTextBox37_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox37, startTextBox37, exclamation37); }
+ private void endTextBox38_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox38, startTextBox38, exclamation38); }
+ private void endTextBox39_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox39, startTextBox39, exclamation39); }
+ private void endTextBox40_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox40, startTextBox40, exclamation40); }
+ private void endTextBox41_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox41, startTextBox41, exclamation41); }
+ private void endTextBox42_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox42, startTextBox42, exclamation42); }
+ private void endTextBox43_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox43, startTextBox43, exclamation43); }
+ private void endTextBox44_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox44, startTextBox44, exclamation44); }
+ private void endTextBox45_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox45, startTextBox45, exclamation45); }
+ private void endTextBox46_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox46, startTextBox46, exclamation46); }
+ private void endTextBox47_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox47, startTextBox47, exclamation47); }
+ private void endTextBox48_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox48, startTextBox48, exclamation48); }
+
+
+ ///
+ /// Process a key press within any enabled text boxe
+ ///
+ ///
+ ///
+ /// TextBox control which received the event
+ private void ProcKeyPress(object sender, KeyPressEventArgs e, TextBox currentFocusOwner)
+ {
+ if (e.KeyChar == '+')
+ {
+ /// Process '+' key ..... Form completed
+ okButton_Click(sender, e);
+ }
+ if (e.KeyChar == '\r')
+ {
+ /// Process key ..... Next text field
+ if (enabledTextBoxes.Count < 2) return; /// There is just one enabled textbox
+
+ for (int i = 0; i < enabledTextBoxes.Count; i++)
+ {
+ if (enabledTextBoxes[i] == currentFocusOwner)
+ {
+ /// Change focus to the next enabled text box
+ enabledTextBoxes[(i + 1) % enabledTextBoxes.Count].Focus();
+ return;
+ }
+ }
+ }
+ }
+
+ private void startTextBox1_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox1); }
+ private void startTextBox2_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox2); }
+ private void startTextBox3_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox3); }
+ private void startTextBox4_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox4); }
+ private void startTextBox5_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox5); }
+ private void startTextBox6_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox6); }
+ private void startTextBox7_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox7); }
+ private void startTextBox8_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox8); }
+ private void startTextBox9_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox9); }
+ private void startTextBox10_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox10); }
+ private void startTextBox11_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox11); }
+ private void startTextBox12_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox12); }
+ private void startTextBox13_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox13); }
+ private void startTextBox14_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox14); }
+ private void startTextBox15_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox15); }
+ private void startTextBox16_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox16); }
+ private void startTextBox17_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox17); }
+ private void startTextBox18_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox18); }
+ private void startTextBox19_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox19); }
+ private void startTextBox20_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox20); }
+ private void startTextBox21_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox21); }
+ private void startTextBox22_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox22); }
+ private void startTextBox23_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox23); }
+ private void startTextBox24_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox24); }
+ private void startTextBox25_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox25); }
+ private void startTextBox26_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox26); }
+ private void startTextBox27_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox27); }
+ private void startTextBox28_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox28); }
+ private void startTextBox29_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox29); }
+ private void startTextBox30_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox30); }
+ private void startTextBox31_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox31); }
+ private void startTextBox32_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox32); }
+ private void startTextBox33_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox33); }
+ private void startTextBox34_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox34); }
+ private void startTextBox35_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox35); }
+ private void startTextBox36_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox36); }
+ private void startTextBox37_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox37); }
+ private void startTextBox38_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox38); }
+ private void startTextBox39_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox39); }
+ private void startTextBox40_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox40); }
+ private void startTextBox41_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox41); }
+ private void startTextBox42_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox42); }
+ private void startTextBox43_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox43); }
+ private void startTextBox44_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox44); }
+ private void startTextBox45_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox45); }
+ private void startTextBox46_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox46); }
+ private void startTextBox47_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox47); }
+ private void startTextBox48_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox48); }
+
+ private void endTextBox1_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox1); }
+ private void endTextBox2_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox2); }
+ private void endTextBox3_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox3); }
+ private void endTextBox4_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox4); }
+ private void endTextBox5_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox5); }
+ private void endTextBox6_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox6); }
+ private void endTextBox7_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox7); }
+ private void endTextBox8_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox8); }
+ private void endTextBox9_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox9); }
+ private void endTextBox10_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox10); }
+ private void endTextBox11_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox11); }
+ private void endTextBox12_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox12); }
+ private void endTextBox13_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox13); }
+ private void endTextBox14_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox14); }
+ private void endTextBox15_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox15); }
+ private void endTextBox16_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox16); }
+ private void endTextBox17_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox17); }
+ private void endTextBox18_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox18); }
+ private void endTextBox19_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox19); }
+ private void endTextBox20_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox20); }
+ private void endTextBox21_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox21); }
+ private void endTextBox22_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox22); }
+ private void endTextBox23_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox23); }
+ private void endTextBox24_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox24); }
+ private void endTextBox25_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox25); }
+ private void endTextBox26_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox26); }
+ private void endTextBox27_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox27); }
+ private void endTextBox28_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox28); }
+ private void endTextBox29_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox29); }
+ private void endTextBox30_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox30); }
+ private void endTextBox31_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox31); }
+ private void endTextBox32_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox32); }
+ private void endTextBox33_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox33); }
+ private void endTextBox34_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox34); }
+ private void endTextBox35_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox35); }
+ private void endTextBox36_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox36); }
+ private void endTextBox37_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox37); }
+ private void endTextBox38_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox38); }
+ private void endTextBox39_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox39); }
+ private void endTextBox40_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox40); }
+ private void endTextBox41_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox41); }
+ private void endTextBox42_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox42); }
+ private void endTextBox43_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox43); }
+ private void endTextBox44_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox44); }
+ private void endTextBox45_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox45); }
+ private void endTextBox46_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox46); }
+ private void endTextBox47_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox47); }
+ private void endTextBox48_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox48); }
+ }
+}
diff --git a/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.designer.cs b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.designer.cs
new file mode 100644
index 000000000..1c1ef645a
--- /dev/null
+++ b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.designer.cs
@@ -0,0 +1,2908 @@
+///
+/// Copyright (c) 2015-2017 Sensus Metering Systems
+///
+namespace TBF.Rig.DataEntry.PoseidonCmd
+{
+ partial class TestStartEndForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.exclamation1 = new System.Windows.Forms.Label();
+ this.startTextBox1 = new System.Windows.Forms.TextBox();
+ this.endTextBox1 = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.okButton = new System.Windows.Forms.Button();
+ this.exclamation3 = new System.Windows.Forms.Label();
+ this.startTextBox3 = new System.Windows.Forms.TextBox();
+ this.endTextBox3 = new System.Windows.Forms.TextBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.exclamation4 = new System.Windows.Forms.Label();
+ this.startTextBox4 = new System.Windows.Forms.TextBox();
+ this.endTextBox4 = new System.Windows.Forms.TextBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.exclamation5 = new System.Windows.Forms.Label();
+ this.startTextBox5 = new System.Windows.Forms.TextBox();
+ this.endTextBox5 = new System.Windows.Forms.TextBox();
+ this.label5 = new System.Windows.Forms.Label();
+ this.exclamation6 = new System.Windows.Forms.Label();
+ this.startTextBox6 = new System.Windows.Forms.TextBox();
+ this.endTextBox6 = new System.Windows.Forms.TextBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.startLabel = new System.Windows.Forms.Label();
+ this.endLabel = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.endTextBox2 = new System.Windows.Forms.TextBox();
+ this.startTextBox2 = new System.Windows.Forms.TextBox();
+ this.exclamation2 = new System.Windows.Forms.Label();
+ this.exclamation7 = new System.Windows.Forms.Label();
+ this.startTextBox7 = new System.Windows.Forms.TextBox();
+ this.endTextBox7 = new System.Windows.Forms.TextBox();
+ this.label7 = new System.Windows.Forms.Label();
+ this.exclamation8 = new System.Windows.Forms.Label();
+ this.startTextBox8 = new System.Windows.Forms.TextBox();
+ this.endTextBox8 = new System.Windows.Forms.TextBox();
+ this.label8 = new System.Windows.Forms.Label();
+ this.exclamation9 = new System.Windows.Forms.Label();
+ this.startTextBox9 = new System.Windows.Forms.TextBox();
+ this.endTextBox9 = new System.Windows.Forms.TextBox();
+ this.label9 = new System.Windows.Forms.Label();
+ this.exclamation10 = new System.Windows.Forms.Label();
+ this.startTextBox10 = new System.Windows.Forms.TextBox();
+ this.endTextBox10 = new System.Windows.Forms.TextBox();
+ this.label10 = new System.Windows.Forms.Label();
+ this.exclamation11 = new System.Windows.Forms.Label();
+ this.startTextBox11 = new System.Windows.Forms.TextBox();
+ this.endTextBox11 = new System.Windows.Forms.TextBox();
+ this.label11 = new System.Windows.Forms.Label();
+ this.exclamation12 = new System.Windows.Forms.Label();
+ this.startTextBox12 = new System.Windows.Forms.TextBox();
+ this.endTextBox12 = new System.Windows.Forms.TextBox();
+ this.label12 = new System.Windows.Forms.Label();
+ this.exclamation24 = new System.Windows.Forms.Label();
+ this.startTextBox24 = new System.Windows.Forms.TextBox();
+ this.endTextBox24 = new System.Windows.Forms.TextBox();
+ this.label24 = new System.Windows.Forms.Label();
+ this.exclamation23 = new System.Windows.Forms.Label();
+ this.startTextBox23 = new System.Windows.Forms.TextBox();
+ this.endTextBox23 = new System.Windows.Forms.TextBox();
+ this.label23 = new System.Windows.Forms.Label();
+ this.exclamation22 = new System.Windows.Forms.Label();
+ this.startTextBox22 = new System.Windows.Forms.TextBox();
+ this.endTextBox22 = new System.Windows.Forms.TextBox();
+ this.label22 = new System.Windows.Forms.Label();
+ this.exclamation21 = new System.Windows.Forms.Label();
+ this.startTextBox21 = new System.Windows.Forms.TextBox();
+ this.endTextBox21 = new System.Windows.Forms.TextBox();
+ this.label21 = new System.Windows.Forms.Label();
+ this.exclamation20 = new System.Windows.Forms.Label();
+ this.startTextBox20 = new System.Windows.Forms.TextBox();
+ this.endTextBox20 = new System.Windows.Forms.TextBox();
+ this.label20 = new System.Windows.Forms.Label();
+ this.exclamation19 = new System.Windows.Forms.Label();
+ this.startTextBox19 = new System.Windows.Forms.TextBox();
+ this.endTextBox19 = new System.Windows.Forms.TextBox();
+ this.label19 = new System.Windows.Forms.Label();
+ this.exclamation18 = new System.Windows.Forms.Label();
+ this.exclamation17 = new System.Windows.Forms.Label();
+ this.startTextBox18 = new System.Windows.Forms.TextBox();
+ this.exclamation16 = new System.Windows.Forms.Label();
+ this.endTextBox18 = new System.Windows.Forms.TextBox();
+ this.label18 = new System.Windows.Forms.Label();
+ this.startTextBox17 = new System.Windows.Forms.TextBox();
+ this.exclamation15 = new System.Windows.Forms.Label();
+ this.endTextBox17 = new System.Windows.Forms.TextBox();
+ this.label17 = new System.Windows.Forms.Label();
+ this.startTextBox16 = new System.Windows.Forms.TextBox();
+ this.exclamation14 = new System.Windows.Forms.Label();
+ this.endTextBox16 = new System.Windows.Forms.TextBox();
+ this.label16 = new System.Windows.Forms.Label();
+ this.startTextBox15 = new System.Windows.Forms.TextBox();
+ this.exclamation13 = new System.Windows.Forms.Label();
+ this.endTextBox15 = new System.Windows.Forms.TextBox();
+ this.label15 = new System.Windows.Forms.Label();
+ this.startTextBox14 = new System.Windows.Forms.TextBox();
+ this.end2Label = new System.Windows.Forms.Label();
+ this.endTextBox14 = new System.Windows.Forms.TextBox();
+ this.label14 = new System.Windows.Forms.Label();
+ this.startTextBox13 = new System.Windows.Forms.TextBox();
+ this.start2Label = new System.Windows.Forms.Label();
+ this.endTextBox13 = new System.Windows.Forms.TextBox();
+ this.label13 = new System.Windows.Forms.Label();
+ this.exclamation25 = new System.Windows.Forms.Label();
+ this.startTextBox25 = new System.Windows.Forms.TextBox();
+ this.endTextBox25 = new System.Windows.Forms.TextBox();
+ this.label25 = new System.Windows.Forms.Label();
+ this.label26 = new System.Windows.Forms.Label();
+ this.label27 = new System.Windows.Forms.Label();
+ this.label28 = new System.Windows.Forms.Label();
+ this.label29 = new System.Windows.Forms.Label();
+ this.label30 = new System.Windows.Forms.Label();
+ this.label31 = new System.Windows.Forms.Label();
+ this.label32 = new System.Windows.Forms.Label();
+ this.label33 = new System.Windows.Forms.Label();
+ this.label34 = new System.Windows.Forms.Label();
+ this.label35 = new System.Windows.Forms.Label();
+ this.label36 = new System.Windows.Forms.Label();
+ this.label37 = new System.Windows.Forms.Label();
+ this.label38 = new System.Windows.Forms.Label();
+ this.label39 = new System.Windows.Forms.Label();
+ this.label40 = new System.Windows.Forms.Label();
+ this.label41 = new System.Windows.Forms.Label();
+ this.label42 = new System.Windows.Forms.Label();
+ this.label43 = new System.Windows.Forms.Label();
+ this.label44 = new System.Windows.Forms.Label();
+ this.label45 = new System.Windows.Forms.Label();
+ this.label46 = new System.Windows.Forms.Label();
+ this.label47 = new System.Windows.Forms.Label();
+ this.label48 = new System.Windows.Forms.Label();
+ this.startTextBox48 = new System.Windows.Forms.TextBox();
+ this.startTextBox47 = new System.Windows.Forms.TextBox();
+ this.startTextBox46 = new System.Windows.Forms.TextBox();
+ this.startTextBox45 = new System.Windows.Forms.TextBox();
+ this.startTextBox44 = new System.Windows.Forms.TextBox();
+ this.startTextBox43 = new System.Windows.Forms.TextBox();
+ this.startTextBox42 = new System.Windows.Forms.TextBox();
+ this.startTextBox41 = new System.Windows.Forms.TextBox();
+ this.startTextBox40 = new System.Windows.Forms.TextBox();
+ this.startTextBox39 = new System.Windows.Forms.TextBox();
+ this.startTextBox38 = new System.Windows.Forms.TextBox();
+ this.startTextBox37 = new System.Windows.Forms.TextBox();
+ this.startTextBox36 = new System.Windows.Forms.TextBox();
+ this.startTextBox35 = new System.Windows.Forms.TextBox();
+ this.startTextBox34 = new System.Windows.Forms.TextBox();
+ this.startTextBox33 = new System.Windows.Forms.TextBox();
+ this.startTextBox32 = new System.Windows.Forms.TextBox();
+ this.startTextBox31 = new System.Windows.Forms.TextBox();
+ this.startTextBox30 = new System.Windows.Forms.TextBox();
+ this.startTextBox29 = new System.Windows.Forms.TextBox();
+ this.startTextBox28 = new System.Windows.Forms.TextBox();
+ this.startTextBox27 = new System.Windows.Forms.TextBox();
+ this.startTextBox26 = new System.Windows.Forms.TextBox();
+ this.exclamation48 = new System.Windows.Forms.Label();
+ this.endTextBox48 = new System.Windows.Forms.TextBox();
+ this.exclamation47 = new System.Windows.Forms.Label();
+ this.endTextBox47 = new System.Windows.Forms.TextBox();
+ this.exclamation46 = new System.Windows.Forms.Label();
+ this.endTextBox46 = new System.Windows.Forms.TextBox();
+ this.exclamation45 = new System.Windows.Forms.Label();
+ this.endTextBox45 = new System.Windows.Forms.TextBox();
+ this.exclamation44 = new System.Windows.Forms.Label();
+ this.endTextBox44 = new System.Windows.Forms.TextBox();
+ this.exclamation43 = new System.Windows.Forms.Label();
+ this.endTextBox43 = new System.Windows.Forms.TextBox();
+ this.exclamation42 = new System.Windows.Forms.Label();
+ this.exclamation41 = new System.Windows.Forms.Label();
+ this.exclamation40 = new System.Windows.Forms.Label();
+ this.endTextBox42 = new System.Windows.Forms.TextBox();
+ this.exclamation39 = new System.Windows.Forms.Label();
+ this.endTextBox41 = new System.Windows.Forms.TextBox();
+ this.exclamation38 = new System.Windows.Forms.Label();
+ this.endTextBox40 = new System.Windows.Forms.TextBox();
+ this.exclamation37 = new System.Windows.Forms.Label();
+ this.endTextBox39 = new System.Windows.Forms.TextBox();
+ this.endTextBox38 = new System.Windows.Forms.TextBox();
+ this.endTextBox37 = new System.Windows.Forms.TextBox();
+ this.exclamation36 = new System.Windows.Forms.Label();
+ this.endTextBox36 = new System.Windows.Forms.TextBox();
+ this.exclamation35 = new System.Windows.Forms.Label();
+ this.endTextBox35 = new System.Windows.Forms.TextBox();
+ this.exclamation34 = new System.Windows.Forms.Label();
+ this.endTextBox34 = new System.Windows.Forms.TextBox();
+ this.exclamation33 = new System.Windows.Forms.Label();
+ this.endTextBox33 = new System.Windows.Forms.TextBox();
+ this.exclamation32 = new System.Windows.Forms.Label();
+ this.endTextBox32 = new System.Windows.Forms.TextBox();
+ this.exclamation31 = new System.Windows.Forms.Label();
+ this.endTextBox31 = new System.Windows.Forms.TextBox();
+ this.exclamation30 = new System.Windows.Forms.Label();
+ this.exclamation29 = new System.Windows.Forms.Label();
+ this.exclamation28 = new System.Windows.Forms.Label();
+ this.endTextBox30 = new System.Windows.Forms.TextBox();
+ this.exclamation27 = new System.Windows.Forms.Label();
+ this.endTextBox29 = new System.Windows.Forms.TextBox();
+ this.exclamation26 = new System.Windows.Forms.Label();
+ this.endTextBox28 = new System.Windows.Forms.TextBox();
+ this.endTextBox27 = new System.Windows.Forms.TextBox();
+ this.endTextBox26 = new System.Windows.Forms.TextBox();
+ this.SuspendLayout();
+ //
+ // exclamation1
+ //
+ this.exclamation1.AutoSize = true;
+ this.exclamation1.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation1.ForeColor = System.Drawing.Color.Red;
+ this.exclamation1.Location = new System.Drawing.Point(532, 30);
+ this.exclamation1.Name = "exclamation1";
+ this.exclamation1.Size = new System.Drawing.Size(26, 32);
+ this.exclamation1.TabIndex = 5;
+ this.exclamation1.Text = "!";
+ this.exclamation1.Visible = false;
+ //
+ // startTextBox1
+ //
+ this.startTextBox1.Enabled = false;
+ this.startTextBox1.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox1.Location = new System.Drawing.Point(185, 34);
+ this.startTextBox1.Name = "startTextBox1";
+ this.startTextBox1.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox1.TabIndex = 3;
+ this.startTextBox1.Visible = false;
+ this.startTextBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox1_KeyPress);
+ //
+ // endTextBox1
+ //
+ this.endTextBox1.Enabled = false;
+ this.endTextBox1.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox1.Location = new System.Drawing.Point(367, 34);
+ this.endTextBox1.Name = "endTextBox1";
+ this.endTextBox1.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox1.TabIndex = 4;
+ this.endTextBox1.Visible = false;
+ this.endTextBox1.TextChanged += new System.EventHandler(this.endTextBox1_TextChanged);
+ this.endTextBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox1_KeyPress);
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label1.Location = new System.Drawing.Point(23, 37);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(126, 18);
+ this.label1.TabIndex = 2;
+ this.label1.Text = "Water Meter 1";
+ this.label1.Visible = false;
+ //
+ // okButton
+ //
+ this.okButton.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.okButton.ForeColor = System.Drawing.Color.Black;
+ this.okButton.Location = new System.Drawing.Point(1138, 34);
+ this.okButton.Name = "okButton";
+ this.okButton.Size = new System.Drawing.Size(98, 63);
+ this.okButton.TabIndex = 100;
+ this.okButton.Text = "OK";
+ this.okButton.UseVisualStyleBackColor = true;
+ this.okButton.Click += new System.EventHandler(this.okButton_Click);
+ //
+ // exclamation3
+ //
+ this.exclamation3.AutoSize = true;
+ this.exclamation3.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation3.ForeColor = System.Drawing.Color.Red;
+ this.exclamation3.Location = new System.Drawing.Point(532, 90);
+ this.exclamation3.Name = "exclamation3";
+ this.exclamation3.Size = new System.Drawing.Size(26, 32);
+ this.exclamation3.TabIndex = 13;
+ this.exclamation3.Text = "!";
+ this.exclamation3.Visible = false;
+ //
+ // startTextBox3
+ //
+ this.startTextBox3.Enabled = false;
+ this.startTextBox3.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox3.Location = new System.Drawing.Point(185, 94);
+ this.startTextBox3.Name = "startTextBox3";
+ this.startTextBox3.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox3.TabIndex = 11;
+ this.startTextBox3.Visible = false;
+ this.startTextBox3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox3_KeyPress);
+ //
+ // endTextBox3
+ //
+ this.endTextBox3.Enabled = false;
+ this.endTextBox3.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox3.Location = new System.Drawing.Point(367, 94);
+ this.endTextBox3.Name = "endTextBox3";
+ this.endTextBox3.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox3.TabIndex = 12;
+ this.endTextBox3.Visible = false;
+ this.endTextBox3.TextChanged += new System.EventHandler(this.endTextBox3_TextChanged);
+ this.endTextBox3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox3_KeyPress);
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label3.Location = new System.Drawing.Point(23, 97);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(126, 18);
+ this.label3.TabIndex = 10;
+ this.label3.Text = "Water Meter 3";
+ this.label3.Visible = false;
+ //
+ // exclamation4
+ //
+ this.exclamation4.AutoSize = true;
+ this.exclamation4.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation4.ForeColor = System.Drawing.Color.Red;
+ this.exclamation4.Location = new System.Drawing.Point(532, 120);
+ this.exclamation4.Name = "exclamation4";
+ this.exclamation4.Size = new System.Drawing.Size(26, 32);
+ this.exclamation4.TabIndex = 17;
+ this.exclamation4.Text = "!";
+ this.exclamation4.Visible = false;
+ //
+ // startTextBox4
+ //
+ this.startTextBox4.Enabled = false;
+ this.startTextBox4.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox4.Location = new System.Drawing.Point(185, 124);
+ this.startTextBox4.Name = "startTextBox4";
+ this.startTextBox4.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox4.TabIndex = 15;
+ this.startTextBox4.Visible = false;
+ this.startTextBox4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox4_KeyPress);
+ //
+ // endTextBox4
+ //
+ this.endTextBox4.Enabled = false;
+ this.endTextBox4.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox4.Location = new System.Drawing.Point(367, 124);
+ this.endTextBox4.Name = "endTextBox4";
+ this.endTextBox4.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox4.TabIndex = 16;
+ this.endTextBox4.Visible = false;
+ this.endTextBox4.TextChanged += new System.EventHandler(this.endTextBox4_TextChanged);
+ this.endTextBox4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox4_KeyPress);
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label4.Location = new System.Drawing.Point(23, 127);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(126, 18);
+ this.label4.TabIndex = 14;
+ this.label4.Text = "Water Meter 4";
+ this.label4.Visible = false;
+ //
+ // exclamation5
+ //
+ this.exclamation5.AutoSize = true;
+ this.exclamation5.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation5.ForeColor = System.Drawing.Color.Red;
+ this.exclamation5.Location = new System.Drawing.Point(532, 150);
+ this.exclamation5.Name = "exclamation5";
+ this.exclamation5.Size = new System.Drawing.Size(26, 32);
+ this.exclamation5.TabIndex = 21;
+ this.exclamation5.Text = "!";
+ this.exclamation5.Visible = false;
+ //
+ // startTextBox5
+ //
+ this.startTextBox5.Enabled = false;
+ this.startTextBox5.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox5.Location = new System.Drawing.Point(185, 154);
+ this.startTextBox5.Name = "startTextBox5";
+ this.startTextBox5.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox5.TabIndex = 19;
+ this.startTextBox5.Visible = false;
+ this.startTextBox5.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox5_KeyPress);
+ //
+ // endTextBox5
+ //
+ this.endTextBox5.Enabled = false;
+ this.endTextBox5.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox5.Location = new System.Drawing.Point(367, 154);
+ this.endTextBox5.Name = "endTextBox5";
+ this.endTextBox5.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox5.TabIndex = 20;
+ this.endTextBox5.Visible = false;
+ this.endTextBox5.TextChanged += new System.EventHandler(this.endTextBox5_TextChanged);
+ this.endTextBox5.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox5_KeyPress);
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label5.Location = new System.Drawing.Point(23, 157);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(126, 18);
+ this.label5.TabIndex = 18;
+ this.label5.Text = "Water Meter 5";
+ this.label5.Visible = false;
+ //
+ // exclamation6
+ //
+ this.exclamation6.AutoSize = true;
+ this.exclamation6.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation6.ForeColor = System.Drawing.Color.Red;
+ this.exclamation6.Location = new System.Drawing.Point(532, 180);
+ this.exclamation6.Name = "exclamation6";
+ this.exclamation6.Size = new System.Drawing.Size(26, 32);
+ this.exclamation6.TabIndex = 25;
+ this.exclamation6.Text = "!";
+ this.exclamation6.Visible = false;
+ //
+ // startTextBox6
+ //
+ this.startTextBox6.Enabled = false;
+ this.startTextBox6.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox6.Location = new System.Drawing.Point(185, 184);
+ this.startTextBox6.Name = "startTextBox6";
+ this.startTextBox6.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox6.TabIndex = 23;
+ this.startTextBox6.Visible = false;
+ this.startTextBox6.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox6_KeyPress);
+ //
+ // endTextBox6
+ //
+ this.endTextBox6.Enabled = false;
+ this.endTextBox6.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox6.Location = new System.Drawing.Point(367, 184);
+ this.endTextBox6.Name = "endTextBox6";
+ this.endTextBox6.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox6.TabIndex = 24;
+ this.endTextBox6.Visible = false;
+ this.endTextBox6.TextChanged += new System.EventHandler(this.endTextBox6_TextChanged);
+ this.endTextBox6.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox6_KeyPress);
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label6.Location = new System.Drawing.Point(23, 187);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(126, 18);
+ this.label6.TabIndex = 22;
+ this.label6.Text = "Water Meter 6";
+ this.label6.Visible = false;
+ //
+ // startLabel
+ //
+ this.startLabel.AutoSize = true;
+ this.startLabel.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startLabel.Location = new System.Drawing.Point(237, 6);
+ this.startLabel.Name = "startLabel";
+ this.startLabel.Size = new System.Drawing.Size(56, 23);
+ this.startLabel.TabIndex = 0;
+ this.startLabel.Text = "Start";
+ //
+ // endLabel
+ //
+ this.endLabel.AutoSize = true;
+ this.endLabel.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endLabel.Location = new System.Drawing.Point(423, 6);
+ this.endLabel.Name = "endLabel";
+ this.endLabel.Size = new System.Drawing.Size(46, 23);
+ this.endLabel.TabIndex = 1;
+ this.endLabel.Text = "End";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label2.Location = new System.Drawing.Point(23, 67);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(126, 18);
+ this.label2.TabIndex = 6;
+ this.label2.Text = "Water Meter 2";
+ this.label2.Visible = false;
+ //
+ // endTextBox2
+ //
+ this.endTextBox2.Enabled = false;
+ this.endTextBox2.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox2.Location = new System.Drawing.Point(367, 64);
+ this.endTextBox2.Name = "endTextBox2";
+ this.endTextBox2.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox2.TabIndex = 8;
+ this.endTextBox2.Visible = false;
+ this.endTextBox2.TextChanged += new System.EventHandler(this.endTextBox2_TextChanged);
+ this.endTextBox2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox2_KeyPress);
+ //
+ // startTextBox2
+ //
+ this.startTextBox2.Enabled = false;
+ this.startTextBox2.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox2.Location = new System.Drawing.Point(185, 64);
+ this.startTextBox2.Name = "startTextBox2";
+ this.startTextBox2.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox2.TabIndex = 7;
+ this.startTextBox2.Visible = false;
+ this.startTextBox2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox2_KeyPress);
+ //
+ // exclamation2
+ //
+ this.exclamation2.AutoSize = true;
+ this.exclamation2.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation2.ForeColor = System.Drawing.Color.Red;
+ this.exclamation2.Location = new System.Drawing.Point(532, 60);
+ this.exclamation2.Name = "exclamation2";
+ this.exclamation2.Size = new System.Drawing.Size(26, 32);
+ this.exclamation2.TabIndex = 9;
+ this.exclamation2.Text = "!";
+ this.exclamation2.Visible = false;
+ //
+ // exclamation7
+ //
+ this.exclamation7.AutoSize = true;
+ this.exclamation7.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation7.ForeColor = System.Drawing.Color.Red;
+ this.exclamation7.Location = new System.Drawing.Point(532, 210);
+ this.exclamation7.Name = "exclamation7";
+ this.exclamation7.Size = new System.Drawing.Size(26, 32);
+ this.exclamation7.TabIndex = 29;
+ this.exclamation7.Text = "!";
+ this.exclamation7.Visible = false;
+ //
+ // startTextBox7
+ //
+ this.startTextBox7.Enabled = false;
+ this.startTextBox7.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox7.Location = new System.Drawing.Point(185, 214);
+ this.startTextBox7.Name = "startTextBox7";
+ this.startTextBox7.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox7.TabIndex = 27;
+ this.startTextBox7.Visible = false;
+ this.startTextBox7.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox7_KeyPress);
+ //
+ // endTextBox7
+ //
+ this.endTextBox7.Enabled = false;
+ this.endTextBox7.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox7.Location = new System.Drawing.Point(367, 214);
+ this.endTextBox7.Name = "endTextBox7";
+ this.endTextBox7.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox7.TabIndex = 28;
+ this.endTextBox7.Visible = false;
+ this.endTextBox7.TextChanged += new System.EventHandler(this.endTextBox7_TextChanged);
+ this.endTextBox7.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox7_KeyPress);
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label7.Location = new System.Drawing.Point(23, 217);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(126, 18);
+ this.label7.TabIndex = 26;
+ this.label7.Text = "Water Meter 7";
+ this.label7.Visible = false;
+ //
+ // exclamation8
+ //
+ this.exclamation8.AutoSize = true;
+ this.exclamation8.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation8.ForeColor = System.Drawing.Color.Red;
+ this.exclamation8.Location = new System.Drawing.Point(532, 240);
+ this.exclamation8.Name = "exclamation8";
+ this.exclamation8.Size = new System.Drawing.Size(26, 32);
+ this.exclamation8.TabIndex = 33;
+ this.exclamation8.Text = "!";
+ this.exclamation8.Visible = false;
+ //
+ // startTextBox8
+ //
+ this.startTextBox8.Enabled = false;
+ this.startTextBox8.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox8.Location = new System.Drawing.Point(185, 244);
+ this.startTextBox8.Name = "startTextBox8";
+ this.startTextBox8.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox8.TabIndex = 31;
+ this.startTextBox8.Visible = false;
+ this.startTextBox8.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox8_KeyPress);
+ //
+ // endTextBox8
+ //
+ this.endTextBox8.Enabled = false;
+ this.endTextBox8.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox8.Location = new System.Drawing.Point(367, 244);
+ this.endTextBox8.Name = "endTextBox8";
+ this.endTextBox8.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox8.TabIndex = 32;
+ this.endTextBox8.Visible = false;
+ this.endTextBox8.TextChanged += new System.EventHandler(this.endTextBox8_TextChanged);
+ this.endTextBox8.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox8_KeyPress);
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label8.Location = new System.Drawing.Point(23, 247);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(126, 18);
+ this.label8.TabIndex = 30;
+ this.label8.Text = "Water Meter 8";
+ this.label8.Visible = false;
+ //
+ // exclamation9
+ //
+ this.exclamation9.AutoSize = true;
+ this.exclamation9.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation9.ForeColor = System.Drawing.Color.Red;
+ this.exclamation9.Location = new System.Drawing.Point(532, 270);
+ this.exclamation9.Name = "exclamation9";
+ this.exclamation9.Size = new System.Drawing.Size(26, 32);
+ this.exclamation9.TabIndex = 37;
+ this.exclamation9.Text = "!";
+ this.exclamation9.Visible = false;
+ //
+ // startTextBox9
+ //
+ this.startTextBox9.Enabled = false;
+ this.startTextBox9.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox9.Location = new System.Drawing.Point(185, 274);
+ this.startTextBox9.Name = "startTextBox9";
+ this.startTextBox9.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox9.TabIndex = 35;
+ this.startTextBox9.Visible = false;
+ this.startTextBox9.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox9_KeyPress);
+ //
+ // endTextBox9
+ //
+ this.endTextBox9.Enabled = false;
+ this.endTextBox9.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox9.Location = new System.Drawing.Point(367, 274);
+ this.endTextBox9.Name = "endTextBox9";
+ this.endTextBox9.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox9.TabIndex = 36;
+ this.endTextBox9.Visible = false;
+ this.endTextBox9.TextChanged += new System.EventHandler(this.endTextBox9_TextChanged);
+ this.endTextBox9.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox9_KeyPress);
+ //
+ // label9
+ //
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label9.Location = new System.Drawing.Point(23, 277);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(126, 18);
+ this.label9.TabIndex = 34;
+ this.label9.Text = "Water Meter 9";
+ this.label9.Visible = false;
+ //
+ // exclamation10
+ //
+ this.exclamation10.AutoSize = true;
+ this.exclamation10.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation10.ForeColor = System.Drawing.Color.Red;
+ this.exclamation10.Location = new System.Drawing.Point(532, 300);
+ this.exclamation10.Name = "exclamation10";
+ this.exclamation10.Size = new System.Drawing.Size(26, 32);
+ this.exclamation10.TabIndex = 41;
+ this.exclamation10.Text = "!";
+ this.exclamation10.Visible = false;
+ //
+ // startTextBox10
+ //
+ this.startTextBox10.Enabled = false;
+ this.startTextBox10.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox10.Location = new System.Drawing.Point(185, 304);
+ this.startTextBox10.Name = "startTextBox10";
+ this.startTextBox10.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox10.TabIndex = 39;
+ this.startTextBox10.Visible = false;
+ this.startTextBox10.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox10_KeyPress);
+ //
+ // endTextBox10
+ //
+ this.endTextBox10.Enabled = false;
+ this.endTextBox10.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox10.Location = new System.Drawing.Point(367, 304);
+ this.endTextBox10.Name = "endTextBox10";
+ this.endTextBox10.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox10.TabIndex = 40;
+ this.endTextBox10.Visible = false;
+ this.endTextBox10.TextChanged += new System.EventHandler(this.endTextBox10_TextChanged);
+ this.endTextBox10.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox10_KeyPress);
+ //
+ // label10
+ //
+ this.label10.AutoSize = true;
+ this.label10.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label10.Location = new System.Drawing.Point(23, 307);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(136, 18);
+ this.label10.TabIndex = 38;
+ this.label10.Text = "Water Meter 10";
+ this.label10.Visible = false;
+ //
+ // exclamation11
+ //
+ this.exclamation11.AutoSize = true;
+ this.exclamation11.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation11.ForeColor = System.Drawing.Color.Red;
+ this.exclamation11.Location = new System.Drawing.Point(532, 330);
+ this.exclamation11.Name = "exclamation11";
+ this.exclamation11.Size = new System.Drawing.Size(26, 32);
+ this.exclamation11.TabIndex = 45;
+ this.exclamation11.Text = "!";
+ this.exclamation11.Visible = false;
+ //
+ // startTextBox11
+ //
+ this.startTextBox11.Enabled = false;
+ this.startTextBox11.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox11.Location = new System.Drawing.Point(185, 334);
+ this.startTextBox11.Name = "startTextBox11";
+ this.startTextBox11.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox11.TabIndex = 43;
+ this.startTextBox11.Visible = false;
+ this.startTextBox11.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox11_KeyPress);
+ //
+ // endTextBox11
+ //
+ this.endTextBox11.Enabled = false;
+ this.endTextBox11.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox11.Location = new System.Drawing.Point(367, 334);
+ this.endTextBox11.Name = "endTextBox11";
+ this.endTextBox11.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox11.TabIndex = 44;
+ this.endTextBox11.Visible = false;
+ this.endTextBox11.TextChanged += new System.EventHandler(this.endTextBox11_TextChanged);
+ this.endTextBox11.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox11_KeyPress);
+ //
+ // label11
+ //
+ this.label11.AutoSize = true;
+ this.label11.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label11.Location = new System.Drawing.Point(23, 337);
+ this.label11.Name = "label11";
+ this.label11.Size = new System.Drawing.Size(136, 18);
+ this.label11.TabIndex = 42;
+ this.label11.Text = "Water Meter 11";
+ this.label11.Visible = false;
+ //
+ // exclamation12
+ //
+ this.exclamation12.AutoSize = true;
+ this.exclamation12.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation12.ForeColor = System.Drawing.Color.Red;
+ this.exclamation12.Location = new System.Drawing.Point(532, 360);
+ this.exclamation12.Name = "exclamation12";
+ this.exclamation12.Size = new System.Drawing.Size(26, 32);
+ this.exclamation12.TabIndex = 49;
+ this.exclamation12.Text = "!";
+ this.exclamation12.Visible = false;
+ //
+ // startTextBox12
+ //
+ this.startTextBox12.Enabled = false;
+ this.startTextBox12.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox12.Location = new System.Drawing.Point(185, 364);
+ this.startTextBox12.Name = "startTextBox12";
+ this.startTextBox12.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox12.TabIndex = 47;
+ this.startTextBox12.Visible = false;
+ this.startTextBox12.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox12_KeyPress);
+ //
+ // endTextBox12
+ //
+ this.endTextBox12.Enabled = false;
+ this.endTextBox12.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox12.Location = new System.Drawing.Point(367, 364);
+ this.endTextBox12.Name = "endTextBox12";
+ this.endTextBox12.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox12.TabIndex = 48;
+ this.endTextBox12.Visible = false;
+ this.endTextBox12.TextChanged += new System.EventHandler(this.endTextBox12_TextChanged);
+ this.endTextBox12.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox12_KeyPress);
+ //
+ // label12
+ //
+ this.label12.AutoSize = true;
+ this.label12.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label12.Location = new System.Drawing.Point(23, 367);
+ this.label12.Name = "label12";
+ this.label12.Size = new System.Drawing.Size(136, 18);
+ this.label12.TabIndex = 46;
+ this.label12.Text = "Water Meter 12";
+ this.label12.Visible = false;
+ //
+ // exclamation24
+ //
+ this.exclamation24.AutoSize = true;
+ this.exclamation24.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation24.ForeColor = System.Drawing.Color.Red;
+ this.exclamation24.Location = new System.Drawing.Point(532, 720);
+ this.exclamation24.Name = "exclamation24";
+ this.exclamation24.Size = new System.Drawing.Size(26, 32);
+ this.exclamation24.TabIndex = 99;
+ this.exclamation24.Text = "!";
+ this.exclamation24.Visible = false;
+ //
+ // startTextBox24
+ //
+ this.startTextBox24.Enabled = false;
+ this.startTextBox24.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox24.Location = new System.Drawing.Point(185, 724);
+ this.startTextBox24.Name = "startTextBox24";
+ this.startTextBox24.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox24.TabIndex = 97;
+ this.startTextBox24.Visible = false;
+ this.startTextBox24.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox24_KeyPress);
+ //
+ // endTextBox24
+ //
+ this.endTextBox24.Enabled = false;
+ this.endTextBox24.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox24.Location = new System.Drawing.Point(367, 724);
+ this.endTextBox24.Name = "endTextBox24";
+ this.endTextBox24.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox24.TabIndex = 98;
+ this.endTextBox24.Visible = false;
+ this.endTextBox24.TextChanged += new System.EventHandler(this.endTextBox24_TextChanged);
+ this.endTextBox24.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox24_KeyPress);
+ //
+ // label24
+ //
+ this.label24.AutoSize = true;
+ this.label24.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label24.Location = new System.Drawing.Point(23, 727);
+ this.label24.Name = "label24";
+ this.label24.Size = new System.Drawing.Size(136, 18);
+ this.label24.TabIndex = 96;
+ this.label24.Text = "Water Meter 24";
+ this.label24.Visible = false;
+ //
+ // exclamation23
+ //
+ this.exclamation23.AutoSize = true;
+ this.exclamation23.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation23.ForeColor = System.Drawing.Color.Red;
+ this.exclamation23.Location = new System.Drawing.Point(532, 690);
+ this.exclamation23.Name = "exclamation23";
+ this.exclamation23.Size = new System.Drawing.Size(26, 32);
+ this.exclamation23.TabIndex = 95;
+ this.exclamation23.Text = "!";
+ this.exclamation23.Visible = false;
+ //
+ // startTextBox23
+ //
+ this.startTextBox23.Enabled = false;
+ this.startTextBox23.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox23.Location = new System.Drawing.Point(185, 694);
+ this.startTextBox23.Name = "startTextBox23";
+ this.startTextBox23.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox23.TabIndex = 93;
+ this.startTextBox23.Visible = false;
+ this.startTextBox23.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox23_KeyPress);
+ //
+ // endTextBox23
+ //
+ this.endTextBox23.Enabled = false;
+ this.endTextBox23.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox23.Location = new System.Drawing.Point(367, 694);
+ this.endTextBox23.Name = "endTextBox23";
+ this.endTextBox23.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox23.TabIndex = 94;
+ this.endTextBox23.Visible = false;
+ this.endTextBox23.TextChanged += new System.EventHandler(this.endTextBox23_TextChanged);
+ this.endTextBox23.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox23_KeyPress);
+ //
+ // label23
+ //
+ this.label23.AutoSize = true;
+ this.label23.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label23.Location = new System.Drawing.Point(23, 697);
+ this.label23.Name = "label23";
+ this.label23.Size = new System.Drawing.Size(136, 18);
+ this.label23.TabIndex = 92;
+ this.label23.Text = "Water Meter 23";
+ this.label23.Visible = false;
+ //
+ // exclamation22
+ //
+ this.exclamation22.AutoSize = true;
+ this.exclamation22.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation22.ForeColor = System.Drawing.Color.Red;
+ this.exclamation22.Location = new System.Drawing.Point(532, 660);
+ this.exclamation22.Name = "exclamation22";
+ this.exclamation22.Size = new System.Drawing.Size(26, 32);
+ this.exclamation22.TabIndex = 91;
+ this.exclamation22.Text = "!";
+ this.exclamation22.Visible = false;
+ //
+ // startTextBox22
+ //
+ this.startTextBox22.Enabled = false;
+ this.startTextBox22.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox22.Location = new System.Drawing.Point(185, 664);
+ this.startTextBox22.Name = "startTextBox22";
+ this.startTextBox22.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox22.TabIndex = 89;
+ this.startTextBox22.Visible = false;
+ this.startTextBox22.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox22_KeyPress);
+ //
+ // endTextBox22
+ //
+ this.endTextBox22.Enabled = false;
+ this.endTextBox22.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox22.Location = new System.Drawing.Point(367, 664);
+ this.endTextBox22.Name = "endTextBox22";
+ this.endTextBox22.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox22.TabIndex = 90;
+ this.endTextBox22.Visible = false;
+ this.endTextBox22.TextChanged += new System.EventHandler(this.endTextBox22_TextChanged);
+ this.endTextBox22.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox22_KeyPress);
+ //
+ // label22
+ //
+ this.label22.AutoSize = true;
+ this.label22.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label22.Location = new System.Drawing.Point(23, 667);
+ this.label22.Name = "label22";
+ this.label22.Size = new System.Drawing.Size(136, 18);
+ this.label22.TabIndex = 88;
+ this.label22.Text = "Water Meter 22";
+ this.label22.Visible = false;
+ //
+ // exclamation21
+ //
+ this.exclamation21.AutoSize = true;
+ this.exclamation21.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation21.ForeColor = System.Drawing.Color.Red;
+ this.exclamation21.Location = new System.Drawing.Point(532, 630);
+ this.exclamation21.Name = "exclamation21";
+ this.exclamation21.Size = new System.Drawing.Size(26, 32);
+ this.exclamation21.TabIndex = 87;
+ this.exclamation21.Text = "!";
+ this.exclamation21.Visible = false;
+ //
+ // startTextBox21
+ //
+ this.startTextBox21.Enabled = false;
+ this.startTextBox21.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox21.Location = new System.Drawing.Point(185, 634);
+ this.startTextBox21.Name = "startTextBox21";
+ this.startTextBox21.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox21.TabIndex = 85;
+ this.startTextBox21.Visible = false;
+ this.startTextBox21.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox21_KeyPress);
+ //
+ // endTextBox21
+ //
+ this.endTextBox21.Enabled = false;
+ this.endTextBox21.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox21.Location = new System.Drawing.Point(367, 634);
+ this.endTextBox21.Name = "endTextBox21";
+ this.endTextBox21.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox21.TabIndex = 86;
+ this.endTextBox21.Visible = false;
+ this.endTextBox21.TextChanged += new System.EventHandler(this.endTextBox21_TextChanged);
+ this.endTextBox21.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox21_KeyPress);
+ //
+ // label21
+ //
+ this.label21.AutoSize = true;
+ this.label21.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label21.Location = new System.Drawing.Point(23, 637);
+ this.label21.Name = "label21";
+ this.label21.Size = new System.Drawing.Size(136, 18);
+ this.label21.TabIndex = 84;
+ this.label21.Text = "Water Meter 21";
+ this.label21.Visible = false;
+ //
+ // exclamation20
+ //
+ this.exclamation20.AutoSize = true;
+ this.exclamation20.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation20.ForeColor = System.Drawing.Color.Red;
+ this.exclamation20.Location = new System.Drawing.Point(532, 600);
+ this.exclamation20.Name = "exclamation20";
+ this.exclamation20.Size = new System.Drawing.Size(26, 32);
+ this.exclamation20.TabIndex = 83;
+ this.exclamation20.Text = "!";
+ this.exclamation20.Visible = false;
+ //
+ // startTextBox20
+ //
+ this.startTextBox20.Enabled = false;
+ this.startTextBox20.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox20.Location = new System.Drawing.Point(185, 604);
+ this.startTextBox20.Name = "startTextBox20";
+ this.startTextBox20.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox20.TabIndex = 81;
+ this.startTextBox20.Visible = false;
+ this.startTextBox20.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox20_KeyPress);
+ //
+ // endTextBox20
+ //
+ this.endTextBox20.Enabled = false;
+ this.endTextBox20.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox20.Location = new System.Drawing.Point(367, 604);
+ this.endTextBox20.Name = "endTextBox20";
+ this.endTextBox20.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox20.TabIndex = 82;
+ this.endTextBox20.Visible = false;
+ this.endTextBox20.TextChanged += new System.EventHandler(this.endTextBox20_TextChanged);
+ this.endTextBox20.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox20_KeyPress);
+ //
+ // label20
+ //
+ this.label20.AutoSize = true;
+ this.label20.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label20.Location = new System.Drawing.Point(23, 607);
+ this.label20.Name = "label20";
+ this.label20.Size = new System.Drawing.Size(136, 18);
+ this.label20.TabIndex = 80;
+ this.label20.Text = "Water Meter 20";
+ this.label20.Visible = false;
+ //
+ // exclamation19
+ //
+ this.exclamation19.AutoSize = true;
+ this.exclamation19.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation19.ForeColor = System.Drawing.Color.Red;
+ this.exclamation19.Location = new System.Drawing.Point(532, 570);
+ this.exclamation19.Name = "exclamation19";
+ this.exclamation19.Size = new System.Drawing.Size(26, 32);
+ this.exclamation19.TabIndex = 79;
+ this.exclamation19.Text = "!";
+ this.exclamation19.Visible = false;
+ //
+ // startTextBox19
+ //
+ this.startTextBox19.Enabled = false;
+ this.startTextBox19.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox19.Location = new System.Drawing.Point(185, 574);
+ this.startTextBox19.Name = "startTextBox19";
+ this.startTextBox19.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox19.TabIndex = 77;
+ this.startTextBox19.Visible = false;
+ this.startTextBox19.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox19_KeyPress);
+ //
+ // endTextBox19
+ //
+ this.endTextBox19.Enabled = false;
+ this.endTextBox19.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox19.Location = new System.Drawing.Point(367, 574);
+ this.endTextBox19.Name = "endTextBox19";
+ this.endTextBox19.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox19.TabIndex = 78;
+ this.endTextBox19.Visible = false;
+ this.endTextBox19.TextChanged += new System.EventHandler(this.endTextBox19_TextChanged);
+ this.endTextBox19.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox19_KeyPress);
+ //
+ // label19
+ //
+ this.label19.AutoSize = true;
+ this.label19.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label19.Location = new System.Drawing.Point(23, 577);
+ this.label19.Name = "label19";
+ this.label19.Size = new System.Drawing.Size(136, 18);
+ this.label19.TabIndex = 76;
+ this.label19.Text = "Water Meter 19";
+ this.label19.Visible = false;
+ //
+ // exclamation18
+ //
+ this.exclamation18.AutoSize = true;
+ this.exclamation18.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation18.ForeColor = System.Drawing.Color.Red;
+ this.exclamation18.Location = new System.Drawing.Point(532, 540);
+ this.exclamation18.Name = "exclamation18";
+ this.exclamation18.Size = new System.Drawing.Size(26, 32);
+ this.exclamation18.TabIndex = 75;
+ this.exclamation18.Text = "!";
+ this.exclamation18.Visible = false;
+ //
+ // exclamation17
+ //
+ this.exclamation17.AutoSize = true;
+ this.exclamation17.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation17.ForeColor = System.Drawing.Color.Red;
+ this.exclamation17.Location = new System.Drawing.Point(532, 510);
+ this.exclamation17.Name = "exclamation17";
+ this.exclamation17.Size = new System.Drawing.Size(26, 32);
+ this.exclamation17.TabIndex = 71;
+ this.exclamation17.Text = "!";
+ this.exclamation17.Visible = false;
+ //
+ // startTextBox18
+ //
+ this.startTextBox18.Enabled = false;
+ this.startTextBox18.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox18.Location = new System.Drawing.Point(185, 544);
+ this.startTextBox18.Name = "startTextBox18";
+ this.startTextBox18.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox18.TabIndex = 73;
+ this.startTextBox18.Visible = false;
+ this.startTextBox18.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox18_KeyPress);
+ //
+ // exclamation16
+ //
+ this.exclamation16.AutoSize = true;
+ this.exclamation16.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation16.ForeColor = System.Drawing.Color.Red;
+ this.exclamation16.Location = new System.Drawing.Point(532, 480);
+ this.exclamation16.Name = "exclamation16";
+ this.exclamation16.Size = new System.Drawing.Size(26, 32);
+ this.exclamation16.TabIndex = 67;
+ this.exclamation16.Text = "!";
+ this.exclamation16.Visible = false;
+ //
+ // endTextBox18
+ //
+ this.endTextBox18.Enabled = false;
+ this.endTextBox18.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox18.Location = new System.Drawing.Point(367, 544);
+ this.endTextBox18.Name = "endTextBox18";
+ this.endTextBox18.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox18.TabIndex = 74;
+ this.endTextBox18.Visible = false;
+ this.endTextBox18.TextChanged += new System.EventHandler(this.endTextBox18_TextChanged);
+ this.endTextBox18.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox18_KeyPress);
+ //
+ // label18
+ //
+ this.label18.AutoSize = true;
+ this.label18.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label18.Location = new System.Drawing.Point(23, 547);
+ this.label18.Name = "label18";
+ this.label18.Size = new System.Drawing.Size(136, 18);
+ this.label18.TabIndex = 72;
+ this.label18.Text = "Water Meter 18";
+ this.label18.Visible = false;
+ //
+ // startTextBox17
+ //
+ this.startTextBox17.Enabled = false;
+ this.startTextBox17.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox17.Location = new System.Drawing.Point(185, 514);
+ this.startTextBox17.Name = "startTextBox17";
+ this.startTextBox17.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox17.TabIndex = 69;
+ this.startTextBox17.Visible = false;
+ this.startTextBox17.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox17_KeyPress);
+ //
+ // exclamation15
+ //
+ this.exclamation15.AutoSize = true;
+ this.exclamation15.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation15.ForeColor = System.Drawing.Color.Red;
+ this.exclamation15.Location = new System.Drawing.Point(532, 450);
+ this.exclamation15.Name = "exclamation15";
+ this.exclamation15.Size = new System.Drawing.Size(26, 32);
+ this.exclamation15.TabIndex = 63;
+ this.exclamation15.Text = "!";
+ this.exclamation15.Visible = false;
+ //
+ // endTextBox17
+ //
+ this.endTextBox17.Enabled = false;
+ this.endTextBox17.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox17.Location = new System.Drawing.Point(367, 514);
+ this.endTextBox17.Name = "endTextBox17";
+ this.endTextBox17.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox17.TabIndex = 70;
+ this.endTextBox17.Visible = false;
+ this.endTextBox17.TextChanged += new System.EventHandler(this.endTextBox17_TextChanged);
+ this.endTextBox17.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox17_KeyPress);
+ //
+ // label17
+ //
+ this.label17.AutoSize = true;
+ this.label17.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label17.Location = new System.Drawing.Point(23, 517);
+ this.label17.Name = "label17";
+ this.label17.Size = new System.Drawing.Size(136, 18);
+ this.label17.TabIndex = 68;
+ this.label17.Text = "Water Meter 17";
+ this.label17.Visible = false;
+ //
+ // startTextBox16
+ //
+ this.startTextBox16.Enabled = false;
+ this.startTextBox16.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox16.Location = new System.Drawing.Point(185, 484);
+ this.startTextBox16.Name = "startTextBox16";
+ this.startTextBox16.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox16.TabIndex = 65;
+ this.startTextBox16.Visible = false;
+ this.startTextBox16.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox16_KeyPress);
+ //
+ // exclamation14
+ //
+ this.exclamation14.AutoSize = true;
+ this.exclamation14.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation14.ForeColor = System.Drawing.Color.Red;
+ this.exclamation14.Location = new System.Drawing.Point(532, 420);
+ this.exclamation14.Name = "exclamation14";
+ this.exclamation14.Size = new System.Drawing.Size(26, 32);
+ this.exclamation14.TabIndex = 59;
+ this.exclamation14.Text = "!";
+ this.exclamation14.Visible = false;
+ //
+ // endTextBox16
+ //
+ this.endTextBox16.Enabled = false;
+ this.endTextBox16.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox16.Location = new System.Drawing.Point(367, 484);
+ this.endTextBox16.Name = "endTextBox16";
+ this.endTextBox16.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox16.TabIndex = 66;
+ this.endTextBox16.Visible = false;
+ this.endTextBox16.TextChanged += new System.EventHandler(this.endTextBox16_TextChanged);
+ this.endTextBox16.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox16_KeyPress);
+ //
+ // label16
+ //
+ this.label16.AutoSize = true;
+ this.label16.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label16.Location = new System.Drawing.Point(23, 487);
+ this.label16.Name = "label16";
+ this.label16.Size = new System.Drawing.Size(136, 18);
+ this.label16.TabIndex = 64;
+ this.label16.Text = "Water Meter 16";
+ this.label16.Visible = false;
+ //
+ // startTextBox15
+ //
+ this.startTextBox15.Enabled = false;
+ this.startTextBox15.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox15.Location = new System.Drawing.Point(185, 454);
+ this.startTextBox15.Name = "startTextBox15";
+ this.startTextBox15.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox15.TabIndex = 61;
+ this.startTextBox15.Visible = false;
+ this.startTextBox15.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox15_KeyPress);
+ //
+ // exclamation13
+ //
+ this.exclamation13.AutoSize = true;
+ this.exclamation13.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation13.ForeColor = System.Drawing.Color.Red;
+ this.exclamation13.Location = new System.Drawing.Point(532, 390);
+ this.exclamation13.Name = "exclamation13";
+ this.exclamation13.Size = new System.Drawing.Size(26, 32);
+ this.exclamation13.TabIndex = 55;
+ this.exclamation13.Text = "!";
+ this.exclamation13.Visible = false;
+ //
+ // endTextBox15
+ //
+ this.endTextBox15.Enabled = false;
+ this.endTextBox15.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox15.Location = new System.Drawing.Point(367, 454);
+ this.endTextBox15.Name = "endTextBox15";
+ this.endTextBox15.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox15.TabIndex = 62;
+ this.endTextBox15.Visible = false;
+ this.endTextBox15.TextChanged += new System.EventHandler(this.endTextBox15_TextChanged);
+ this.endTextBox15.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox15_KeyPress);
+ //
+ // label15
+ //
+ this.label15.AutoSize = true;
+ this.label15.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label15.Location = new System.Drawing.Point(23, 457);
+ this.label15.Name = "label15";
+ this.label15.Size = new System.Drawing.Size(136, 18);
+ this.label15.TabIndex = 60;
+ this.label15.Text = "Water Meter 15";
+ this.label15.Visible = false;
+ //
+ // startTextBox14
+ //
+ this.startTextBox14.Enabled = false;
+ this.startTextBox14.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox14.Location = new System.Drawing.Point(185, 424);
+ this.startTextBox14.Name = "startTextBox14";
+ this.startTextBox14.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox14.TabIndex = 57;
+ this.startTextBox14.Visible = false;
+ this.startTextBox14.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox14_KeyPress);
+ //
+ // end2Label
+ //
+ this.end2Label.AutoSize = true;
+ this.end2Label.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.end2Label.Location = new System.Drawing.Point(992, 6);
+ this.end2Label.Name = "end2Label";
+ this.end2Label.Size = new System.Drawing.Size(46, 23);
+ this.end2Label.TabIndex = 51;
+ this.end2Label.Text = "End";
+ //
+ // endTextBox14
+ //
+ this.endTextBox14.Enabled = false;
+ this.endTextBox14.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox14.Location = new System.Drawing.Point(367, 424);
+ this.endTextBox14.Name = "endTextBox14";
+ this.endTextBox14.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox14.TabIndex = 58;
+ this.endTextBox14.Visible = false;
+ this.endTextBox14.TextChanged += new System.EventHandler(this.endTextBox14_TextChanged);
+ this.endTextBox14.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox14_KeyPress);
+ //
+ // label14
+ //
+ this.label14.AutoSize = true;
+ this.label14.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label14.Location = new System.Drawing.Point(23, 427);
+ this.label14.Name = "label14";
+ this.label14.Size = new System.Drawing.Size(136, 18);
+ this.label14.TabIndex = 56;
+ this.label14.Text = "Water Meter 14";
+ this.label14.Visible = false;
+ //
+ // startTextBox13
+ //
+ this.startTextBox13.Enabled = false;
+ this.startTextBox13.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox13.Location = new System.Drawing.Point(185, 394);
+ this.startTextBox13.Name = "startTextBox13";
+ this.startTextBox13.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox13.TabIndex = 53;
+ this.startTextBox13.Visible = false;
+ this.startTextBox13.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox13_KeyPress);
+ //
+ // start2Label
+ //
+ this.start2Label.AutoSize = true;
+ this.start2Label.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.start2Label.Location = new System.Drawing.Point(802, 6);
+ this.start2Label.Name = "start2Label";
+ this.start2Label.Size = new System.Drawing.Size(56, 23);
+ this.start2Label.TabIndex = 50;
+ this.start2Label.Text = "Start";
+ //
+ // endTextBox13
+ //
+ this.endTextBox13.Enabled = false;
+ this.endTextBox13.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox13.Location = new System.Drawing.Point(367, 394);
+ this.endTextBox13.Name = "endTextBox13";
+ this.endTextBox13.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox13.TabIndex = 54;
+ this.endTextBox13.Visible = false;
+ this.endTextBox13.TextChanged += new System.EventHandler(this.endTextBox13_TextChanged);
+ this.endTextBox13.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox13_KeyPress);
+ //
+ // label13
+ //
+ this.label13.AutoSize = true;
+ this.label13.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label13.Location = new System.Drawing.Point(23, 397);
+ this.label13.Name = "label13";
+ this.label13.Size = new System.Drawing.Size(136, 18);
+ this.label13.TabIndex = 52;
+ this.label13.Text = "Water Meter 13";
+ this.label13.Visible = false;
+ //
+ // exclamation25
+ //
+ this.exclamation25.AutoSize = true;
+ this.exclamation25.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation25.ForeColor = System.Drawing.Color.Red;
+ this.exclamation25.Location = new System.Drawing.Point(1095, 30);
+ this.exclamation25.Name = "exclamation25";
+ this.exclamation25.Size = new System.Drawing.Size(26, 32);
+ this.exclamation25.TabIndex = 104;
+ this.exclamation25.Text = "!";
+ this.exclamation25.Visible = false;
+ //
+ // startTextBox25
+ //
+ this.startTextBox25.Enabled = false;
+ this.startTextBox25.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox25.Location = new System.Drawing.Point(748, 34);
+ this.startTextBox25.Name = "startTextBox25";
+ this.startTextBox25.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox25.TabIndex = 102;
+ this.startTextBox25.Visible = false;
+ this.startTextBox25.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox25_KeyPress);
+ //
+ // endTextBox25
+ //
+ this.endTextBox25.Enabled = false;
+ this.endTextBox25.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox25.Location = new System.Drawing.Point(930, 34);
+ this.endTextBox25.Name = "endTextBox25";
+ this.endTextBox25.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox25.TabIndex = 103;
+ this.endTextBox25.Visible = false;
+ this.endTextBox25.TextChanged += new System.EventHandler(this.endTextBox25_TextChanged);
+ this.endTextBox25.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox25_KeyPress);
+ //
+ // label25
+ //
+ this.label25.AutoSize = true;
+ this.label25.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label25.Location = new System.Drawing.Point(586, 37);
+ this.label25.Name = "label25";
+ this.label25.Size = new System.Drawing.Size(136, 18);
+ this.label25.TabIndex = 101;
+ this.label25.Text = "Water Meter 25";
+ this.label25.Visible = false;
+ //
+ // label26
+ //
+ this.label26.AutoSize = true;
+ this.label26.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label26.Location = new System.Drawing.Point(586, 67);
+ this.label26.Name = "label26";
+ this.label26.Size = new System.Drawing.Size(136, 18);
+ this.label26.TabIndex = 105;
+ this.label26.Text = "Water Meter 26";
+ this.label26.Visible = false;
+ //
+ // label27
+ //
+ this.label27.AutoSize = true;
+ this.label27.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label27.Location = new System.Drawing.Point(586, 97);
+ this.label27.Name = "label27";
+ this.label27.Size = new System.Drawing.Size(136, 18);
+ this.label27.TabIndex = 106;
+ this.label27.Text = "Water Meter 27";
+ this.label27.Visible = false;
+ //
+ // label28
+ //
+ this.label28.AutoSize = true;
+ this.label28.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label28.Location = new System.Drawing.Point(586, 127);
+ this.label28.Name = "label28";
+ this.label28.Size = new System.Drawing.Size(136, 18);
+ this.label28.TabIndex = 107;
+ this.label28.Text = "Water Meter 28";
+ this.label28.Visible = false;
+ //
+ // label29
+ //
+ this.label29.AutoSize = true;
+ this.label29.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label29.Location = new System.Drawing.Point(586, 157);
+ this.label29.Name = "label29";
+ this.label29.Size = new System.Drawing.Size(136, 18);
+ this.label29.TabIndex = 108;
+ this.label29.Text = "Water Meter 29";
+ this.label29.Visible = false;
+ //
+ // label30
+ //
+ this.label30.AutoSize = true;
+ this.label30.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label30.Location = new System.Drawing.Point(586, 187);
+ this.label30.Name = "label30";
+ this.label30.Size = new System.Drawing.Size(136, 18);
+ this.label30.TabIndex = 109;
+ this.label30.Text = "Water Meter 30";
+ this.label30.Visible = false;
+ //
+ // label31
+ //
+ this.label31.AutoSize = true;
+ this.label31.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label31.Location = new System.Drawing.Point(586, 217);
+ this.label31.Name = "label31";
+ this.label31.Size = new System.Drawing.Size(136, 18);
+ this.label31.TabIndex = 110;
+ this.label31.Text = "Water Meter 31";
+ this.label31.Visible = false;
+ //
+ // label32
+ //
+ this.label32.AutoSize = true;
+ this.label32.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label32.Location = new System.Drawing.Point(586, 247);
+ this.label32.Name = "label32";
+ this.label32.Size = new System.Drawing.Size(136, 18);
+ this.label32.TabIndex = 111;
+ this.label32.Text = "Water Meter 32";
+ this.label32.Visible = false;
+ //
+ // label33
+ //
+ this.label33.AutoSize = true;
+ this.label33.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label33.Location = new System.Drawing.Point(586, 277);
+ this.label33.Name = "label33";
+ this.label33.Size = new System.Drawing.Size(136, 18);
+ this.label33.TabIndex = 112;
+ this.label33.Text = "Water Meter 33";
+ this.label33.Visible = false;
+ //
+ // label34
+ //
+ this.label34.AutoSize = true;
+ this.label34.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label34.Location = new System.Drawing.Point(586, 307);
+ this.label34.Name = "label34";
+ this.label34.Size = new System.Drawing.Size(136, 18);
+ this.label34.TabIndex = 113;
+ this.label34.Text = "Water Meter 34";
+ this.label34.Visible = false;
+ //
+ // label35
+ //
+ this.label35.AutoSize = true;
+ this.label35.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label35.Location = new System.Drawing.Point(586, 337);
+ this.label35.Name = "label35";
+ this.label35.Size = new System.Drawing.Size(136, 18);
+ this.label35.TabIndex = 114;
+ this.label35.Text = "Water Meter 35";
+ this.label35.Visible = false;
+ //
+ // label36
+ //
+ this.label36.AutoSize = true;
+ this.label36.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label36.Location = new System.Drawing.Point(586, 367);
+ this.label36.Name = "label36";
+ this.label36.Size = new System.Drawing.Size(136, 18);
+ this.label36.TabIndex = 115;
+ this.label36.Text = "Water Meter 36";
+ this.label36.Visible = false;
+ //
+ // label37
+ //
+ this.label37.AutoSize = true;
+ this.label37.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label37.Location = new System.Drawing.Point(586, 397);
+ this.label37.Name = "label37";
+ this.label37.Size = new System.Drawing.Size(136, 18);
+ this.label37.TabIndex = 116;
+ this.label37.Text = "Water Meter 37";
+ this.label37.Visible = false;
+ //
+ // label38
+ //
+ this.label38.AutoSize = true;
+ this.label38.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label38.Location = new System.Drawing.Point(586, 427);
+ this.label38.Name = "label38";
+ this.label38.Size = new System.Drawing.Size(136, 18);
+ this.label38.TabIndex = 117;
+ this.label38.Text = "Water Meter 38";
+ this.label38.Visible = false;
+ //
+ // label39
+ //
+ this.label39.AutoSize = true;
+ this.label39.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label39.Location = new System.Drawing.Point(586, 457);
+ this.label39.Name = "label39";
+ this.label39.Size = new System.Drawing.Size(136, 18);
+ this.label39.TabIndex = 118;
+ this.label39.Text = "Water Meter 39";
+ this.label39.Visible = false;
+ //
+ // label40
+ //
+ this.label40.AutoSize = true;
+ this.label40.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label40.Location = new System.Drawing.Point(586, 487);
+ this.label40.Name = "label40";
+ this.label40.Size = new System.Drawing.Size(136, 18);
+ this.label40.TabIndex = 119;
+ this.label40.Text = "Water Meter 40";
+ this.label40.Visible = false;
+ //
+ // label41
+ //
+ this.label41.AutoSize = true;
+ this.label41.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label41.Location = new System.Drawing.Point(586, 517);
+ this.label41.Name = "label41";
+ this.label41.Size = new System.Drawing.Size(136, 18);
+ this.label41.TabIndex = 120;
+ this.label41.Text = "Water Meter 41";
+ this.label41.Visible = false;
+ //
+ // label42
+ //
+ this.label42.AutoSize = true;
+ this.label42.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label42.Location = new System.Drawing.Point(586, 547);
+ this.label42.Name = "label42";
+ this.label42.Size = new System.Drawing.Size(136, 18);
+ this.label42.TabIndex = 121;
+ this.label42.Text = "Water Meter 42";
+ this.label42.Visible = false;
+ //
+ // label43
+ //
+ this.label43.AutoSize = true;
+ this.label43.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label43.Location = new System.Drawing.Point(586, 577);
+ this.label43.Name = "label43";
+ this.label43.Size = new System.Drawing.Size(136, 18);
+ this.label43.TabIndex = 122;
+ this.label43.Text = "Water Meter 43";
+ this.label43.Visible = false;
+ //
+ // label44
+ //
+ this.label44.AutoSize = true;
+ this.label44.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label44.Location = new System.Drawing.Point(586, 607);
+ this.label44.Name = "label44";
+ this.label44.Size = new System.Drawing.Size(136, 18);
+ this.label44.TabIndex = 123;
+ this.label44.Text = "Water Meter 44";
+ this.label44.Visible = false;
+ //
+ // label45
+ //
+ this.label45.AutoSize = true;
+ this.label45.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label45.Location = new System.Drawing.Point(586, 637);
+ this.label45.Name = "label45";
+ this.label45.Size = new System.Drawing.Size(136, 18);
+ this.label45.TabIndex = 124;
+ this.label45.Text = "Water Meter 45";
+ this.label45.Visible = false;
+ //
+ // label46
+ //
+ this.label46.AutoSize = true;
+ this.label46.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label46.Location = new System.Drawing.Point(586, 667);
+ this.label46.Name = "label46";
+ this.label46.Size = new System.Drawing.Size(136, 18);
+ this.label46.TabIndex = 125;
+ this.label46.Text = "Water Meter 46";
+ this.label46.Visible = false;
+ //
+ // label47
+ //
+ this.label47.AutoSize = true;
+ this.label47.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label47.Location = new System.Drawing.Point(586, 697);
+ this.label47.Name = "label47";
+ this.label47.Size = new System.Drawing.Size(136, 18);
+ this.label47.TabIndex = 126;
+ this.label47.Text = "Water Meter 47";
+ this.label47.Visible = false;
+ //
+ // label48
+ //
+ this.label48.AutoSize = true;
+ this.label48.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.label48.Location = new System.Drawing.Point(586, 727);
+ this.label48.Name = "label48";
+ this.label48.Size = new System.Drawing.Size(136, 18);
+ this.label48.TabIndex = 127;
+ this.label48.Text = "Water Meter 48";
+ this.label48.Visible = false;
+ //
+ // startTextBox48
+ //
+ this.startTextBox48.Enabled = false;
+ this.startTextBox48.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox48.Location = new System.Drawing.Point(748, 724);
+ this.startTextBox48.Name = "startTextBox48";
+ this.startTextBox48.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox48.TabIndex = 150;
+ this.startTextBox48.Visible = false;
+ this.startTextBox48.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox48_KeyPress);
+ //
+ // startTextBox47
+ //
+ this.startTextBox47.Enabled = false;
+ this.startTextBox47.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox47.Location = new System.Drawing.Point(748, 694);
+ this.startTextBox47.Name = "startTextBox47";
+ this.startTextBox47.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox47.TabIndex = 149;
+ this.startTextBox47.Visible = false;
+ this.startTextBox47.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox47_KeyPress);
+ //
+ // startTextBox46
+ //
+ this.startTextBox46.Enabled = false;
+ this.startTextBox46.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox46.Location = new System.Drawing.Point(748, 664);
+ this.startTextBox46.Name = "startTextBox46";
+ this.startTextBox46.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox46.TabIndex = 148;
+ this.startTextBox46.Visible = false;
+ this.startTextBox46.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox46_KeyPress);
+ //
+ // startTextBox45
+ //
+ this.startTextBox45.Enabled = false;
+ this.startTextBox45.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox45.Location = new System.Drawing.Point(748, 634);
+ this.startTextBox45.Name = "startTextBox45";
+ this.startTextBox45.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox45.TabIndex = 147;
+ this.startTextBox45.Visible = false;
+ this.startTextBox45.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox45_KeyPress);
+ //
+ // startTextBox44
+ //
+ this.startTextBox44.Enabled = false;
+ this.startTextBox44.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox44.Location = new System.Drawing.Point(748, 604);
+ this.startTextBox44.Name = "startTextBox44";
+ this.startTextBox44.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox44.TabIndex = 146;
+ this.startTextBox44.Visible = false;
+ this.startTextBox44.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox44_KeyPress);
+ //
+ // startTextBox43
+ //
+ this.startTextBox43.Enabled = false;
+ this.startTextBox43.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox43.Location = new System.Drawing.Point(748, 574);
+ this.startTextBox43.Name = "startTextBox43";
+ this.startTextBox43.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox43.TabIndex = 145;
+ this.startTextBox43.Visible = false;
+ this.startTextBox43.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox43_KeyPress);
+ //
+ // startTextBox42
+ //
+ this.startTextBox42.Enabled = false;
+ this.startTextBox42.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox42.Location = new System.Drawing.Point(748, 544);
+ this.startTextBox42.Name = "startTextBox42";
+ this.startTextBox42.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox42.TabIndex = 144;
+ this.startTextBox42.Visible = false;
+ this.startTextBox42.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox42_KeyPress);
+ //
+ // startTextBox41
+ //
+ this.startTextBox41.Enabled = false;
+ this.startTextBox41.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox41.Location = new System.Drawing.Point(748, 514);
+ this.startTextBox41.Name = "startTextBox41";
+ this.startTextBox41.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox41.TabIndex = 143;
+ this.startTextBox41.Visible = false;
+ this.startTextBox41.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox41_KeyPress);
+ //
+ // startTextBox40
+ //
+ this.startTextBox40.Enabled = false;
+ this.startTextBox40.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox40.Location = new System.Drawing.Point(748, 484);
+ this.startTextBox40.Name = "startTextBox40";
+ this.startTextBox40.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox40.TabIndex = 142;
+ this.startTextBox40.Visible = false;
+ this.startTextBox40.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox40_KeyPress);
+ //
+ // startTextBox39
+ //
+ this.startTextBox39.Enabled = false;
+ this.startTextBox39.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox39.Location = new System.Drawing.Point(748, 454);
+ this.startTextBox39.Name = "startTextBox39";
+ this.startTextBox39.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox39.TabIndex = 141;
+ this.startTextBox39.Visible = false;
+ this.startTextBox39.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox39_KeyPress);
+ //
+ // startTextBox38
+ //
+ this.startTextBox38.Enabled = false;
+ this.startTextBox38.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox38.Location = new System.Drawing.Point(748, 424);
+ this.startTextBox38.Name = "startTextBox38";
+ this.startTextBox38.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox38.TabIndex = 140;
+ this.startTextBox38.Visible = false;
+ this.startTextBox38.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox38_KeyPress);
+ //
+ // startTextBox37
+ //
+ this.startTextBox37.Enabled = false;
+ this.startTextBox37.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox37.Location = new System.Drawing.Point(748, 394);
+ this.startTextBox37.Name = "startTextBox37";
+ this.startTextBox37.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox37.TabIndex = 139;
+ this.startTextBox37.Visible = false;
+ this.startTextBox37.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox37_KeyPress);
+ //
+ // startTextBox36
+ //
+ this.startTextBox36.Enabled = false;
+ this.startTextBox36.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox36.Location = new System.Drawing.Point(748, 364);
+ this.startTextBox36.Name = "startTextBox36";
+ this.startTextBox36.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox36.TabIndex = 138;
+ this.startTextBox36.Visible = false;
+ this.startTextBox36.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox36_KeyPress);
+ //
+ // startTextBox35
+ //
+ this.startTextBox35.Enabled = false;
+ this.startTextBox35.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox35.Location = new System.Drawing.Point(748, 334);
+ this.startTextBox35.Name = "startTextBox35";
+ this.startTextBox35.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox35.TabIndex = 137;
+ this.startTextBox35.Visible = false;
+ this.startTextBox35.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox35_KeyPress);
+ //
+ // startTextBox34
+ //
+ this.startTextBox34.Enabled = false;
+ this.startTextBox34.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox34.Location = new System.Drawing.Point(748, 304);
+ this.startTextBox34.Name = "startTextBox34";
+ this.startTextBox34.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox34.TabIndex = 136;
+ this.startTextBox34.Visible = false;
+ this.startTextBox34.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox34_KeyPress);
+ //
+ // startTextBox33
+ //
+ this.startTextBox33.Enabled = false;
+ this.startTextBox33.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox33.Location = new System.Drawing.Point(748, 274);
+ this.startTextBox33.Name = "startTextBox33";
+ this.startTextBox33.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox33.TabIndex = 135;
+ this.startTextBox33.Visible = false;
+ this.startTextBox33.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox33_KeyPress);
+ //
+ // startTextBox32
+ //
+ this.startTextBox32.Enabled = false;
+ this.startTextBox32.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox32.Location = new System.Drawing.Point(748, 244);
+ this.startTextBox32.Name = "startTextBox32";
+ this.startTextBox32.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox32.TabIndex = 134;
+ this.startTextBox32.Visible = false;
+ this.startTextBox32.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox32_KeyPress);
+ //
+ // startTextBox31
+ //
+ this.startTextBox31.Enabled = false;
+ this.startTextBox31.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox31.Location = new System.Drawing.Point(748, 214);
+ this.startTextBox31.Name = "startTextBox31";
+ this.startTextBox31.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox31.TabIndex = 133;
+ this.startTextBox31.Visible = false;
+ this.startTextBox31.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox31_KeyPress);
+ //
+ // startTextBox30
+ //
+ this.startTextBox30.Enabled = false;
+ this.startTextBox30.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox30.Location = new System.Drawing.Point(748, 184);
+ this.startTextBox30.Name = "startTextBox30";
+ this.startTextBox30.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox30.TabIndex = 132;
+ this.startTextBox30.Visible = false;
+ this.startTextBox30.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox30_KeyPress);
+ //
+ // startTextBox29
+ //
+ this.startTextBox29.Enabled = false;
+ this.startTextBox29.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox29.Location = new System.Drawing.Point(748, 154);
+ this.startTextBox29.Name = "startTextBox29";
+ this.startTextBox29.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox29.TabIndex = 131;
+ this.startTextBox29.Visible = false;
+ this.startTextBox29.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox29_KeyPress);
+ //
+ // startTextBox28
+ //
+ this.startTextBox28.Enabled = false;
+ this.startTextBox28.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox28.Location = new System.Drawing.Point(748, 124);
+ this.startTextBox28.Name = "startTextBox28";
+ this.startTextBox28.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox28.TabIndex = 130;
+ this.startTextBox28.Visible = false;
+ this.startTextBox28.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox28_KeyPress);
+ //
+ // startTextBox27
+ //
+ this.startTextBox27.Enabled = false;
+ this.startTextBox27.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox27.Location = new System.Drawing.Point(748, 94);
+ this.startTextBox27.Name = "startTextBox27";
+ this.startTextBox27.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox27.TabIndex = 129;
+ this.startTextBox27.Visible = false;
+ this.startTextBox27.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox27_KeyPress);
+ //
+ // startTextBox26
+ //
+ this.startTextBox26.Enabled = false;
+ this.startTextBox26.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.startTextBox26.Location = new System.Drawing.Point(748, 64);
+ this.startTextBox26.Name = "startTextBox26";
+ this.startTextBox26.Size = new System.Drawing.Size(163, 27);
+ this.startTextBox26.TabIndex = 128;
+ this.startTextBox26.Visible = false;
+ this.startTextBox26.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox26_KeyPress);
+ //
+ // exclamation48
+ //
+ this.exclamation48.AutoSize = true;
+ this.exclamation48.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation48.ForeColor = System.Drawing.Color.Red;
+ this.exclamation48.Location = new System.Drawing.Point(1095, 720);
+ this.exclamation48.Name = "exclamation48";
+ this.exclamation48.Size = new System.Drawing.Size(26, 32);
+ this.exclamation48.TabIndex = 196;
+ this.exclamation48.Text = "!";
+ this.exclamation48.Visible = false;
+ //
+ // endTextBox48
+ //
+ this.endTextBox48.Enabled = false;
+ this.endTextBox48.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox48.Location = new System.Drawing.Point(930, 724);
+ this.endTextBox48.Name = "endTextBox48";
+ this.endTextBox48.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox48.TabIndex = 195;
+ this.endTextBox48.Visible = false;
+ this.endTextBox48.TextChanged += new System.EventHandler(this.endTextBox48_TextChanged);
+ this.endTextBox48.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox48_KeyPress);
+ //
+ // exclamation47
+ //
+ this.exclamation47.AutoSize = true;
+ this.exclamation47.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation47.ForeColor = System.Drawing.Color.Red;
+ this.exclamation47.Location = new System.Drawing.Point(1095, 690);
+ this.exclamation47.Name = "exclamation47";
+ this.exclamation47.Size = new System.Drawing.Size(26, 32);
+ this.exclamation47.TabIndex = 194;
+ this.exclamation47.Text = "!";
+ this.exclamation47.Visible = false;
+ //
+ // endTextBox47
+ //
+ this.endTextBox47.Enabled = false;
+ this.endTextBox47.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox47.Location = new System.Drawing.Point(930, 694);
+ this.endTextBox47.Name = "endTextBox47";
+ this.endTextBox47.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox47.TabIndex = 193;
+ this.endTextBox47.Visible = false;
+ this.endTextBox47.TextChanged += new System.EventHandler(this.endTextBox47_TextChanged);
+ this.endTextBox47.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox47_KeyPress);
+ //
+ // exclamation46
+ //
+ this.exclamation46.AutoSize = true;
+ this.exclamation46.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation46.ForeColor = System.Drawing.Color.Red;
+ this.exclamation46.Location = new System.Drawing.Point(1095, 660);
+ this.exclamation46.Name = "exclamation46";
+ this.exclamation46.Size = new System.Drawing.Size(26, 32);
+ this.exclamation46.TabIndex = 192;
+ this.exclamation46.Text = "!";
+ this.exclamation46.Visible = false;
+ //
+ // endTextBox46
+ //
+ this.endTextBox46.Enabled = false;
+ this.endTextBox46.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox46.Location = new System.Drawing.Point(930, 664);
+ this.endTextBox46.Name = "endTextBox46";
+ this.endTextBox46.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox46.TabIndex = 191;
+ this.endTextBox46.Visible = false;
+ this.endTextBox46.TextChanged += new System.EventHandler(this.endTextBox46_TextChanged);
+ this.endTextBox46.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox46_KeyPress);
+ //
+ // exclamation45
+ //
+ this.exclamation45.AutoSize = true;
+ this.exclamation45.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation45.ForeColor = System.Drawing.Color.Red;
+ this.exclamation45.Location = new System.Drawing.Point(1095, 630);
+ this.exclamation45.Name = "exclamation45";
+ this.exclamation45.Size = new System.Drawing.Size(26, 32);
+ this.exclamation45.TabIndex = 190;
+ this.exclamation45.Text = "!";
+ this.exclamation45.Visible = false;
+ //
+ // endTextBox45
+ //
+ this.endTextBox45.Enabled = false;
+ this.endTextBox45.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox45.Location = new System.Drawing.Point(930, 634);
+ this.endTextBox45.Name = "endTextBox45";
+ this.endTextBox45.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox45.TabIndex = 189;
+ this.endTextBox45.Visible = false;
+ this.endTextBox45.TextChanged += new System.EventHandler(this.endTextBox45_TextChanged);
+ this.endTextBox45.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox45_KeyPress);
+ //
+ // exclamation44
+ //
+ this.exclamation44.AutoSize = true;
+ this.exclamation44.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation44.ForeColor = System.Drawing.Color.Red;
+ this.exclamation44.Location = new System.Drawing.Point(1095, 600);
+ this.exclamation44.Name = "exclamation44";
+ this.exclamation44.Size = new System.Drawing.Size(26, 32);
+ this.exclamation44.TabIndex = 188;
+ this.exclamation44.Text = "!";
+ this.exclamation44.Visible = false;
+ //
+ // endTextBox44
+ //
+ this.endTextBox44.Enabled = false;
+ this.endTextBox44.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox44.Location = new System.Drawing.Point(930, 604);
+ this.endTextBox44.Name = "endTextBox44";
+ this.endTextBox44.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox44.TabIndex = 187;
+ this.endTextBox44.Visible = false;
+ this.endTextBox44.TextChanged += new System.EventHandler(this.endTextBox44_TextChanged);
+ this.endTextBox44.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox44_KeyPress);
+ //
+ // exclamation43
+ //
+ this.exclamation43.AutoSize = true;
+ this.exclamation43.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation43.ForeColor = System.Drawing.Color.Red;
+ this.exclamation43.Location = new System.Drawing.Point(1095, 570);
+ this.exclamation43.Name = "exclamation43";
+ this.exclamation43.Size = new System.Drawing.Size(26, 32);
+ this.exclamation43.TabIndex = 186;
+ this.exclamation43.Text = "!";
+ this.exclamation43.Visible = false;
+ //
+ // endTextBox43
+ //
+ this.endTextBox43.Enabled = false;
+ this.endTextBox43.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox43.Location = new System.Drawing.Point(930, 574);
+ this.endTextBox43.Name = "endTextBox43";
+ this.endTextBox43.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox43.TabIndex = 185;
+ this.endTextBox43.Visible = false;
+ this.endTextBox43.TextChanged += new System.EventHandler(this.endTextBox43_TextChanged);
+ this.endTextBox43.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox43_KeyPress);
+ //
+ // exclamation42
+ //
+ this.exclamation42.AutoSize = true;
+ this.exclamation42.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation42.ForeColor = System.Drawing.Color.Red;
+ this.exclamation42.Location = new System.Drawing.Point(1095, 540);
+ this.exclamation42.Name = "exclamation42";
+ this.exclamation42.Size = new System.Drawing.Size(26, 32);
+ this.exclamation42.TabIndex = 184;
+ this.exclamation42.Text = "!";
+ this.exclamation42.Visible = false;
+ //
+ // exclamation41
+ //
+ this.exclamation41.AutoSize = true;
+ this.exclamation41.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation41.ForeColor = System.Drawing.Color.Red;
+ this.exclamation41.Location = new System.Drawing.Point(1095, 510);
+ this.exclamation41.Name = "exclamation41";
+ this.exclamation41.Size = new System.Drawing.Size(26, 32);
+ this.exclamation41.TabIndex = 182;
+ this.exclamation41.Text = "!";
+ this.exclamation41.Visible = false;
+ //
+ // exclamation40
+ //
+ this.exclamation40.AutoSize = true;
+ this.exclamation40.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation40.ForeColor = System.Drawing.Color.Red;
+ this.exclamation40.Location = new System.Drawing.Point(1095, 480);
+ this.exclamation40.Name = "exclamation40";
+ this.exclamation40.Size = new System.Drawing.Size(26, 32);
+ this.exclamation40.TabIndex = 180;
+ this.exclamation40.Text = "!";
+ this.exclamation40.Visible = false;
+ //
+ // endTextBox42
+ //
+ this.endTextBox42.Enabled = false;
+ this.endTextBox42.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox42.Location = new System.Drawing.Point(930, 544);
+ this.endTextBox42.Name = "endTextBox42";
+ this.endTextBox42.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox42.TabIndex = 183;
+ this.endTextBox42.Visible = false;
+ this.endTextBox42.TextChanged += new System.EventHandler(this.endTextBox42_TextChanged);
+ this.endTextBox42.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox42_KeyPress);
+ //
+ // exclamation39
+ //
+ this.exclamation39.AutoSize = true;
+ this.exclamation39.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation39.ForeColor = System.Drawing.Color.Red;
+ this.exclamation39.Location = new System.Drawing.Point(1095, 450);
+ this.exclamation39.Name = "exclamation39";
+ this.exclamation39.Size = new System.Drawing.Size(26, 32);
+ this.exclamation39.TabIndex = 178;
+ this.exclamation39.Text = "!";
+ this.exclamation39.Visible = false;
+ //
+ // endTextBox41
+ //
+ this.endTextBox41.Enabled = false;
+ this.endTextBox41.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox41.Location = new System.Drawing.Point(930, 514);
+ this.endTextBox41.Name = "endTextBox41";
+ this.endTextBox41.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox41.TabIndex = 181;
+ this.endTextBox41.Visible = false;
+ this.endTextBox41.TextChanged += new System.EventHandler(this.endTextBox41_TextChanged);
+ this.endTextBox41.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox41_KeyPress);
+ //
+ // exclamation38
+ //
+ this.exclamation38.AutoSize = true;
+ this.exclamation38.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation38.ForeColor = System.Drawing.Color.Red;
+ this.exclamation38.Location = new System.Drawing.Point(1095, 420);
+ this.exclamation38.Name = "exclamation38";
+ this.exclamation38.Size = new System.Drawing.Size(26, 32);
+ this.exclamation38.TabIndex = 176;
+ this.exclamation38.Text = "!";
+ this.exclamation38.Visible = false;
+ //
+ // endTextBox40
+ //
+ this.endTextBox40.Enabled = false;
+ this.endTextBox40.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox40.Location = new System.Drawing.Point(930, 484);
+ this.endTextBox40.Name = "endTextBox40";
+ this.endTextBox40.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox40.TabIndex = 179;
+ this.endTextBox40.Visible = false;
+ this.endTextBox40.TextChanged += new System.EventHandler(this.endTextBox40_TextChanged);
+ this.endTextBox40.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox40_KeyPress);
+ //
+ // exclamation37
+ //
+ this.exclamation37.AutoSize = true;
+ this.exclamation37.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation37.ForeColor = System.Drawing.Color.Red;
+ this.exclamation37.Location = new System.Drawing.Point(1095, 390);
+ this.exclamation37.Name = "exclamation37";
+ this.exclamation37.Size = new System.Drawing.Size(26, 32);
+ this.exclamation37.TabIndex = 174;
+ this.exclamation37.Text = "!";
+ this.exclamation37.Visible = false;
+ //
+ // endTextBox39
+ //
+ this.endTextBox39.Enabled = false;
+ this.endTextBox39.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox39.Location = new System.Drawing.Point(930, 454);
+ this.endTextBox39.Name = "endTextBox39";
+ this.endTextBox39.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox39.TabIndex = 177;
+ this.endTextBox39.Visible = false;
+ this.endTextBox39.TextChanged += new System.EventHandler(this.endTextBox39_TextChanged);
+ this.endTextBox39.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox39_KeyPress);
+ //
+ // endTextBox38
+ //
+ this.endTextBox38.Enabled = false;
+ this.endTextBox38.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox38.Location = new System.Drawing.Point(930, 424);
+ this.endTextBox38.Name = "endTextBox38";
+ this.endTextBox38.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox38.TabIndex = 175;
+ this.endTextBox38.Visible = false;
+ this.endTextBox38.TextChanged += new System.EventHandler(this.endTextBox38_TextChanged);
+ this.endTextBox38.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox38_KeyPress);
+ //
+ // endTextBox37
+ //
+ this.endTextBox37.Enabled = false;
+ this.endTextBox37.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox37.Location = new System.Drawing.Point(930, 394);
+ this.endTextBox37.Name = "endTextBox37";
+ this.endTextBox37.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox37.TabIndex = 173;
+ this.endTextBox37.Visible = false;
+ this.endTextBox37.TextChanged += new System.EventHandler(this.endTextBox37_TextChanged);
+ this.endTextBox37.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox37_KeyPress);
+ //
+ // exclamation36
+ //
+ this.exclamation36.AutoSize = true;
+ this.exclamation36.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation36.ForeColor = System.Drawing.Color.Red;
+ this.exclamation36.Location = new System.Drawing.Point(1095, 360);
+ this.exclamation36.Name = "exclamation36";
+ this.exclamation36.Size = new System.Drawing.Size(26, 32);
+ this.exclamation36.TabIndex = 172;
+ this.exclamation36.Text = "!";
+ this.exclamation36.Visible = false;
+ //
+ // endTextBox36
+ //
+ this.endTextBox36.Enabled = false;
+ this.endTextBox36.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox36.Location = new System.Drawing.Point(930, 364);
+ this.endTextBox36.Name = "endTextBox36";
+ this.endTextBox36.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox36.TabIndex = 171;
+ this.endTextBox36.Visible = false;
+ this.endTextBox36.TextChanged += new System.EventHandler(this.endTextBox36_TextChanged);
+ this.endTextBox36.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox36_KeyPress);
+ //
+ // exclamation35
+ //
+ this.exclamation35.AutoSize = true;
+ this.exclamation35.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation35.ForeColor = System.Drawing.Color.Red;
+ this.exclamation35.Location = new System.Drawing.Point(1095, 330);
+ this.exclamation35.Name = "exclamation35";
+ this.exclamation35.Size = new System.Drawing.Size(26, 32);
+ this.exclamation35.TabIndex = 170;
+ this.exclamation35.Text = "!";
+ this.exclamation35.Visible = false;
+ //
+ // endTextBox35
+ //
+ this.endTextBox35.Enabled = false;
+ this.endTextBox35.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox35.Location = new System.Drawing.Point(930, 334);
+ this.endTextBox35.Name = "endTextBox35";
+ this.endTextBox35.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox35.TabIndex = 169;
+ this.endTextBox35.Visible = false;
+ this.endTextBox35.TextChanged += new System.EventHandler(this.endTextBox35_TextChanged);
+ this.endTextBox35.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox35_KeyPress);
+ //
+ // exclamation34
+ //
+ this.exclamation34.AutoSize = true;
+ this.exclamation34.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation34.ForeColor = System.Drawing.Color.Red;
+ this.exclamation34.Location = new System.Drawing.Point(1095, 300);
+ this.exclamation34.Name = "exclamation34";
+ this.exclamation34.Size = new System.Drawing.Size(26, 32);
+ this.exclamation34.TabIndex = 168;
+ this.exclamation34.Text = "!";
+ this.exclamation34.Visible = false;
+ //
+ // endTextBox34
+ //
+ this.endTextBox34.Enabled = false;
+ this.endTextBox34.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox34.Location = new System.Drawing.Point(930, 304);
+ this.endTextBox34.Name = "endTextBox34";
+ this.endTextBox34.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox34.TabIndex = 167;
+ this.endTextBox34.Visible = false;
+ this.endTextBox34.TextChanged += new System.EventHandler(this.endTextBox34_TextChanged);
+ this.endTextBox34.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox34_KeyPress);
+ //
+ // exclamation33
+ //
+ this.exclamation33.AutoSize = true;
+ this.exclamation33.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation33.ForeColor = System.Drawing.Color.Red;
+ this.exclamation33.Location = new System.Drawing.Point(1095, 270);
+ this.exclamation33.Name = "exclamation33";
+ this.exclamation33.Size = new System.Drawing.Size(26, 32);
+ this.exclamation33.TabIndex = 166;
+ this.exclamation33.Text = "!";
+ this.exclamation33.Visible = false;
+ //
+ // endTextBox33
+ //
+ this.endTextBox33.Enabled = false;
+ this.endTextBox33.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox33.Location = new System.Drawing.Point(930, 274);
+ this.endTextBox33.Name = "endTextBox33";
+ this.endTextBox33.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox33.TabIndex = 165;
+ this.endTextBox33.Visible = false;
+ this.endTextBox33.TextChanged += new System.EventHandler(this.endTextBox33_TextChanged);
+ this.endTextBox33.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox33_KeyPress);
+ //
+ // exclamation32
+ //
+ this.exclamation32.AutoSize = true;
+ this.exclamation32.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation32.ForeColor = System.Drawing.Color.Red;
+ this.exclamation32.Location = new System.Drawing.Point(1095, 240);
+ this.exclamation32.Name = "exclamation32";
+ this.exclamation32.Size = new System.Drawing.Size(26, 32);
+ this.exclamation32.TabIndex = 164;
+ this.exclamation32.Text = "!";
+ this.exclamation32.Visible = false;
+ //
+ // endTextBox32
+ //
+ this.endTextBox32.Enabled = false;
+ this.endTextBox32.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox32.Location = new System.Drawing.Point(930, 244);
+ this.endTextBox32.Name = "endTextBox32";
+ this.endTextBox32.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox32.TabIndex = 163;
+ this.endTextBox32.Visible = false;
+ this.endTextBox32.TextChanged += new System.EventHandler(this.endTextBox32_TextChanged);
+ this.endTextBox32.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox32_KeyPress);
+ //
+ // exclamation31
+ //
+ this.exclamation31.AutoSize = true;
+ this.exclamation31.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation31.ForeColor = System.Drawing.Color.Red;
+ this.exclamation31.Location = new System.Drawing.Point(1095, 210);
+ this.exclamation31.Name = "exclamation31";
+ this.exclamation31.Size = new System.Drawing.Size(26, 32);
+ this.exclamation31.TabIndex = 162;
+ this.exclamation31.Text = "!";
+ this.exclamation31.Visible = false;
+ //
+ // endTextBox31
+ //
+ this.endTextBox31.Enabled = false;
+ this.endTextBox31.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox31.Location = new System.Drawing.Point(930, 214);
+ this.endTextBox31.Name = "endTextBox31";
+ this.endTextBox31.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox31.TabIndex = 161;
+ this.endTextBox31.Visible = false;
+ this.endTextBox31.TextChanged += new System.EventHandler(this.endTextBox31_TextChanged);
+ this.endTextBox31.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox31_KeyPress);
+ //
+ // exclamation30
+ //
+ this.exclamation30.AutoSize = true;
+ this.exclamation30.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation30.ForeColor = System.Drawing.Color.Red;
+ this.exclamation30.Location = new System.Drawing.Point(1095, 180);
+ this.exclamation30.Name = "exclamation30";
+ this.exclamation30.Size = new System.Drawing.Size(26, 32);
+ this.exclamation30.TabIndex = 160;
+ this.exclamation30.Text = "!";
+ this.exclamation30.Visible = false;
+ //
+ // exclamation29
+ //
+ this.exclamation29.AutoSize = true;
+ this.exclamation29.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation29.ForeColor = System.Drawing.Color.Red;
+ this.exclamation29.Location = new System.Drawing.Point(1095, 150);
+ this.exclamation29.Name = "exclamation29";
+ this.exclamation29.Size = new System.Drawing.Size(26, 32);
+ this.exclamation29.TabIndex = 158;
+ this.exclamation29.Text = "!";
+ this.exclamation29.Visible = false;
+ //
+ // exclamation28
+ //
+ this.exclamation28.AutoSize = true;
+ this.exclamation28.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation28.ForeColor = System.Drawing.Color.Red;
+ this.exclamation28.Location = new System.Drawing.Point(1095, 120);
+ this.exclamation28.Name = "exclamation28";
+ this.exclamation28.Size = new System.Drawing.Size(26, 32);
+ this.exclamation28.TabIndex = 156;
+ this.exclamation28.Text = "!";
+ this.exclamation28.Visible = false;
+ //
+ // endTextBox30
+ //
+ this.endTextBox30.Enabled = false;
+ this.endTextBox30.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox30.Location = new System.Drawing.Point(930, 184);
+ this.endTextBox30.Name = "endTextBox30";
+ this.endTextBox30.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox30.TabIndex = 159;
+ this.endTextBox30.Visible = false;
+ this.endTextBox30.TextChanged += new System.EventHandler(this.endTextBox30_TextChanged);
+ this.endTextBox30.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox30_KeyPress);
+ //
+ // exclamation27
+ //
+ this.exclamation27.AutoSize = true;
+ this.exclamation27.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation27.ForeColor = System.Drawing.Color.Red;
+ this.exclamation27.Location = new System.Drawing.Point(1095, 90);
+ this.exclamation27.Name = "exclamation27";
+ this.exclamation27.Size = new System.Drawing.Size(26, 32);
+ this.exclamation27.TabIndex = 154;
+ this.exclamation27.Text = "!";
+ this.exclamation27.Visible = false;
+ //
+ // endTextBox29
+ //
+ this.endTextBox29.Enabled = false;
+ this.endTextBox29.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox29.Location = new System.Drawing.Point(930, 154);
+ this.endTextBox29.Name = "endTextBox29";
+ this.endTextBox29.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox29.TabIndex = 157;
+ this.endTextBox29.Visible = false;
+ this.endTextBox29.TextChanged += new System.EventHandler(this.endTextBox29_TextChanged);
+ this.endTextBox29.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox29_KeyPress);
+ //
+ // exclamation26
+ //
+ this.exclamation26.AutoSize = true;
+ this.exclamation26.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.exclamation26.ForeColor = System.Drawing.Color.Red;
+ this.exclamation26.Location = new System.Drawing.Point(1095, 60);
+ this.exclamation26.Name = "exclamation26";
+ this.exclamation26.Size = new System.Drawing.Size(26, 32);
+ this.exclamation26.TabIndex = 152;
+ this.exclamation26.Text = "!";
+ this.exclamation26.Visible = false;
+ //
+ // endTextBox28
+ //
+ this.endTextBox28.Enabled = false;
+ this.endTextBox28.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox28.Location = new System.Drawing.Point(930, 124);
+ this.endTextBox28.Name = "endTextBox28";
+ this.endTextBox28.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox28.TabIndex = 155;
+ this.endTextBox28.Visible = false;
+ this.endTextBox28.TextChanged += new System.EventHandler(this.endTextBox28_TextChanged);
+ this.endTextBox28.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox28_KeyPress);
+ //
+ // endTextBox27
+ //
+ this.endTextBox27.Enabled = false;
+ this.endTextBox27.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox27.Location = new System.Drawing.Point(930, 94);
+ this.endTextBox27.Name = "endTextBox27";
+ this.endTextBox27.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox27.TabIndex = 153;
+ this.endTextBox27.Visible = false;
+ this.endTextBox27.TextChanged += new System.EventHandler(this.endTextBox27_TextChanged);
+ this.endTextBox27.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox27_KeyPress);
+ //
+ // endTextBox26
+ //
+ this.endTextBox26.Enabled = false;
+ this.endTextBox26.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
+ this.endTextBox26.Location = new System.Drawing.Point(930, 64);
+ this.endTextBox26.Name = "endTextBox26";
+ this.endTextBox26.Size = new System.Drawing.Size(163, 27);
+ this.endTextBox26.TabIndex = 151;
+ this.endTextBox26.Visible = false;
+ this.endTextBox26.TextChanged += new System.EventHandler(this.endTextBox26_TextChanged);
+ this.endTextBox26.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox26_KeyPress);
+ //
+ // TestStartEndForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.BackColor = System.Drawing.Color.DarkGray;
+ this.ClientSize = new System.Drawing.Size(1267, 758);
+ this.Controls.Add(this.exclamation48);
+ this.Controls.Add(this.endTextBox48);
+ this.Controls.Add(this.exclamation47);
+ this.Controls.Add(this.endTextBox47);
+ this.Controls.Add(this.exclamation46);
+ this.Controls.Add(this.endTextBox46);
+ this.Controls.Add(this.exclamation45);
+ this.Controls.Add(this.endTextBox45);
+ this.Controls.Add(this.exclamation44);
+ this.Controls.Add(this.endTextBox44);
+ this.Controls.Add(this.exclamation43);
+ this.Controls.Add(this.endTextBox43);
+ this.Controls.Add(this.exclamation42);
+ this.Controls.Add(this.exclamation41);
+ this.Controls.Add(this.exclamation40);
+ this.Controls.Add(this.endTextBox42);
+ this.Controls.Add(this.exclamation39);
+ this.Controls.Add(this.endTextBox41);
+ this.Controls.Add(this.exclamation38);
+ this.Controls.Add(this.endTextBox40);
+ this.Controls.Add(this.exclamation37);
+ this.Controls.Add(this.endTextBox39);
+ this.Controls.Add(this.endTextBox38);
+ this.Controls.Add(this.endTextBox37);
+ this.Controls.Add(this.exclamation36);
+ this.Controls.Add(this.endTextBox36);
+ this.Controls.Add(this.exclamation35);
+ this.Controls.Add(this.endTextBox35);
+ this.Controls.Add(this.exclamation34);
+ this.Controls.Add(this.endTextBox34);
+ this.Controls.Add(this.exclamation33);
+ this.Controls.Add(this.endTextBox33);
+ this.Controls.Add(this.exclamation32);
+ this.Controls.Add(this.endTextBox32);
+ this.Controls.Add(this.exclamation31);
+ this.Controls.Add(this.endTextBox31);
+ this.Controls.Add(this.exclamation30);
+ this.Controls.Add(this.exclamation29);
+ this.Controls.Add(this.exclamation28);
+ this.Controls.Add(this.endTextBox30);
+ this.Controls.Add(this.exclamation27);
+ this.Controls.Add(this.endTextBox29);
+ this.Controls.Add(this.exclamation26);
+ this.Controls.Add(this.endTextBox28);
+ this.Controls.Add(this.endTextBox27);
+ this.Controls.Add(this.endTextBox26);
+ this.Controls.Add(this.startTextBox48);
+ this.Controls.Add(this.startTextBox47);
+ this.Controls.Add(this.startTextBox46);
+ this.Controls.Add(this.startTextBox45);
+ this.Controls.Add(this.startTextBox44);
+ this.Controls.Add(this.startTextBox43);
+ this.Controls.Add(this.startTextBox42);
+ this.Controls.Add(this.startTextBox41);
+ this.Controls.Add(this.startTextBox40);
+ this.Controls.Add(this.startTextBox39);
+ this.Controls.Add(this.startTextBox38);
+ this.Controls.Add(this.startTextBox37);
+ this.Controls.Add(this.startTextBox36);
+ this.Controls.Add(this.startTextBox35);
+ this.Controls.Add(this.startTextBox34);
+ this.Controls.Add(this.startTextBox33);
+ this.Controls.Add(this.startTextBox32);
+ this.Controls.Add(this.startTextBox31);
+ this.Controls.Add(this.startTextBox30);
+ this.Controls.Add(this.startTextBox29);
+ this.Controls.Add(this.startTextBox28);
+ this.Controls.Add(this.startTextBox27);
+ this.Controls.Add(this.startTextBox26);
+ this.Controls.Add(this.label48);
+ this.Controls.Add(this.label47);
+ this.Controls.Add(this.label46);
+ this.Controls.Add(this.label45);
+ this.Controls.Add(this.label44);
+ this.Controls.Add(this.label43);
+ this.Controls.Add(this.label42);
+ this.Controls.Add(this.label41);
+ this.Controls.Add(this.label40);
+ this.Controls.Add(this.label39);
+ this.Controls.Add(this.label38);
+ this.Controls.Add(this.label37);
+ this.Controls.Add(this.label36);
+ this.Controls.Add(this.label35);
+ this.Controls.Add(this.label34);
+ this.Controls.Add(this.label33);
+ this.Controls.Add(this.label32);
+ this.Controls.Add(this.label31);
+ this.Controls.Add(this.label30);
+ this.Controls.Add(this.label29);
+ this.Controls.Add(this.label28);
+ this.Controls.Add(this.label27);
+ this.Controls.Add(this.label26);
+ this.Controls.Add(this.exclamation25);
+ this.Controls.Add(this.startTextBox25);
+ this.Controls.Add(this.endTextBox25);
+ this.Controls.Add(this.label25);
+ this.Controls.Add(this.exclamation24);
+ this.Controls.Add(this.startTextBox24);
+ this.Controls.Add(this.endTextBox24);
+ this.Controls.Add(this.label24);
+ this.Controls.Add(this.exclamation23);
+ this.Controls.Add(this.startTextBox23);
+ this.Controls.Add(this.endTextBox23);
+ this.Controls.Add(this.label23);
+ this.Controls.Add(this.exclamation22);
+ this.Controls.Add(this.startTextBox22);
+ this.Controls.Add(this.endTextBox22);
+ this.Controls.Add(this.label22);
+ this.Controls.Add(this.exclamation21);
+ this.Controls.Add(this.startTextBox21);
+ this.Controls.Add(this.endTextBox21);
+ this.Controls.Add(this.label21);
+ this.Controls.Add(this.exclamation20);
+ this.Controls.Add(this.startTextBox20);
+ this.Controls.Add(this.endTextBox20);
+ this.Controls.Add(this.label20);
+ this.Controls.Add(this.exclamation19);
+ this.Controls.Add(this.startTextBox19);
+ this.Controls.Add(this.endTextBox19);
+ this.Controls.Add(this.label19);
+ this.Controls.Add(this.exclamation18);
+ this.Controls.Add(this.exclamation17);
+ this.Controls.Add(this.startTextBox18);
+ this.Controls.Add(this.exclamation16);
+ this.Controls.Add(this.endTextBox18);
+ this.Controls.Add(this.label18);
+ this.Controls.Add(this.startTextBox17);
+ this.Controls.Add(this.exclamation15);
+ this.Controls.Add(this.endTextBox17);
+ this.Controls.Add(this.label17);
+ this.Controls.Add(this.startTextBox16);
+ this.Controls.Add(this.exclamation14);
+ this.Controls.Add(this.endTextBox16);
+ this.Controls.Add(this.label16);
+ this.Controls.Add(this.startTextBox15);
+ this.Controls.Add(this.exclamation13);
+ this.Controls.Add(this.endTextBox15);
+ this.Controls.Add(this.label15);
+ this.Controls.Add(this.startTextBox14);
+ this.Controls.Add(this.end2Label);
+ this.Controls.Add(this.endTextBox14);
+ this.Controls.Add(this.label14);
+ this.Controls.Add(this.startTextBox13);
+ this.Controls.Add(this.start2Label);
+ this.Controls.Add(this.endTextBox13);
+ this.Controls.Add(this.label13);
+ this.Controls.Add(this.exclamation12);
+ this.Controls.Add(this.startTextBox12);
+ this.Controls.Add(this.endTextBox12);
+ this.Controls.Add(this.label12);
+ this.Controls.Add(this.exclamation11);
+ this.Controls.Add(this.startTextBox11);
+ this.Controls.Add(this.endTextBox11);
+ this.Controls.Add(this.label11);
+ this.Controls.Add(this.exclamation10);
+ this.Controls.Add(this.startTextBox10);
+ this.Controls.Add(this.endTextBox10);
+ this.Controls.Add(this.label10);
+ this.Controls.Add(this.exclamation9);
+ this.Controls.Add(this.startTextBox9);
+ this.Controls.Add(this.endTextBox9);
+ this.Controls.Add(this.label9);
+ this.Controls.Add(this.exclamation8);
+ this.Controls.Add(this.startTextBox8);
+ this.Controls.Add(this.endTextBox8);
+ this.Controls.Add(this.label8);
+ this.Controls.Add(this.exclamation7);
+ this.Controls.Add(this.startTextBox7);
+ this.Controls.Add(this.endTextBox7);
+ this.Controls.Add(this.label7);
+ this.Controls.Add(this.exclamation6);
+ this.Controls.Add(this.exclamation5);
+ this.Controls.Add(this.startTextBox6);
+ this.Controls.Add(this.exclamation4);
+ this.Controls.Add(this.endTextBox6);
+ this.Controls.Add(this.label6);
+ this.Controls.Add(this.startTextBox5);
+ this.Controls.Add(this.exclamation3);
+ this.Controls.Add(this.endTextBox5);
+ this.Controls.Add(this.label5);
+ this.Controls.Add(this.startTextBox4);
+ this.Controls.Add(this.exclamation2);
+ this.Controls.Add(this.endTextBox4);
+ this.Controls.Add(this.label4);
+ this.Controls.Add(this.startTextBox3);
+ this.Controls.Add(this.exclamation1);
+ this.Controls.Add(this.endTextBox3);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.startTextBox2);
+ this.Controls.Add(this.endLabel);
+ this.Controls.Add(this.endTextBox2);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.startTextBox1);
+ this.Controls.Add(this.startLabel);
+ this.Controls.Add(this.endTextBox1);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.okButton);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
+ this.Name = "TestStartEndForm";
+ this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
+ this.Text = "End States";
+ this.TopMost = true;
+ this.Load += new System.EventHandler(this.CycleEndForm_Load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox endTextBox1;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Button okButton;
+ private System.Windows.Forms.TextBox endTextBox3;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.TextBox endTextBox4;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.TextBox endTextBox5;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.TextBox endTextBox6;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.TextBox startTextBox1;
+ private System.Windows.Forms.TextBox startTextBox3;
+ private System.Windows.Forms.TextBox startTextBox4;
+ private System.Windows.Forms.TextBox startTextBox5;
+ private System.Windows.Forms.TextBox startTextBox6;
+ private System.Windows.Forms.Label startLabel;
+ private System.Windows.Forms.Label endLabel;
+ private System.Windows.Forms.Label exclamation1;
+ private System.Windows.Forms.Label exclamation3;
+ private System.Windows.Forms.Label exclamation4;
+ private System.Windows.Forms.Label exclamation5;
+ private System.Windows.Forms.Label exclamation6;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox endTextBox2;
+ private System.Windows.Forms.TextBox startTextBox2;
+ private System.Windows.Forms.Label exclamation2;
+ private System.Windows.Forms.Label exclamation7;
+ private System.Windows.Forms.TextBox startTextBox7;
+ private System.Windows.Forms.TextBox endTextBox7;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.Label exclamation8;
+ private System.Windows.Forms.TextBox startTextBox8;
+ private System.Windows.Forms.TextBox endTextBox8;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.Label exclamation9;
+ private System.Windows.Forms.TextBox startTextBox9;
+ private System.Windows.Forms.TextBox endTextBox9;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.Label exclamation10;
+ private System.Windows.Forms.TextBox startTextBox10;
+ private System.Windows.Forms.TextBox endTextBox10;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.Label exclamation11;
+ private System.Windows.Forms.TextBox startTextBox11;
+ private System.Windows.Forms.TextBox endTextBox11;
+ private System.Windows.Forms.Label label11;
+ private System.Windows.Forms.Label exclamation12;
+ private System.Windows.Forms.TextBox startTextBox12;
+ private System.Windows.Forms.TextBox endTextBox12;
+ private System.Windows.Forms.Label label12;
+ private System.Windows.Forms.Label exclamation24;
+ private System.Windows.Forms.TextBox startTextBox24;
+ private System.Windows.Forms.TextBox endTextBox24;
+ private System.Windows.Forms.Label label24;
+ private System.Windows.Forms.Label exclamation23;
+ private System.Windows.Forms.TextBox startTextBox23;
+ private System.Windows.Forms.TextBox endTextBox23;
+ private System.Windows.Forms.Label label23;
+ private System.Windows.Forms.Label exclamation22;
+ private System.Windows.Forms.TextBox startTextBox22;
+ private System.Windows.Forms.TextBox endTextBox22;
+ private System.Windows.Forms.Label label22;
+ private System.Windows.Forms.Label exclamation21;
+ private System.Windows.Forms.TextBox startTextBox21;
+ private System.Windows.Forms.TextBox endTextBox21;
+ private System.Windows.Forms.Label label21;
+ private System.Windows.Forms.Label exclamation20;
+ private System.Windows.Forms.TextBox startTextBox20;
+ private System.Windows.Forms.TextBox endTextBox20;
+ private System.Windows.Forms.Label label20;
+ private System.Windows.Forms.Label exclamation19;
+ private System.Windows.Forms.TextBox startTextBox19;
+ private System.Windows.Forms.TextBox endTextBox19;
+ private System.Windows.Forms.Label label19;
+ private System.Windows.Forms.Label exclamation18;
+ private System.Windows.Forms.Label exclamation17;
+ private System.Windows.Forms.TextBox startTextBox18;
+ private System.Windows.Forms.Label exclamation16;
+ private System.Windows.Forms.TextBox endTextBox18;
+ private System.Windows.Forms.Label label18;
+ private System.Windows.Forms.TextBox startTextBox17;
+ private System.Windows.Forms.Label exclamation15;
+ private System.Windows.Forms.TextBox endTextBox17;
+ private System.Windows.Forms.Label label17;
+ private System.Windows.Forms.TextBox startTextBox16;
+ private System.Windows.Forms.Label exclamation14;
+ private System.Windows.Forms.TextBox endTextBox16;
+ private System.Windows.Forms.Label label16;
+ private System.Windows.Forms.TextBox startTextBox15;
+ private System.Windows.Forms.Label exclamation13;
+ private System.Windows.Forms.TextBox endTextBox15;
+ private System.Windows.Forms.Label label15;
+ private System.Windows.Forms.TextBox startTextBox14;
+ private System.Windows.Forms.Label end2Label;
+ private System.Windows.Forms.TextBox endTextBox14;
+ private System.Windows.Forms.Label label14;
+ private System.Windows.Forms.TextBox startTextBox13;
+ private System.Windows.Forms.Label start2Label;
+ private System.Windows.Forms.TextBox endTextBox13;
+ private System.Windows.Forms.Label label13;
+ private System.Windows.Forms.Label exclamation25;
+ private System.Windows.Forms.TextBox startTextBox25;
+ private System.Windows.Forms.TextBox endTextBox25;
+ private System.Windows.Forms.Label label25;
+ private System.Windows.Forms.Label label26;
+ private System.Windows.Forms.Label label27;
+ private System.Windows.Forms.Label label28;
+ private System.Windows.Forms.Label label29;
+ private System.Windows.Forms.Label label30;
+ private System.Windows.Forms.Label label31;
+ private System.Windows.Forms.Label label32;
+ private System.Windows.Forms.Label label33;
+ private System.Windows.Forms.Label label34;
+ private System.Windows.Forms.Label label35;
+ private System.Windows.Forms.Label label36;
+ private System.Windows.Forms.Label label37;
+ private System.Windows.Forms.Label label38;
+ private System.Windows.Forms.Label label39;
+ private System.Windows.Forms.Label label40;
+ private System.Windows.Forms.Label label41;
+ private System.Windows.Forms.Label label42;
+ private System.Windows.Forms.Label label43;
+ private System.Windows.Forms.Label label44;
+ private System.Windows.Forms.Label label45;
+ private System.Windows.Forms.Label label46;
+ private System.Windows.Forms.Label label47;
+ private System.Windows.Forms.Label label48;
+ private System.Windows.Forms.TextBox startTextBox48;
+ private System.Windows.Forms.TextBox startTextBox47;
+ private System.Windows.Forms.TextBox startTextBox46;
+ private System.Windows.Forms.TextBox startTextBox45;
+ private System.Windows.Forms.TextBox startTextBox44;
+ private System.Windows.Forms.TextBox startTextBox43;
+ private System.Windows.Forms.TextBox startTextBox42;
+ private System.Windows.Forms.TextBox startTextBox41;
+ private System.Windows.Forms.TextBox startTextBox40;
+ private System.Windows.Forms.TextBox startTextBox39;
+ private System.Windows.Forms.TextBox startTextBox38;
+ private System.Windows.Forms.TextBox startTextBox37;
+ private System.Windows.Forms.TextBox startTextBox36;
+ private System.Windows.Forms.TextBox startTextBox35;
+ private System.Windows.Forms.TextBox startTextBox34;
+ private System.Windows.Forms.TextBox startTextBox33;
+ private System.Windows.Forms.TextBox startTextBox32;
+ private System.Windows.Forms.TextBox startTextBox31;
+ private System.Windows.Forms.TextBox startTextBox30;
+ private System.Windows.Forms.TextBox startTextBox29;
+ private System.Windows.Forms.TextBox startTextBox28;
+ private System.Windows.Forms.TextBox startTextBox27;
+ private System.Windows.Forms.TextBox startTextBox26;
+ private System.Windows.Forms.Label exclamation48;
+ private System.Windows.Forms.TextBox endTextBox48;
+ private System.Windows.Forms.Label exclamation47;
+ private System.Windows.Forms.TextBox endTextBox47;
+ private System.Windows.Forms.Label exclamation46;
+ private System.Windows.Forms.TextBox endTextBox46;
+ private System.Windows.Forms.Label exclamation45;
+ private System.Windows.Forms.TextBox endTextBox45;
+ private System.Windows.Forms.Label exclamation44;
+ private System.Windows.Forms.TextBox endTextBox44;
+ private System.Windows.Forms.Label exclamation43;
+ private System.Windows.Forms.TextBox endTextBox43;
+ private System.Windows.Forms.Label exclamation42;
+ private System.Windows.Forms.Label exclamation41;
+ private System.Windows.Forms.Label exclamation40;
+ private System.Windows.Forms.TextBox endTextBox42;
+ private System.Windows.Forms.Label exclamation39;
+ private System.Windows.Forms.TextBox endTextBox41;
+ private System.Windows.Forms.Label exclamation38;
+ private System.Windows.Forms.TextBox endTextBox40;
+ private System.Windows.Forms.Label exclamation37;
+ private System.Windows.Forms.TextBox endTextBox39;
+ private System.Windows.Forms.TextBox endTextBox38;
+ private System.Windows.Forms.TextBox endTextBox37;
+ private System.Windows.Forms.Label exclamation36;
+ private System.Windows.Forms.TextBox endTextBox36;
+ private System.Windows.Forms.Label exclamation35;
+ private System.Windows.Forms.TextBox endTextBox35;
+ private System.Windows.Forms.Label exclamation34;
+ private System.Windows.Forms.TextBox endTextBox34;
+ private System.Windows.Forms.Label exclamation33;
+ private System.Windows.Forms.TextBox endTextBox33;
+ private System.Windows.Forms.Label exclamation32;
+ private System.Windows.Forms.TextBox endTextBox32;
+ private System.Windows.Forms.Label exclamation31;
+ private System.Windows.Forms.TextBox endTextBox31;
+ private System.Windows.Forms.Label exclamation30;
+ private System.Windows.Forms.Label exclamation29;
+ private System.Windows.Forms.Label exclamation28;
+ private System.Windows.Forms.TextBox endTextBox30;
+ private System.Windows.Forms.Label exclamation27;
+ private System.Windows.Forms.TextBox endTextBox29;
+ private System.Windows.Forms.Label exclamation26;
+ private System.Windows.Forms.TextBox endTextBox28;
+ private System.Windows.Forms.TextBox endTextBox27;
+ private System.Windows.Forms.TextBox endTextBox26;
+
+ }
+}
\ No newline at end of file
diff --git a/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.resx b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.resx
new file mode 100644
index 000000000..1af7de150
--- /dev/null
+++ b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/TBF/Rig/GenericDevices/IHasFromUNIDisablePossibility.cs b/TBF/Rig/GenericDevices/IHasFromUNIDisablePossibility.cs
new file mode 100644
index 000000000..1f47418c1
--- /dev/null
+++ b/TBF/Rig/GenericDevices/IHasFromUNIDisablePossibility.cs
@@ -0,0 +1,9 @@
+namespace TBF.Rig.GenericDevices
+{
+ public interface IHasFromUNIDisablePossibility
+ {
+ bool ShowForm { get; set; }
+
+ bool ReadAndSetDataToMeters();
+ }
+}
\ No newline at end of file
diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunner.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunner.cs
new file mode 100644
index 000000000..f0c5539d3
--- /dev/null
+++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunner.cs
@@ -0,0 +1,159 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Newtonsoft.Json;
+
+namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop
+{
+ public class CliRunner
+ {
+ private List taskPool = new List();
+ private long startTime;
+
+ public List TaskPool { get { return taskPool; } }
+ public void AddTask(Task task) { taskPool.Add(task); }
+ public void WaitAll() { Task.WaitAll(taskPool.ToArray()); }
+ public void Clear() { taskPool.Clear(); }
+ public void CancelAll() { Task.WhenAll(taskPool).ContinueWith(t => { }); }
+
+ public void StartAll()
+ {
+ taskPool.ForEach(t => t.Start());
+ }
+
+ public bool AreTasksDone()
+ {
+ return taskPool.All(task => task.IsCompleted);
+ }
+
+ public long StartTime
+ {
+ get => startTime;
+ }
+
+ public bool TimeOutReceived(long timeout)
+ {
+ return (DateTime.Now.Ticks - startTime) > timeout;
+ }
+
+ public CliRunner()
+ {
+ startTime = DateTime.Now.Ticks;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public void AddSendAsync(SerialPortData data, SerialPortData.EMeterArg eMeterArg)
+ {
+ var task = SendAsync(data.SerialPortCmdClientPath, data.DefaultArgSettings(eMeterArg));
+ taskPool.Add(task);
+ }
+
+ public void AddSendAsync(string fileName, string args)
+ {
+ var task = SendAsync(fileName, args);
+ taskPool.Add(task);
+ }
+
+
+ public async Task SendAsync(string fileName, string args)
+ {
+ var psi = new ProcessStartInfo
+ {
+ FileName = fileName,
+ Arguments = args,
+ RedirectStandardOutput = true,
+ RedirectStandardError = true,
+ UseShellExecute = false,
+ CreateNoWindow = true
+ };
+
+ var process = new Process { StartInfo = psi };
+ var sb = new StringBuilder();
+
+ process.OutputDataReceived += (sender, e) =>
+ {
+ if (e.Data != null)
+ sb.AppendLine(e.Data);
+ };
+
+ process.Start();
+ process.BeginOutputReadLine();
+
+ process.WaitForExit();
+
+ // Now all outputs are available
+ string allOutput = sb.ToString();
+
+
+ return allOutput;
+ }
+
+ public void AddRunAndCaptureJsonAsync(SerialPortData data, SerialPortData.EMeterArg eMeterArg)
+ {
+ var task = RunAndCaptureJsonAsync(data.SerialPortCmdClientPath, data.DefaultArgSettings(eMeterArg));
+ taskPool.Add(task);
+ }
+
+ public async Task RunAndCaptureJsonAsync(string fileName, string args)
+ {
+ var psi = new ProcessStartInfo
+ {
+ FileName = fileName,
+ Arguments = args,
+ RedirectStandardOutput = true,
+ RedirectStandardError = true,
+ UseShellExecute = false,
+ CreateNoWindow = true
+ };
+
+ var process = new Process { StartInfo = psi };
+ var sb = new StringBuilder();
+
+ process.OutputDataReceived += (sender, e) =>
+ {
+ if (e.Data != null)
+ sb.AppendLine(e.Data);
+ };
+
+ process.Start();
+ process.BeginOutputReadLine();
+
+ process.WaitForExit();
+
+ // Now sb contains all output text
+ string allOutput = sb.ToString();
+
+ // Extract JSON part
+ string json = ExtractJson(allOutput);
+
+ if (json != null)
+ {
+ return JsonConvert.DeserializeObject(json);
+ }
+
+ return default;
+ }
+
+ private string ExtractJson(string text)
+ {
+ int start = text.IndexOf('{');
+ int end = text.LastIndexOf('}');
+
+ if (start >= 0 && end > start)
+ {
+ return text.Substring(start, end - start + 1);
+ }
+
+ return null;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/Factory.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/Factory.cs
new file mode 100644
index 000000000..aefc51b83
--- /dev/null
+++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/Factory.cs
@@ -0,0 +1,26 @@
+///
+/// Copyright (c) 2013-2021 Sensus Slovensko a.s.
+///
+using System.Collections.Generic;
+using TBF.Rig.Generic;
+using TBF.Rig.RegisterReaders.StandingStartStop;
+
+namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop
+{
+ public class Factory : IComponentFactory
+ {
+ public string ClassName { get { return this.GetType().Namespace.Substring(8); } }
+ public override string ToString() { return ClassName; }
+
+ public IComponent DummyComponent() { return new PoseidonReader(); }
+
+ public IComponent GetComponent(IComponentCfg cfg, IList components) { return new PoseidonReader(cfg, components); }
+
+ public IComponentCfg DefaultConfig() { return new PoseidonCfg("PoseidonCmdStartStop", this); }
+
+ public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
+ {
+ return ComponentCfgBase.CreateFromDbEntity(PoseidonCfg.Serializer, component, this);
+ }
+ }
+}
diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/JsonDataFromPoseidon.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/JsonDataFromPoseidon.cs
new file mode 100644
index 000000000..71da1c0c1
--- /dev/null
+++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/JsonDataFromPoseidon.cs
@@ -0,0 +1,22 @@
+
+
+namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop
+{
+ public class JsonDataFromPoseidon
+ {
+ public bool? NfcTagDetected { get; set; }
+ public int? ProductType { get; set; }
+ public string ProductTypeVersion { get; set; }
+ public string DeviceId { get; set; }
+ public string Reading { get; set; }
+ public string Reading_Totalizer { get; set; }
+ public string Reading_Digits { get; set; }
+ public string Reading_Shift { get; set; }
+ public string Reading_Resolution { get; set; }
+ public string Reading_Units { get; set; }
+ public string Reading_FlowDirection { get; set; }
+ public string Reading_FlowRate { get; set; }
+ public string CalibrationFactor { get; set; }
+ public bool? ReadingComplete { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonCfg.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonCfg.cs
new file mode 100644
index 000000000..bbd66db12
--- /dev/null
+++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonCfg.cs
@@ -0,0 +1,156 @@
+///
+/// Copyright (c) 2013-2016 Sensus Metering Systems
+///
+using System;
+using System.Collections.Generic;
+using System.IO.Ports;
+using System.Xml.Serialization;
+using Common;
+using TBF.Rig.Generic;
+
+namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop
+{
+ /// PoseidonCSSCfg => Poseidon Cmd Start Stop Cfg
+ public class PoseidonCfg : ComponentCfgBase, IComponentCfg, IParamsProvider
+ {
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PoseidonCfg) })[0];
+ public override XmlSerializer GetSerializer() { return Serializer; }
+ public string ComponentName { get; }
+
+ ///
+ /// Serialized parameters
+ ///
+ public int ComPortNr;
+ public string CliFileName;
+ public int MeterType;
+
+
+ /// Procedure parameters
+ [XmlIgnore]
+ public PoseidonProcParams ProcParams;
+ public override IParamsProvider GetRuntimeProcParamsProvider() { return ProcParams; }
+ public override IParamsProvider CreateProcParamsProvider() { return new PoseidonProcParams(true); }
+
+
+
+ string[] paramNames = new string[]
+ {
+ "Serial port number", /// 0
+ "CLI program name", /// 1
+ "Meter Type", /// 2
+ };
+ public string ParamName(int i) { return paramNames[i]; }
+ public int ParamsCount() { return paramNames.Length; }
+
+ public ICollection ParamValues(int i)
+ {
+ switch (i)
+ {
+ case 0:
+ return new string[] { "3","4","5","6","7","8","9","10","11","12"};
+ case 1:
+ return new string[] { "HatCLI.exe"};
+ case 2:
+ return new string[] { "74" };
+
+ default:
+ return null;
+ }
+ }
+
+ public IComponentCfgCtrl GetControl(IList cmpntEntities) { return new Configs.ParamsProvider.ComponentCfgCtrl(this, null); }
+
+
+ public void InitializeAll()
+ {
+ ComPortNr = 3;
+ CliFileName = "HatCLI.exe";
+ MeterType = 74;
+ }
+
+ public bool ValidateParam(int i, string strValue, out string message)
+ {
+ message = string.Empty;
+ int idummy;
+
+ switch (i)
+ {
+ case 0:
+ if (int.TryParse(strValue, out idummy) && idummy > 0) return true;
+ break;
+ case 1:
+ if (ParamValues(i).Contains(strValue)) return true; //is in list
+ if(System.Text.RegularExpressions.Regex.IsMatch(strValue, @"^[a-zA-Z0-9_-]+\.exe$")) return true; //validate exe file name
+ break;
+ case 2:
+ if (int.TryParse(strValue, out idummy) && idummy > 0) return true;
+ break;
+ default:
+ message = "Invalid index";
+ return false;
+ }
+
+ message = ParamName(i) + " is invalid";
+ return false;
+ }
+
+ public CfgUpdateFlags UpdateParam(int i, string str)
+ {
+ switch (i)
+ {
+ case 0: ComPortNr = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
+ case 1: CliFileName = str; return CfgUpdateFlags.RestartRqrd;
+ case 2: MeterType = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
+ default: return CfgUpdateFlags.None;
+ }
+ }
+
+ public bool UpdateEmbeddedDbEntity()
+ {
+ return true; /// =OK, do nothing
+ }
+
+ public IParamsProvider Clone()
+ {
+ PoseidonCfg pars = new PoseidonCfg();
+ CopyContentTo(pars);
+ return pars;
+ }
+
+ /// Private parameterless constructor invoked by all other (public) constructors
+ PoseidonCfg()
+ {
+ ProcParams = CreateProcParamsProvider() as PoseidonProcParams;
+ }
+
+ public PoseidonCfg(string name, IComponentFactory factory)
+ : this()
+ {
+ Name = name;
+ Factory = factory;
+ ParentName = "";
+ InitializeAll();
+ }
+
+ public string ToString(int i)
+ {
+ switch (i)
+ {
+ case 0: return ComPortNr.ToString();
+ case 1: return CliFileName;
+ case 2: return MeterType.ToString();
+ default:
+ return string.Format("{0}: Com{1}, CliName =`{2}`, MeterType = {3}",
+ Name, ComPortNr, CliFileName, MeterType);
+ }
+ }
+
+ void CopyContentTo(PoseidonCfg prms)
+ {
+ prms.ComPortNr = this.ComPortNr;
+ prms.CliFileName = this.CliFileName;
+ prms.MeterType = this.MeterType;
+ prms.ProcParams = this.ProcParams;
+ }
+ }
+}
diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonProcParams.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonProcParams.cs
new file mode 100644
index 000000000..697c30c77
--- /dev/null
+++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonProcParams.cs
@@ -0,0 +1,288 @@
+using System.IO;
+using System.Xml.Serialization;
+using Common;
+using Config.Entities;
+using TBF.Resources;
+using TBF.Rig.Generic;
+using TBF.Rig.RegisterReaders.SerialStream;
+
+namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop
+{
+ public class PoseidonProcParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
+ {
+ public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PoseidonProcParams) })[0];
+ public override XmlSerializer GetSerializer() { return Serializer; }
+
+ public StreamType StreamType; /// Enumerated stream type
+ public int FrameLength; /// Frame length in characters/bytes, 0 = unknown
+ public double FrameFrequency; /// Number of frames per second, 0 = unknown
+
+ public Common.Unit VolumeUnits;
+ public double VolumeScaleFactor; /// Volume =
+ public int VolumeFieldStart; /// Start of the volume field: 0-based index of the first character, -1 = no volume field in the frame
+ public int VolumeFieldEnd; /// End of the volume field: 0-based index of the last character
+ public FieldFormat VolumeFieldFormat; /// Hexadecimal or Decimal
+
+ public Common.Unit TimeUnits;
+ public double TimeScaleFactor; /// Time =
+ public int TimeFieldStart; /// Start of the time field: 0-based index of the first character, -1 = no time field in the frame
+ public int TimeFieldEnd; /// End of the time field: 0-based index of the last character
+ public FieldFormat TimeFieldFormat; /// Hexadecimal or Decimal
+
+ public override void InitializeAll()
+ {
+ /// Values are for iPerl DN15 in data stream mode at 8 Hz
+ StreamType = StreamType.Flexible;
+ FrameLength = 42;
+ FrameFrequency = 8;
+
+ VolumeUnits = Common.Unit.l;
+ VolumeScaleFactor = 16000;
+ VolumeFieldStart = 17;
+ VolumeFieldEnd = 22;
+ VolumeFieldFormat = FieldFormat.HexadecimalWindow;
+
+ TimeUnits = Common.Unit.s;
+ TimeScaleFactor = 8192;
+ TimeFieldStart = 29;
+ TimeFieldEnd = 36;
+ TimeFieldFormat = FieldFormat.HexadecimalWindow;
+ }
+
+ string[] paramNames = new string[]
+ {
+ "Stream type",
+ "Frame Length",
+ "Frame Frequency",
+
+ "Volume Units",
+ "Volume Scale Factor",
+ "Volume Field Start",
+ "Volume Field End",
+ "Volume Field Format",
+
+ "Time Units",
+ "Time Scale Factor",
+ "Time Field Start",
+ "Time Field End",
+ "Time Field Format",
+ };
+ public override string ParamName(int i) { return paramNames[i]; }
+ public override int ParamsCount() { return paramNames.Length; }
+
+ public override string ToString(int i)
+ {
+ switch (i)
+ {
+ case 0: return StreamType.ToString();
+ case 1: return FrameLength.ToString();
+ case 2: return FrameFrequency.ToString();
+
+ case 3: return VolumeUnits.ToDescription();
+ case 4: return VolumeScaleFactor.ToString();
+ case 5: return VolumeFieldStart.ToString();
+ case 6: return VolumeFieldEnd.ToString();
+ case 7: return VolumeFieldFormat.ToString();
+
+ case 8: return TimeUnits.ToDescription();
+ case 9: return TimeScaleFactor.ToString();
+ case 10: return TimeFieldStart.ToString();
+ case 11: return TimeFieldEnd.ToString();
+ case 12: return TimeFieldFormat.ToString();
+
+ default: return string.Empty;
+ }
+ }
+
+ /// Retrieves parameters from UI controls
+ public CfgUpdateFlags UpdateParam(int i, string strValue)
+ {
+ switch (i)
+ {
+ case 0:
+ for (StreamType st = 0; st < StreamType.Count; st++)
+ {
+ if (st.ToString().Equals(strValue)) { StreamType = st; return CfgUpdateFlags.None; }
+ }
+ break;
+ case 1: FrameLength = int.Parse(strValue); return CfgUpdateFlags.None;
+ case 2: FrameFrequency = Utils.ParseUDouble(strValue); return CfgUpdateFlags.None;
+
+ case 3:
+ for (Unit u = 0; u < Unit.Count; u++)
+ {
+ if (Units.IsQuantity(u, Quantity.Volume) && u.ToDescription().Equals(strValue))
+ {
+ VolumeUnits = u;
+ return CfgUpdateFlags.None;
+ }
+ }
+ break;
+ case 4: VolumeScaleFactor = Utils.ParseSDouble(strValue); return CfgUpdateFlags.None;
+ case 5: VolumeFieldStart = int.Parse(strValue); return CfgUpdateFlags.None;
+ case 6: VolumeFieldEnd = int.Parse(strValue); return CfgUpdateFlags.None;
+ case 7:
+ for (FieldFormat ff = 0; ff < FieldFormat.Count; ff++)
+ {
+ if (ff.ToString().Equals(strValue)) { VolumeFieldFormat = ff; return CfgUpdateFlags.None; }
+ }
+ break;
+
+ case 8:
+ for (Unit u = 0; u < Unit.Count; u++)
+ {
+ if (Units.IsQuantity(u, Quantity.Time) && u.ToDescription().Equals(strValue))
+ {
+ TimeUnits = u;
+ return CfgUpdateFlags.None;
+ }
+ }
+ break;
+ case 9: TimeScaleFactor = Utils.ParseSDouble(strValue); return CfgUpdateFlags.None;
+ case 10: TimeFieldStart = int.Parse(strValue); return CfgUpdateFlags.None;
+ case 11: TimeFieldEnd = int.Parse(strValue); return CfgUpdateFlags.None;
+ case 12:
+ for (FieldFormat ff = 0; ff < FieldFormat.Count; ff++)
+ {
+ if (ff.ToString().Equals(strValue)) { TimeFieldFormat = ff; return CfgUpdateFlags.None; }
+ }
+ break;
+
+ default: return CfgUpdateFlags.None;
+ }
+
+ return CfgUpdateFlags.None;
+ }
+
+ /// Verifies whether strings in UI controls represent valid parameters
+ public bool ValidateParam(int i, string strValue, out string message)
+ {
+ message = string.Empty;
+
+ int iDummy;
+ double fDummy;
+
+ switch (i)
+ {
+ case 0:
+ for (StreamType st = 0; st < StreamType.Count; st++)
+ {
+ if (st.ToString().Equals(strValue)) return true;
+ }
+ break;
+ case 1:
+ if (int.TryParse(strValue, out iDummy) && iDummy >= 0 && iDummy <= 8000) return true;
+ break;
+ case 2:
+ if (Utils.TryParseUDouble(strValue, out fDummy) && fDummy <= 1000.0f) return true;
+ break;
+
+ case 3:
+ for (Unit u = 0; u < Unit.Count; u++)
+ {
+ if (Units.IsQuantity(u, Quantity.Volume) && u.ToDescription().Equals(strValue))
+ {
+ return true;
+ }
+ }
+ break;
+ case 4: return Utils.TryParseSDouble(strValue, out fDummy);
+ case 5: return (int.TryParse(strValue, out iDummy) && (iDummy >= -1));
+ case 6: return (int.TryParse(strValue, out iDummy) && (iDummy >= 0));
+ case 7:
+ for (FieldFormat ff = 0; ff < FieldFormat.Count; ff++)
+ {
+ if (ff.ToString().Equals(strValue)) return true;
+ }
+ break;
+
+ case 8:
+ for (Unit u = 0; u < Unit.Count; u++)
+ {
+ if (Units.IsQuantity(u, Quantity.Time) && u.ToDescription().Equals(strValue))
+ {
+ return true;
+ }
+ }
+ break;
+ case 9: return Utils.TryParseSDouble(strValue, out fDummy);
+ case 10: return (int.TryParse(strValue, out iDummy) && (iDummy >= -1));
+ case 11: return (int.TryParse(strValue, out iDummy) && (iDummy >= 0));
+ case 12:
+ for (FieldFormat ff = 0; ff < FieldFormat.Count; ff++)
+ {
+ if (ff.ToString().Equals(strValue)) return true;
+ }
+ break;
+
+ default:
+ message = "Invalid index";
+ return false;
+ }
+
+ message = ParamName(i) + " is invalid";
+ return false;
+ }
+
+ void CopyContentTo(PoseidonProcParams prms)
+ {
+ prms.StreamType = this.StreamType;
+ prms.FrameLength = this.FrameLength;
+ prms.FrameFrequency = this.FrameFrequency;
+
+ prms.VolumeUnits = this.VolumeUnits;
+ prms.VolumeScaleFactor = this.VolumeScaleFactor;
+ prms.VolumeFieldStart = this.VolumeFieldStart;
+ prms.VolumeFieldEnd = this.VolumeFieldEnd;
+ prms.VolumeFieldFormat = this.VolumeFieldFormat;
+
+ prms.TimeUnits = this.TimeUnits;
+ prms.TimeScaleFactor = this.TimeScaleFactor;
+ prms.TimeFieldStart = this.TimeFieldStart;
+ prms.TimeFieldEnd = this.TimeFieldEnd;
+ prms.TimeFieldFormat = this.TimeFieldFormat;
+ }
+
+ public IParamsProvider Clone()
+ {
+ PoseidonProcParams pars = new PoseidonProcParams();
+ CopyContentTo(pars);
+ return pars;
+ }
+
+ public override void UpdateFromDbEntity(ComponentProcedure dbEntity)
+ {
+ if (dbEntity == null) return;
+ try
+ {
+ PoseidonProcParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as PoseidonProcParams;
+
+ procedureParamsEntity = dbEntity;
+ componentName = dbEntity.CmpntName;
+ procedure = dbEntity.Procedure;
+
+ if (tmp != null) tmp.CopyContentTo(this);
+ }
+ catch
+ {
+ }
+ }
+
+
+ public PoseidonProcParams()
+ {
+ }
+
+ public PoseidonProcParams(bool initialize)
+ {
+ if (initialize) InitializeAll();
+ }
+
+ public PoseidonProcParams(ComponentProcedure procedureParamsEntity, string componentName, Procedure procedure)
+ {
+ this.procedureParamsEntity = procedureParamsEntity;
+ this.componentName = componentName;
+ this.procedure = procedure;
+ }
+ }
+}
\ No newline at end of file
diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonReader.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonReader.cs
new file mode 100644
index 000000000..6c3cdfe79
--- /dev/null
+++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonReader.cs
@@ -0,0 +1,451 @@
+///
+/// Copyright (c) 2013-2020 Sensus Slovensko a.s.
+///
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.IO.Ports;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using log4net;
+using Common;
+using NHibernate.Util;
+using SharedDatabase.Entities;
+using TBF.Boxes;
+using TBF.Rig.Generic;
+using TBF.Rig.GenericDevices;
+using TBF.Rig.RegisterReaders.SerialStream;
+using TBF.Rig.RegisterReaders.StandingStartStop;
+
+namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop
+{
+ public class PoseidonReader : ComponentBase, IDevice, IRegReaderDatastream, ISessionDataMngmnt, IOperation
+ {
+ private static readonly ILog log = LogManager.GetLogger(typeof(PoseidonReader));
+ public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
+
+ readonly PoseidonCfg registerReaderCfg;
+ readonly ControlBoard.IControlBoard controlBoard;
+
+
+ private bool activeHandlerSessioEnabled = false;
+ private CliRunner _cliRunner;
+
+ public enum CurrentPoseidonOp
+ {
+ None,
+ SendStartDataStream,
+ SendStartDataStream_Runing,
+ SendStartDataStream_Done,
+ ReadDataStream_Start,
+ ReadDataStream_End,
+ ReadDatastream_Running,
+ ReadDatastream_Done,
+ Done,
+ Error,
+ }
+
+ CurrentPoseidonOp _currentOp;
+ private bool _isReadingStart = true;
+
+ public CurrentPoseidonOp CurrentOp
+ {
+ get { return _currentOp; }
+ }
+
+ public void SetCurrentOp(CurrentPoseidonOp operation = CurrentPoseidonOp.None)
+ {
+ _currentOp = operation ;
+ }
+
+ public int Position
+ {
+ get
+ {
+ int firstDigitPos = Name.IndexOfAny(new char[] { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' });
+ int position;
+ return (firstDigitPos < 0) ? 0 : (int.TryParse(Name.Substring(firstDigitPos), out position) ? position : 0);
+ }
+ }
+ public RegisterReaderType RegisterReaderType { get { return RegisterReaderType.DataStream; } }
+ public double PulsesPerLtr { get { return 1000.0; } }
+ public double LtrsPerPulse { get { return 1 / PulsesPerLtr; } }
+
+ ///
+ /// Wrappers for procedure parameters
+ ///
+ public StreamType StreamType { get { return (registerReaderCfg.ProcParams != null) ?registerReaderCfg.ProcParams.StreamType : StreamType.None; } }
+ public int FrameLength { get { return (registerReaderCfg.ProcParams != null) ?registerReaderCfg.ProcParams.FrameLength : 0; } }
+ public double FrameFrequency { get { return (registerReaderCfg.ProcParams != null) ?registerReaderCfg.ProcParams.FrameFrequency : 0; } }
+
+ public Common.Unit VolumeUnits { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.VolumeUnits : Common.Unit.l; } }
+ public double VolumeScaleFactor { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.VolumeScaleFactor : 1; } }
+ public int VolumeFieldStart { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.VolumeFieldStart : 0; } }
+ public int VolumeFieldEnd { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.VolumeFieldEnd : 0; } }
+ public FieldFormat VolumeFieldFormat { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.VolumeFieldFormat : FieldFormat.None; } }
+
+ public Common.Unit TimeUnits { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.TimeUnits : Common.Unit.s; } }
+ public double TimeScaleFactor { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.TimeScaleFactor : 1; } }
+ public int TimeFieldStart { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.TimeFieldStart : 0; } }
+ public int TimeFieldEnd { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.TimeFieldEnd : 0; } }
+ public FieldFormat TimeFieldFormat { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.TimeFieldFormat : FieldFormat.None; } }
+
+
+ public bool CommFailed
+ {
+ get { return commFailed; }
+ set { commFailed = value; }
+ }
+ bool commFailed;
+
+
+ ///
+ /// Passed to OptoTelegramRaw.UpdateFromString(...)
+ ///
+ Int64 volumeRawExtLast;
+ Int64 timestampExtLast;
+
+
+ ///
+ /// Required for IRegisterReader interface
+ ///
+ public int WMPulses { get { return wmPulses; } }
+ public int WMRefPulses { get { return wmRefPulses; } }
+ public double WMVolume { get { return wmVolume; } }
+ public double BeginWMState { get { return beginWMState; } }
+ public double EndWMState { get { return endWMState; } }
+ public double WMTestTime { get { return wmTestTime; } }
+
+
+ double beginWMState;
+ double endWMState;
+ double wmVolume;
+ int wmPulses;
+ int wmRefPulses;
+ double wmTestTime;
+
+
+ public IOperation ReadDatastreamOp()
+ {
+ return this;
+ }
+
+ ///
+ /// Store/update values to be used as a part of the opto-data log file name.
+ /// Stop data stream processing and saving, if it is enabled.
+ ///
+ /// Currently executed test
+ /// Currently executed repetition number
+ public void TestIsGoingToStartSoon(Config.Entities.Test test, int repetitionNr)
+ {
+ /// Store/update values to be used as a part of the opto-data log file name
+ testName = test.Name;
+ testRepeats = test.Repeats;
+ this.repetitionNr = repetitionNr;
+ }
+ ///
+ string testName;
+ int testRepeats;
+ int repetitionNr;
+
+
+ ///
+ /// Volume of water from the opto telegram
+ ///
+ private Int64 lastVolumeRaw; /// Last read raw volume
+ private double volumeLtr; ///
+ private double volumeLtr0;
+
+ public double VolumeLtrStart { get { return volumeLtrStart; } } /// Test start volume for metrology
+ public double VolumeLtrEnd { get { return volumeLtrEnd; } } /// Test end volume for metrology
+ double volumeLtrStart; /// Test start volume for metrology
+ double volumeLtrEnd; /// Test end volume for metrology
+ double volumeLtrEnd1; /// auxiliary buffer1 to keep the end volume before test stops
+ double volumeLtrEnd2; /// auxiliary buffer2 to keep the end volume before test stops
+ double volumeLtrEnd3; /// auxiliary buffer3 to keep the end volume before test stops
+
+ ///
+ /// Timestamp from the opto telegram
+ ///
+ bool lastTimestampValid;
+ private Int64 lastTimestamp;
+ private double timestampSec;
+ private double timestampSec0;
+
+ public bool NoSamples { get { return (timestampSecEnd - timestampSecStart) < float.Epsilon; } }
+ public double TimestampSecStart { get { return timestampSecStart; } }
+ public double TimestampSecEnd { get { return timestampSecEnd; } }
+ double timestampSecStart;
+ double timestampSecEnd;
+ double timestampSecEnd1;
+ double timestampSecEnd2;
+ double timestampSecEnd3;
+
+ private int frameIx;
+ public int TestStartFrameIx;
+ public int TestEndFrameIx;
+
+
+ DatastreamFrame[] datastreamFrames;
+ const int MaxDatastreamFramesCount = 80000; /// almost 3h at 8 Hz
+ int datastreamFramesCount;
+ string datastreamLogFileName;
+
+
+ DatastreamFrame toBeFlushed;
+ int flushedFramesCount;
+ public int FlushedFramesCount
+ {
+ get { return flushedFramesCount; }
+ set { flushedFramesCount = lastFlushedFramesCount = lastFlushedFramesCount_1 = value; }
+ }
+
+ int lastFlushedFramesCount_1;
+ int lastFlushedFramesCount;
+ public int FlushedFramesDelta
+ {
+ get
+ {
+ int retval = Math.Max(flushedFramesCount - lastFlushedFramesCount, lastFlushedFramesCount - lastFlushedFramesCount_1);
+ lastFlushedFramesCount_1 = lastFlushedFramesCount;
+ lastFlushedFramesCount = flushedFramesCount;
+ return retval;
+ }
+ }
+
+
+
+ ///
+ /// Opto serial port and worker thread related private variables
+ ///
+ private SerialPortData serialPort; /// Used in DebugMode.Normal
+ private TextReader textReader; /// Used instead of serialPort in DebugMode.Simulate
+
+
+ public PoseidonReader() { }
+
+ public PoseidonReader(Generic.IComponentCfg cfg, IList components)
+ : base(cfg)
+ {
+ registerReaderCfg = cfg as PoseidonCfg;
+
+ /// Control board is used to read reference flowmeter pulses
+ // controlBoard = TbfComponents.FindComponent(cfg.ParentName, components) as ControlBoard.IControlBoard;
+ // if (controlBoard == null) throw new Exception("Cannot find " + Name + " parent");
+ //
+ // log.Warn(this.ToString());
+ }
+
+ public override void Initialize()
+ {
+ Clear();
+ //log.WarnFormat("Initialize() ... FrameFormat set to {0}");
+
+ /// Allocate memory for opto-data from iPerl
+ datastreamFrames = new DatastreamFrame[MaxDatastreamFramesCount];
+ for (int i = 0; i < MaxDatastreamFramesCount; i++) datastreamFrames[i] = new DatastreamFrame();
+
+ toBeFlushed = new DatastreamFrame();
+ flushedFramesCount = 0;
+ activeHandlerSessioEnabled = false;
+
+ if (DebugLevel == DebugMode.Normal)
+ {
+ /// Prepare serial port
+ serialPort = new SerialPortData(string.Format("COM{0}", registerReaderCfg.ComPortNr),
+ registerReaderCfg.CliFileName,
+ registerReaderCfg.MeterType);
+
+
+ //TODO BUMI prepare serial port - for us do nothing
+ //serialPort.Open();
+ //we can check file program if exists
+ if (!File.Exists(serialPort.SerialPortCmdClientPath))
+ {
+ log.FatalFormat("Serial port CLI {0} does not exist!", serialPort.SerialPortCmdClientPath);
+ return;
+ }
+ log.FatalFormat("{0} initialized: {1}", Name, this);
+ }
+ else if (DebugLevel == DebugMode.Simulate)
+ {
+ }
+ else
+ {
+ serialPort = null;
+ log.FatalFormat("{0} in other mode: {1}", Name, this);
+ }
+ }
+
+ public void Clear()
+ {
+ log.DebugFormat("{0}:Clear()", Name);
+ beginWMState = 0;
+ endWMState = 0;
+ wmRefPulses = 0;
+ }
+
+
+
+ private void ReadPulses()
+ {
+ wmRefPulses = controlBoard.RefPulses;
+ }
+
+
+ /// Start this operation
+ public void Start()
+ {
+ //TODO BUMI start CLI serial port
+ _cliRunner = new CliRunner();
+ }
+
+ /// Run this operation
+ /// eventDone
+ public Event Run()
+ {
+ if (_currentOp == CurrentPoseidonOp.SendStartDataStream)
+ {
+ _cliRunner.AddSendAsync(serialPort, SerialPortData.EMeterArg.AllParams);
+ return Event.Busy;
+ }
+ else if (_currentOp == CurrentPoseidonOp.SendStartDataStream_Runing)
+ {
+ if (_cliRunner.AreTasksDone()
+ || _cliRunner.TimeOutReceived(5000))
+ {
+ _currentOp = CurrentPoseidonOp.SendStartDataStream_Done;
+ }
+ return Event.Busy;
+ }
+ else if (_currentOp == CurrentPoseidonOp.SendStartDataStream_Done)
+ {
+ _currentOp = CurrentPoseidonOp.Done;
+ return Event.Done;
+ }
+ else if (_currentOp == CurrentPoseidonOp.ReadDataStream_Start
+ || _currentOp == CurrentPoseidonOp.ReadDataStream_End)
+ {
+ _isReadingStart = (_currentOp == CurrentPoseidonOp.ReadDataStream_Start);
+ _cliRunner.AddRunAndCaptureJsonAsync(serialPort, SerialPortData.EMeterArg.AllParams);
+ _currentOp = CurrentPoseidonOp.ReadDatastream_Running;
+ return Event.Busy;
+ }else if (_currentOp == CurrentPoseidonOp.ReadDatastream_Running)
+ {
+ if (_cliRunner.AreTasksDone()
+ || _cliRunner.TimeOutReceived(5000))
+ {
+ _currentOp = CurrentPoseidonOp.ReadDatastream_Done;
+ }
+ return Event.Busy;
+ }
+ else if (_currentOp == CurrentPoseidonOp.ReadDatastream_Done)
+ {
+ JsonDataFromPoseidon data = null;
+ var first = _cliRunner.TaskPool.FindLast(t => t is Task);
+ if (first != null && first is Task)
+ {
+ data = (first as Task).Result;
+
+ if (Double.TryParse(data.Reading, out double Volume))
+ {
+ double VolumeLi = Units.ConvertFrom(Unit.USgal, Volume);
+ double VolumeM3 = Units.ConvertTo(Unit.m3, VolumeLi);
+ if (_isReadingStart)
+ {
+ //volume
+ beginWMState = VolumeM3;
+ }
+ else
+ {
+ //volume
+ endWMState = VolumeM3;
+ }
+ }
+
+ }
+ _currentOp = CurrentPoseidonOp.Done;
+ return Event.Done;
+ }
+
+
+ return Event.None;
+ }
+
+ /// Stop this operation
+ public void Stop()
+ {
+ //TODO BUMI stop CLI serial port
+ }
+
+ public void RunDeviceBefore()
+ {
+ //Start CLI communication and set CLI inputs and get CLI data
+ //ValidateCliFileExistence(true);
+
+ }
+
+ private void ValidateCliFileExistence(bool showErrorIfMissing)
+ {
+ if (DebugLevel == DebugMode.Normal && serialPort != null)
+ {
+ if (!serialPort.CliExists)
+ {
+ log.ErrorFormat("CLI file {0} does not exist!", serialPort.SerialPortCmdClientPath);
+ if (showErrorIfMissing)
+ MessageBox.Show($"CLI file {serialPort.SerialPortCmdClientPath} does not exist!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ log.DebugFormat("CLI file {0} found", serialPort.SerialPortCmdClientPath);
+ }
+ }
+
+ public void RunDeviceAfter()
+ {
+
+ }
+
+ public void StopDevice()
+ {
+ try
+ {
+ if (DebugLevel == DebugMode.Normal && serialPort != null)
+ {
+
+ }
+ }
+ catch
+ {
+ }
+ }
+
+ public void StopDevice2()
+ {
+ }
+
+ public void StartSession()
+ {
+
+ ValidateCliFileExistence(false);
+
+ //TODO BUMI start session - CMD send data to Poseidon
+ _cliRunner = new CliRunner();
+ _cliRunner.AddSendAsync(serialPort, SerialPortData.EMeterArg.DeviceId);
+ //_cliRunner.StartAll();
+ }
+
+ public void SaveMark(object mark)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void EndSession()
+ {
+ if (_cliRunner != null)
+ {
+
+ }
+ activeHandlerSessioEnabled = false;
+ }
+ }
+}
diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/SerialPortData.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/SerialPortData.cs
new file mode 100644
index 000000000..32201d172
--- /dev/null
+++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/SerialPortData.cs
@@ -0,0 +1,55 @@
+using System;
+using System.IO;
+
+namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop
+{
+ public class SerialPortData
+ {
+ private Boolean? _cliExists;
+ public bool CliExists { get {
+ if (_cliExists == null || !_cliExists.HasValue)
+ {
+ _cliExists = File.Exists(SerialPortCmdClientPath);
+ }
+ return _cliExists.Value;
+ } }
+ public string SerialPortCmdClientPath {
+ get { return Path.Combine("..","Cli", CmdClientName);}
+ }
+ public string CmdClientName { get; set; } = "HalCli.exe";
+ public string PortName { get; set; }
+ public int MeterType { get; set; }
+
+ public enum EMeterArg {
+ Calibration = 0,
+ AllParams = 2,
+ DeviceId = 3,
+ }
+ EMeterArg _eMeterArg = EMeterArg.AllParams;
+
+ public string DefaultArgSettings(EMeterArg eMeterArg)
+ {
+ switch (eMeterArg)
+ {
+ case EMeterArg.Calibration:
+ return $"-p {PortName} -m {MeterType} --operation write --parameter Calibration --value 1";
+ case EMeterArg.AllParams:
+ return $"-p {PortName} -m {MeterType} --operation readall";
+ case EMeterArg.DeviceId:
+ return $"-p {PortName} -m {MeterType} --operation read --parameter DeviceId";
+ default:
+ return "";
+ }
+ }
+
+ public SerialPortData(
+ string portName,
+ string cmdClientName,
+ int meterType)
+ {
+ PortName = portName;
+ CmdClientName = cmdClientName;
+ MeterType = meterType;
+ }
+ }
+}
\ No newline at end of file
diff --git a/TBF/Rig/TbfComponents.cs b/TBF/Rig/TbfComponents.cs
index 4ef66b2d9..46d5c0cd6 100644
--- a/TBF/Rig/TbfComponents.cs
+++ b/TBF/Rig/TbfComponents.cs
@@ -32,6 +32,7 @@ namespace TBF.Rig
new DataEntry.HeatMeters6.Factory(),
new DataEntry.HeatMeters12.Factory(),
new DataEntry.iPerl.Factory(),
+ new DataEntry.PoseidonCmd.Factory(),
new DataEntry.S620.Factory(),
new DataEntry.Single.Factory(),
new DataEntry.Single.FactoryNoStartEnd(),
@@ -129,6 +130,7 @@ namespace TBF.Rig
new TestMethods.iPerlCommunication.iPerlHead.Factory(), /// 'RegisterReader for iPerl'
new RegisterReaders.S640Stream.Factory(), /// 'RegisterReader for S640'
new RegisterReaders.SerialStream.Factory(), /// 'RegisterReader for generic serial stream'
+ new RegisterReaders.PoseidonCmdStartStop.Factory(), /// 'RegisterReader for poseidon start/stop'
new RegisterReaders.KPackE.RegisterReader.Factory(), /// KPackE register reader
new RegisterReaders.KPackE.Radio.Factory(), /// Radio for KPackE register readers
new Uni.RegValve.Factory(),
diff --git a/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs b/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs
index 51535e1ee..da49417ce 100644
--- a/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs
+++ b/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs
@@ -615,7 +615,9 @@ namespace TBF.Rig.TestMethods.StandingStart
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Test));
}
- while (cBrd.RefPulses < initialPulsesCount + totalPulses && !e.Contains(Event.TestCompleted) && !e.Contains(Event.Next));
+ while ((cBrd.DebugLevel==DebugMode.Simulate && !e.Contains(Event.FlowReached)) ||
+ (cBrd.DebugLevel!=DebugMode.Simulate && cBrd.RefPulses < initialPulsesCount + totalPulses && !e.Contains(Event.TestCompleted) && !e.Contains(Event.Next)));
+
/// Measurement loop end
log.WarnFormat("Start valve switch time on test start = {0} ms", cBrd.ValveOpenCloseTime);
diff --git a/TBF/TBF.csproj b/TBF/TBF.csproj
index 42eb13944..9e6892b13 100644
--- a/TBF/TBF.csproj
+++ b/TBF/TBF.csproj
@@ -339,6 +339,21 @@
TestStartEndForm.cs
+
+ Form
+
+
+ CycleBeginningForm.cs
+
+
+
+
+
+ Form
+
+
+ TestStartEndForm.cs
+
@@ -626,6 +641,7 @@
+
@@ -1176,6 +1192,13 @@
RRCfgCtrl.cs
+
+
+
+
+
+
+
@@ -2717,6 +2740,12 @@
TestStartEndForm.cs
+
+ CycleBeginningForm.cs
+
+
+ TestStartEndForm.cs
+
Barcode.cs