diff --git a/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs b/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs index 40c62277a..f48492616 100644 --- a/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs +++ b/TestBenchFramework/BenchControl/DB/SensusOracle/Database.cs @@ -297,9 +297,9 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Format("PrüfbereichMax-2=0")); /// 0 logger.WriteLine(string.Format("QBezeichnung-2=")); /// - logger.WriteLine(string.Format("Durchfluss-1={0}", (1000 * adj.Qto()).ToString("F1", Program.AltCulture))); + logger.WriteLine(string.Format("Durchfluss-1={0}", Units.ConvertTo(Unit.lph, adj.Qto()).ToString("F1", Program.AltCulture))); logger.WriteLine(string.Format("Prüfzeit-1={0}", adj.TargetTime().ToString("F0"))); - logger.WriteLine(string.Format("Prüfbereich100_110-1=0")); + logger.WriteLine(string.Format("Prüfbereich100_110-1={0}", 0)); logger.WriteLine(string.Format("PrüfbereichMin-1={0}", 90)); logger.WriteLine(string.Format("PrüfbereichMax-1={0}", 100)); logger.WriteLine(string.Format("QBezeichnung-1=Just")); @@ -311,7 +311,7 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Format("PrüfbereichMax-0=0")); logger.WriteLine(string.Format("QBezeichnung-0=")); - logger.WriteLine(string.Format("Durchfluss1={0}", (1000 * q1.Qfrom()).ToString("F1", Program.AltCulture))); + logger.WriteLine(string.Format("Durchfluss1={0}", Units.ConvertTo(Unit.lph, q1.Qfrom()).ToString("F1", Program.AltCulture))); logger.WriteLine(string.Format("Prüfzeit1={0}", q1.TargetTime().ToString("F0"))); logger.WriteLine(string.Format("Prüfbereich100_1101={0}", 1)); logger.WriteLine(string.Format("PrüfbereichMin1={0}", 100)); @@ -322,7 +322,7 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Format("PosFehlergrenzeWarm1=0,0")); logger.WriteLine(string.Format("NegFehlergrenzeWarm1=0,0")); - logger.WriteLine(string.Format("Durchfluss2={0}", (1000 * q2.Qfrom()).ToString("F1", Program.AltCulture))); + logger.WriteLine(string.Format("Durchfluss2={0}", Units.ConvertTo(Unit.lph, q2.Qfrom()).ToString("F1", Program.AltCulture))); logger.WriteLine(string.Format("Prüfzeit2={0}", q2.TargetTime().ToString("F0"))); logger.WriteLine(string.Format("Prüfbereich100_1102={0}", 1)); logger.WriteLine(string.Format("PrüfbereichMin2={0}", 100)); @@ -333,9 +333,9 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Format("PosFehlergrenzeWarm2=0,0")); logger.WriteLine(string.Format("NegFehlergrenzeWarm2=0,0")); - logger.WriteLine(string.Format("Durchfluss3={0}", (1000 * q3.Qto()).ToString("F1", Program.AltCulture))); + logger.WriteLine(string.Format("Durchfluss3={0}", Units.ConvertTo(Unit.lph, q3.Qto()).ToString("F1", Program.AltCulture))); logger.WriteLine(string.Format("Prüfzeit3={0}", q3.TargetTime().ToString("F0"))); - logger.WriteLine(string.Format("Prüfbereich100_1103={0}", 1)); + logger.WriteLine(string.Format("Prüfbereich100_1103={0}", 0)); logger.WriteLine(string.Format("PrüfbereichMin3={0}", 90)); logger.WriteLine(string.Format("PrüfbereichMax3={0}", 100)); logger.WriteLine(string.Format("QBezeichnung3=Q3")); @@ -385,10 +385,10 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Format("EndKriterium={0}", 0)); /// 0 logger.WriteLine(string.Format("Justieren={0}", 1)); /// 1 logger.WriteLine(string.Format("Bemerkung=")); /// - logger.WriteLine(string.Format("Gesamtprüfzeit={0}", 3)); /// 2042 - logger.WriteLine(string.Format("Gegenprüfung={0}", 3)); /// 0 - logger.WriteLine(string.Format("Geändert_von={0}", 3)); /// 4459 - logger.WriteLine(string.Format("Geändert_am={0}", 3)); /// 29.05.2015 13:46:17 + logger.WriteLine(string.Format("Gesamtprüfzeit={0}", (adj.TargetTime() + q1.TargetTime() + q2.TargetTime() + q3.TargetTime()).ToString("F0"))); + logger.WriteLine(string.Format("Gegenprüfung={0}", 0)); /// 0 + logger.WriteLine(string.Format("Geändert_von={0}", 6)); /// 4459 + logger.WriteLine(string.Format("Geändert_am={0:dd.MM.yyyy HH:mm:ss}", DateTime.Now)); /// 29.05.2015 13:46:17 for (int i = 0; i < batch.WaterMeters.Count; i++) { @@ -419,7 +419,7 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Format("GeprüftIndex=1")); /// 1 logger.WriteLine(string.Format("Q-1bestanden=1")); - logger.WriteLine(string.Format("Durchfluss-1={0}", (1000 * adj.FlowVolume()).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("Durchfluss-1={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, adj.FlowVolume()), 5, true))); logger.WriteLine(string.Format("Fehler-1={0}", adj.Error.ToString(Program.AltCulture))); logger.WriteLine(string.Format("ZeitImpulse-1={0}", adj.TestTime.ToString(Program.AltCulture))); logger.WriteLine(string.Format("Impulse-1=0")); @@ -429,13 +429,13 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Format("Q-1KorrBestanden={0}", 0)); logger.WriteLine(string.Format("Anfangsstand-1={0}", 0)); /// TODO logger.WriteLine(string.Format("Endstand-1={0}", 0)); /// TODO - logger.WriteLine(string.Format("QMittelwert-1={0}", (1000 * adj.FlowVolume()).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("QMittelwert-1={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, adj.FlowVolume()), 5, true))); logger.WriteLine(string.Format("QStandardAbweichung-1={0}", 0)); logger.WriteLine(string.Format("ImpedanzMittelwert-1=0,00000")); logger.WriteLine(string.Format("AusfallGrund-1={0}", 0)); logger.WriteLine(string.Format("Q1bestanden={0}", q1.Passed ? 1 : 0)); - logger.WriteLine(string.Format("Durchfluss1={0}", (1000 * q1.FlowVolume()).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("Durchfluss1={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q1.FlowVolume()), 5, true))); logger.WriteLine(string.Format("Fehler1={0}", q1.Error.ToString(Program.AltCulture))); logger.WriteLine(string.Format("ZeitImpulse1={0}", q1.TestTime.ToString(Program.AltCulture))); logger.WriteLine(string.Format("Impulse1={0}", 0)); @@ -445,13 +445,13 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Format("Q1KorrBestanden={0}", 0)); logger.WriteLine(string.Format("Anfangsstand1={0}", 0)); /// TODO logger.WriteLine(string.Format("Endstand1={0}", 0)); /// TODO - logger.WriteLine(string.Format("QMittelwert1={0}", (1000 * q1.FlowVolume()).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("QMittelwert1={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q1.FlowVolume()), 5, true))); logger.WriteLine(string.Format("QStandardAbweichung1={0}", 0)); logger.WriteLine(string.Format("ImpedanzMittelwert1=0,00000")); logger.WriteLine(string.Format("AusfallGrund1={0}", 0)); logger.WriteLine(string.Format("Q2bestanden={0}", q2.Passed ? 1 : 0)); - logger.WriteLine(string.Format("Durchfluss2={0}", (1000 * q2.FlowVolume()).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("Durchfluss2={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q2.FlowVolume()), 5, true))); logger.WriteLine(string.Format("Fehler2={0}", q2.Error.ToString(Program.AltCulture))); logger.WriteLine(string.Format("ZeitImpulse2={0}", q2.TestTime.ToString(Program.AltCulture))); logger.WriteLine(string.Format("Impulse2={0}", 0)); @@ -461,13 +461,13 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Format("Q2KorrBestanden={0}", 0)); logger.WriteLine(string.Format("Anfangsstand2={0}", 0)); /// TODO logger.WriteLine(string.Format("Endstand2={0}", 0)); /// TODO - logger.WriteLine(string.Format("QMittelwert2={0}", (1000 * q2.FlowVolume()).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("QMittelwert2={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q2.FlowVolume()), 5, true))); logger.WriteLine(string.Format("QStandardAbweichung2={0}", 0)); logger.WriteLine(string.Format("ImpedanzMittelwert2=0,00000")); logger.WriteLine(string.Format("AusfallGrund2={0}", 0)); logger.WriteLine(string.Format("Q3bestanden={0}", q3.Passed ? 1 : 0)); - logger.WriteLine(string.Format("Durchfluss3={0}", (1000 * q3.FlowVolume()).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("Durchfluss3={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q3.FlowVolume()), 5, true))); logger.WriteLine(string.Format("Fehler3={0}", q3.Error.ToString(Program.AltCulture))); logger.WriteLine(string.Format("ZeitImpulse3={0}", q3.TestTime.ToString(Program.AltCulture))); logger.WriteLine(string.Format("Impulse3={0}", 0)); @@ -477,7 +477,7 @@ namespace TBF.BenchControl.DB.SensusOracle logger.WriteLine(string.Format("Q3KorrBestanden={0}", 0)); logger.WriteLine(string.Format("Anfangsstand3={0}", 0)); /// TODO logger.WriteLine(string.Format("Endstand3={0}", 0)); /// TODO - logger.WriteLine(string.Format("QMittelwert3={0}", (1000 * q3.FlowVolume()).ToString(Program.AltCulture))); + logger.WriteLine(string.Format("QMittelwert3={0}", Utils.DoubleToStr(Units.ConvertTo(Unit.lph, q3.FlowVolume()), 5, true))); logger.WriteLine(string.Format("QStandardAbweichung3={0}", 0)); logger.WriteLine(string.Format("ImpedanzMittelwert3=0,00000")); logger.WriteLine(string.Format("AusfallGrund3={0}", 0)); diff --git a/TestBenchFramework/Utils.cs b/TestBenchFramework/Utils.cs index 9722f0392..4618f59dc 100644 --- a/TestBenchFramework/Utils.cs +++ b/TestBenchFramework/Utils.cs @@ -367,91 +367,93 @@ namespace TBF } /// - /// Converts a float number to a string with the specified number of valid digits + /// Converts number to a string with the specified number of significant digits /// /// Float value to be converted to a string - /// Number of valid digits: 4, 3, or 2 (otherwise a full precision number is printed) + /// Number of significant digits: 5, 4, 3, 2 or 1 (otherwise a full precision number is printed) /// String representation of a float number - public static string FloatToStr(float value, int validDigits) + public static string FloatToStr(float value, int significantDigits) { - if (-float.Epsilon <= value && value <= float.Epsilon) - { - return "0"; - } - else if (validDigits == 4) - { - if (value >= 999.5 || value < -999.5) return value.ToString("F0"); - else if (value >= 99.95 || value < -99.95) return value.ToString("F1"); - else if (value >= 9.995 || value < -9.995) return value.ToString("F2"); - else if (value >= 0.9995 || value < -0.9995) return value.ToString("F3"); - else if (value >= 0.09995 || value < -0.09995) return value.ToString("F4"); - else if (value >= 0.009995 || value < -0.009995) return value.ToString("F5"); - else return value.ToString("F6"); - } - else if (validDigits == 3) - { - if (value >= 99.5 || value < -99.5) return value.ToString("F0"); - else if (value >= 9.95 || value < -9.95) return value.ToString("F1"); - else if (value >= 0.995 || value < -0.995) return value.ToString("F2"); - else if (value >= 0.0995 || value < -0.0995) return value.ToString("F3"); - else if (value >= 0.00995 || value < -0.00995) return value.ToString("F4"); - else if (value >= 0.000995 || value < -0.000995) return value.ToString("F5"); - else return value.ToString("F6"); - } - else if (validDigits == 2) - { - if (value >= 9.5 || value < -9.5) return value.ToString("F0"); - else if (value >= 0.95 || value < -0.95) return value.ToString("F1"); - else if (value >= 0.095 || value < -0.095) return value.ToString("F2"); - else if (value >= 0.0095 || value < -0.0095) return value.ToString("F3"); - else if (value >= 0.00095 || value < -0.00095) return value.ToString("F4"); - else return value.ToString("F5"); - } - else return value.ToString(); + return DoubleToStr(value, significantDigits); } + public static string FloatToStr(float value, int significantDigits, bool altCulture) + { + return DoubleToStr(value, significantDigits, altCulture); + } + public static string DoubleToStr(double value, int significantDigits) + { + return DoubleToStr(value, significantDigits, false); + } - /// - /// Converts a double number to a string with the specified number of valid digits - /// - /// Double value to be converted to a string - /// Number of valid digits: 4, 3, or 2 (otherwise a full precision number is printed) - /// String representation of a double number - public static string DoubleToStr(double value, int validDigits) + /// + /// Converts a double number to a string with the specified number of significant digits + /// + /// Double value to be converted to a string + /// Number of significant digits: 5, 4, 3, 2 or 1 (otherwise a full precision number is printed) + /// true = use alternative culture (use decimal comma) + /// String representation of a double number + public static string DoubleToStr(double value, int significantDigits, bool altCulture) { if (-float.Epsilon <= value && value <= float.Epsilon) { return "0"; } - else if (validDigits == 4) + else if (significantDigits == 5) + { + if (value >= 9999.5 || value < -9999.5) return altCulture ? value.ToString("F0", Program.AltCulture) : value.ToString("F0"); + else if (value >= 999.95 || value < -999.95) return altCulture ? value.ToString("F1", Program.AltCulture) : value.ToString("F1"); + else if (value >= 99.995 || value < -99.995) return altCulture ? value.ToString("F2", Program.AltCulture) : value.ToString("F2"); + else if (value >= 9.9995 || value < -9.9995) return altCulture ? value.ToString("F3", Program.AltCulture) : value.ToString("F3"); + else if (value >= 0.99995 || value < -0.99995) return altCulture ? value.ToString("F4", Program.AltCulture) : value.ToString("F4"); + else if (value >= 0.099995 || value < -0.099995) return altCulture ? value.ToString("F5", Program.AltCulture) : value.ToString("F5"); + else if (value >= 0.0099995 || value < -0.0099995) return altCulture ? value.ToString("F6", Program.AltCulture) : value.ToString("F6"); + else if (value >= 0.00099995 || value < -0.00099995) return altCulture ? value.ToString("F7", Program.AltCulture) : value.ToString("F7"); + else if (value >= 0.000099995 || value < -0.000099995) return altCulture ? value.ToString("F8", Program.AltCulture) : value.ToString("F8"); + else return altCulture ? value.ToString("F9", Program.AltCulture) : value.ToString("F9"); + } + else if (significantDigits == 4) { - if (value >= 999.5 || value < -999.5) return value.ToString("F0"); - else if (value >= 99.95 || value < -99.95) return value.ToString("F1"); - else if (value >= 9.995 || value < -9.995) return value.ToString("F2"); - else if (value >= 0.9995 || value < -0.9995) return value.ToString("F3"); - else if (value >= 0.09995 || value < -0.09995) return value.ToString("F4"); - else if (value >= 0.009995 || value < -0.009995) return value.ToString("F5"); - else return value.ToString("F6"); - } - else if (validDigits == 3) + if (value >= 999.5 || value < -999.5) return altCulture ? value.ToString("F0", Program.AltCulture) : value.ToString("F0"); + else if (value >= 99.95 || value < -99.95) return altCulture ? value.ToString("F1", Program.AltCulture) : value.ToString("F1"); + else if (value >= 9.995 || value < -9.995) return altCulture ? value.ToString("F2", Program.AltCulture) : value.ToString("F2"); + else if (value >= 0.9995 || value < -0.9995) return altCulture ? value.ToString("F3", Program.AltCulture) : value.ToString("F3"); + else if (value >= 0.09995 || value < -0.09995) return altCulture ? value.ToString("F4", Program.AltCulture) : value.ToString("F4"); + else if (value >= 0.009995 || value < -0.009995) return altCulture ? value.ToString("F5", Program.AltCulture) : value.ToString("F5"); + else if (value >= 0.0009995 || value < -0.0009995) return altCulture ? value.ToString("F6", Program.AltCulture) : value.ToString("F6"); + else if (value >= 0.00009995 || value < -0.00009995) return altCulture ? value.ToString("F7", Program.AltCulture) : value.ToString("F7"); + else return altCulture ? value.ToString("F8", Program.AltCulture) : value.ToString("F8"); + } + else if (significantDigits == 3) { - if (value >= 99.5 || value < -99.5) return value.ToString("F0"); - else if (value >= 9.95 || value < -9.95) return value.ToString("F1"); - else if (value >= 0.995 || value < -0.995) return value.ToString("F2"); - else if (value >= 0.0995 || value < -0.0995) return value.ToString("F3"); - else if (value >= 0.00995 || value < -0.00995) return value.ToString("F4"); - else if (value >= 0.000995 || value < -0.000995) return value.ToString("F5"); - else return value.ToString("F6"); - } - else if (validDigits == 2) + if (value >= 99.5 || value < -99.5) return altCulture ? value.ToString("F0", Program.AltCulture) : value.ToString("F0"); + else if (value >= 9.95 || value < -9.95) return altCulture ? value.ToString("F1", Program.AltCulture) : value.ToString("F1"); + else if (value >= 0.995 || value < -0.995) return altCulture ? value.ToString("F2", Program.AltCulture) : value.ToString("F2"); + else if (value >= 0.0995 || value < -0.0995) return altCulture ? value.ToString("F3", Program.AltCulture) : value.ToString("F3"); + else if (value >= 0.00995 || value < -0.00995) return altCulture ? value.ToString("F4", Program.AltCulture) : value.ToString("F4"); + else if (value >= 0.000995 || value < -0.000995) return altCulture ? value.ToString("F5", Program.AltCulture) : value.ToString("F5"); + else if (value >= 0.0000995 || value < -0.0000995) return altCulture ? value.ToString("F6", Program.AltCulture) : value.ToString("F6"); + else return altCulture ? value.ToString("F7", Program.AltCulture) : value.ToString("F7"); + } + else if (significantDigits == 2) { - if (value >= 9.5 || value < -9.5) return value.ToString("F0"); - else if (value >= 0.95 || value < -0.95) return value.ToString("F1"); - else if (value >= 0.095 || value < -0.095) return value.ToString("F2"); - else if (value >= 0.0095 || value < -0.0095) return value.ToString("F3"); - else if (value >= 0.00095 || value < -0.00095) return value.ToString("F4"); - else return value.ToString("F5"); - } - else return value.ToString(); + if (value >= 9.5 || value < -9.5) return altCulture ? value.ToString("F0", Program.AltCulture) : value.ToString("F0"); + else if (value >= 0.95 || value < -0.95) return altCulture ? value.ToString("F1", Program.AltCulture) : value.ToString("F1"); + else if (value >= 0.095 || value < -0.095) return altCulture ? value.ToString("F2", Program.AltCulture) : value.ToString("F2"); + else if (value >= 0.0095 || value < -0.0095) return altCulture ? value.ToString("F3", Program.AltCulture) : value.ToString("F3"); + else if (value >= 0.00095 || value < -0.00095) return altCulture ? value.ToString("F4", Program.AltCulture) : value.ToString("F4"); + else if (value >= 0.000095 || value < -0.000095) return altCulture ? value.ToString("F5", Program.AltCulture) : value.ToString("F5"); + else return altCulture ? value.ToString("F6", Program.AltCulture) : value.ToString("F6"); + } + else if (significantDigits == 1) + { + if (value >= 0.95 || value < -0.95) return altCulture ? value.ToString("F0", Program.AltCulture) : value.ToString("F0"); + else if (value >= 0.095 || value < -0.095) return altCulture ? value.ToString("F1", Program.AltCulture) : value.ToString("F1"); + else if (value >= 0.0095 || value < -0.0095) return altCulture ? value.ToString("F2", Program.AltCulture) : value.ToString("F2"); + else if (value >= 0.00095 || value < -0.00095) return altCulture ? value.ToString("F3", Program.AltCulture) : value.ToString("F3"); + else if (value >= 0.000095 || value < -0.000095) return altCulture ? value.ToString("F4", Program.AltCulture) : value.ToString("F4"); + else return altCulture ? value.ToString("F5", Program.AltCulture) : value.ToString("F5"); + } + else return value.ToString(); } public static string ShowRoute(ulong route)