Compare commits

..
Author SHA1 Message Date
Milan Hanajik a380a68855 SampleConfig files updated 2015-11-18 08:54:19 +01:00
Milan Hanajik 39d0a73e39 TBFSetup configuration changed, version 1.5.142. 2015-11-17 23:53:40 +01:00
Milan Hanajik a01f99fa7e iPerl flow direction determination, saved into Oracle DB. 2015-11-13 01:11:36 +01:00
Milan Hanajik 8a0411bd92 Writing into VT_PRUEFREIHE_PD added, version 1.5.141. 2015-11-13 00:03:33 +01:00
Milan Hanajik 8cd4f12de3 Oracle DB exceptions logging, version 1.5.140. 2015-11-12 19:48:29 +01:00
Milan Hanajik 4a528dafb8 Oracle database test results bug fix: measured flow in l/h, version 1.5.139. 2015-11-11 16:40:13 +01:00
Milan Hanajik b3a9302f53 Test results are written into the Oracle database..WaterMeters.iPerl process parameters added. 2015-11-11 12:44:37 +01:00
Milan Hanajik 575b17a919 iPerlST component updated, version 1.5.138 2015-11-10 09:48:21 +01:00
Milan Hanajik 41433329da Bux fix in Torino simulation, version 1.5.137. 2015-11-05 18:25:09 +01:00
Milan Hanajik e52f9ea9e7 Make Q2 correction from ... modifications, no Q2 factors written in case of large error, version. 1.5.136 2015-10-23 18:32:58 +02:00
Milan Hanajik 1892f9de9f Oracle DB 'Update' (when testing a water meter for the 2nd time) works well, version 1.5.134 2015-10-23 15:08:49 +02:00
Milan Hanajik db0c850d70 Romanian strings added (MURES). 2015-10-21 11:48:57 +02:00
Milan Hanajik 060aba08a9 Behavior of Elde.PumpWithFM.TurnOn(pumpPower) fixed: pump power change forces sending a command. 2015-10-21 09:54:41 +02:00
Milan Hanajik 5ac7572a3d MURES component updated, SetFlowOp watches StatusP.RefPulsesMsrmnt flag, version 1.5.133. 2015-10-21 09:51:38 +02:00
Milan Hanajik c9e2742745 Bugfix, version 1.5.132. 2015-10-21 07:49:42 +02:00
Milan Hanajik 5a77c5f660 iPerl parameters FactorLimitLo, FactorLimitHi moved to iPerlCommunication (arguments in the activity string), version 1.5.131. 2015-10-16 11:24:03 +02:00
Milan Hanajik 1301db3af4 MURES component upgraded, version 1.5.130. 2015-10-15 21:48:45 +02:00
Milan Hanajik 2cd877fb17 SetFlowOp with verification and re-sending the command. 2015-10-15 19:50:26 +02:00
Milan Hanajik 9dc3759f99 Added to summary/all results: (1) reference flow meter number (MID), (2) ref. density, (3) @temperature 2015-10-14 21:40:16 +02:00
Milan Hanajik 66f1bfa14b Transition sequence 'New': (1) generated name# is incremented, (2) name checked for uniqueness, (3) fixed size form without maximize/minimize buttons, (4) 'x' works correctly (as Cancel). 2015-10-14 16:50:35 +02:00
Milan Hanajik d7c262c87a Emptying the tank displays remaining time in min and sec. 2015-10-14 15:45:51 +02:00
Milan Hanajik 02da6ae134 Default serial port settings of Comet Ambient sensor changed 2015-10-14 13:52:52 +02:00
Milan Hanajik 3336454719 Language resources exported. 2015-10-09 07:58:17 +02:00
Milan Hanajik 5967db86a1 Sk, Ro strings added. Many German resource files removed from the project. Localization done via strings. 2015-10-08 00:14:21 +02:00
Milan Hanajik 2acd67707e FixedStartAdvanced test method added. 2015-10-05 11:24:06 +02:00
Milan Hanajik 70f38e9352 Adjustment test method/adjustment form supports 10-12 water metes, version 1.5.129. 2015-10-05 09:59:27 +02:00
Milan Hanajik 687e843e5f Version 1.5.128 2015-10-04 22:52:18 +02:00
95 changed files with 8314 additions and 2582 deletions
+2 -1
View File
@@ -2,6 +2,7 @@ TestBenchFramework/bin/
TestBenchFramework/obj/
ResultsBrowser/bin/
ResultsBrowser/obj/
TBFSetup/
TBFSetup/Debug/
TBFSetup/Release/
Doc/
*.suo
File diff suppressed because it is too large Load Diff
+8 -2
View File
@@ -1,9 +1,10 @@
iPerl:
- log pre pevny start, podobne (zarazky) ako pre letmy
- 'Q2 corrected from ...' Evaluate a Publish parametre
- STOP nefunguje vzdy (alebo pomaly) - zlepsit uzivatelsky dojem
- Oracle DB: UPDATE ...
- MeterType v iPerl.WaterMeter zmenit na test parameter
- zapamatat si sirku stlpcov v okne Procedures
- vyuzit sirku obrazovky na Activity, Progress bar, Drop down menu
- v iPerlCommunication ponukat stringy v drop-down menu
- na Process obrazovke posunut stupacku a rezervoar uplne doprava
@@ -134,3 +135,8 @@ Process screen:
---
Zobrazit Sim -> prec (ako?)
-------------------------------------------
Ked sa bude upgradovat DB
-------------------------------------------
- oddelit vysledky od konfiguracie
- zaviest ProcedureResult: (TestBenchID, ProgramVersion, ProcedureName, WM_ID, PurchaseNr, BatchNr, TimestampStart, TimestampEnd, Purging parameters, Evacuation parameters)
@@ -30,10 +30,10 @@ namespace TBF.BenchControl.Ambient.Comet
Name = "Ambient";
ParentName = string.Empty;
ComPortNr = 6;
BaudRate = 19200;
BaudRate = 9600;
Parity = System.IO.Ports.Parity.None;
DataBits = 8;
StopBits = System.IO.Ports.StopBits.One;
StopBits = System.IO.Ports.StopBits.Two;
Handshake = System.IO.Ports.Handshake.None;
}
@@ -17,8 +17,9 @@ namespace TBF.BenchControl.DB.SensusOracle
private static readonly ILog log = LogManager.GetLogger(typeof(Database));
public override string ToString() { return string.Format("ResultsWriters.Basic({0})", Cfg.ToString(1)); }
readonly DatabaseCfg dbCfg;
const int Anbid_StaraTura = 4;
readonly DatabaseCfg dbCfg;
OracleConnection conn; /// Oracle database connection
/// <summary>
@@ -31,10 +32,13 @@ namespace TBF.BenchControl.DB.SensusOracle
/// Results to print
/// </summary>
Entities.Procedure procedure;
IList<GenericDevices.IWaterMeter> waterMeters;
IList<Entities.TestResult> unsortedResults;
DateTime dateTime;
StreamWriter writer;
bool batchDataSaved; /// This is to save batch data (VT_PRUEFREIHE_PD) only once
string separatorStr;
public Database()
@@ -176,7 +180,7 @@ namespace TBF.BenchControl.DB.SensusOracle
/// <param name="procedure">Procedure to print the results of</param>
/// <param name="unsortedResults">Results to write into the file</param>
/// <returns>Reference to the operation</returns>
public IOperation WriteResultsOp(Entities.Procedure procedure, IList<Entities.TestResult> unsortedResults)
public IOperation WriteResultsOp(Entities.Procedure procedure, IList<GenericDevices.IWaterMeter> waterMeters, IList<Entities.TestResult> unsortedResults)
{
if ((procedure == null) || (unsortedResults == null) || (unsortedResults.Count < 1))
{
@@ -184,6 +188,7 @@ namespace TBF.BenchControl.DB.SensusOracle
}
this.procedure = procedure;
this.waterMeters = waterMeters;
this.unsortedResults = unsortedResults;
combined = (procedure.MetersKind == Entities.MetersKind.Combined);
@@ -212,6 +217,8 @@ namespace TBF.BenchControl.DB.SensusOracle
/// <summary>Start this operation</summary>
public void Start()
{
batchDataSaved = false;
if (writer == null) return;
///----------
@@ -292,10 +299,11 @@ namespace TBF.BenchControl.DB.SensusOracle
for (int wmNr = 0; wmNr < Program.WMsCount; wmNr++) /// wmNr is 0-based
{
if (!unsortedResults[0].Meters[wmNr].Disabled)
WaterMeters.iPerl.WaterMeter wMtr = (waterMeters != null && waterMeters.Count > wmNr) ? waterMeters[wmNr] as WaterMeters.iPerl.WaterMeter : null;
if (!unsortedResults[0].Meters[wmNr].Disabled && wMtr != null)
{
IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, Utils.PartNr(wmNr + 1, combined));
SaveSingleWM2DB(wmNr, results);
SaveSingleWM2DB(wmNr, wMtr, results);
}
}
@@ -308,11 +316,12 @@ namespace TBF.BenchControl.DB.SensusOracle
/// <summary>
/// Write one meter results into the database
/// </summary>
/// <param name="wmNr"></param>
/// <param name="results"></param>
void SaveSingleWM2DB(int wmNr, IList<Entities.TestResult> results)
/// <param name="wmNr">0-based water meter number</param>
/// <param name="results">Sorted list of results to save</param>
void SaveSingleWM2DB(int wmNr, WaterMeters.iPerl.WaterMeter wMtr, IList<Entities.TestResult> results)
{
if (string.IsNullOrEmpty(unsortedResults[0].Meters[wmNr].SerialNr)) return; /// No database activity possible w/o PCB number
string pcbNr = unsortedResults[0].Meters[wmNr].SerialNr;
@@ -360,7 +369,7 @@ namespace TBF.BenchControl.DB.SensusOracle
{
/// Failed
Sekundaere_Adr = 0;
Hydr_Pruefung = 97; /// Hydr. tets failed, Pressure test passed
Hydr_Pruefung = 97; /// Hydr. test failed, Pressure test passed
}
else
{
@@ -372,110 +381,207 @@ namespace TBF.BenchControl.DB.SensusOracle
Hydr_Pruefung = 224;
}
if (passed)
string pOrder = string.IsNullOrEmpty(unsortedResults[0].PurchaseOrder) ? string.Empty : unsortedResults[0].PurchaseOrder;
if (MAX_Pruefindex % 100 == 1)
{
string pOrder = string.IsNullOrEmpty(unsortedResults[0].PurchaseOrder) ? string.Empty : unsortedResults[0].PurchaseOrder;
OracleParameter parm1 = new OracleParameter();
parm1.OracleDbType = OracleDbType.Varchar2;
parm1.Value = pOrder;
OracleCommand cmd = new OracleCommand("INSERT INTO VT_ZAEHLER_PD(Auftragsnummer, VT_Identnummer, VT_Fernum, Max_Pruefindex, Zaehlernummer, Sekundaere_Adr, Hydr_Pruefung, ID_Benutzer, ANBID, Baujahr) VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10)", conn);
OracleParameter parm2 = new OracleParameter();
parm2.OracleDbType = OracleDbType.Varchar2;
parm2.Value = "IPBATMXX";
OracleParameter parm;
parm = new OracleParameter("Auftragsnummer", OracleDbType.Varchar2); parm.Value = pOrder; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Identnummer", OracleDbType.Varchar2); parm.Value = "IPBATMXX"; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Fernum", OracleDbType.Varchar2); parm.Value = pcbNr; cmd.Parameters.Add(parm);
parm = new OracleParameter("Max_Pruefindex", OracleDbType.Int32); parm.Value = MAX_Pruefindex; cmd.Parameters.Add(parm);
parm = new OracleParameter("Zaehlernummer", OracleDbType.Int32); parm.Value = -1; cmd.Parameters.Add(parm);
parm = new OracleParameter("Sekundaere_Adr", OracleDbType.Int32); parm.Value = Sekundaere_Adr; cmd.Parameters.Add(parm);
parm = new OracleParameter("Hydr_Pruefung", OracleDbType.Int32); parm.Value = Hydr_Pruefung; cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_Benutzer", OracleDbType.Int32); parm.Value = 6; cmd.Parameters.Add(parm);
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm);
parm = new OracleParameter("Baujahr", OracleDbType.Int32); parm.Value = dbCfg.Baujahr; cmd.Parameters.Add(parm);
OracleParameter parm3 = new OracleParameter();
parm3.OracleDbType = OracleDbType.Varchar2;
parm3.Value = pcbNr;
int rowsUpdated = cmd.ExecuteNonQuery();
}
else
{
OracleCommand cmd = new OracleCommand("UPDATE VT_ZAEHLER_PD SET Auftragsnummer = :1, VT_Identnummer = :2, Max_Pruefindex = :3, Hydr_Pruefung= :4, ID_Benutzer= :5, Baujahr= :6 WHERE VT_Fernum = :7 and ANBID = :8", conn);
OracleParameter parm4 = new OracleParameter();
parm4.OracleDbType = OracleDbType.Int32;
parm4.Value = MAX_Pruefindex;
OracleParameter parm;
parm = new OracleParameter("Auftragsnummer", OracleDbType.Varchar2); parm.Value = pOrder; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Identnummer", OracleDbType.Varchar2); parm.Value = "IPBATMXX"; cmd.Parameters.Add(parm);
parm = new OracleParameter("Max_Pruefindex", OracleDbType.Int32); parm.Value = MAX_Pruefindex; cmd.Parameters.Add(parm);
parm = new OracleParameter("Hydr_Pruefung", OracleDbType.Int32); parm.Value = Hydr_Pruefung; cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_Benutzer", OracleDbType.Int32); parm.Value = 6; cmd.Parameters.Add(parm);
parm = new OracleParameter("Baujahr", OracleDbType.Int32); parm.Value = dbCfg.Baujahr; cmd.Parameters.Add(parm);
parm = new OracleParameter("VT_Fernum", OracleDbType.Varchar2); parm.Value = pcbNr; cmd.Parameters.Add(parm);
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm);
OracleParameter parm5 = new OracleParameter();
parm5.OracleDbType = OracleDbType.Int32;
parm5.Value = -1;
int rowsUpdated = cmd.ExecuteNonQuery();
}
OracleParameter parm6 = new OracleParameter();
parm6.OracleDbType = OracleDbType.Int32;
parm6.Value = Sekundaere_Adr;
OracleTransaction transaction = conn.BeginTransaction();
try
{
if (!batchDataSaved)
{
///
/// Batch data
///
DateTime start = results[0].TimeStart;
DateTime end = results[0].TimeEnd;
foreach (var rslt in results)
{
if (rslt.TimeStart < start) start = rslt.TimeStart;
if (rslt.TimeEnd > end) end = rslt.TimeEnd;
}
OracleParameter parm7 = new OracleParameter();
parm7.OracleDbType = OracleDbType.Int32;
parm7.Value = Hydr_Pruefung;
OracleCommand cmd = new OracleCommand("INSERT INTO VT_PRUEFREIHE_PD(" +
"ANBID, ID_Pruefstand, ID_WzPruefreihe, ID_WZTyp, Rev_WZTyp, Rev_Pruefstand_WZTyp, " +
"StartDatumZeit, EndDatumZeit, Betriebsart, QVzKontakt, " +
"FuellenBegDruck, DruckEvakVorne, DruckEvakHinten, DruckBeiAbpressen, " +
"Druckentwaessern, SpuelDurchflussIst, ProgrammVersion)" +
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17)", conn);
OracleParameter parm;
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm); ///:1
parm = new OracleParameter("ID_Pruefstand", OracleDbType.Int32); parm.Value = 18000 + dbCfg.TestBenchId; cmd.Parameters.Add(parm); ///:2
parm = new OracleParameter("ID_WzPruefreihe", OracleDbType.Int32); parm.Value = results[0].BatchNr; cmd.Parameters.Add(parm); ///:3
parm = new OracleParameter("ID_WZTyp", OracleDbType.Int32); parm.Value = wMtr.WMType_ID; cmd.Parameters.Add(parm); ///:4
parm = new OracleParameter("Rev_WZTyp", OracleDbType.Int32); parm.Value = wMtr.WMType_Rev; cmd.Parameters.Add(parm); ///:5
parm = new OracleParameter("Rev_Pruefstand_WZTyp", OracleDbType.Int32); parm.Value = 1; cmd.Parameters.Add(parm); ///:6
parm = new OracleParameter("StartDatumZeit", OracleDbType.TimeStamp); parm.Value = start; cmd.Parameters.Add(parm); ///:7
parm = new OracleParameter("EndDatumZeit", OracleDbType.TimeStamp); parm.Value = end; cmd.Parameters.Add(parm); ///:8
parm = new OracleParameter("Betriebsart", OracleDbType.Varchar2); parm.Value = ""; cmd.Parameters.Add(parm); ///:9
parm = new OracleParameter("QVzKontakt", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:10
parm = new OracleParameter("FuellenBegDruck", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:11
parm = new OracleParameter("DruckEvakVorne", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:12
parm = new OracleParameter("DruckEvakHinten", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:13
parm = new OracleParameter("DruckBeiAbpressen", OracleDbType.Double); parm.Value = 0;/*TODO*/ cmd.Parameters.Add(parm); ///:14
parm = new OracleParameter("Druckentwaessern", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:15
parm = new OracleParameter("SpuelDurchflussIst", OracleDbType.Double); parm.Value = 0;/*TODO*/ cmd.Parameters.Add(parm); ///:16
parm = new OracleParameter("ProgrammVersion", OracleDbType.Varchar2); parm.Value = Program.Version; cmd.Parameters.Add(parm); ///:17
OracleParameter parm8 = new OracleParameter();
parm8.OracleDbType = OracleDbType.Int32;
parm8.Value = 6;
int rowsUpdated = cmd.ExecuteNonQuery();
OracleParameter parm9 = new OracleParameter();
parm9.OracleDbType = OracleDbType.Int32;
parm9.Value = 4; /// = ANBID Stara Tura
batchDataSaved = true;
}
OracleParameter parm10 = new OracleParameter();
parm10.OracleDbType = OracleDbType.Int32;
parm10.Value = dbCfg.Baujahr;
if (MAX_Pruefindex % 100 == 1)
{
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "INSERT INTO VT_ZAEHLER_PD(Auftragsnummer, VT_Identnummer, VT_Fernum, Max_Pruefindex, Zaehlernummer, Sekundaere_Adr, Hydr_Pruefung, ID_Benutzer, ANBID, Baujahr) VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10)";
cmd.Parameters.Add(parm1);
cmd.Parameters.Add(parm2);
cmd.Parameters.Add(parm3);
cmd.Parameters.Add(parm4);
cmd.Parameters.Add(parm5);
cmd.Parameters.Add(parm6);
cmd.Parameters.Add(parm7);
cmd.Parameters.Add(parm8);
cmd.Parameters.Add(parm9);
cmd.Parameters.Add(parm10);
OracleCommand cmd = new OracleCommand("INSERT INTO VT_ZAEHLER_PINDEX_PD(" +
"VT_Fernum, Pruefindex, ANBID, ID_Pruefstand, ID_WzPruefreihe, Hydr_Pruefung, " +
"ReedKontakt, ReedKontaktOK, ReedKontaktZeit, KorrImprate, FestWertWZ, PtestOK, " +
"Zaehlerstand, WT_Platz_NR, WZgut, ID_Benutzer, AnzahlPruefungen)" +
" VALUES (:1, :2, :3, :4, :5, :6, 0, 0, 0, :7, 0, :8, 0, :9, :10, :11, :12)", conn);
OracleParameter parm;
parm = new OracleParameter("VT_Fernum", OracleDbType.Varchar2); parm.Value = pcbNr; cmd.Parameters.Add(parm);
parm = new OracleParameter("Pruefindex", OracleDbType.Int32); parm.Value = MAX_Pruefindex % 100; cmd.Parameters.Add(parm);
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_Pruefstand", OracleDbType.Int32); parm.Value = 18000 + dbCfg.TestBenchId; cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_WzPruefreihe", OracleDbType.Int32); parm.Value = results[0].BatchNr; cmd.Parameters.Add(parm);
parm = new OracleParameter("Hydr_Pruefung", OracleDbType.Int32); parm.Value = Hydr_Pruefung; cmd.Parameters.Add(parm);
// ReedKontakt
// ReedKontaktOK
// ReedKontaktZeit
parm = new OracleParameter("KorrImprate", OracleDbType.Double); parm.Value = wMtr.OriginalCalibFactor; cmd.Parameters.Add(parm);
// FestWertWZ
parm = new OracleParameter("PtestOK", OracleDbType.Int32); parm.Value = 0;/*TODO*/ cmd.Parameters.Add(parm);
// Zaehlerstand
parm = new OracleParameter("WT_Platz_NR", OracleDbType.Int32); parm.Value = wmNr + 1; cmd.Parameters.Add(parm);
parm = new OracleParameter("WZgut", OracleDbType.Int32); parm.Value = passed ? 1 : 0; cmd.Parameters.Add(parm);
parm = new OracleParameter("ID_Benutzer", OracleDbType.Int32); parm.Value = 6; cmd.Parameters.Add(parm);
parm = new OracleParameter("AnzahlPruefungen", OracleDbType.Int32); parm.Value = 3; cmd.Parameters.Add(parm);
int rowsUpdated = cmd.ExecuteNonQuery();
}
else
for (int q = 1; q <= 3; q++)
{
//OracleCommand cmd = new OracleCommand();
//cmd.Connection = conn;
//cmd.CommandText = "UPDATE VT_ZAEHLER_PD SET Auftragsnummer = :1, VT_Identnummer = :2, Max_Pruefindex = :4, Zaehlernummer = :5, Sekundaere_Adr= :6, Hydr_Pruefung= :7, ID_Benutzer= :8 WHERE VT_Fernum = :3 and ANBID = :9";
//cmd.Parameters.Add(parm1);
//cmd.Parameters.Add(parm2);
//cmd.Parameters.Add(parm3);
//cmd.Parameters.Add(parm4);
//cmd.Parameters.Add(parm5);
//cmd.Parameters.Add(parm6);
//cmd.Parameters.Add(parm7);
//cmd.Parameters.Add(parm8);
//cmd.Parameters.Add(parm9);
//int rowsUpdated = cmd.ExecuteNonQuery();
string testName = string.Format("Q{0}", q);
double Q_wm = 0;
double Err_wm = 0;
double testTime = 0;
bool wm_Passed = true;
///
foreach (var rslt in results)
{
if (rslt.TestName.Equals(testName))
{
testTime = rslt.Meters[wmNr].Time;
if (testTime > 1E-10) Q_wm = 3600.0 * rslt.Meters[wmNr].VolumeMeter / testTime;
Err_wm = rslt.Meters[wmNr].VolumeErrorPct;
wm_Passed = rslt.Meters[wmNr].Passed;
}
}
OracleTransaction transaction = conn.BeginTransaction();
try
{
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "UPDATE VT_ZAEHLER_PD SET Auftragsnummer = :1, VT_Identnummer = :2, Max_Pruefindex = :4, Zaehlernummer = :5, Sekundaere_Adr= :6, Hydr_Pruefung= :7, ID_Benutzer= :8, Baujahr= :10 WHERE VT_Fernum = :3 and ANBID = :9";
cmd.Parameters.Add(parm1);
cmd.Parameters.Add(parm2);
cmd.Parameters.Add(parm3);
cmd.Parameters.Add(parm4);
cmd.Parameters.Add(parm5);
cmd.Parameters.Add(parm6);
cmd.Parameters.Add(parm7);
cmd.Parameters.Add(parm8);
cmd.Parameters.Add(parm9);
cmd.Parameters.Add(parm10);
int rowsUpdated = cmd.ExecuteNonQuery();
int qq = (q == 0) ? -1 : ((q == 3 && dbCfg.DBUsed == DBUsed.Test) ? 5 : q);
transaction.Commit();
}
catch
{
transaction.Rollback();
}
OracleCommand cmd = new OracleCommand("INSERT INTO VT_PRUEFREIHE_IST_PD(" +
"VT_Fernum, Pruefindex, PruefungsNr, ANBID, ID_WZTyp, Rev_WZTyp, Rev_WZPruefpunkt, " +
"Q_WZ, Q_Fehler, Q_Best, NIZ, AnfangZStand, EndZStand, " +
"KorrErrQok, KorrErrQ, KorrQWz, TIZ, Vol_WZ_US, TempMittel_US)" +
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, 0, 0, 0, :14, 0, 0)", conn);
OracleParameter parm;
parm = new OracleParameter("VT_Fernum", OracleDbType.Varchar2); parm.Value = pcbNr; cmd.Parameters.Add(parm); ///:1
parm = new OracleParameter("Pruefindex", OracleDbType.Int32); parm.Value = MAX_Pruefindex % 100; cmd.Parameters.Add(parm); ///:2
parm = new OracleParameter("PruefungsNr", OracleDbType.Int32); parm.Value = qq; cmd.Parameters.Add(parm); ///:3
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm); ///:4
parm = new OracleParameter("ID_WZTyp", OracleDbType.Int32); parm.Value = wMtr.WMType_ID; cmd.Parameters.Add(parm); ///:5
parm = new OracleParameter("Rev_WZTyp", OracleDbType.Int32); parm.Value = wMtr.WMType_Rev; cmd.Parameters.Add(parm); ///:6
parm = new OracleParameter("Rev_WZPruefpunkt", OracleDbType.Int32); parm.Value = 1; cmd.Parameters.Add(parm); ///:7
parm = new OracleParameter("Q_WZ", OracleDbType.Double); parm.Value = Q_wm; cmd.Parameters.Add(parm); ///:8
parm = new OracleParameter("Q_Fehler", OracleDbType.Double); parm.Value = Err_wm; cmd.Parameters.Add(parm); ///:9
parm = new OracleParameter("Q_Best", OracleDbType.Int32); parm.Value = wm_Passed ? 1 : 0; cmd.Parameters.Add(parm); ///:10
parm = new OracleParameter("NIZ", OracleDbType.Int32); parm.Value = 0; cmd.Parameters.Add(parm); ///:11
parm = new OracleParameter("AnfangZStand", OracleDbType.Double); parm.Value = 0;/*TODO*/ cmd.Parameters.Add(parm); ///:12
parm = new OracleParameter("EndZStand", OracleDbType.Double); parm.Value = 0;/*TODO*/ cmd.Parameters.Add(parm); ///:13
/// KorrErrQok
/// KorrErrQ
/// KorrQWz
parm = new OracleParameter("TIZ", OracleDbType.Double); parm.Value = testTime; cmd.Parameters.Add(parm);
/// Vol_WZ_US
/// TempMittel_US
int rowsUpdated = cmd.ExecuteNonQuery();
}
{
int Q2CorrFlowRight;
if (wMtr.CalibrationStruct.FlowArrow == WaterMeters.iPerl.FlowArrow.Left)
{
Q2CorrFlowRight = wMtr.PositiveCounting ? 1 : 2;
}
else
{
Q2CorrFlowRight = wMtr.PositiveCounting ? 2 : 1;
}
OracleCommand cmd = new OracleCommand("INSERT INTO VT_IP_ZAEHLER_PINDEX_PD(" +
"VT_Fernum, Pruefindex, ANBID, WITHCORRECTION2HZ, CORRECTION2HZ, DIFF2HZ8HZ, " +
"WITHQ2CORRECTION, ERRQ2, Q2CORRECTIONFLOWRIGHT, Q2CORRECTIONLEFT, Q2CORRECTIONRIGHT)" +
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11)", conn);
OracleParameter parm;
parm = new OracleParameter("VT_Fernum", OracleDbType.Varchar2); parm.Value = pcbNr; cmd.Parameters.Add(parm); ///:1
parm = new OracleParameter("Pruefindex", OracleDbType.Int32); parm.Value = MAX_Pruefindex % 100; cmd.Parameters.Add(parm); ///:2
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm); ///:3
parm = new OracleParameter("WITHCORRECTION2HZ", OracleDbType.Int32); parm.Value = 0; cmd.Parameters.Add(parm); ///:4
parm = new OracleParameter("CORRECTION2HZ", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:5
parm = new OracleParameter("DIFF2HZ8HZ", OracleDbType.Double); parm.Value = 0; cmd.Parameters.Add(parm); ///:6
parm = new OracleParameter("WITHQ2CORRECTION", OracleDbType.Int32); parm.Value = wMtr.Q2CorrectionDone ? 1 : 0; cmd.Parameters.Add(parm); ///:7
parm = new OracleParameter("ERRQ2", OracleDbType.Double); parm.Value = wMtr.Q2ErrorWOCorrection; cmd.Parameters.Add(parm); ///:8
parm = new OracleParameter("Q2CORRECTIONFLOWRIGHT", OracleDbType.Int32); parm.Value = Q2CorrFlowRight;/*1=right to left*/ cmd.Parameters.Add(parm); ///:9
parm = new OracleParameter("Q2CORRECTIONLEFT", OracleDbType.Int32); parm.Value = (int)Math.Round(wMtr.CurrentQ2Correction); cmd.Parameters.Add(parm); ///:10
parm = new OracleParameter("Q2CORRECTIONRIGHT", OracleDbType.Int32); parm.Value = (int)Math.Round(wMtr.CurrentQ2Correction / 2); cmd.Parameters.Add(parm); ///:11
int rowsUpdated = cmd.ExecuteNonQuery();
}
transaction.Commit();
}
}
catch (Exception exc)
{
log.ErrorFormat("Exception in SaveSingleWM2DB(), data not saved!, pcbNr={0}, msg={1}", pcbNr, exc.Message);
transaction.Rollback();
}
}
/// <summary>
@@ -0,0 +1,667 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using log4net;
using TBF.Resources;
namespace TBF.BenchControl.DataEntry.Standard24
{
public partial class AdvancedFixedStartTestForm : Form, GenericDevices.IHasCompleted
{
private static readonly ILog log = LogManager.GetLogger(typeof(AdvancedFixedStartTestForm));
// Set to 'true' when the form closes
public bool Completed { get { return completed; } }
bool completed;
/// <summary> Number of text boxes for serial numbers </summary>
public readonly int WaterMetersCount;
readonly bool[] disabled;
// To be retrieved after the form closes
public float[] WMStartState;
// To be retrieved after the form closes
public readonly string[] WMStartStateStr;
// To be retrieved after the form closes
public float[] WMEndState;
bool endStates; /// false=start states, true=end states
float refVolume;
float warningLimLo; /// limit to display exclamation mark, typically 2x errLimLo
float warningLimHi; /// limit to display exclamation mark, typically 2x errLimHi
int TextBoxesCount;
///
Label[] labels;
TextBox[] startTextBoxes;
TextBox[] mid1TextBoxes;
TextBox[] mid2TextBoxes;
TextBox[] endTextBoxes;
IList<TextBox> enabledTextBoxes;
/// <summary>
/// Parameterless constructor initializing common part for start and endstate form
/// </summary>
public AdvancedFixedStartTestForm()
{
InitializeComponent();
TextBoxesCount = 24;
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,
};
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,
};
mid1TextBoxes = new TextBox[]
{
mid1TextBox1, mid1TextBox2, mid1TextBox3, mid1TextBox4, mid1TextBox5, mid1TextBox6,
mid1TextBox7, mid1TextBox8, mid1TextBox9, mid1TextBox10, mid1TextBox11, mid1TextBox12,
mid1TextBox13, mid1TextBox14, mid1TextBox15, mid1TextBox16, mid1TextBox17, mid1TextBox18,
mid1TextBox19, mid1TextBox20, mid1TextBox21, mid1TextBox22, mid1TextBox23, mid1TextBox24,
};
mid2TextBoxes = new TextBox[]
{
mid2TextBox1, mid2TextBox2, mid2TextBox3, mid2TextBox4, mid2TextBox5, mid2TextBox6,
mid2TextBox7, mid2TextBox8, mid2TextBox9, mid2TextBox10, mid2TextBox11, mid2TextBox12,
mid2TextBox13, mid2TextBox14, mid2TextBox15, mid2TextBox16, mid2TextBox17, mid2TextBox18,
mid2TextBox19, mid2TextBox20, mid2TextBox21, mid2TextBox22, mid2TextBox23, mid2TextBox24,
};
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,
};
enabledTextBoxes = new List<TextBox>();
completed = false;
StartForceCloseHandler();
}
/// <summary>
/// Constructor to fill in start states
/// </summary>
/// <param name="waterMetersCount">Number of water meters</param>
/// <param name="disabled">Information from CycleBeginningForm about availability of water meters</param>
public AdvancedFixedStartTestForm(int waterMetersCount, bool[] disabled)
: this()
{
endStates = false;
this.WaterMetersCount = waterMetersCount;
this.disabled = disabled;
ShuffleTextBoxes();
WMStartState = new float[waterMetersCount];
WMStartStateStr = new string[waterMetersCount];
}
/// <summary>
/// Constructor to fill in end states
/// </summary>
/// <param name="waterMetersCount">Number of water meters</param>
/// <param name="wmStartStateStr">Information entered on test start</param>
/// <param name="disabled">Information from CycleBeginningForm about availability of water meters</param>
/// <param name="refVolume">Reference volume, it is used to verify the end state, show/hide exclamation if necessary</param>
/// <param name="errLimLo">Error limit low, it is used to verify the end state, show/hide exclamation if necessary</param>
/// <param name="errLimHi">Error limit high, it is used to verify the end state, show/hide exclamation if necessary</param>
public AdvancedFixedStartTestForm(int waterMetersCount, string[] wmStartStateStr, bool[] disabled,
float refVolume, float errLimLo, float errLimHi)
: this()
{
endStates = true;
this.WaterMetersCount = waterMetersCount;
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 float[waterMetersCount];
}
/// <summary>
/// Make sure the layout of labels/text boxes on the screen
/// corresponds to the layout of watermeters of the test bench.
/// </summary>
void ShuffleTextBoxes()
{
if (Program.WMsCount < TextBoxesCount)
{
int nrLines = Program.WMsCount / Program.LineSize;
int gap = (TextBoxesCount - Program.WMsCount) / nrLines;
int dest = 0;
for (int l = 0; l < nrLines; l++)
{
for (int i = 0; i < Program.LineSize; i++)
{
labels[dest] = labels[l * Program.LineSize + l * gap + i];
startTextBoxes[dest] = startTextBoxes[l * Program.LineSize + l * gap + i];
mid1TextBoxes[dest] = mid1TextBoxes[l * Program.LineSize + l * gap + i];
mid2TextBoxes[dest] = mid2TextBoxes[l * Program.LineSize + l * gap + i];
endTextBoxes[dest] = endTextBoxes[l * Program.LineSize + l * gap + i];
dest++;
}
}
TextBoxesCount = Program.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 = mid1TextBoxes[i].Visible = mid2TextBoxes[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 = Strings.Water_Meter + " " + (i + 1).ToString();
}
startLabel.Text = Strings.Start;
endLabel.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.ParseUFloat(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.ParseUFloat(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<EventArgs>(OnForceClose), sender, args); }
else OnForceClose(sender, args);
};
}
void OnForceClose(object sender, EventArgs args)
{
DialogResult = DialogResult.Cancel;
Close();
}
#endregion
/// <summary>
/// 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).
/// </summary>
private void endTextBox1_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox1.Text);
float startState = Utils.ParseUFloat(startTextBox1.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { };
exclamation1.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox2_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox2.Text);
float startState = Utils.ParseUFloat(startTextBox2.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation2.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox3_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox3.Text);
float startState = Utils.ParseUFloat(startTextBox3.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation3.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox4_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox4.Text);
float startState = Utils.ParseUFloat(startTextBox4.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation4.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox5_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox5.Text);
float startState = Utils.ParseUFloat(startTextBox5.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation5.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox6_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox6.Text);
float startState = Utils.ParseUFloat(startTextBox6.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation6.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox7_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox7.Text);
float startState = Utils.ParseUFloat(startTextBox7.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation7.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox8_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox8.Text);
float startState = Utils.ParseUFloat(startTextBox8.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation8.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox9_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox9.Text);
float startState = Utils.ParseUFloat(startTextBox9.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation9.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox10_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox10.Text);
float startState = Utils.ParseUFloat(startTextBox10.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation10.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox11_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox11.Text);
float startState = Utils.ParseUFloat(startTextBox11.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation11.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox12_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox12.Text);
float startState = Utils.ParseUFloat(startTextBox12.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation12.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox13_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox13.Text);
float startState = Utils.ParseUFloat(startTextBox13.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation13.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox14_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox14.Text);
float startState = Utils.ParseUFloat(startTextBox14.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation14.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox15_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox15.Text);
float startState = Utils.ParseUFloat(startTextBox15.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation15.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox16_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox16.Text);
float startState = Utils.ParseUFloat(startTextBox16.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation16.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox17_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox17.Text);
float startState = Utils.ParseUFloat(startTextBox17.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation17.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox18_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox18.Text);
float startState = Utils.ParseUFloat(startTextBox18.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation18.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox19_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox19.Text);
float startState = Utils.ParseUFloat(startTextBox19.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation19.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox20_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox20.Text);
float startState = Utils.ParseUFloat(startTextBox20.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation20.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox21_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox21.Text);
float startState = Utils.ParseUFloat(startTextBox21.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation21.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox22_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox22.Text);
float startState = Utils.ParseUFloat(startTextBox22.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation22.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox23_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox23.Text);
float startState = Utils.ParseUFloat(startTextBox23.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation23.Visible = (err < warningLimLo) || (warningLimHi < err);
}
private void endTextBox24_TextChanged(object sender, EventArgs e)
{
float err = 0;
try
{
float endState = Utils.ParseUFloat(endTextBox24.Text);
float startState = Utils.ParseUFloat(startTextBox24.Text);
err = 100.0f * (endState - startState - refVolume) / refVolume;
}
catch { err = 1000.0f; };
exclamation24.Visible = (err < warningLimLo) || (warningLimHi < err);
}
/// <summary>
/// Process a key press within any enabled text boxe
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
/// <param name="currentFocusOwner">TextBox control which received the event</param>
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 <enter> 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 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); }
}
}
File diff suppressed because it is too large Load Diff
@@ -117,10 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>&amp;Abbrechen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Ein unbehandelter Fehler ist aufgetreten!</value>
</data>
</root>
@@ -73,6 +73,7 @@ namespace TBF.BenchControl.Elde
private bool scheduleDiverterToTank;
private bool scheduleDiverterToSink;
private bool scheduleReadDiverterTransition;
private bool pumpPowerChanged;
///
public void DiverterToTank(int flowmeterNr)
{
@@ -151,19 +152,33 @@ namespace TBF.BenchControl.Elde
public void SetFMFreq(int index, float power)
{
#if DN100 || MUNICH || FUZHOU150
if ((FMFreq == null) || (FMFreq.Length != 2)) FMFreq = new float[2];
if ((FMFreq == null) || (FMFreq.Length != 2))
{
FMFreq = new float[2];
pumpPowerChanged = true; /// Forces sending a command using Command.None
}
#else /// all newer benches
if ((FMFreq == null) || (FMFreq.Length != 6)) FMFreq = new float[6];
if ((FMFreq == null) || (FMFreq.Length != 6))
{
FMFreq = new float[6];
pumpPowerChanged = true; /// Forces sending a command using Command.None
}
#endif
if (index >= 0 && index < FMFreq.Length) FMFreq[index] = power;
log.DebugFormat("FMFreq=[{0}{1}{2}{3}{4}{5}]",
FMFreq[0].ToString(),
(FMFreq.Length > 1) ? ("," + FMFreq[1].ToString()) : "",
(FMFreq.Length > 2) ? ("," + FMFreq[2].ToString()) : "",
(FMFreq.Length > 3) ? ("," + FMFreq[3].ToString()) : "",
(FMFreq.Length > 4) ? ("," + FMFreq[4].ToString()) : "",
(FMFreq.Length > 5) ? ("," + FMFreq[5].ToString()) : "");
if (index >= 0 && index < FMFreq.Length && FMFreq[index] != power)
{
FMFreq[index] = power;
pumpPowerChanged = true; /// Forces sending a command using Command.None
log.DebugFormat("FMFreq=[{0}{1}{2}{3}{4}{5}]",
FMFreq[0].ToString(),
(FMFreq.Length > 1) ? ("," + FMFreq[1].ToString()) : "",
(FMFreq.Length > 2) ? ("," + FMFreq[2].ToString()) : "",
(FMFreq.Length > 3) ? ("," + FMFreq[3].ToString()) : "",
(FMFreq.Length > 4) ? ("," + FMFreq[4].ToString()) : "",
(FMFreq.Length > 5) ? ("," + FMFreq[5].ToString()) : "");
}
}
public void UpdateWeights()
@@ -322,6 +337,13 @@ namespace TBF.BenchControl.Elde
this.stopDevs = 0;
scheduleReadDiverterTransition = false;
}
else if (pumpPowerChanged)
{
/// Reset all SendCommand() arguments
sendCommandFlag = true;
this.cmd = Command.None;
pumpPowerChanged = false;
}
else
{
/// Reset all SendCommand() arguments
@@ -37,15 +37,18 @@ namespace TBF.BenchControl.Elde.RegulValve
enum OpState
{
Idle = 0,
ValveMoveToPosition,
Wait1, /// This is actual move to position
ValveMoveToPosition1, /// Wait 1 takt
ValveMoveToPosition2, /// This is actual move to position
ValveMoveToPosition3, /// Wait 1 takt
ValveMoveToPosition4, /// Verify
SettingPosition,
ValveMoveToFlow,
Wait2, /// This is actual move to flow
Wait3,
ValveMoveToFlow2, /// This is move to flow 2
ValveMoveToFlow1, /// Wait 1 takt
ValveMoveToFlow2, /// This is actual move to flow
ValveMoveToFlow3, /// Wait 1 takt
ValveMoveToFlow4, /// Verify
SettingFlow,
FlowReached,
SendCommandAgain,
}
OpState opState;
@@ -172,14 +175,14 @@ namespace TBF.BenchControl.Elde.RegulValve
log.InfoFormat("Start(): rv#={0} flowMtr#={1} TARGET: flowLo={2} flowHi={3} FETCHED: posLo={4} posHi={5}",
regulValveNr, flowMeterNr, reqFlowLo, reqFlowHi, targetPositionLo, targetPositionHi);
opState = OpState.ValveMoveToPosition;
opState = OpState.ValveMoveToPosition1;
}
else
{
log.InfoFormat("Start(): rv#={0} flowMtr#={1} TARGET: flowLo={2} flowHi={3}",
regulValveNr, flowMeterNr, reqFlowLo, reqFlowHi);
opState = OpState.ValveMoveToFlow;
opState = OpState.ValveMoveToFlow1;
}
expireTime = StateMachine.Time + timeout;
@@ -207,67 +210,94 @@ namespace TBF.BenchControl.Elde.RegulValve
log.InfoFormat("Run(): rv#={0} pos={1}% freq={2} flow={3} opState={4}",
regulValveNr, rvPosition.ToString("F1"), flowMtrFreq, flow, opState);
if (opState == OpState.ValveMoveToPosition)
if (opState == OpState.SendCommandAgain)
{
opState = OpState.Wait1;
flowWithinBoundsTime = 0;
if (regulValve.RegulValveCfg.StoredPositionReuse && FetchTargetPosition(reqFlowAve, out targetPositionLo, out targetPositionHi))
{
log.InfoFormat("Start(): rv#={0} flowMtr#={1} TARGET: flowLo={2} flowHi={3} FETCHED: posLo={4} posHi={5}",
regulValveNr, flowMeterNr, reqFlowLo, reqFlowHi, targetPositionLo, targetPositionHi);
opState = OpState.ValveMoveToPosition1;
}
else
{
log.InfoFormat("Start(): rv#={0} flowMtr#={1} TARGET: flowLo={2} flowHi={3}",
regulValveNr, flowMeterNr, reqFlowLo, reqFlowHi);
opState = OpState.ValveMoveToFlow1;
}
expireTime = StateMachine.Time + timeout;
if (expireTime < 0) expireTime = int.MaxValue;
TestMethods tm = 0;
StopDevs sd = 0;
// '_regulValve.RegulValveCfg.PidCoef' replaced by a casted operation parameter 'pidCoef'
controlBoard.SendCommand(Command.Start, flowMeterNr, controlBoard.Route, int.MaxValue, tm,
0.0f, (int)pidCoef, 0, sd);
return Event.None;
}
else if (opState == OpState.Wait1) /// Move to position
else if (opState == OpState.ValveMoveToPosition1)
{
///
/// Done once, issues an appropriate ValveMove(...) command
///
opState = OpState.ValveMoveToPosition2;
return Event.None;
}
else if (opState == OpState.ValveMoveToPosition2) /// Move to position
{
/// Issues the appropriate ValveMove(...) command
controlBoard.ValveMove(regulValveNr, RegulValveMode.TargetPosition,
new float[2] { targetPositionLo, targetPositionHi },
regulValve.StableTime);
regulValve.StableTime);
opState = OpState.SettingPosition;
return Event.None;
}
else if (opState == OpState.ValveMoveToPosition3)
{
opState = OpState.ValveMoveToPosition4;
return Event.None;
}
else if (opState == OpState.ValveMoveToPosition4) /// Verify
{
if (((ulong)controlBoard.StatusP & (ulong)StatusP.RefPulsesMsrmnt) == 0)
{
opState = OpState.SendCommandAgain;
return Event.None;
}
else if (controlBoard.RegulValveState(regulValveNr) != RegulValveState.DacValueRegul)
{
/// Repeat appropriate ValveMove(...) command
controlBoard.ValveMove(regulValveNr, RegulValveMode.TargetPosition,
new float[2] { targetPositionLo, targetPositionHi },
regulValve.StableTime);
opState = OpState.ValveMoveToPosition3;
return Event.None;
}
else
{
opState = OpState.SettingPosition;
return Event.None;
}
}
else if (opState == OpState.SettingPosition)
{
///
/// Repeated untill position is reached
///
if ((targetPositionLo <= rvPosition) && (rvPosition <= targetPositionHi))
{
opState = OpState.ValveMoveToFlow;
}
return Event.None;
}
else if (opState == OpState.ValveMoveToFlow)
{
opState = OpState.Wait2;
if ((targetPositionLo <= rvPosition) && (rvPosition <= targetPositionHi))
{
opState = OpState.ValveMoveToFlow1;
}
return Event.None;
}
else if (opState == OpState.Wait2) /// Move to flow
{
///
/// Done once, issues an appropriate ValveMove(...) command
///
if (reqFlowLo >= reqFlowHi || reqFlowLo > nominalFlow || reqFlowHi <= 0)
{
return Event.OpArgumentError;
}
log.InfoFormat("Run(): rv#={0} flowMtr#={1} TARGET: flowLo={2} flowHi={3}",
regulValveNr, flowMeterNr, reqFlowLo, reqFlowHi);
float freqLo = 2000.0f * reqFlowLo / nominalFlow;
float freqHi = 2000.0f * reqFlowHi / nominalFlow;
controlBoard.ValveMove(regulValveNr, RegulValveMode.TargetFrequency,
new float[2] { freqLo, freqHi },
regulValve.StableTime);
opState = OpState.Wait3;
return Event.None;
}
else if (opState == OpState.Wait3)
else if (opState == OpState.ValveMoveToFlow1)
{
opState = OpState.ValveMoveToFlow2;
return Event.None;
}
else if (opState == OpState.ValveMoveToFlow2)
else if (opState == OpState.ValveMoveToFlow2) /// Move to flow
{
///
/// Done once, issues an appropriate ValveMove(...) command
@@ -286,9 +316,39 @@ namespace TBF.BenchControl.Elde.RegulValve
new float[2] { freqLo, freqHi },
regulValve.StableTime);
opState = OpState.SettingFlow;
opState = OpState.ValveMoveToFlow3;
return Event.None;
}
else if (opState == OpState.ValveMoveToFlow3)
{
opState = OpState.ValveMoveToFlow4;
return Event.None;
}
else if (opState == OpState.ValveMoveToFlow4)
{
if (((ulong)controlBoard.StatusP & (ulong)StatusP.RefPulsesMsrmnt) == 0)
{
opState = OpState.SendCommandAgain;
return Event.None;
}
else if (controlBoard.RegulValveState(regulValveNr) != RegulValveState.PwOrFreqRegul)
{
/// Done once, issues an appropriate ValveMove(...) command
float freqLo = 2000.0f * reqFlowLo / nominalFlow;
float freqHi = 2000.0f * reqFlowHi / nominalFlow;
controlBoard.ValveMove(regulValveNr, RegulValveMode.TargetFrequency,
new float[2] { freqLo, freqHi },
regulValve.StableTime);
opState = OpState.ValveMoveToFlow3;
return Event.None;
}
else
{
opState = OpState.SettingFlow;
return Event.None;
}
}
else if (opState == OpState.SettingFlow)
{
///
@@ -296,33 +356,33 @@ namespace TBF.BenchControl.Elde.RegulValve
///
if ((reqFlowLo <= flow) && (flow <= reqFlowHi))
{
if (flowWithinBoundsTime++ >= regulValve.FlowStableSec)
{
if (regulValve.RegulValveCfg.StoredPositionReuse)
{
float storedPosition;
if (regulValve.Dict.TryGetValue(reqFlowAve, out storedPosition))
{
/// update the stored valve position
StoreTargetPosition(reqFlowAve, (rvPosition + storedPosition) / 2.0f);
log.InfoFormat("Run(): rv#={0} reqFlow={1} pos={2}% stored={3} <--- Updating a stored position",
regulValveNr, reqFlowAve, rvPosition.ToString("F1"), storedPosition);
}
else
{
/// store the valve position
StoreTargetPosition(reqFlowAve, rvPosition);
log.InfoFormat("Run(): rv#={0} reqFlow={1} pos={2}% <--- Storing a new position",
regulValveNr, reqFlowAve, rvPosition.ToString("F1"));
}
}
opState = OpState.FlowReached;
return Event.FlowReached;
}
else
{
return Event.None;
}
if (flowWithinBoundsTime++ >= regulValve.FlowStableSec)
{
if (regulValve.RegulValveCfg.StoredPositionReuse)
{
float storedPosition;
if (regulValve.Dict.TryGetValue(reqFlowAve, out storedPosition))
{
/// update the stored valve position
StoreTargetPosition(reqFlowAve, (rvPosition + storedPosition) / 2.0f);
log.InfoFormat("Run(): rv#={0} reqFlow={1} pos={2}% stored={3} <--- Updating a stored position",
regulValveNr, reqFlowAve, rvPosition.ToString("F1"), storedPosition);
}
else
{
/// store the valve position
StoreTargetPosition(reqFlowAve, rvPosition);
log.InfoFormat("Run(): rv#={0} reqFlow={1} pos={2}% <--- Storing a new position",
regulValveNr, reqFlowAve, rvPosition.ToString("F1"));
}
}
opState = OpState.FlowReached;
return Event.FlowReached;
}
else
{
return Event.None;
}
}
else if (StateMachine.Time > expireTime)
{
@@ -330,7 +390,7 @@ namespace TBF.BenchControl.Elde.RegulValve
}
else
{
flowWithinBoundsTime = 0;
flowWithinBoundsTime = 0;
return Event.None;
}
}
@@ -13,6 +13,6 @@ namespace TBF.BenchControl.GenericDevices
/// </summary>
/// <param name="results">Results to write into a file</param>
/// <returns>Reference to the operation</returns>
IOperation WriteResultsOp(Entities.Procedure procedure, IList<Entities.TestResult> results);
IOperation WriteResultsOp(Entities.Procedure procedure, IList<IWaterMeter> waterMeters, IList<Entities.TestResult> results);
}
}
@@ -136,7 +136,7 @@ namespace TBF.BenchControl.ResultsWriters.Basic
/// <param name="procedure">Procedure to print the results of</param>
/// <param name="unsortedResults">Results to write into the file</param>
/// <returns>Reference to the operation</returns>
public IOperation WriteResultsOp(Entities.Procedure procedure, IList<Entities.TestResult> unsortedResults)
public IOperation WriteResultsOp(Entities.Procedure procedure, IList<GenericDevices.IWaterMeter> waterMeters, IList<Entities.TestResult> unsortedResults)
{
if ((procedure == null) || (unsortedResults == null) || (unsortedResults.Count < 1))
{
@@ -137,8 +137,7 @@ namespace TBF.BenchControl.Sequences
startNew.EnterState();
do
{
Bridge.OnActivity(this, string.Format("{0}, {1} {2} {3}", Strings.Emptying_tank,
Strings.remaining_time, remainingTime.Val.ToString(), Strings.sec));
Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Emptying_tank, remainingTime.Val / 60, "min", remainingTime.Val % 60, Strings.sec));
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) goto error;
@@ -598,7 +597,7 @@ namespace TBF.BenchControl.Sequences
State savingAndPrintingRslts = State.Create("MainSeq : Saving and printing results");
if (writer != null)
{
savingAndPrintingRslts.AddOperation(writer.WriteResultsOp(StateMachine.Procedure, results));
savingAndPrintingRslts.AddOperation(writer.WriteResultsOp(StateMachine.Procedure, WaterMeters, results));
}
if (printer != null && !printer.SupressPrinting)
{
@@ -837,7 +837,7 @@ namespace TBF.BenchControl.Sequences
sb.Append(";"); sb.Append("60");
sb.Append(";"); sb.Append("0");
sb.Append(";"); sb.Append("0");
sb.Append(";"); sb.Append("2");
sb.Append(";"); sb.Append(outPath.FlowMeter.Idx1);
sb.Append(";"); sb.Append(" ");
sb.Append(";"); if (outPath.Balance != null) sb.Append(outPath.Balance.Name);
sb.Append(";"); sb.Append(tstRslt.AmbientTempAve);
@@ -868,8 +868,8 @@ namespace TBF.BenchControl.Sequences
sb.Append(";"); sb.Append(tstRslt.DensityOut);
sb.Append(";"); sb.Append(" "); /// d_air: Hustota vzduchu: Sheet1 - K9
sb.Append(";"); sb.Append(" "); /// Buoyancy: Sheet1 - X9
sb.Append(";"); sb.Append(" "); /// Exp T: teraz vynechat
sb.Append(";"); sb.Append(" "); /// Exp P: teraz vynechat
sb.Append(";"); sb.Append(Program.LocalSettings.RealDensity);
sb.Append(";"); sb.Append(Program.LocalSettings.AtTemperature);
sb.Append(";"); sb.Append(" "); /// pipe expansion: teraz vynechat
sb.Append(";"); sb.Append(tstRslt.FlowMass); /// Qm [kg/h]
sb.Append(";"); sb.Append(tstRslt.FlowVolume); /// Qv [l/h]
@@ -34,8 +34,9 @@ namespace TBF.BenchControl
Factories.Add(new DataEntry.Standard24.EntryFormFactory());
Factories.Add(new DataEntry.Standard48.EntryFormFactory());
Factories.Add(new Elde.Diverter.DiverterFactory());
Factories.Add(new TestMethods.FixedStartAdvanced.TestMethodFactory()); /// FixedStartAdvanced
Factories.Add(new TestMethods.FixedStartCombinedMeters.TestMethodFactory());
Factories.Add(new TestMethods.FixedStartMassCollection.TestMethodFactory());
Factories.Add(new TestMethods.FixedStartMassCollection.TestMethodFactory()); /// FixedStartMassCollection
Factories.Add(new Elde.FixedStartRegisterReader.RegisterReaderFactory());
Factories.Add(new Elde.FlowMeter.FlowMeterFactory());
Factories.Add(new Elde.FlowMeterTwins.FlowMeterFactory());
@@ -384,7 +384,7 @@ namespace TBF.BenchControl
const ulong Path1 = VI1;
const ulong Path2 = VI2;
const ulong Path3 = VI3;
const ulong Path3 = VI4;
const ulong Path4 = VI4;
const ulong Path5 = 0;
#elif TORUN_PT50_2015 || IPERLST
const ulong VL11 = (1L << 0);
@@ -24,10 +24,14 @@ namespace TBF.BenchControl.TestMethods.Adjustment
{
#pragma warning disable 162 /// Disables 'Unreachable code detected' warning
if (Program.WMsCount > 6)
if (Program.WMsCount > 12)
{
myRef.modelessDlg = new WMErrorsForm24(waterMeters);
}
else if (Program.WMsCount > 6)
{
myRef.modelessDlg = new WMErrorsForm12(waterMeters);
}
else
{
myRef.modelessDlg = new WMErrorsForm(waterMeters);
@@ -0,0 +1,240 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using log4net;
using TBF.Resources;
namespace TBF.BenchControl.TestMethods.Adjustment
{
public partial class WMErrorsForm12 : Form, GenericDevices.IHasCompleted
{
private static readonly ILog log = LogManager.GetLogger(typeof(WMErrorsForm12));
const int MaxWMsCount = 12; /// Implementation limit of this form
// Set to 'true' when the form closes
public bool Completed { get { return completed; } }
bool completed;
/// <summary> Number of text boxes for serial numbers </summary>
readonly int waterMetersCount;
readonly bool[] disabled;
Entities.TestResult tr;
int textBoxesCount;
Label[] labels;
TextBox[] errors;
Rectangle[] rects;
/// <summary> Parameterless constructor for 3 watermeters </summary>
public WMErrorsForm12()
{
InitializeComponent();
textBoxesCount = MaxWMsCount;
labels = new Label[MaxWMsCount]
{
wmErrorLabel1, wmErrorLabel2, wmErrorLabel3, wmErrorLabel4, wmErrorLabel5,
wmErrorLabel6, wmErrorLabel7, wmErrorLabel8, wmErrorLabel9, wmErrorLabel10,
wmErrorLabel11, wmErrorLabel12,
};
errors = new TextBox[MaxWMsCount]
{
wmErrorTextBox1, wmErrorTextBox2, wmErrorTextBox3, wmErrorTextBox4, wmErrorTextBox5,
wmErrorTextBox6, wmErrorTextBox7, wmErrorTextBox8, wmErrorTextBox9, wmErrorTextBox10,
wmErrorTextBox11, wmErrorTextBox12,
};
rects = new Rectangle[MaxWMsCount];
for (int i = 0; i < MaxWMsCount; i++)
{
int row = i % 12;
int col = i / 12;
rects[i] = new Rectangle(350 + col * 557, 25 + row * 47, 230, 37);
}
completed = false;
tr = null;
/// Attach to 'AdjustmentInProgress' handler
UiBridge.Bridge.AdjustmentInProgressHandler += delegate(object sender, UiBridge.AdjustmentInProgressEventArgs args)
{
if (InvokeRequired)
{
Invoke(new EventHandler<UiBridge.AdjustmentInProgressEventArgs>(OnAdjustmentInProgress), sender, args);
}
else OnAdjustmentInProgress(sender, args);
};
}
/// <summary>
/// Constructor
/// </summary>
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
public WMErrorsForm12(IList<GenericDevices.IWaterMeter> waterMeters)
: this()
{
waterMetersCount = waterMeters.Count;
ShuffleTextBoxes(waterMetersCount, Program.LineSize);
disabled = new bool[waterMetersCount];
for (int i = 0; i < waterMetersCount; i++) disabled[i] = waterMeters[i].Disabled;
}
/// <summary>
/// Make sure the layout of labels/text boxes on the screen
/// corresponds to the layout of watermeters of the test bench.
/// </summary>
/// <param name="wmsCount">Number of watermeters</param>
/// <param name="lineSize">Number of watermeters in one line</param>
void ShuffleTextBoxes(int wmsCount, int lineSize)
{
if (wmsCount < textBoxesCount && lineSize > 0)
{
int nrLines = (wmsCount + lineSize - 1) / lineSize;
int gap = (textBoxesCount - wmsCount) / nrLines;
int dest = 0;
for (int l = 0; l < nrLines; l++)
{
for (int i = 0; i < lineSize; i++)
{
labels[dest] = labels[l * lineSize + l * gap + i];
errors[dest] = errors[l * lineSize + l * gap + i];
rects[dest] = rects[l * lineSize + l * gap + i];
dest++;
}
}
textBoxesCount = wmsCount;
}
}
void Localize()
{
Text = Strings.Water_Meter_States;
for (int i = 0; i < textBoxesCount; i++)
{
labels[i].Text = string.Format("WM{0} {1}", i + 1, Strings.Error_pct);
}
okButton.Text = Strings.OkBtnText;
}
private void WMErrorsForm12_Load(object sender, EventArgs e)
{
Localize();
//Height = 50 + 90 * WaterMetersCount;
for (int i = 0; i < textBoxesCount; i++)
{
labels[i].Visible = errors[i].Visible = (disabled == null || i >= disabled.Length || !disabled[i]);
errors[i].Text = "---";
}
}
private void okButton_Click(object sender, EventArgs e)
{
completed = true;
Close();
}
void OnAdjustmentInProgress(object sender, UiBridge.AdjustmentInProgressEventArgs args)
{
tr = args.TestResult;
Redraw();
}
void Redraw()
{
if (tr != null)
{
for (int i = 0; i < textBoxesCount; i++)
{
errors[i].Text = tr.Meters[i].VolumeErrorPct.ToString("F1");
Invalidate(rects[i]);
}
}
}
private void WMErrorsForm_Paint(object sender, PaintEventArgs e)
{
if (tr != null)
{
System.Drawing.Graphics graphics = this.CreateGraphics();
for (int i = 0; i < waterMetersCount; i++)
{
if (!disabled[i])
{
PaintOne(graphics, rects[i], tr.Meters[i].VolumeErrorPct, tr.ErrLimLo, tr.ErrLimHi);
}
}
}
}
void PaintOne(System.Drawing.Graphics g, Rectangle r, float value, float limLo, float limHi)
{
Rectangle rect1 = new Rectangle(r.Left, r.Top, r.Width / 3, r.Height);
Rectangle rect2 = new Rectangle(r.Left + r.Width / 3, r.Top, r.Width / 3, r.Height);
Rectangle rect3 = new Rectangle(r.Left + 2 * (r.Width / 3), r.Top, r.Width / 3, r.Height);
Rectangle rectCent = new Rectangle(r.Left + r.Width / 2 - 1, r.Top, 3, r.Height);
Brush redBrush = new SolidBrush(Color.FromName("Salmon"));
Brush greenBrush = new SolidBrush(Color.FromName("LightGreen"));
Brush centBrush = new SolidBrush(Color.FromName("Green"));
g.FillRectangle(redBrush, rect1);
g.FillRectangle(greenBrush, rect2);
g.FillRectangle(redBrush, rect3);
g.FillRectangle(centBrush, rectCent);
int x0 = r.Left + r.Width / 2;
int dx = r.Height / 3;
int x = (int)((float)r.Width * (2.0 * value - limLo - limHi) / (limHi - limLo) / 6.0f + 0.5f);
if (x0 - dx + x >= r.Left && x0 + dx + x < r.Left + r.Width)
{
Point[] triangle = new Point[3]
{
new Point(x0 - dx + x, r.Top),
new Point(x0 + dx + x, r.Top),
new Point(x0 + x, r.Top + 2 * r.Height / 3),
};
Brush blackBrush = new SolidBrush(Color.Black);
g.FillPolygon(blackBrush, triangle);
}
}
#region Forced close handling
public void StartForceCloseHandler()
{
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
{
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
else OnForceClose(sender, args);
};
}
void OnForceClose(object sender, EventArgs args)
{
DialogResult = DialogResult.Cancel;
Close();
}
#endregion
}
}
@@ -0,0 +1,385 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
///
namespace TBF.BenchControl.TestMethods.Adjustment
{
partial class WMErrorsForm12
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.wmErrorTextBox2 = new System.Windows.Forms.TextBox();
this.wmErrorLabel2 = new System.Windows.Forms.Label();
this.wmErrorLabel1 = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.wmErrorTextBox3 = new System.Windows.Forms.TextBox();
this.wmErrorLabel3 = new System.Windows.Forms.Label();
this.wmErrorTextBox4 = new System.Windows.Forms.TextBox();
this.wmErrorLabel4 = new System.Windows.Forms.Label();
this.wmErrorTextBox5 = new System.Windows.Forms.TextBox();
this.wmErrorLabel5 = new System.Windows.Forms.Label();
this.wmErrorTextBox6 = new System.Windows.Forms.TextBox();
this.wmErrorLabel6 = new System.Windows.Forms.Label();
this.wmErrorTextBox1 = new System.Windows.Forms.TextBox();
this.wmErrorTextBox7 = new System.Windows.Forms.TextBox();
this.wmErrorLabel7 = new System.Windows.Forms.Label();
this.wmErrorTextBox8 = new System.Windows.Forms.TextBox();
this.wmErrorLabel8 = new System.Windows.Forms.Label();
this.wmErrorTextBox9 = new System.Windows.Forms.TextBox();
this.wmErrorLabel9 = new System.Windows.Forms.Label();
this.wmErrorTextBox10 = new System.Windows.Forms.TextBox();
this.wmErrorLabel10 = new System.Windows.Forms.Label();
this.wmErrorTextBox12 = new System.Windows.Forms.TextBox();
this.wmErrorLabel12 = new System.Windows.Forms.Label();
this.wmErrorTextBox11 = new System.Windows.Forms.TextBox();
this.wmErrorLabel11 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// wmErrorTextBox2
//
this.wmErrorTextBox2.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox2.Location = new System.Drawing.Point(198, 74);
this.wmErrorTextBox2.Name = "wmErrorTextBox2";
this.wmErrorTextBox2.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox2.TabIndex = 1;
this.wmErrorTextBox2.Visible = false;
//
// wmErrorLabel2
//
this.wmErrorLabel2.AutoSize = true;
this.wmErrorLabel2.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel2.Location = new System.Drawing.Point(33, 85);
this.wmErrorLabel2.Name = "wmErrorLabel2";
this.wmErrorLabel2.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel2.TabIndex = 0;
this.wmErrorLabel2.Text = "Error [%]";
this.wmErrorLabel2.Visible = false;
//
// wmErrorLabel1
//
this.wmErrorLabel1.AutoSize = true;
this.wmErrorLabel1.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel1.Location = new System.Drawing.Point(33, 39);
this.wmErrorLabel1.Name = "wmErrorLabel1";
this.wmErrorLabel1.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel1.TabIndex = 0;
this.wmErrorLabel1.Text = "Error [%]";
this.wmErrorLabel1.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(601, 28);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(98, 63);
this.okButton.TabIndex = 7;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// wmErrorTextBox3
//
this.wmErrorTextBox3.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox3.Location = new System.Drawing.Point(198, 120);
this.wmErrorTextBox3.Name = "wmErrorTextBox3";
this.wmErrorTextBox3.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox3.TabIndex = 1;
this.wmErrorTextBox3.Visible = false;
//
// wmErrorLabel3
//
this.wmErrorLabel3.AutoSize = true;
this.wmErrorLabel3.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel3.Location = new System.Drawing.Point(33, 131);
this.wmErrorLabel3.Name = "wmErrorLabel3";
this.wmErrorLabel3.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel3.TabIndex = 0;
this.wmErrorLabel3.Text = "Error [%]";
this.wmErrorLabel3.Visible = false;
//
// wmErrorTextBox4
//
this.wmErrorTextBox4.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox4.Location = new System.Drawing.Point(198, 166);
this.wmErrorTextBox4.Name = "wmErrorTextBox4";
this.wmErrorTextBox4.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox4.TabIndex = 1;
this.wmErrorTextBox4.Visible = false;
//
// wmErrorLabel4
//
this.wmErrorLabel4.AutoSize = true;
this.wmErrorLabel4.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel4.Location = new System.Drawing.Point(33, 177);
this.wmErrorLabel4.Name = "wmErrorLabel4";
this.wmErrorLabel4.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel4.TabIndex = 0;
this.wmErrorLabel4.Text = "Error [%]";
this.wmErrorLabel4.Visible = false;
//
// wmErrorTextBox5
//
this.wmErrorTextBox5.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox5.Location = new System.Drawing.Point(198, 213);
this.wmErrorTextBox5.Name = "wmErrorTextBox5";
this.wmErrorTextBox5.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox5.TabIndex = 1;
this.wmErrorTextBox5.Visible = false;
//
// wmErrorLabel5
//
this.wmErrorLabel5.AutoSize = true;
this.wmErrorLabel5.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel5.Location = new System.Drawing.Point(33, 224);
this.wmErrorLabel5.Name = "wmErrorLabel5";
this.wmErrorLabel5.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel5.TabIndex = 0;
this.wmErrorLabel5.Text = "Error [%]";
this.wmErrorLabel5.Visible = false;
//
// wmErrorTextBox6
//
this.wmErrorTextBox6.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox6.Location = new System.Drawing.Point(198, 259);
this.wmErrorTextBox6.Name = "wmErrorTextBox6";
this.wmErrorTextBox6.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox6.TabIndex = 1;
this.wmErrorTextBox6.Visible = false;
//
// wmErrorLabel6
//
this.wmErrorLabel6.AutoSize = true;
this.wmErrorLabel6.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel6.Location = new System.Drawing.Point(33, 271);
this.wmErrorLabel6.Name = "wmErrorLabel6";
this.wmErrorLabel6.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel6.TabIndex = 0;
this.wmErrorLabel6.Text = "Error [%]";
this.wmErrorLabel6.Visible = false;
//
// wmErrorTextBox1
//
this.wmErrorTextBox1.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox1.Location = new System.Drawing.Point(198, 28);
this.wmErrorTextBox1.Name = "wmErrorTextBox1";
this.wmErrorTextBox1.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox1.TabIndex = 1;
this.wmErrorTextBox1.Visible = false;
//
// wmErrorTextBox7
//
this.wmErrorTextBox7.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox7.Location = new System.Drawing.Point(198, 305);
this.wmErrorTextBox7.Name = "wmErrorTextBox7";
this.wmErrorTextBox7.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox7.TabIndex = 9;
this.wmErrorTextBox7.Visible = false;
//
// wmErrorLabel7
//
this.wmErrorLabel7.AutoSize = true;
this.wmErrorLabel7.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel7.Location = new System.Drawing.Point(33, 317);
this.wmErrorLabel7.Name = "wmErrorLabel7";
this.wmErrorLabel7.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel7.TabIndex = 8;
this.wmErrorLabel7.Text = "Error [%]";
this.wmErrorLabel7.Visible = false;
//
// wmErrorTextBox8
//
this.wmErrorTextBox8.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox8.Location = new System.Drawing.Point(198, 351);
this.wmErrorTextBox8.Name = "wmErrorTextBox8";
this.wmErrorTextBox8.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox8.TabIndex = 11;
this.wmErrorTextBox8.Visible = false;
//
// wmErrorLabel8
//
this.wmErrorLabel8.AutoSize = true;
this.wmErrorLabel8.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel8.Location = new System.Drawing.Point(33, 363);
this.wmErrorLabel8.Name = "wmErrorLabel8";
this.wmErrorLabel8.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel8.TabIndex = 10;
this.wmErrorLabel8.Text = "Error [%]";
this.wmErrorLabel8.Visible = false;
//
// wmErrorTextBox9
//
this.wmErrorTextBox9.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox9.Location = new System.Drawing.Point(198, 397);
this.wmErrorTextBox9.Name = "wmErrorTextBox9";
this.wmErrorTextBox9.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox9.TabIndex = 13;
this.wmErrorTextBox9.Visible = false;
//
// wmErrorLabel9
//
this.wmErrorLabel9.AutoSize = true;
this.wmErrorLabel9.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel9.Location = new System.Drawing.Point(33, 408);
this.wmErrorLabel9.Name = "wmErrorLabel9";
this.wmErrorLabel9.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel9.TabIndex = 12;
this.wmErrorLabel9.Text = "Error [%]";
this.wmErrorLabel9.Visible = false;
//
// wmErrorTextBox10
//
this.wmErrorTextBox10.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox10.Location = new System.Drawing.Point(198, 443);
this.wmErrorTextBox10.Name = "wmErrorTextBox10";
this.wmErrorTextBox10.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox10.TabIndex = 15;
this.wmErrorTextBox10.Visible = false;
//
// wmErrorLabel10
//
this.wmErrorLabel10.AutoSize = true;
this.wmErrorLabel10.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel10.Location = new System.Drawing.Point(33, 454);
this.wmErrorLabel10.Name = "wmErrorLabel10";
this.wmErrorLabel10.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel10.TabIndex = 14;
this.wmErrorLabel10.Text = "Error [%]";
this.wmErrorLabel10.Visible = false;
//
// wmErrorTextBox12
//
this.wmErrorTextBox12.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox12.Location = new System.Drawing.Point(198, 535);
this.wmErrorTextBox12.Name = "wmErrorTextBox12";
this.wmErrorTextBox12.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox12.TabIndex = 19;
this.wmErrorTextBox12.Visible = false;
//
// wmErrorLabel12
//
this.wmErrorLabel12.AutoSize = true;
this.wmErrorLabel12.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel12.Location = new System.Drawing.Point(33, 546);
this.wmErrorLabel12.Name = "wmErrorLabel12";
this.wmErrorLabel12.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel12.TabIndex = 18;
this.wmErrorLabel12.Text = "Error [%]";
this.wmErrorLabel12.Visible = false;
//
// wmErrorTextBox11
//
this.wmErrorTextBox11.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorTextBox11.Location = new System.Drawing.Point(198, 489);
this.wmErrorTextBox11.Name = "wmErrorTextBox11";
this.wmErrorTextBox11.Size = new System.Drawing.Size(137, 40);
this.wmErrorTextBox11.TabIndex = 17;
this.wmErrorTextBox11.Visible = false;
//
// wmErrorLabel11
//
this.wmErrorLabel11.AutoSize = true;
this.wmErrorLabel11.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.wmErrorLabel11.Location = new System.Drawing.Point(33, 500);
this.wmErrorLabel11.Name = "wmErrorLabel11";
this.wmErrorLabel11.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel11.TabIndex = 16;
this.wmErrorLabel11.Text = "Error [%]";
this.wmErrorLabel11.Visible = false;
//
// WMErrorsForm12
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.ClientSize = new System.Drawing.Size(731, 592);
this.Controls.Add(this.wmErrorTextBox12);
this.Controls.Add(this.wmErrorLabel12);
this.Controls.Add(this.wmErrorTextBox11);
this.Controls.Add(this.wmErrorLabel11);
this.Controls.Add(this.wmErrorTextBox10);
this.Controls.Add(this.wmErrorLabel10);
this.Controls.Add(this.wmErrorTextBox9);
this.Controls.Add(this.wmErrorLabel9);
this.Controls.Add(this.wmErrorTextBox8);
this.Controls.Add(this.wmErrorLabel8);
this.Controls.Add(this.wmErrorTextBox7);
this.Controls.Add(this.wmErrorLabel7);
this.Controls.Add(this.wmErrorTextBox6);
this.Controls.Add(this.wmErrorLabel6);
this.Controls.Add(this.wmErrorTextBox5);
this.Controls.Add(this.wmErrorLabel5);
this.Controls.Add(this.wmErrorTextBox4);
this.Controls.Add(this.wmErrorLabel4);
this.Controls.Add(this.wmErrorTextBox3);
this.Controls.Add(this.wmErrorLabel3);
this.Controls.Add(this.wmErrorTextBox2);
this.Controls.Add(this.wmErrorLabel2);
this.Controls.Add(this.wmErrorTextBox1);
this.Controls.Add(this.wmErrorLabel1);
this.Controls.Add(this.okButton);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "WMErrorsForm12";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Text = "Water Meter States";
this.TopMost = true;
this.Load += new System.EventHandler(this.WMErrorsForm12_Load);
this.Paint += new System.Windows.Forms.PaintEventHandler(this.WMErrorsForm_Paint);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox wmErrorTextBox2;
private System.Windows.Forms.Label wmErrorLabel2;
private System.Windows.Forms.Label wmErrorLabel1;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.TextBox wmErrorTextBox3;
private System.Windows.Forms.Label wmErrorLabel3;
private System.Windows.Forms.TextBox wmErrorTextBox4;
private System.Windows.Forms.Label wmErrorLabel4;
private System.Windows.Forms.TextBox wmErrorTextBox5;
private System.Windows.Forms.Label wmErrorLabel5;
private System.Windows.Forms.TextBox wmErrorTextBox6;
private System.Windows.Forms.Label wmErrorLabel6;
private System.Windows.Forms.TextBox wmErrorTextBox1;
private System.Windows.Forms.TextBox wmErrorTextBox7;
private System.Windows.Forms.Label wmErrorLabel7;
private System.Windows.Forms.TextBox wmErrorTextBox8;
private System.Windows.Forms.Label wmErrorLabel8;
private System.Windows.Forms.TextBox wmErrorTextBox9;
private System.Windows.Forms.Label wmErrorLabel9;
private System.Windows.Forms.TextBox wmErrorTextBox10;
private System.Windows.Forms.Label wmErrorLabel10;
private System.Windows.Forms.TextBox wmErrorTextBox12;
private System.Windows.Forms.Label wmErrorLabel12;
private System.Windows.Forms.TextBox wmErrorTextBox11;
private System.Windows.Forms.Label wmErrorLabel11;
}
}
@@ -117,14 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>357, 243</value>
</data>
<data name="okButton.Text" xml:space="preserve">
<value>&amp;OK</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>&amp;Abbrechen</value>
</data>
</root>
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
/// Copyright (c) 2015 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
@@ -14,6 +14,8 @@ namespace TBF.BenchControl.TestMethods.Adjustment
{
private static readonly ILog log = LogManager.GetLogger(typeof(WMErrorsForm24));
const int MaxWMsCount = 24; /// Implementation limit of this form
// Set to 'true' when the form closes
public bool Completed { get { return completed; } }
bool completed;
@@ -37,9 +39,9 @@ namespace TBF.BenchControl.TestMethods.Adjustment
{
InitializeComponent();
textBoxesCount = 24;
textBoxesCount = MaxWMsCount;
labels = new Label[24]
labels = new Label[MaxWMsCount]
{
wmErrorLabel1, wmErrorLabel2, wmErrorLabel3, wmErrorLabel4, wmErrorLabel5,
wmErrorLabel6, wmErrorLabel7, wmErrorLabel8, wmErrorLabel9, wmErrorLabel10,
@@ -47,7 +49,7 @@ namespace TBF.BenchControl.TestMethods.Adjustment
wmErrorLabel16, wmErrorLabel17, wmErrorLabel18, wmErrorLabel19, wmErrorLabel20,
wmErrorLabel21, wmErrorLabel22, wmErrorLabel23, wmErrorLabel24,
};
errors = new TextBox[24]
errors = new TextBox[MaxWMsCount]
{
wmErrorTextBox1, wmErrorTextBox2, wmErrorTextBox3, wmErrorTextBox4, wmErrorTextBox5,
wmErrorTextBox6, wmErrorTextBox7, wmErrorTextBox8, wmErrorTextBox9, wmErrorTextBox10,
@@ -56,8 +58,8 @@ namespace TBF.BenchControl.TestMethods.Adjustment
wmErrorTextBox21, wmErrorTextBox22, wmErrorTextBox23, wmErrorTextBox24,
};
rects = new Rectangle[24];
for (int i = 0; i < 24; i++)
rects = new Rectangle[MaxWMsCount];
for (int i = 0; i < MaxWMsCount; i++)
{
int row = i % 12;
int col = i / 12;
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
/// Copyright (c) 2015 Sensus Metering Systems
///
namespace TBF.BenchControl.TestMethods.Adjustment
{
@@ -265,7 +265,7 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters
int remainingTime = Math.Max(estimtdEndTime - StateMachine.Time, 0);
if (remainingTime > 60)
{
Bridge.OnActivity(this, string.Format("{0} ... {1} min {2} s", Strings.Test_in_progress, remainingTime / 60, remainingTime % 60));
Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime / 60, "min", remainingTime % 60, Strings.sec));
}
else
{
@@ -444,7 +444,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
int remainingTime = Math.Max(estimtdEndTime - StateMachine.Time, 0);
if (remainingTime > 60)
{
Bridge.OnActivity(this, string.Format("{0} ... {1} min {2} s", Strings.Test_in_progress, remainingTime / 60, remainingTime % 60));
Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime / 60, "min", remainingTime % 60, Strings.sec));
}
else
{
@@ -0,0 +1,622 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using System.Text;
using log4net;
using TBF.BenchControl;
using TBF.Boxes;
using TBF.Resources;
using TBF.UiBridge;
namespace TBF.BenchControl.TestMethods.FixedStartAdvanced
{
public class FixedStartAdvancedSeq : Sequences.SequenceBase
{
private static readonly ILog log = LogManager.GetLogger(typeof(FixedStartAdvancedSeq));
/// <summary>
/// Flying start mass collection method sequence
/// </summary>
/// <param name="test">Test entity</param>
/// <returns>
/// Event.Done . . . . . . . OK
/// Event.UiCmdStop . . . . Stopped by the user using the on-screen button STOP
/// Event.OpArgumentError . Target flow is out of range
/// Event.Error . . . . . . Unspecified error
/// </returns>
public IList<Event> Execute(Entities.Test test)
{
Elde.ControlBoardDev cBrd = StateMachine.ControlBoard;
IList<Event> e = new List<Event>(); /// Events from currently running operations
Event retVal = Event.Done;
checkUiOp = new Operations.CheckUIOp(true); /// Runs in more then one state
ltrPerRefPulse = outPath.FlowMeter.LtrPerPulse; /// [ltr/pulse], nominal flow in [m3/h]
/// Notes:
/// float timeHr = volumeLtr / (1000.0f * targetFlow);
/// float timeSec = 3600.0f * timeHr;
/// int refPulses = (int)(timeSec * (2000.0f * targetFlow / pOut.FlowMeter.NominalFlow));
int totalPulses = (int)(test.Volume / ltrPerRefPulse + 0.5f);
processDataLoggingOp = new TBF.BenchControl.Operations.ProcessDataLoggingOp(processDataLogger, this);
float[] wmBeginStates = new float[Program.WMsCount];
float[] wmEndStates = new float[Program.WMsCount];
int repetitionNr = 1; /// First test: repetitionNr=1
//====================================
// Transition or SetRoute - Start
//====================================
switch (Transition(transitionBefore, TransitionContext.BeforeTest))
{
case Event.Error: { retVal = Event.Error; goto stopTest; }
case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }
}
//====================================
loop:
/// Start the test, initialize test results
Bridge.OnTestSelected(this, new TestSelectedEventArgs(test, repetitionNr, inPath, benchPath, outPath, sensPath, totalPulses));
Entities.TestResult tstRslt = new Entities.TestResult(test, repetitionNr, Entities.MetersKind.Single);
int flowSetTime0 = StateMachine.Time;
float estFlowSetTime = 10.0f;
//------------------------------------------------
Bridge.OnActivity(this, Strings.Setting_the_flow);
//------------------------------------------------
if (inPath.Pump is GenericDevices.IPumpFM) (inPath.Pump as GenericDevices.IPumpFM).TurnOn(test.PumpPower);
State.Create("FixedStartAdvanced : Starting the pump")
.AddOperation(checkUiOp)
.AddOperation(new Operations.TimerOp(5))
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
int flowSetTime = StateMachine.Time - flowSetTime0;
float progress = Formulas.TestProgress(flowSetTime, estFlowSetTime, test.TstTime);
Bridge.OnTestProgress(this, GetTestProgressData(test, tstRslt, false, cBrd, flowSetTime, progress));
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.TimerExpired));
State.Create("FixedStartAdvanced : Starting the pump")
.AddOperation(checkUiOp)
.AddOperation(cBrd.SetValvesOp(inPath.Pump, null))
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
int flowSetTime = StateMachine.Time - flowSetTime0;
float progress = Formulas.TestProgress(flowSetTime, estFlowSetTime, test.TstTime);
Bridge.OnTestProgress(this, GetTestProgressData(test, tstRslt, false, cBrd, flowSetTime, progress));
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.ValvesSet));
if (!test.Emptying) /// If condition met => skip measuring and force emptying
{
///
/// Measure the weight and skip emptying if there is enough room in the tank
///
State.Create("FixedStartAdvanced : Measuring the mass of water in the tank")
.AddOperation(checkUiOp)
.AddOperation(outPath.Balance.ReadMassOp(ref mass))
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.BalanceDone));
float estimatedEndMass = mass.Val + test.Volume;
if (estimatedEndMass < outPath.Balance.Capacity * Constants.TankFullFactor)
{
goto set_flow; /// Enough room in the tank -> skip emptying
}
}
///
/// Empty the water tank
///
switch (EmptyTheTank(outPath.EmptyTankValve, outPath.Balance))
{
case Event.Error: { retVal = Event.Error; goto stopTest; }
case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }
}
set_flow:
//------------------------------------------------
Bridge.OnActivity(this, Strings.Setting_the_flow);
//------------------------------------------------
if (inPath.Pump is GenericDevices.IPumpFM) (inPath.Pump as GenericDevices.IPumpFM).TurnOn(test.PumpPower);
State.Create("FixedStartAdvanced : Starting the pump")
.AddOperation(checkUiOp)
.AddOperation(cBrd.SetValvesOp(inPath.Pump, null))
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
int flowSetTime = StateMachine.Time - flowSetTime0;
float progress = Formulas.TestProgress(flowSetTime, estFlowSetTime, test.TstTime);
Bridge.OnTestProgress(this, GetTestProgressData(test, tstRslt, false, cBrd, flowSetTime, progress));
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.ValvesSet));
//--------------------------------
State.Create("FixedStartAdvanced : Setting the flow")
.AddOperation(checkUiOp)
.AddOperation(outPath.RegulValve.SetFlowOp(outPath.FlowMeter, test.Qfrom, test.Qto, outPath.PidCoef, refFlow, 600)) /// timeout = 10 min.
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
int flowSetTime = StateMachine.Time - flowSetTime0;
float progress = Formulas.TestProgress(flowSetTime, estFlowSetTime, test.TstTime);
Bridge.OnTestProgress(this, GetTestProgressData(test, tstRslt, false, cBrd, flowSetTime, progress));
if (e.Contains(Event.OpArgumentError)) { retVal = Event.OpArgumentError; goto stopTest; }
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
if (e.Contains(Event.RegulValveTimeOut))
{
Bridge.OnError(this, Strings.Timeout);
retVal = Event.Done;
goto stopTest;
}
if (e.Contains(Event.Next)) goto flow_set;
}
while (!e.Contains(Event.FlowReached));
flow_set:
//------------------------------------------------
Bridge.OnActivity(this, Strings.Stopping_flow_for_the_fixed_start);
//------------------------------------------------
State.Create("FixedStartAdvanced : Closing the start/stop valve before the fixed start test")
.AddOperation(checkUiOp)
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, outPath.StartValve))
.AddOperation(StateMachine.ControlBoard.UpdateTankWeightOp())
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
}
while (!e.Contains(Event.ValvesSet));
int time = StateMachine.Time;
float currentFlow = refFlow.Val;
/// Extract cameras from the current sensors path, add operations to the detection state
IList<IOperation> measureOperations = new List<IOperation>();
for (int i = 0; i < sensPath.RegisterReaders.Length; i++)
{
GenericDevices.ICameraRoi cameraRoi = sensPath.RegisterReaders[i] as GenericDevices.ICameraRoi;
if (cameraRoi != null) measureOperations.Add(cameraRoi.MeasureOp());
}
///
/// Enter watermeter begin states here
///
GenericDevices.IHasWMStatesForm dataEntryCmpnt =
TbfComponents.FindComponent(StateMachine.Procedure.DataEntry) as GenericDevices.IHasWMStatesForm;
if (dataEntryCmpnt != null)
{
Bridge.OnActivity(this, "Enter the water meter data");
State.Create("FixedStartAdvanced : Enter begin-state")
.AddOperation((dataEntryCmpnt as GenericDevices.IHasWMStatesForm).ShowTestStartFormOp())
.AddOperation(checkUiOp)
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.ModelessFormClosed));
for (int i = 0; i < Program.WMsCount; i++)
{
tstRslt.Meters[i].VolumeStart = dataEntryCmpnt.WMStartState(i); /// Units: 1 liter
///-----
BenchControl.Elde.FixedStartRegisterReader.RegisterReader registerReader =
sensPath.RegisterReaders[i] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader;
if (registerReader != null) registerReader.BeginWMState = dataEntryCmpnt.WMStartState(i);
}
}
//------------------------------------------------
Bridge.OnActivity(this, Strings.Measuring_the_weight);
//------------------------------------------------
State.Create("FixedStartAdvanced : Measuring the start mass")
.AddOperation(checkUiOp)
.AddOperation(benchPath.TempIn.ReadTempOp(ref tempIn))
.AddOperation(benchPath.TempOut.ReadTempOp(ref tempOut))
.AddOperation(outPath.TempDiv.ReadTempOp(ref tempDiv))
.AddOperation(benchPath.PressIn.ReadPressureOp(ref pressIn))
.AddOperation(benchPath.PressOut.ReadPressureOp(ref pressOut))
.AddOperation((StateMachine.Ambient != null)
? StateMachine.Ambient.ReadAmbientOp(airTemperature, airPressure, airHumidity) : null)
.AddOperations(measureOperations)
.AddOperation(outPath.Balance.ReadStableMassOp(ref startMass, 5))
.AddOperation(cBrd.UpdateTankWeightOp())
.AddOperation(processDataLoggingOp)
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.BalanceDone));
tstRslt.TimeStart = DateTime.Now;
tstRslt.MassStartRaw = startMass.Val;
mass.Val = startMass.Val;
//------------------------------------------------
Bridge.OnActivity(this, Strings.Test_in_progress);
//------------------------------------------------
State.Create("FixedStartAdvanced : Starting the test")
.AddOperation(checkUiOp)
.AddOperations(measureOperations)
.AddOperation(cBrd.StartMeasurementOp(outPath, Elde.TestMethods.Diverter | Elde.TestMethods.Synchro,
test.Qfrom, test.Qto, 2 * totalPulses, (float)test.TolerRed))
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.MeasurementStarted));
State.Create("FixedStartAdvanced : Opening the start/stop valve at the beginning of the fixed start test")
.AddOperation(checkUiOp)
.AddOperation(StateMachine.ControlBoard.SetValvesOp(outPath.StartValve, null))
.AddOperation(StateMachine.ControlBoard.UpdateTankWeightOp())
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
}
while (!e.Contains(Event.ValvesSet));
/// Measurement loop - preparation
readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMRefPulses);
queryEnd1 = cBrd.QueryMeasurementEndOp();
queryEnd2 = cBrd.QueryMeasurementEndOp();
bool firstTime = true; /// To reset sums for averaging
ResetAveragedData();
int estimtdEndTime = StateMachine.Time + (int)test.TstTime;
/// Measurement loop - begin
do
{
//--------------------------------
switch (ReadRegistersTempPressAmbient(measureOperations, true))
{
case Event.Error: { retVal = Event.Error; goto stopTest; }
case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }
case Event.MeasurementCompleted: goto test_completed;
}
int remainingTime = Math.Max(estimtdEndTime - StateMachine.Time, 0);
if (remainingTime > 60)
{
Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime / 60, "min", remainingTime % 60, Strings.sec));
}
else
{
Bridge.OnActivity(this, string.Format("{0} ... {1} s", Strings.Test_in_progress, remainingTime));
}
if (firstTime)
{
firstTime = false; /// Do the following only once
tstRslt.TempInStart = tempIn.Val;
tstRslt.TempOutStart = tempOut.Val;
tstRslt.TempDivStart = tempDiv.Val;
tstRslt.PressInStart = pressIn.Val;
tstRslt.PressOutStart = pressOut.Val;
}
tstRslt.TempInEnd = tempIn.Val;
tstRslt.TempOutEnd = tempOut.Val;
tstRslt.TempDivEnd = tempDiv.Val;
tstRslt.PressInEnd = pressIn.Val;
tstRslt.PressOutEnd = pressOut.Val;
tstRslt.MassEndRaw = mass.Val;
AccumulateAveragedData();
refFreq.Val = cBrd.ReferenceFreq;
refFlow.Val = cBrd.ReferenceFlow;
tstRslt.AmbientTempAve = airTemperature.Val;
tstRslt.AmbientPressAve = airPressure.Val;
tstRslt.AmbientHumiAve = airHumidity.Val;
string logstr = string.Format("E={0} f={1} q={2}", cBrd.EtPulses(0), cBrd.ReferenceFreq,
cBrd.ReferenceFlow * outPath.FlowMeter.NominalFlow);
for (int i = 0; i < Program.WMsCount; i++)
{
logstr += string.Format(" M{0}=({1},{2})", i + 1, WMRefPulses[i], WMPulses[i]);
}
log.Debug(logstr);
float progress = Formulas.TestProgress(cBrd.EtPulses(0), totalPulses, estFlowSetTime, test.TstTime);
Bridge.OnTestProgress(this, GetTestProgressData(test, tstRslt, true, cBrd, cBrd.TTime, progress));
}
while (cBrd.EtPulses(0) < totalPulses);
/// Measurement loop - end
test_completed:
State.Create("FixedStartAdvanced : Closing the start/stop valve at the end of the fixed start test")
.AddOperation(checkUiOp)
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, outPath.StartValve))
.AddOperation(StateMachine.ControlBoard.UpdateTankWeightOp())
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
}
while (e.Contains(Event.ValvesBusy));
State.Create("FixedStartAdvanced : Waiting before 2nd mass measurement")
.AddOperation(checkUiOp)
.AddOperation(benchPath.TempIn.ReadTempOp(ref tempIn))
.AddOperation(benchPath.TempOut.ReadTempOp(ref tempOut))
.AddOperation(outPath.TempDiv.ReadTempOp(ref tempDiv))
.AddOperation(benchPath.PressIn.ReadPressureOp(ref pressIn))
.AddOperation(benchPath.PressOut.ReadPressureOp(ref pressOut))
.AddOperation((StateMachine.Ambient != null)
? StateMachine.Ambient.ReadAmbientOp(airTemperature, airPressure, airHumidity) : null)
.AddOperation(outPath.Balance.ReadMassOp(ref mass))
.AddOperation(cBrd.UpdateTankWeightOp())
.AddOperation(processDataLoggingOp)
.AddOperation(new Operations.TimerOp(test.TimeStop2Mass))
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.TimerExpired));
//------------------------------------------------
Bridge.OnActivity(this, Strings.Measuring_the_weight);
//------------------------------------------------
State.Create("FixedStartAdvanced : Measuring the end mass")
.AddOperation(checkUiOp)
.AddOperation(benchPath.TempIn.ReadTempOp(ref tempIn))
.AddOperation(benchPath.TempOut.ReadTempOp(ref tempOut))
.AddOperation(outPath.TempDiv.ReadTempOp(ref tempDiv))
.AddOperation(benchPath.PressIn.ReadPressureOp(ref pressIn))
.AddOperation(benchPath.PressOut.ReadPressureOp(ref pressOut))
.AddOperation((StateMachine.Ambient != null)
? StateMachine.Ambient.ReadAmbientOp(airTemperature, airPressure, airHumidity) : null)
.AddOperation(outPath.Balance.ReadStableMassOp(ref endMass, 5))
.AddOperation(cBrd.UpdateTankWeightOp())
.AddOperation(processDataLoggingOp)
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.BalanceDone));
///
tstRslt.MassEndRaw = endMass.Val;
tstRslt.TimeEnd = DateTime.Now;
State.Create("FixedStartAdvanced : Stopping diverter, gate, etc.")
.AddOperation(checkUiOp)
.AddOperation(cBrd.StopPreviousOp())
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.PreviousStopped));
tstRslt.MassStart = Formulas.CorrectedValue(tstRslt.MassStartRaw, outPath.Balance.Corrections);
tstRslt.MassEnd = Formulas.CorrectedValue(tstRslt.MassEndRaw, outPath.Balance.Corrections);
tstRslt.MassDiff = tstRslt.MassEnd - tstRslt.MassStart;
tstRslt.DensityOut = Formulas.WaterDensityFromTemp(tstRslt.TempOutAvrg); /// [kg/m3]
tstRslt.VolumeCTV = 1.00103f * 1000.0f * tstRslt.MassDiff / tstRslt.DensityOut; /// [l] 1000.0f is because density is in [kg/m3]
///
/// Enter watermeter end states here
///
if (dataEntryCmpnt != null)
{
Bridge.OnActivity(this, "Enter the water meter data");
State.Create("FixedStartAdvanced : Enter end-state")
.AddOperation(dataEntryCmpnt.ShowTestEndFormOp(tstRslt.VolumeCTV, tstRslt.ErrLimLo, tstRslt.ErrLimHi))
.AddOperation(checkUiOp)
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.ModelessFormClosed));
for (int i = 0; i < Program.WMsCount; i++)
{
tstRslt.Meters[i].VolumeEnd = dataEntryCmpnt.WMEndState(i);
///-----
BenchControl.Elde.FixedStartRegisterReader.RegisterReader registerReader =
sensPath.RegisterReaders[i] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader;
if (registerReader != null) registerReader.EndWMState = dataEntryCmpnt.WMEndState(i);
}
}
//------------------------------------------------
Bridge.OnActivity(this, Strings.Test_completed);
//------------------------------------------------
/// Make sure the CycleBeginForm is closed so that water meter data (s/n) can be copied into results
if (UIFlowControl.Stop == WaitBeginFormClosed()) goto stopTest;
///
/// Populate TestResult data entity with data
///
UpdateTestRsltWithAveragedData(tstRslt);
tstRslt.BatchNr = Program.LocalSettings.BatchNr;
tstRslt.MassStart = Formulas.CorrectedValue(tstRslt.MassStartRaw, outPath.Balance.Corrections);
tstRslt.MassEnd = Formulas.CorrectedValue(tstRslt.MassEndRaw, outPath.Balance.Corrections);
tstRslt.MassDiff = tstRslt.MassEnd - tstRslt.MassStart;
tstRslt.DensityIn = Formulas.WaterDensityFromTemp(tstRslt.TempInAvrg); /// [kg/m3]
tstRslt.DensityOut = Formulas.WaterDensityFromTemp(tstRslt.TempOutAvrg); /// [kg/m3]
tstRslt.DensityDiv = Formulas.WaterDensityFromTemp(tstRslt.TempDivAvrg); /// [kg/m3]
tstRslt.Time = cBrd.TTime; /// [s] measurement time
tstRslt.FlowMass = 3600.0f * tstRslt.MassDiff / tstRslt.Time; /// [kg/h]
tstRslt.FlowVolume = 3600.0f * ltrPerRefPulse * cBrd.EtPulses(0) / tstRslt.Time; /// [l/h]
tstRslt.VolumeCTV = 1.00103f * 1000.0f * tstRslt.MassDiff / tstRslt.DensityOut; /// [l] 1000.0f is because density is in [kg/m3]
tstRslt.VolumeMaster = ltrPerRefPulse * cBrd.EtPulses(0); /// [l] volume from the master flow meter
tstRslt.PulsesMaster = cBrd.EtPulses(0); /// Pulses of the master flow meter (test total)
tstRslt.ConstMaster = ltrPerRefPulse * tstRslt.VolumeCTV / tstRslt.VolumeMaster; /// Corrected master pulses per liter
if (tstRslt.VolumeCTV <= float.Epsilon)
{
tstRslt.ErrorMaster = 0.1f;
}
else
{
tstRslt.ErrorMaster = 100 * (tstRslt.VolumeMaster - tstRslt.VolumeCTV) / tstRslt.VolumeCTV;
}
tstRslt.TimeDivStart0 = 0;
tstRslt.TimeDivStart1 = 0;
tstRslt.TimeDivStart2 = 0;
tstRslt.TimeDivStart3 = 0;
tstRslt.TimeDivStart4 = 0;
tstRslt.TimeDivStart5 = 0;
tstRslt.TimeDivEnd0 = 0;
tstRslt.TimeDivEnd1 = 0;
tstRslt.TimeDivEnd2 = 0;
tstRslt.TimeDivEnd3 = 0;
tstRslt.TimeDivEnd4 = 0;
tstRslt.TimeDivEnd5 = 0;
for (int i = 0; i < Program.WMsCount; i++)
{
if ((i < WaterMeters.Count) && !WaterMeters[i].Disabled)
{
tstRslt.Meters[i].SerialNr = (i < WaterMeters.Count) ? WaterMeters[i].SerialNr : string.Empty;
tstRslt.Meters[i].VolumeMeter = tstRslt.Meters[i].VolumeEnd - tstRslt.Meters[i].VolumeStart;
tstRslt.Meters[i].VolumeRef = tstRslt.VolumeCTV; /// liter
tstRslt.Meters[i].PulsesMeter = 0;
tstRslt.Meters[i].PulsesMaster = tstRslt.PulsesMaster;
tstRslt.Meters[i].Time = cBrd.TTime;
if (tstRslt.Meters[i].VolumeRef > 0)
{
tstRslt.Meters[i].VolumeErrorPct =
100 * (tstRslt.Meters[i].VolumeMeter - tstRslt.Meters[i].VolumeRef) / tstRslt.Meters[i].VolumeRef;
/// %
}
else
{
tstRslt.Meters[i].VolumeErrorPct = -100;
}
tstRslt.Meters[i].Passed = (tstRslt.ErrLimLo <= tstRslt.Meters[i].VolumeErrorPct) && (tstRslt.Meters[i].VolumeErrorPct <= tstRslt.ErrLimHi);
tstRslt.Meters[i].Disabled = false;
}
else
{
tstRslt.Meters[i].Disabled = true;
}
}
/// Add data - end
AddOrOverwriteResult(tstRslt);
Bridge.OnTestCompleted(this, new TestCompletedEventArgs(tstRslt));
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(tstRslt));
if (++repetitionNr <= test.Repeats)
{
goto loop;
}
stopTest:
///----------------------///
/// Quit this sequence ///
///----------------------///
State.Create("FixedStartAdvanced : Stopping diverter, gate, etc.")
.AddOperation(checkUiOp)
.AddOperation(cBrd.StopPreviousOp())
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.PreviousStopped));
/// Transition sequence at the end of test
/// Prevent overwriting 'retVal' in case it was set to non-default value earlier
switch (Transition(transitionAfter, TransitionContext.AfterTest))
{
case Event.Error: { if (retVal == Event.Done) retVal = Event.Error; break; }
case Event.UiCmdStop: { if (retVal == Event.Done) retVal = Event.UiCmdStop; break; }
}
/// Create a list with one item 'retVal' (default is Event.Done) and return it
IList<Event> retList = new List<Event>(1);
retList.Add(retVal);
return retList;
}
}
}
@@ -0,0 +1,35 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using log4net;
using TBF.BenchControl;
namespace TBF.BenchControl.TestMethods.FixedStartAdvanced
{
public class TestMethod : ComponentBase, GenericDevices.ITestMethod
{
private static readonly ILog log = LogManager.GetLogger(typeof(TestMethod));
public override string ToString() { return string.Format("TestMethods.FixedStartAdvanced({0})", Cfg.ToString(1)); }
public bool Evaluate(Entities.Test test) { return true; }
public bool Publish(Entities.Test test) { return true; }
public bool CanTest(Entities.MetersKind meters) { return meters == Entities.MetersKind.Single; }
public TestMethod()
{
}
public TestMethod(TestMethodCfg cfg)
: base(cfg)
{
log.Debug(this.ToString());
}
public IList<Event> Execute(Entities.Test test)
{
return (new FixedStartAdvancedSeq()).Execute(test);
}
}
}
@@ -0,0 +1,35 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.TestMethods.FixedStartAdvanced
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
public IComponent GetComponent(IList<IComponent> components) { return new TestMethod(this); }
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
/// Private parameterless constructor invoked by all other (public) constructors
TestMethodCfg()
{
Name = "FixedStartAdvanced";
ParentName = string.Empty;
}
public TestMethodCfg(IComponentFactory factory)
: this()
{
this.Factory = factory;
}
public string ToString(int i)
{
return string.Format("Name={0}", Name);
}
}
}
@@ -0,0 +1,71 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
///
using System;
using System.Windows.Forms;
using log4net;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.TestMethods.FixedStartAdvanced
{
public partial class TestMethodCfgCtrl : UserControl, IComponentCfgCtrl
{
static readonly ILog log = LogManager.GetLogger(typeof(TestMethodCfgCtrl));
public bool ShowMore { get { return false; } }
TestMethodCfg config;
public IComponentCfg Config
{
get { return config as IComponentCfg; }
set
{
config = value as TestMethodCfg;
Redraw();
}
}
public TestMethodCfgCtrl()
{
InitializeComponent();
}
private void EntryFormCfgCtrl_Load(object sender, EventArgs e)
{
Redraw();
}
public void Closing()
{
}
void Redraw()
{
if (config == null) return; /// Control was not loaded, settings were not changed
classNameLabel.Text = config.Factory.ClassName;
nameTextBox.Text = config.Name;
}
public void Unlock()
{
nameTextBox.Enabled = true;
}
public CfgUpdateFlags VerifyCfg(ref string message)
{
CfgUpdateFlags flags = CfgUpdateFlags.None;
return flags;
}
public CfgUpdateFlags UpdateCfg()
{
CfgUpdateFlags flags = CfgUpdateFlags.RestartRqrd;
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
config.Name = nameTextBox.Text;
return flags;
}
}
}
@@ -0,0 +1,86 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
///
namespace TBF.BenchControl.TestMethods.FixedStartAdvanced
{
partial class TestMethodCfgCtrl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.nameTextBox = new System.Windows.Forms.TextBox();
this.nameLabel = new System.Windows.Forms.Label();
this.classNameLabel = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(137, 57);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(130, 20);
this.nameTextBox.TabIndex = 5;
//
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(27, 60);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 4;
this.nameLabel.Text = "Name";
//
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(134, 33);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
this.classNameLabel.TabIndex = 3;
this.classNameLabel.Text = "ComonentName";
//
// BasicPrinterCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.classNameLabel);
this.Name = "BasicPrinterCfgCtrl";
this.Size = new System.Drawing.Size(300, 200);
this.Load += new System.EventHandler(this.EntryFormCfgCtrl_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox nameTextBox;
private System.Windows.Forms.Label nameLabel;
private System.Windows.Forms.Label classNameLabel;
}
}
@@ -117,17 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>128, 13</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Verfügbare Komponenten</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>&amp;Abbrechen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Komponenten Auswahl</value>
</data>
</root>
@@ -0,0 +1,23 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
///
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.TestMethods.FixedStartAdvanced
{
public class TestMethodFactory : IComponentFactory
{
public string ClassName { get { return "FixedStartAdvanced"; } }
public void ResetStaticProperties() { TestMethod.ResetStaticProperties(); }
public IComponent DummyComponent() { return new TestMethod(); }
public IComponentCfg DefaultConfig() { return new TestMethodCfg(this); }
public IComponentCfg CmpntCfgFromCmpntEntity(Entities.Component component)
{
return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
}
}
}
@@ -333,7 +333,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartCombinedMeters
int remainingTime = Math.Max(estimtdEndTime - StateMachine.Time, 0);
if (remainingTime > 60)
{
Bridge.OnActivity(this, string.Format("{0} ... {1} min {2} s", Strings.Test_in_progress, remainingTime / 60, remainingTime % 60));
Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime / 60, "min", remainingTime % 60, Strings.sec));
}
else
{
@@ -333,7 +333,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
int remainingTime = Math.Max(estimtdEndTime - StateMachine.Time, 0);
if (remainingTime > 60)
{
Bridge.OnActivity(this, string.Format("{0} ... {1} min {2} s", Strings.Test_in_progress, remainingTime / 60, remainingTime % 60));
Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime / 60, "min", remainingTime % 60, Strings.sec));
}
else
{
@@ -163,7 +163,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStart
int remainingTime = Math.Max(estimtdEndTime - StateMachine.Time, 0);
if (remainingTime > 60)
{
Bridge.OnActivity(this, string.Format("{0} ... {1} min {2} s", Strings.Test_in_progress, remainingTime / 60, remainingTime % 60));
Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime / 60, "min", remainingTime % 60, Strings.sec));
}
else
{
@@ -307,7 +307,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod
int remainingTime = Math.Max(estimtdEndTime - StateMachine.Time, 0);
if (remainingTime > 60)
{
Bridge.OnActivity(this, string.Format("{0} ... {1} min {2} s", Strings.Test_in_progress, remainingTime / 60, remainingTime % 60));
Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime / 60, "min", remainingTime % 60, Strings.sec));
}
else
{
@@ -151,7 +151,7 @@ namespace TBF.BenchControl.TestMethods.LeakTest
int remainingTime = Math.Max(estimtdEndTime - StateMachine.Time, 0);
if (remainingTime > 60)
{
Bridge.OnActivity(this, string.Format("{0} ... {1} min {2} s", Strings.Test_in_progress, remainingTime / 60, remainingTime % 60));
Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime / 60, "min", remainingTime % 60, Strings.sec));
}
else
{
@@ -241,7 +241,7 @@ namespace TBF.BenchControl.TestMethods.LeakTest
int remainingTime = Math.Max(estimtdEndTime - StateMachine.Time, 0);
if (remainingTime > 60)
{
Bridge.OnActivity(this, string.Format("{0} ... {1} min {2} s", Strings.Test_in_progress, remainingTime / 60, remainingTime % 60));
Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime / 60, "min", remainingTime % 60, Strings.sec));
}
else
{
@@ -161,7 +161,7 @@ namespace TBF.BenchControl.TestMethods.PMaxTest
int remainingTime = Math.Max(endTime - StateMachine.Time, 0);
if (remainingTime > 60)
{
Bridge.OnActivity(this, string.Format("{0} ... {1} min {2} s", Strings.Test_in_progress, remainingTime / 60, remainingTime % 60));
Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime / 60, "min", remainingTime % 60, Strings.sec));
}
else
{
@@ -906,22 +906,37 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
CommErr error = CommErr.Write;
UInt16 newCalibFactor = 2600; /// Default value
///
/// Parse calibration factor (1 argument) or calibration factor limits (2 arguments)
UInt16 newCalibFactor = 0;
if (multiTestParams[currentActivityStep].Activity.Length > WriteCalibrationFactorStr.Length)
{
{
UInt16 factorLimitLo;
UInt16 factorLimitHi;
UInt16 val;
string calibFactrorStr = multiTestParams[currentActivityStep].Activity.Substring(WriteCalibrationFactorStr.Length + 1);
UInt16 val;
if (UInt16.TryParse(calibFactrorStr, out val) && val > 0)
{
newCalibFactor = val; /// Update with specified value
}
}
else
{
/// Write the calculated calibration factor
newCalibFactor = wm.CalculateNewCalibFactor(wm.CalibrationFactor);
}
string[] arguments = calibFactrorStr.Split(new char[] { ' ' });
if (arguments.Length >= 2 &&
UInt16.TryParse(arguments[0], out factorLimitLo) && factorLimitLo > 0 &&
UInt16.TryParse(arguments[1], out factorLimitHi) && factorLimitHi > 0)
{
newCalibFactor = wm.CalculateNewCalibFactor(wm.CalibrationFactor, factorLimitLo, factorLimitHi);
}
else if (arguments.Length == 1 && UInt16.TryParse(arguments[0], out val) && val > 0)
{
newCalibFactor = val; /// Update with specified value
}
else
{
newCalibFactor = 2710; /// Default calibration factor for DN15
}
}
else
{
newCalibFactor = wm.CalculateNewCalibFactor(wm.CalibrationFactor, 2400, 2700); /// Default factor limits for DN15
}
byte[] data = new byte[2] { (byte)(newCalibFactor & 0x00FF), (byte)((newCalibFactor >> 8) & 0x00FF) };
for (int j = 0; j < cfg.MaxCommRetries; j++)
@@ -1021,12 +1036,18 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
{
if (wm.CommFailed) return CommErr.CommFailed;
if (OpenPort(wm) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Write;
/// Write Q2 corrections
double q2CorrectionFactor = wm.Q2CorrectionFactor();
if (q2CorrectionFactor == 0)
{
resultStr = string.Format("Q2 factors = 0 (writing bypassed)");
return CommErr.None;
}
if (OpenPort(wm) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Write;
Byte q2CorrRFlow = (byte)((int)Math.Round(q2CorrectionFactor / 2) & 0x000000FF);
Byte q2CorrLFlow = (byte)((int)Math.Round(q2CorrectionFactor) & 0x000000FF);
byte[] wrData = new byte[2] { q2CorrRFlow, q2CorrLFlow };
@@ -173,33 +173,56 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
{
Entities.TestResult tstRslt = new Entities.TestResult(test, 1, Entities.MetersKind.Single);
tstRslt.BatchNr = Program.LocalSettings.BatchNr;
tstRslt.MassStart = oriTestRslt.MassStart;
tstRslt.MassEnd = oriTestRslt.MassEnd;
tstRslt.MassDiff = oriTestRslt.MassEnd;
tstRslt.DensityIn = oriTestRslt.DensityIn;
tstRslt.DensityOut = oriTestRslt.DensityOut;
tstRslt.DensityDiv = oriTestRslt.DensityDiv;
tstRslt.Time = oriTestRslt.Time;
tstRslt.FlowMass = oriTestRslt.FlowMass;
tstRslt.FlowVolume = oriTestRslt.FlowVolume;
tstRslt.VolumeCTV = oriTestRslt.VolumeCTV;
tstRslt.VolumeMaster = oriTestRslt.VolumeMaster;
tstRslt.PulsesMaster = oriTestRslt.PulsesMaster;
tstRslt.ConstMaster = oriTestRslt.ConstMaster;
tstRslt.ErrorMaster = oriTestRslt.ErrorMaster;
tstRslt.TimeDivStart0 = oriTestRslt.TimeDivStart0;
tstRslt.TimeDivStart1 = oriTestRslt.TimeDivStart1;
tstRslt.TimeDivStart2 = oriTestRslt.TimeDivStart2;
tstRslt.TimeDivStart3 = oriTestRslt.TimeDivStart3;
tstRslt.TimeDivStart4 = oriTestRslt.TimeDivStart4;
tstRslt.TimeDivStart5 = oriTestRslt.TimeDivStart5;
tstRslt.TimeDivEnd0 = oriTestRslt.TimeDivEnd0;
tstRslt.TimeDivEnd1 = oriTestRslt.TimeDivEnd1;
tstRslt.TimeDivEnd2 = oriTestRslt.TimeDivEnd2;
tstRslt.TimeDivEnd3 = oriTestRslt.TimeDivEnd3;
tstRslt.TimeDivEnd4 = oriTestRslt.TimeDivEnd4;
tstRslt.TimeDivEnd5 = oriTestRslt.TimeDivEnd5;
tstRslt.BatchNr = Program.LocalSettings.BatchNr;
tstRslt.TimeStart = oriTestRslt.TimeStart;
tstRslt.TimeEnd = oriTestRslt.TimeEnd;
tstRslt.AmbientTempAve = oriTestRslt.AmbientTempAve;
tstRslt.AmbientPressAve = oriTestRslt.AmbientPressAve;
tstRslt.AmbientHumiAve = oriTestRslt.AmbientHumiAve;
tstRslt.PressInAvrg = oriTestRslt.PressInAvrg;
tstRslt.PressInStart = oriTestRslt.PressInStart;
tstRslt.PressInEnd = oriTestRslt.PressInEnd;
tstRslt.PressOutAvrg = oriTestRslt.PressOutAvrg;
tstRslt.PressOutStart = oriTestRslt.PressOutStart;
tstRslt.PressOutEnd = oriTestRslt.PressOutEnd;
tstRslt.TempInAvrg = oriTestRslt.TempInAvrg;
tstRslt.TempInStart = oriTestRslt.TempInStart;
tstRslt.TempInEnd = oriTestRslt.TempInEnd;
tstRslt.TempOutAvrg = oriTestRslt.TempOutAvrg;
tstRslt.TempOutStart = oriTestRslt.TempOutStart;
tstRslt.TempOutEnd = oriTestRslt.TempOutEnd;
tstRslt.TempDivAvrg = oriTestRslt.TempDivAvrg;
tstRslt.TempDivStart = oriTestRslt.TempDivStart;
tstRslt.TempDivEnd = oriTestRslt.TempDivEnd;
tstRslt.MassStartRaw = oriTestRslt.MassStartRaw;
tstRslt.MassStart = oriTestRslt.MassStart;
tstRslt.MassEndRaw = oriTestRslt.MassEndRaw;
tstRslt.MassEnd = oriTestRslt.MassEnd;
tstRslt.MassDiff = oriTestRslt.MassEnd;
tstRslt.DensityIn = oriTestRslt.DensityIn;
tstRslt.DensityOut = oriTestRslt.DensityOut;
tstRslt.DensityDiv = oriTestRslt.DensityDiv;
tstRslt.Buoyancy = oriTestRslt.Buoyancy;
tstRslt.FlowMass = oriTestRslt.FlowMass;
tstRslt.FlowVolume = oriTestRslt.FlowVolume;
tstRslt.VolumeCTV = oriTestRslt.VolumeCTV;
tstRslt.VolumeMaster = oriTestRslt.VolumeMaster;
tstRslt.Time = oriTestRslt.Time;
tstRslt.ErrorMaster = oriTestRslt.ErrorMaster;
tstRslt.PulsesMaster = oriTestRslt.PulsesMaster;
tstRslt.ConstMaster = oriTestRslt.ConstMaster;
tstRslt.TimeDivStart0 = oriTestRslt.TimeDivStart0;
tstRslt.TimeDivStart1 = oriTestRslt.TimeDivStart1;
tstRslt.TimeDivStart2 = oriTestRslt.TimeDivStart2;
tstRslt.TimeDivStart3 = oriTestRslt.TimeDivStart3;
tstRslt.TimeDivStart4 = oriTestRslt.TimeDivStart4;
tstRslt.TimeDivStart5 = oriTestRslt.TimeDivStart5;
tstRslt.TimeDivEnd0 = oriTestRslt.TimeDivEnd0;
tstRslt.TimeDivEnd1 = oriTestRslt.TimeDivEnd1;
tstRslt.TimeDivEnd2 = oriTestRslt.TimeDivEnd2;
tstRslt.TimeDivEnd3 = oriTestRslt.TimeDivEnd3;
tstRslt.TimeDivEnd4 = oriTestRslt.TimeDivEnd4;
tstRslt.TimeDivEnd5 = oriTestRslt.TimeDivEnd5;
for (int i = 0; i < Math.Min(tstRslt.Meters.Count, oriTestRslt.Meters.Count); i++)
{
@@ -218,7 +241,10 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
tstRslt.Meters[i].PulsesMaster = oriTestRslt.Meters[i].PulsesMaster;
tstRslt.Meters[i].Disabled = oriTestRslt.Meters[i].Disabled;
if ((iPerl == null) || (Math.Abs(oriTestRslt.Meters[i].VolumeErrorPct) <= 0.5f))
if (iPerl == null ||
Math.Abs(oriTestRslt.Meters[i].VolumeErrorPct) <= 0.5f ||
oriTestRslt.Meters[i].VolumeErrorPct < oriTestRslt.ErrLimLo ||
oriTestRslt.Meters[i].VolumeErrorPct > oriTestRslt.ErrLimHi)
{
/// Normal meter or iPerl without correction
tstRslt.Meters[i].VolumeStart = oriTestRslt.Meters[i].VolumeStart;
@@ -18,6 +18,8 @@ namespace TBF.BenchControl.WaterMeters.iPerl
public float Qn;
public string ApprovalInfo; /// Zulassungszeichen
public string MetrologicalClass; /// Metr. Klasse
public int WMType_ID; /// Required for Oracle DB: ID_WZTyp in table VT_PRUEFPUNKT_SOLL_SD
public int WMType_Rev; /// Required for Oracle DB: Rev_WZTyp in table VT_PRUEFPUNKT_SOLL_SD
public override void InitializeAll()
{
@@ -26,6 +28,8 @@ namespace TBF.BenchControl.WaterMeters.iPerl
Qn = 2.5f;
ApprovalInfo = "";
MetrologicalClass = "A";
WMType_ID = 2; /// Value for iPerl DN15
WMType_Rev = 1; /// Value for iPerl DN15
}
string[] paramNames = new string[]
@@ -35,6 +39,8 @@ namespace TBF.BenchControl.WaterMeters.iPerl
Strings.Qn,
Strings.Approval_info,
Strings.Metrological_class,
"WMType ID",
"WMType Rev.",
};
public override string ParamName(int i) { return paramNames[i]; }
public override int ParamsCount() { return paramNames.Length; }
@@ -48,7 +54,9 @@ namespace TBF.BenchControl.WaterMeters.iPerl
case 2: return Qn.ToString();
case 3: return ApprovalInfo;
case 4: return MetrologicalClass;
default: return string.Empty;
case 5: return WMType_ID.ToString();
case 6: return WMType_Rev.ToString();
default: return string.Empty;
}
}
@@ -61,7 +69,9 @@ namespace TBF.BenchControl.WaterMeters.iPerl
case 2: Qn = Utils.ParseUFloat(strValue); return;
case 3: ApprovalInfo = strValue; return;
case 4: MetrologicalClass = strValue; return;
default: return;
case 5: WMType_ID = int.Parse(strValue); return;
case 6: WMType_Rev = int.Parse(strValue); return;
default: return;
}
}
@@ -70,6 +80,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl
message = string.Empty;
float dummy;
int iDummy;
switch (i)
{
case 0:
@@ -82,7 +93,11 @@ namespace TBF.BenchControl.WaterMeters.iPerl
case 3:
case 4:
return true;
default:
case 5:
case 6:
if (int.TryParse(strValue, out iDummy)) return true;
break;
default:
message = "Invalid index";
return false;
}
@@ -98,7 +113,9 @@ namespace TBF.BenchControl.WaterMeters.iPerl
prms.Qn = this.Qn;
prms.ApprovalInfo = this.ApprovalInfo;
prms.MetrologicalClass = this.MetrologicalClass;
}
prms.WMType_ID = this.WMType_ID;
prms.WMType_Rev = this.WMType_Rev;
}
public IParamsProvider Clone()
{
@@ -41,6 +41,12 @@ namespace TBF.BenchControl.WaterMeters.iPerl
/// <summary>Metrological class</summary>
public string MetrologicalClass { get { return iPerlCfg.ProcParams.MetrologicalClass; } }
/// <summary>WM Type ID for Oracle DB</summary>
public int WMType_ID { get { return iPerlCfg.ProcParams.WMType_ID; } }
/// <summary>WM Type Revision for Oracle DB</summary>
public int WMType_Rev { get { return iPerlCfg.ProcParams.WMType_Rev; } }
/// Properties set by the Begin and the End form
public string SerialNr
{
@@ -81,6 +87,8 @@ namespace TBF.BenchControl.WaterMeters.iPerl
}
bool commFailed;
public bool PositiveCounting;
/// <summary> ConfigStruct of the water meter obtained or updated by iPerlCommunication </summary>
public ConfigStruct ConfigStruct
{
@@ -97,8 +105,11 @@ namespace TBF.BenchControl.WaterMeters.iPerl
}
CalibrationStruct calibrationStruct;
public ushort OriginalCalibFactor;
public ushort CalibrationFactor { get { return CalibrationStruct.Calibration; } }
public double Q2ErrorWOCorrection;
public bool Q2CorrectionDone;
public double CurrentQ2Correction;
@@ -113,19 +124,24 @@ namespace TBF.BenchControl.WaterMeters.iPerl
/// </summary>
/// <param name="originalCalibrationFactor">Original calibration factor</param>
/// <returns>New calibration factor</returns>
public UInt16 CalculateNewCalibFactor(UInt16 originalCalibrationFactor)
public UInt16 CalculateNewCalibFactor(UInt16 originalCalibrationFactor, UInt16 FactorLimitLo, UInt16 FactorLimitHi)
{
OriginalCalibFactor = originalCalibrationFactor;
double volumeMeter = Math.Abs(VolumeLtrEnd - VolumeLtrStart);
if (volumeMeter > 1E-2)
{
PositiveCounting = VolumeLtrEnd > VolumeLtrStart;
UInt16 newFactor = (UInt16)((double)originalCalibrationFactor * VolumeLtrRef / volumeMeter + 0.5);
log.InfoFormat("Calibration factor: orig={0} new={1} V_1={2} V_2={3} Vdiff={4} Vref={5}",
originalCalibrationFactor, newFactor,
VolumeLtrStart.ToString("F3"), VolumeLtrEnd.ToString("F3"), volumeMeter.ToString("F3"),
VolumeLtrRef.ToString("F3"));
if (newFactor < iPerlCfg.CalibrationMin) newFactor = iPerlCfg.CalibrationMin;
if (newFactor > iPerlCfg.CalibrationMax) newFactor = iPerlCfg.CalibrationMax;
if (newFactor < FactorLimitLo) newFactor = FactorLimitLo;
if (newFactor > FactorLimitHi) newFactor = FactorLimitHi;
return newFactor;
}
@@ -145,7 +161,13 @@ namespace TBF.BenchControl.WaterMeters.iPerl
/// <returns>Q2 correction factor</returns>
public double Q2CorrectionFactor()
{
if (Math.Abs(LastTestResult.VolumeErrorPct) <= 0.5f) return 0; /// No Q2 correction if error < +/-0.5 %
Q2ErrorWOCorrection = LastTestResult.VolumeErrorPct;
if (Math.Abs(LastTestResult.VolumeErrorPct) <= 0.5f)
{
Q2CorrectionDone = false;
return 0; /// No Q2 correction if error < +/-0.5 %
}
double A = 16.0 / ScalingFactor(); /// Raw units per ml: DN15=16, DN20=8, DN25=4, DN32=2, DN40=1
const double B = 8.0; /// Raw units per minute, 8
@@ -157,6 +179,9 @@ namespace TBF.BenchControl.WaterMeters.iPerl
float errLimitLo = LastTestResult.TestResult.ErrLimLo;
float errLimitHi = LastTestResult.TestResult.ErrLimHi;
if (LastTestResult.VolumeErrorPct < errLimitLo) return 0; /// No Q2 correction if error too large -> WM failed
if (LastTestResult.VolumeErrorPct > errLimitHi) return 0; /// No Q2 correction if error too large -> WM failed
float volumeMeterErrLimLo = LastTestResult.VolumeRef * (100.0f + errLimitLo) / 100.0f;
float volumeMeterErrLimHi = LastTestResult.VolumeRef * (100.0f + errLimitHi) / 100.0f;
@@ -166,19 +191,14 @@ namespace TBF.BenchControl.WaterMeters.iPerl
double corrFactor = (-1) * (LastTestResult.VolumeErrorPct / G) * (LastTestResult.VolumeRef / LastTestResult.VolumeMeter);
double origCalulatedCorrFactor = corrFactor;
if (corrFactor < corrFactorLo) corrFactor = corrFactorLo;
if (corrFactor > corrFactorHi) corrFactor = corrFactorHi;
log.WarnFormat("Q2 correction: {0}, corrFactor={7}, corrOrig={6} [{4}, {5}], error={3}% [{1}%, errLimHi={2}%]",
log.WarnFormat("Q2 correction: {0}, corrFactor={4}, error={3}% [Lo={1}%, Hi={2}%]",
Name,
errLimitLo.ToString("F1"),
errLimitHi.ToString("F1"),
LastTestResult.VolumeErrorPct.ToString("F2"),
corrFactorLo.ToString("F1"),
corrFactorHi.ToString("F1"),
origCalulatedCorrFactor.ToString("F1"),
corrFactor.ToString("F1"));
Q2CorrectionDone = true;
return corrFactor;
}
@@ -20,8 +20,6 @@ namespace TBF.BenchControl.WaterMeters.iPerl
/// Serialized parameters
///
public MeterType MeterType;
public UInt16 CalibrationMin;
public UInt16 CalibrationMax;
public int OptoComPortNr;
public int MuxBoardNr; /// Multiplexer board number 1 .. 4
public int Group; /// Number written to QuidoRS to connct the watermeter to RfidComPort
@@ -43,8 +41,6 @@ namespace TBF.BenchControl.WaterMeters.iPerl
Name = "iPerl";
ParentName = string.Empty;
OptoComPortNr = 10;
CalibrationMin = 2400;
CalibrationMax = 2700;
ProcParams = new ProcParams();
}
@@ -56,11 +52,9 @@ namespace TBF.BenchControl.WaterMeters.iPerl
public string ToString(int i)
{
return string.Format("Name={0}, Type={1}, CalibMin={2}, CalibMax={3}, Opto=COM{4}, MuxBoard#={5}, Group={6}",
return string.Format("Name={0}, Type={1}, Opto=COM{2}, MuxBoard#={3}, Group={4}",
Name,
MeterType,
CalibrationMin,
CalibrationMax,
OptoComPortNr,
MuxBoardNr,
Group);
@@ -49,8 +49,6 @@ namespace TBF.BenchControl.WaterMeters.iPerl
classNameLabel.Text = config.Factory.ClassName;
nameTextBox.Text = config.Name;
meterTypeComboBox.Text = config.MeterType.ToString();
calibFactorMinTextBox.Text = config.CalibrationMin.ToString();
calibFactorMaxTextBox.Text = config.CalibrationMax.ToString();
optoPortNrTextBox.Text = config.OptoComPortNr.ToString();
muxBoardNrTextBox.Text = config.MuxBoardNr.ToString();
groupTextBox.Text = config.Group.ToString();
@@ -60,8 +58,6 @@ namespace TBF.BenchControl.WaterMeters.iPerl
{
nameTextBox.Enabled = true;
meterTypeComboBox.Enabled = true;
calibFactorMinTextBox.Enabled = true;
calibFactorMaxTextBox.Enabled = true;
optoPortNrTextBox.Enabled = true;
muxBoardNrTextBox.Enabled = true;
groupTextBox.Enabled = true;
@@ -77,18 +73,6 @@ namespace TBF.BenchControl.WaterMeters.iPerl
message += Environment.NewLine + "Meter type is not valid";
}
UInt16 calibFactor;
if (!UInt16.TryParse(calibFactorMinTextBox.Text, out calibFactor) || calibFactor < 1 || calibFactor > 5000)
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + "'Calib. factor limit low' is not valid";
}
if (!UInt16.TryParse(calibFactorMaxTextBox.Text, out calibFactor) || calibFactor < 1 || calibFactor > 5000)
{
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + "'Calib. factor limit high' is not valid";
}
int dummy;
if (!int.TryParse(optoPortNrTextBox.Text, out dummy) || dummy < 1 || dummy > 999)
{
@@ -117,8 +101,6 @@ namespace TBF.BenchControl.WaterMeters.iPerl
config.Name = nameTextBox.Text;
config.MeterType = (MeterType)meterTypeComboBox.SelectedIndex;
config.CalibrationMin = UInt16.Parse(calibFactorMinTextBox.Text);
config.CalibrationMax = UInt16.Parse(calibFactorMaxTextBox.Text);
config.OptoComPortNr = int.Parse(optoPortNrTextBox.Text);
config.MuxBoardNr = int.Parse(muxBoardNrTextBox.Text);
config.Group = int.Parse(groupTextBox.Text);
@@ -43,16 +43,12 @@ namespace TBF.BenchControl.WaterMeters.iPerl
this.groupLabel = new System.Windows.Forms.Label();
this.meterTypeLabel = new System.Windows.Forms.Label();
this.meterTypeComboBox = new System.Windows.Forms.ComboBox();
this.calibFactorMinTextBox = new System.Windows.Forms.TextBox();
this.calibFactorMinLabel = new System.Windows.Forms.Label();
this.calibFactorMaxTextBox = new System.Windows.Forms.TextBox();
this.calibFactorMaxLabel = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(135, 36);
this.nameTextBox.Location = new System.Drawing.Point(135, 39);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(121, 20);
this.nameTextBox.TabIndex = 2;
@@ -60,7 +56,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(25, 39);
this.nameLabel.Location = new System.Drawing.Point(25, 42);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 1;
@@ -69,7 +65,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(132, 15);
this.classNameLabel.Location = new System.Drawing.Point(132, 18);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(60, 13);
this.classNameLabel.TabIndex = 0;
@@ -78,7 +74,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl
// optoPortNrTextBox
//
this.optoPortNrTextBox.Enabled = false;
this.optoPortNrTextBox.Location = new System.Drawing.Point(135, 125);
this.optoPortNrTextBox.Location = new System.Drawing.Point(135, 84);
this.optoPortNrTextBox.Name = "optoPortNrTextBox";
this.optoPortNrTextBox.Size = new System.Drawing.Size(34, 20);
this.optoPortNrTextBox.TabIndex = 10;
@@ -86,7 +82,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl
// optoPortNrLabel
//
this.optoPortNrLabel.AutoSize = true;
this.optoPortNrLabel.Location = new System.Drawing.Point(25, 128);
this.optoPortNrLabel.Location = new System.Drawing.Point(25, 87);
this.optoPortNrLabel.Name = "optoPortNrLabel";
this.optoPortNrLabel.Size = new System.Drawing.Size(96, 13);
this.optoPortNrLabel.TabIndex = 9;
@@ -95,7 +91,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl
// muxBoardNrTextBox
//
this.muxBoardNrTextBox.Enabled = false;
this.muxBoardNrTextBox.Location = new System.Drawing.Point(135, 147);
this.muxBoardNrTextBox.Location = new System.Drawing.Point(135, 106);
this.muxBoardNrTextBox.Name = "muxBoardNrTextBox";
this.muxBoardNrTextBox.Size = new System.Drawing.Size(34, 20);
this.muxBoardNrTextBox.TabIndex = 12;
@@ -103,7 +99,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl
// muxBoardNrLabel
//
this.muxBoardNrLabel.AutoSize = true;
this.muxBoardNrLabel.Location = new System.Drawing.Point(25, 150);
this.muxBoardNrLabel.Location = new System.Drawing.Point(25, 109);
this.muxBoardNrLabel.Name = "muxBoardNrLabel";
this.muxBoardNrLabel.Size = new System.Drawing.Size(78, 13);
this.muxBoardNrLabel.TabIndex = 11;
@@ -112,7 +108,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl
// groupTextBox
//
this.groupTextBox.Enabled = false;
this.groupTextBox.Location = new System.Drawing.Point(135, 169);
this.groupTextBox.Location = new System.Drawing.Point(135, 128);
this.groupTextBox.Name = "groupTextBox";
this.groupTextBox.Size = new System.Drawing.Size(34, 20);
this.groupTextBox.TabIndex = 14;
@@ -120,7 +116,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl
// groupLabel
//
this.groupLabel.AutoSize = true;
this.groupLabel.Location = new System.Drawing.Point(25, 172);
this.groupLabel.Location = new System.Drawing.Point(25, 131);
this.groupLabel.Name = "groupLabel";
this.groupLabel.Size = new System.Drawing.Size(39, 13);
this.groupLabel.TabIndex = 13;
@@ -129,7 +125,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl
// meterTypeLabel
//
this.meterTypeLabel.AutoSize = true;
this.meterTypeLabel.Location = new System.Drawing.Point(25, 61);
this.meterTypeLabel.Location = new System.Drawing.Point(25, 64);
this.meterTypeLabel.Name = "meterTypeLabel";
this.meterTypeLabel.Size = new System.Drawing.Size(57, 13);
this.meterTypeLabel.TabIndex = 3;
@@ -139,53 +135,15 @@ namespace TBF.BenchControl.WaterMeters.iPerl
//
this.meterTypeComboBox.Enabled = false;
this.meterTypeComboBox.FormattingEnabled = true;
this.meterTypeComboBox.Location = new System.Drawing.Point(135, 58);
this.meterTypeComboBox.Location = new System.Drawing.Point(135, 61);
this.meterTypeComboBox.Name = "meterTypeComboBox";
this.meterTypeComboBox.Size = new System.Drawing.Size(121, 21);
this.meterTypeComboBox.TabIndex = 4;
//
// calibFactorMinTextBox
//
this.calibFactorMinTextBox.Enabled = false;
this.calibFactorMinTextBox.Location = new System.Drawing.Point(135, 81);
this.calibFactorMinTextBox.Name = "calibFactorMinTextBox";
this.calibFactorMinTextBox.Size = new System.Drawing.Size(57, 20);
this.calibFactorMinTextBox.TabIndex = 6;
//
// calibFactorMinLabel
//
this.calibFactorMinLabel.AutoSize = true;
this.calibFactorMinLabel.Location = new System.Drawing.Point(25, 84);
this.calibFactorMinLabel.Name = "calibFactorMinLabel";
this.calibFactorMinLabel.Size = new System.Drawing.Size(105, 13);
this.calibFactorMinLabel.TabIndex = 5;
this.calibFactorMinLabel.Text = "Calib. factor limit low:";
//
// calibFactorMaxTextBox
//
this.calibFactorMaxTextBox.Enabled = false;
this.calibFactorMaxTextBox.Location = new System.Drawing.Point(135, 103);
this.calibFactorMaxTextBox.Name = "calibFactorMaxTextBox";
this.calibFactorMaxTextBox.Size = new System.Drawing.Size(57, 20);
this.calibFactorMaxTextBox.TabIndex = 8;
//
// calibFactorMaxLabel
//
this.calibFactorMaxLabel.AutoSize = true;
this.calibFactorMaxLabel.Location = new System.Drawing.Point(25, 106);
this.calibFactorMaxLabel.Name = "calibFactorMaxLabel";
this.calibFactorMaxLabel.Size = new System.Drawing.Size(109, 13);
this.calibFactorMaxLabel.TabIndex = 7;
this.calibFactorMaxLabel.Text = "Calib. factor limit high:";
//
// WaterMeterCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.calibFactorMaxTextBox);
this.Controls.Add(this.calibFactorMaxLabel);
this.Controls.Add(this.calibFactorMinTextBox);
this.Controls.Add(this.calibFactorMinLabel);
this.Controls.Add(this.meterTypeComboBox);
this.Controls.Add(this.meterTypeLabel);
this.Controls.Add(this.groupTextBox);
@@ -217,10 +175,6 @@ namespace TBF.BenchControl.WaterMeters.iPerl
private System.Windows.Forms.TextBox groupTextBox;
private System.Windows.Forms.Label groupLabel;
private System.Windows.Forms.Label meterTypeLabel;
private System.Windows.Forms.ComboBox meterTypeComboBox;
private System.Windows.Forms.TextBox calibFactorMinTextBox;
private System.Windows.Forms.Label calibFactorMinLabel;
private System.Windows.Forms.TextBox calibFactorMaxTextBox;
private System.Windows.Forms.Label calibFactorMaxLabel;
private System.Windows.Forms.ComboBox meterTypeComboBox;
}
}
+8 -7
View File
@@ -44,26 +44,26 @@ namespace TBF
//
// okButton
//
resources.ApplyResources(this.okButton, "okButton");
this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
this.okButton.ImageKey = global::TBF.Resources.Strings.String1;
resources.ApplyResources(this.okButton, "okButton");
this.okButton.Name = "okButton";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// cancelButton
//
resources.ApplyResources(this.cancelButton, "cancelButton");
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelButton.ImageKey = global::TBF.Resources.Strings.String1;
resources.ApplyResources(this.cancelButton, "cancelButton");
this.cancelButton.Name = "cancelButton";
this.cancelButton.UseVisualStyleBackColor = true;
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
//
// testBenchesListBox
//
resources.ApplyResources(this.testBenchesListBox, "testBenchesListBox");
this.testBenchesListBox.FormattingEnabled = true;
resources.ApplyResources(this.testBenchesListBox, "testBenchesListBox");
this.testBenchesListBox.Name = "testBenchesListBox";
this.testBenchesListBox.DoubleClick += new System.EventHandler(this.testBenchesListBox_DoubleClick);
//
@@ -75,32 +75,32 @@ namespace TBF
//
// editButton
//
resources.ApplyResources(this.editButton, "editButton");
this.editButton.ImageKey = global::TBF.Resources.Strings.String1;
resources.ApplyResources(this.editButton, "editButton");
this.editButton.Name = "editButton";
this.editButton.UseVisualStyleBackColor = true;
this.editButton.Click += new System.EventHandler(this.editButton_Click);
//
// addButton
//
resources.ApplyResources(this.addButton, "addButton");
this.addButton.ImageKey = global::TBF.Resources.Strings.String1;
resources.ApplyResources(this.addButton, "addButton");
this.addButton.Name = "addButton";
this.addButton.UseVisualStyleBackColor = true;
this.addButton.Click += new System.EventHandler(this.addButton_Click);
//
// removeButton
//
resources.ApplyResources(this.removeButton, "removeButton");
this.removeButton.ImageKey = global::TBF.Resources.Strings.String1;
resources.ApplyResources(this.removeButton, "removeButton");
this.removeButton.Name = "removeButton";
this.removeButton.UseVisualStyleBackColor = true;
this.removeButton.Click += new System.EventHandler(this.removeButton_Click);
//
// copyButton
//
resources.ApplyResources(this.copyButton, "copyButton");
this.copyButton.ImageKey = global::TBF.Resources.Strings.String1;
resources.ApplyResources(this.copyButton, "copyButton");
this.copyButton.Name = "copyButton";
this.copyButton.UseVisualStyleBackColor = true;
this.copyButton.Click += new System.EventHandler(this.copyButton_Click);
@@ -121,6 +121,7 @@ namespace TBF
this.MaximizeBox = false;
this.Name = "BenchesDlg";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Load += new System.EventHandler(this.BenchesDlg_Load);
this.ResumeLayout(false);
this.PerformLayout();
+13
View File
@@ -3,6 +3,7 @@
///
using System;
using System.Windows.Forms;
using TBF.Resources;
namespace TBF
{
@@ -29,6 +30,18 @@ namespace TBF
RedrawTestBenchesListBox();
}
private void BenchesDlg_Load(object sender, EventArgs e)
{
Text = Strings.Database_Settings;
label1.Text = Strings.Test_Benches_;
addButton.Text = Strings.AddBtnText;
copyButton.Text = Strings.CopyBtnText;
editButton.Text = Strings.EditBtnText;
removeButton.Text = Strings.RemoveBtnText;
okButton.Text = Strings.OkBtnText;
cancelButton.Text = Strings.CancelBtnText;
}
void RedrawTestBenchesListBox()
{
testBenchesListBox.Items.Clear();
-148
View File
@@ -1,148 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="okButton.Text" xml:space="preserve">
<value>&amp;OK</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>&amp;Abbrechen</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>58, 13</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Prüfstände</value>
</data>
<data name="editButton.Text" xml:space="preserve">
<value>&amp;Bearbeiten...</value>
</data>
<data name="addButton.Text" xml:space="preserve">
<value>&amp;Neu...</value>
</data>
<data name="removeButton.Text" xml:space="preserve">
<value>&amp;Löschen</value>
</data>
<data name="copyButton.Text" xml:space="preserve">
<value>&amp;Kopieren</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Datenbank Einstellungen</value>
</data>
</root>
+169 -172
View File
@@ -117,223 +117,220 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="testBenchesListBox.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="editButton.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 105</value>
</data>
<data name="&gt;&gt;copyButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="addButton.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 37</value>
</data>
<data name="testBenchesListBox.Size" type="System.Drawing.Size, System.Drawing">
<value>164, 134</value>
</data>
<data name="addButton.Text" xml:space="preserve">
<value>&amp;Add</value>
</data>
<data name="&gt;&gt;removeButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="editButton.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;editButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;cancelButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>BenchesDlg</value>
</data>
<data name="&gt;&gt;testBenchesListBox.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="removeButton.Text" xml:space="preserve">
<value>&amp;Remove</value>
</data>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>344, 71</value>
</data>
<data name="&gt;&gt;cancelButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;testBenchesListBox.Name" xml:space="preserve">
<value>testBenchesListBox</value>
</data>
<data name="copyButton.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 71</value>
</data>
<data name="&gt;&gt;okButton.Name" xml:space="preserve">
<value>okButton</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;testBenchesListBox.Type" xml:space="preserve">
<value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="editButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="copyButton.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="&gt;&gt;editButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>79, 13</value>
</data>
<data name="addButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="&gt;&gt;removeButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>459, 185</value>
</data>
<data name="cancelButton.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>344, 37</value>
</data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="editButton.Text" xml:space="preserve">
<value>&amp;Edit</value>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="okButton.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="&gt;&gt;addButton.Name" xml:space="preserve">
<value>addButton</value>
<data name="okButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
<data name="&gt;&gt;okButton.Name" xml:space="preserve">
<value>okButton</value>
</data>
<data name="&gt;&gt;okButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="removeButton.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 139</value>
</data>
<data name="&gt;&gt;cancelButton.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>344, 37</value>
</data>
<data name="copyButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="removeButton.TabIndex" type="System.Int32, mscorlib">
<value>17</value>
</data>
<data name="&gt;&gt;removeButton.Name" xml:space="preserve">
<value>removeButton</value>
</data>
<data name="copyButton.Text" xml:space="preserve">
<value>&amp;Copy</value>
</data>
<data name="testBenchesListBox.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 37</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="&gt;&gt;addButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;okButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;okButton.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;addButton.Parent" xml:space="preserve">
<value>$this</value>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>344, 71</value>
</data>
<data name="&gt;&gt;copyButton.Name" xml:space="preserve">
<value>copyButton</value>
</data>
<data name="removeButton.Size" type="System.Drawing.Size, System.Drawing">
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<data name="cancelButton.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="&gt;&gt;editButton.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;editButton.Name" xml:space="preserve">
<value>editButton</value>
<data name="cancelButton.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;cancelButton.Name" xml:space="preserve">
<value>cancelButton</value>
</data>
<data name="&gt;&gt;cancelButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cancelButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;cancelButton.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="testBenchesListBox.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 37</value>
</data>
<data name="testBenchesListBox.Size" type="System.Drawing.Size, System.Drawing">
<value>164, 134</value>
</data>
<data name="testBenchesListBox.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="&gt;&gt;testBenchesListBox.Name" xml:space="preserve">
<value>testBenchesListBox</value>
</data>
<data name="&gt;&gt;testBenchesListBox.Type" xml:space="preserve">
<value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;testBenchesListBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;testBenchesListBox.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 15</value>
</data>
<data name="&gt;&gt;removeButton.Type" xml:space="preserve">
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>79, 13</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Test Benches :</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="editButton.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 105</value>
</data>
<data name="editButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="editButton.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="editButton.Text" xml:space="preserve">
<value>&amp;Edit</value>
</data>
<data name="&gt;&gt;editButton.Name" xml:space="preserve">
<value>editButton</value>
</data>
<data name="&gt;&gt;editButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;copyButton.Type" xml:space="preserve">
<data name="&gt;&gt;editButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;editButton.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="addButton.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 37</value>
</data>
<data name="addButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="addButton.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="addButton.Text" xml:space="preserve">
<value>&amp;Add</value>
</data>
<data name="&gt;&gt;addButton.Name" xml:space="preserve">
<value>addButton</value>
</data>
<data name="&gt;&gt;addButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;testBenchesListBox.Parent" xml:space="preserve">
<data name="&gt;&gt;addButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;addButton.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="okButton.Text" xml:space="preserve">
<value>OK</value>
<data name="removeButton.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 139</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Database Settings</value>
<data name="removeButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="&gt;&gt;okButton.Parent" xml:space="preserve">
<data name="removeButton.TabIndex" type="System.Int32, mscorlib">
<value>17</value>
</data>
<data name="removeButton.Text" xml:space="preserve">
<value>&amp;Remove</value>
</data>
<data name="&gt;&gt;removeButton.Name" xml:space="preserve">
<value>removeButton</value>
</data>
<data name="&gt;&gt;removeButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;removeButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;removeButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="copyButton.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 71</value>
</data>
<data name="copyButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="copyButton.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="copyButton.Text" xml:space="preserve">
<value>&amp;Copy</value>
</data>
<data name="&gt;&gt;copyButton.Name" xml:space="preserve">
<value>copyButton</value>
</data>
<data name="&gt;&gt;copyButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;copyButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;copyButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="okButton.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="addButton.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Test Benches :</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>de</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>459, 185</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Database Settings</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>BenchesDlg</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>
+2 -2
View File
@@ -61,16 +61,16 @@ namespace TBF.Forms
//
// closeButton
//
resources.ApplyResources(this.closeButton, "closeButton");
this.closeButton.DialogResult = System.Windows.Forms.DialogResult.OK;
this.closeButton.ImageKey = global::TBF.Resources.Strings.String1;
resources.ApplyResources(this.closeButton, "closeButton");
this.closeButton.Name = "closeButton";
this.closeButton.UseVisualStyleBackColor = true;
//
// logoPictureBox
//
this.logoPictureBox.BackgroundImage = global::TBF.Properties.Resources.sensus_logo;
resources.ApplyResources(this.logoPictureBox, "logoPictureBox");
this.logoPictureBox.BackgroundImage = global::TBF.Properties.Resources.sensus_logo;
this.logoPictureBox.Name = "logoPictureBox";
this.logoPictureBox.TabStop = false;
//
+12
View File
@@ -9,6 +9,7 @@ using System.Drawing;
using System.Text;
using System.Security.Cryptography;
using System.Windows.Forms;
using TBF.Resources;
namespace TBF.Forms
{
@@ -24,6 +25,8 @@ namespace TBF.Forms
{
InitializeComponent();
Localize();
System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
///
Version ver = asm.GetName().Version;
@@ -37,5 +40,14 @@ namespace TBF.Forms
foreach (byte oneByte in sha1) { sb.Append(oneByte.ToString("X2")); }
secureHashLabel.Text = string.Format("SHA1: {0}", sb);
}
void Localize()
{
Text = Strings.About_Test_Bench_Framework;
copyrightLabel.Text = string.Format(Strings.CopyrightStr, DateTime.Now.Year);
versionLabel.Text = Strings.VersionStr;
buildDateLabel.Text = Strings.BuildDateStr;
closeButton.Text = Strings.CloseBtnText;
}
}
}
-136
View File
@@ -1,136 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="copyrightLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>117, 13</value>
</data>
<data name="copyrightLabel.Text" xml:space="preserve">
<value>© 2014 Sensus GmbH</value>
</data>
<data name="buildDateLabel.Text" xml:space="preserve">
<value>erstellt am _BUILD_DATE_</value>
</data>
<data name="closeButton.Text" xml:space="preserve">
<value>&amp;Schließen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Über Test Bench Framework</value>
</data>
</root>
+165 -165
View File
@@ -117,190 +117,190 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="copyrightLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="copyrightLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>145, 19</value>
</data>
<data name="copyrightLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>123, 13</value>
</data>
<data name="copyrightLabel.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="copyrightLabel.Text" xml:space="preserve">
<value>Copyright © 2013 - 2015</value>
</data>
<data name="&gt;&gt;copyrightLabel.Name" xml:space="preserve">
<value>copyrightLabel</value>
</data>
<data name="&gt;&gt;copyrightLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;copyrightLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;copyrightLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="versionLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="versionLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>145, 40</value>
</data>
<data name="versionLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 13</value>
</data>
<data name="versionLabel.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="versionLabel.Text" xml:space="preserve">
<value>Version _VERSION_</value>
</data>
<data name="&gt;&gt;versionLabel.Name" xml:space="preserve">
<value>versionLabel</value>
</data>
<data name="&gt;&gt;versionLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;versionLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;versionLabel.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="buildDateLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="buildDateLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>145, 62</value>
</data>
<data name="buildDateLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>136, 13</value>
</data>
<data name="buildDateLabel.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="buildDateLabel.Text" xml:space="preserve">
<value>Build date _BUILD_DATE_</value>
</data>
<data name="&gt;&gt;buildDateLabel.Name" xml:space="preserve">
<value>buildDateLabel</value>
</data>
<data name="&gt;&gt;buildDateLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;buildDateLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;buildDateLabel.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="closeButton.Location" type="System.Drawing.Point, System.Drawing">
<value>341, 22</value>
</data>
<data name="closeButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="closeButton.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="closeButton.Text" xml:space="preserve">
<value>&amp;Close</value>
</data>
<data name="&gt;&gt;closeButton.Name" xml:space="preserve">
<value>closeButton</value>
</data>
<data name="&gt;&gt;closeButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;closeButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;closeButton.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="logoPictureBox.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Stretch</value>
</data>
<data name="logoPictureBox.InitialImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="logoPictureBox.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 34</value>
</data>
<data name="logoPictureBox.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 30</value>
</data>
<data name="logoPictureBox.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="&gt;&gt;logoPictureBox.Name" xml:space="preserve">
<value>logoPictureBox</value>
</data>
<data name="&gt;&gt;logoPictureBox.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;logoPictureBox.Parent" xml:space="preserve">
<data name="&gt;&gt;closeButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;logoPictureBox.ZOrder" xml:space="preserve">
<value>1</value>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="secureHashLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<data name="&gt;&gt;versionLabel.Name" xml:space="preserve">
<value>versionLabel</value>
</data>
<data name="secureHashLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="secureHashLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>145, 85</value>
</data>
<data name="secureHashLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>67, 13</value>
</data>
<data name="secureHashLabel.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="secureHashLabel.Text" xml:space="preserve">
<value>Secure hash</value>
</data>
<data name="&gt;&gt;secureHashLabel.Name" xml:space="preserve">
<value>secureHashLabel</value>
</data>
<data name="&gt;&gt;secureHashLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;secureHashLabel.Parent" xml:space="preserve">
<value>$this</value>
<data name="&gt;&gt;copyrightLabel.Name" xml:space="preserve">
<value>copyrightLabel</value>
</data>
<data name="&gt;&gt;secureHashLabel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>458, 116</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>About Test Bench Framework</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>AboutDlg</value>
<data name="&gt;&gt;secureHashLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;buildDateLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;closeButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;copyrightLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="secureHashLabel.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>AboutDlg</value>
</data>
<data name="&gt;&gt;logoPictureBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="copyrightLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="versionLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="logoPictureBox.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 30</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>458, 116</value>
</data>
<data name="versionLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 13</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="logoPictureBox.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Stretch</value>
</data>
<data name="&gt;&gt;versionLabel.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="&gt;&gt;logoPictureBox.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="versionLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>145, 40</value>
</data>
<data name="&gt;&gt;logoPictureBox.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="secureHashLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>145, 85</value>
</data>
<data name="closeButton.Location" type="System.Drawing.Point, System.Drawing">
<value>341, 22</value>
</data>
<data name="buildDateLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>145, 62</value>
</data>
<data name="versionLabel.Text" xml:space="preserve">
<value>Version _VERSION_</value>
</data>
<data name="&gt;&gt;secureHashLabel.Name" xml:space="preserve">
<value>secureHashLabel</value>
</data>
<data name="buildDateLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>136, 13</value>
</data>
<data name="&gt;&gt;closeButton.Name" xml:space="preserve">
<value>closeButton</value>
</data>
<data name="&gt;&gt;logoPictureBox.Name" xml:space="preserve">
<value>logoPictureBox</value>
</data>
<data name="secureHashLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>67, 13</value>
</data>
<data name="secureHashLabel.Text" xml:space="preserve">
<value>Secure hash</value>
</data>
<data name="closeButton.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="logoPictureBox.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="closeButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="secureHashLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="buildDateLabel.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="copyrightLabel.Text" xml:space="preserve">
<value>Copyright © 2013 - 2015</value>
</data>
<data name="copyrightLabel.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="closeButton.Text" xml:space="preserve">
<value>&amp;Close</value>
</data>
<data name="&gt;&gt;copyrightLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;versionLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="buildDateLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="logoPictureBox.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 34</value>
</data>
<data name="&gt;&gt;buildDateLabel.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;buildDateLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="copyrightLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>145, 19</value>
</data>
<data name="&gt;&gt;versionLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;buildDateLabel.Name" xml:space="preserve">
<value>buildDateLabel</value>
</data>
<data name="copyrightLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>123, 13</value>
</data>
<data name="logoPictureBox.InitialImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="secureHashLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="versionLabel.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;secureHashLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="buildDateLabel.Text" xml:space="preserve">
<value>Build date _BUILD_DATE_</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
+24 -24
View File
@@ -34,15 +34,15 @@ namespace TBF.Forms
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditSelectedUser));
this.txtName = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.nameLabel = new System.Windows.Forms.Label();
this.btnOk = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.txtPassword = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.passwordLabel = new System.Windows.Forms.Label();
this.txtDescription = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.descriptionLabel = new System.Windows.Forms.Label();
this.checkedListBoxGroups = new System.Windows.Forms.CheckedListBox();
this.label5 = new System.Windows.Forms.Label();
this.groupsLabel = new System.Windows.Forms.Label();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.SuspendLayout();
//
@@ -54,10 +54,10 @@ namespace TBF.Forms
this.txtName.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtName_KeyPress);
this.txtName.Validated += new System.EventHandler(this.txtName_Validated);
//
// label1
// nameLabel
//
resources.ApplyResources(this.label1, "label1");
this.label1.Name = "label1";
resources.ApplyResources(this.nameLabel, "nameLabel");
this.nameLabel.Name = "nameLabel";
//
// btnOk
//
@@ -79,10 +79,10 @@ namespace TBF.Forms
this.txtPassword.Name = "txtPassword";
this.txtPassword.TextChanged += new System.EventHandler(this.txtPassword_TextChanged);
//
// label3
// passwordLabel
//
resources.ApplyResources(this.label3, "label3");
this.label3.Name = "label3";
resources.ApplyResources(this.passwordLabel, "passwordLabel");
this.passwordLabel.Name = "passwordLabel";
//
// txtDescription
//
@@ -91,10 +91,10 @@ namespace TBF.Forms
this.txtDescription.TextChanged += new System.EventHandler(this.txtDescription_TextChanged);
this.txtDescription.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtDescription_KeyPress);
//
// label4
// descriptionLabel
//
resources.ApplyResources(this.label4, "label4");
this.label4.Name = "label4";
resources.ApplyResources(this.descriptionLabel, "descriptionLabel");
this.descriptionLabel.Name = "descriptionLabel";
//
// checkedListBoxGroups
//
@@ -104,22 +104,22 @@ namespace TBF.Forms
this.checkedListBoxGroups.Name = "checkedListBoxGroups";
this.checkedListBoxGroups.Click += new System.EventHandler(this.checkedListBoxGroups_Click);
//
// label5
// groupsLabel
//
resources.ApplyResources(this.label5, "label5");
this.label5.Name = "label5";
resources.ApplyResources(this.groupsLabel, "groupsLabel");
this.groupsLabel.Name = "groupsLabel";
//
// EditSelectedUser
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.label5);
this.Controls.Add(this.groupsLabel);
this.Controls.Add(this.checkedListBoxGroups);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnOk);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.label1);
this.Controls.Add(this.descriptionLabel);
this.Controls.Add(this.passwordLabel);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.txtDescription);
this.Controls.Add(this.txtPassword);
this.Controls.Add(this.txtName);
@@ -134,15 +134,15 @@ namespace TBF.Forms
#endregion
private System.Windows.Forms.TextBox txtName;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label nameLabel;
private System.Windows.Forms.Button btnOk;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.TextBox txtPassword;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label passwordLabel;
private System.Windows.Forms.TextBox txtDescription;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label descriptionLabel;
private System.Windows.Forms.CheckedListBox checkedListBoxGroups;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label groupsLabel;
private System.Windows.Forms.ToolTip toolTip1;
}
}
@@ -25,12 +25,25 @@ namespace TBF.Forms
private void EditSelectedUser_Load(object sender, EventArgs e)
{
Localize();
txtName.Text = CurrentEditUser.Name;
txtDescription.Text = CurrentEditUser.Description;
txtPassword.Text = "";
ShowGroups();
}
void Localize()
{
Text = Strings.Edit_User;
nameLabel.Text = Strings.Name;
passwordLabel.Text = Strings.Password;
descriptionLabel.Text = Strings.DescriptionColHdr;
groupsLabel.Text = Strings.Groups;
btnOk.Text = Strings.OkBtnText;
btnCancel.Text = Strings.CancelBtnText;
}
public void ShowGroups()
{
@@ -1,181 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="txtName.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 9</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 16</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 13</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Benutzername</value>
</data>
<data name="btnOk.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 252</value>
</data>
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
<value>232, 252</value>
</data>
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 23</value>
</data>
<data name="btnCancel.Text" xml:space="preserve">
<value>Abbrechen</value>
</data>
<data name="txtPassword.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 40</value>
</data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 43</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 13</value>
</data>
<data name="label3.Text" xml:space="preserve">
<value>Passwort</value>
</data>
<data name="txtDescription.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 70</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>72, 13</value>
</data>
<data name="label4.Text" xml:space="preserve">
<value>Beschreibung</value>
</data>
<data name="checkedListBoxGroups.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 135</value>
</data>
<data name="label5.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 135</value>
</data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<value>48, 13</value>
</data>
<data name="label5.Text" xml:space="preserve">
<value>Gruppen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Benutzer einrichten</value>
</data>
</root>
+44 -47
View File
@@ -140,31 +140,31 @@
<data name="&gt;&gt;txtName.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<data name="nameLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 9</value>
<data name="nameLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 12</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<data name="nameLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>35, 13</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<data name="nameLabel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="label1.Text" xml:space="preserve">
<data name="nameLabel.Text" xml:space="preserve">
<value>Name</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
<data name="&gt;&gt;nameLabel.Name" xml:space="preserve">
<value>nameLabel</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<data name="&gt;&gt;nameLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<data name="&gt;&gt;nameLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<data name="&gt;&gt;nameLabel.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="btnOk.Location" type="System.Drawing.Point, System.Drawing">
@@ -239,31 +239,31 @@
<data name="&gt;&gt;txtPassword.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
<data name="passwordLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 40</value>
<data name="passwordLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 43</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<data name="passwordLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 13</value>
</data>
<data name="label3.TabIndex" type="System.Int32, mscorlib">
<data name="passwordLabel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="label3.Text" xml:space="preserve">
<data name="passwordLabel.Text" xml:space="preserve">
<value>Password</value>
</data>
<data name="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value>
<data name="&gt;&gt;passwordLabel.Name" xml:space="preserve">
<value>passwordLabel</value>
</data>
<data name="&gt;&gt;label3.Type" xml:space="preserve">
<data name="&gt;&gt;passwordLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label3.Parent" xml:space="preserve">
<data name="&gt;&gt;passwordLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<data name="&gt;&gt;passwordLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="txtDescription.Location" type="System.Drawing.Point, System.Drawing">
@@ -290,31 +290,31 @@
<data name="&gt;&gt;txtDescription.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
<data name="descriptionLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 70</value>
<data name="descriptionLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 73</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<data name="descriptionLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 13</value>
</data>
<data name="label4.TabIndex" type="System.Int32, mscorlib">
<data name="descriptionLabel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="label4.Text" xml:space="preserve">
<data name="descriptionLabel.Text" xml:space="preserve">
<value>Description</value>
</data>
<data name="&gt;&gt;label4.Name" xml:space="preserve">
<value>label4</value>
<data name="&gt;&gt;descriptionLabel.Name" xml:space="preserve">
<value>descriptionLabel</value>
</data>
<data name="&gt;&gt;label4.Type" xml:space="preserve">
<data name="&gt;&gt;descriptionLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label4.Parent" xml:space="preserve">
<data name="&gt;&gt;descriptionLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
<data name="&gt;&gt;descriptionLabel.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="checkedListBoxGroups.Location" type="System.Drawing.Point, System.Drawing">
@@ -338,39 +338,36 @@
<data name="&gt;&gt;checkedListBoxGroups.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label5.AutoSize" type="System.Boolean, mscorlib">
<data name="groupsLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label5.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 135</value>
<data name="groupsLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 135</value>
</data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<data name="groupsLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>41, 13</value>
</data>
<data name="label5.TabIndex" type="System.Int32, mscorlib">
<data name="groupsLabel.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="label5.Text" xml:space="preserve">
<data name="groupsLabel.Text" xml:space="preserve">
<value>Groups</value>
</data>
<data name="&gt;&gt;label5.Name" xml:space="preserve">
<value>label5</value>
<data name="&gt;&gt;groupsLabel.Name" xml:space="preserve">
<value>groupsLabel</value>
</data>
<data name="&gt;&gt;label5.Type" xml:space="preserve">
<data name="&gt;&gt;groupsLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label5.Parent" xml:space="preserve">
<data name="&gt;&gt;groupsLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
<data name="&gt;&gt;groupsLabel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>de</value>
</metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
+1
View File
@@ -109,6 +109,7 @@ namespace TBF.Forms
this.Controls.Add(this.listViewUsers);
this.Name = "EditUsers";
this.Activated += new System.EventHandler(this.EditUsers_Activated);
this.Load += new System.EventHandler(this.EditUsers_Load);
this.ResumeLayout(false);
this.PerformLayout();
+10 -1
View File
@@ -7,6 +7,7 @@ using System.Windows.Forms;
using NHibernate;
using TBF.Entities;
using TBF.Resources;
namespace TBF.Forms
@@ -22,6 +23,15 @@ namespace TBF.Forms
InitializeComponent();
}
private void EditUsers_Load(object sender, EventArgs e)
{
Text = Strings.User_Management;
btnAdd.Text = Strings.AddBtnText;
btnEdit.Text = Strings.EditBtnText;
btnDelete.Text = Strings.RemoveBtnText;
btnOk.Text = Strings.OkBtnText;
}
private void EditUsers_Activated(object sender, EventArgs e)
{
Cursor.Current = Cursors.WaitCursor;
@@ -117,7 +127,6 @@ namespace TBF.Forms
ListUsers();
}
}
}
+11 -14
View File
@@ -117,16 +117,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="columnHeader1.Text" xml:space="preserve">
<value>Name</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="columnHeader1.Width" type="System.Int32, mscorlib">
<value>162</value>
</data>
<data name="columnHeader2.Text" xml:space="preserve">
<value>ID</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="listViewUsers.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 12</value>
@@ -134,6 +124,7 @@
<data name="listViewUsers.Size" type="System.Drawing.Size, System.Drawing">
<value>357, 399</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="listViewUsers.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
@@ -149,6 +140,15 @@
<data name="&gt;&gt;listViewUsers.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="columnHeader1.Text" xml:space="preserve">
<value>Name</value>
</data>
<data name="columnHeader1.Width" type="System.Int32, mscorlib">
<value>162</value>
</data>
<data name="columnHeader2.Text" xml:space="preserve">
<value>ID</value>
</data>
<data name="btnAdd.Location" type="System.Drawing.Point, System.Drawing">
<value>388, 42</value>
</data>
@@ -272,9 +272,6 @@
<data name="&gt;&gt;statusStrip1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>de</value>
</metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -285,7 +282,7 @@
<value>475, 464</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>user management</value>
<value>User Management</value>
</data>
<data name="&gt;&gt;columnHeader1.Name" xml:space="preserve">
<value>columnHeader1</value>
+4 -3
View File
@@ -58,24 +58,24 @@ namespace TBF.Forms
//
// btnCancel
//
resources.ApplyResources(this.btnCancel, "btnCancel");
this.btnCancel.ImageKey = global::TBF.Resources.Strings.String1;
resources.ApplyResources(this.btnCancel, "btnCancel");
this.btnCancel.Name = "btnCancel";
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// btnIgnore
//
resources.ApplyResources(this.btnIgnore, "btnIgnore");
this.btnIgnore.ImageKey = global::TBF.Resources.Strings.String1;
resources.ApplyResources(this.btnIgnore, "btnIgnore");
this.btnIgnore.Name = "btnIgnore";
this.btnIgnore.UseVisualStyleBackColor = true;
this.btnIgnore.Click += new System.EventHandler(this.btnIgnore_Click);
//
// btnRetry
//
resources.ApplyResources(this.btnRetry, "btnRetry");
this.btnRetry.ImageKey = global::TBF.Resources.Strings.String1;
resources.ApplyResources(this.btnRetry, "btnRetry");
this.btnRetry.Name = "btnRetry";
this.btnRetry.UseVisualStyleBackColor = true;
this.btnRetry.Click += new System.EventHandler(this.btnRetry_Click);
@@ -94,6 +94,7 @@ namespace TBF.Forms
this.Controls.Add(this.btnIgnore);
this.Controls.Add(this.btnCancel);
this.Name = "ErrorDlg";
this.Load += new System.EventHandler(this.ErrorDlg_Load);
this.ResumeLayout(false);
this.PerformLayout();
+17 -8
View File
@@ -11,23 +11,32 @@ using System.Text;
using System.Windows.Forms;
using TBF;
using TBF.ErrorHandler;
using TBF.Resources;
namespace TBF.Forms
{
public partial class ErrorDlg : Form
{
public ErrorDlg()
public DialogResult returnvalue;
public ErrorDlg()
{
InitializeComponent();
}
public DialogResult returnvalue;
public ErrorDlg(string ErrorDescription)
{
InitializeComponent();
textBoxMessage.Text = ErrorDescription;
}
public ErrorDlg(string ErrorDescription)
: this()
{
textBoxMessage.Text = ErrorDescription;
}
private void ErrorDlg_Load(object sender, EventArgs e)
{
Text = Strings.An_unhandled_error_occured;
btnCancel.Text = Strings.CancelBtnText;
btnRetry.Text = Strings.RetryBtnText;
btnIgnore.Text = Strings.IgnoreBtnText;
}
private void btnOk_Click(object sender, EventArgs e)
{
+82 -85
View File
@@ -117,127 +117,124 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="textBoxMessage.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
<value>Vertical</value>
</data>
<data name="&gt;&gt;btnIgnore.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="&gt;&gt;btnRetry.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="btnIgnore.Text" xml:space="preserve">
<value>Ignore</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="btnIgnore.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ErrorDlg</value>
</data>
<data name="textBoxMessage.Size" type="System.Drawing.Size, System.Drawing">
<value>508, 280</value>
</data>
<data name="btnIgnore.Location" type="System.Drawing.Point, System.Drawing">
<value>399, 340</value>
</data>
<data name="&gt;&gt;btnIgnore.Name" xml:space="preserve">
<value>btnIgnore</value>
</data>
<data name="textBoxMessage.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;btnIgnore.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;textBoxMessage.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>530, 375</value>
</data>
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
<value>187, 340</value>
</data>
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 23</value>
</data>
<data name="textBoxMessage.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 43</value>
</data>
<data name="btnRetry.TabIndex" type="System.Int32, mscorlib">
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;textBoxMessage.Name" xml:space="preserve">
<value>textBoxMessage</value>
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;btnRetry.Parent" xml:space="preserve">
<data name="&gt;&gt;btnCancel.Name" xml:space="preserve">
<value>btnCancel</value>
</data>
<data name="&gt;&gt;btnCancel.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnCancel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnCancel.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;btnCancel.Name" xml:space="preserve">
<value>btnCancel</value>
</data>
<data name="&gt;&gt;btnRetry.Name" xml:space="preserve">
<value>btnRetry</value>
</data>
<data name="&gt;&gt;btnCancel.Parent" xml:space="preserve">
<value>$this</value>
<data name="btnIgnore.Location" type="System.Drawing.Point, System.Drawing">
<value>399, 340</value>
</data>
<data name="btnIgnore.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 23</value>
</data>
<data name="&gt;&gt;textBoxMessage.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="btnIgnore.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancel</value>
<data name="btnIgnore.Text" xml:space="preserve">
<value>Ignore</value>
</data>
<data name="&gt;&gt;btnCancel.Type" xml:space="preserve">
<data name="&gt;&gt;btnIgnore.Name" xml:space="preserve">
<value>btnIgnore</value>
</data>
<data name="&gt;&gt;btnIgnore.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnRetry.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="btnRetry.Location" type="System.Drawing.Point, System.Drawing">
<value>293, 340</value>
<data name="&gt;&gt;btnIgnore.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnIgnore.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="textBoxMessage.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
<data name="btnRetry.Location" type="System.Drawing.Point, System.Drawing">
<value>293, 340</value>
</data>
<data name="btnRetry.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 23</value>
</data>
<data name="&gt;&gt;textBoxMessage.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>An unhandled Error occured</value>
<data name="btnRetry.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="btnRetry.Text" xml:space="preserve">
<value>Retry</value>
</data>
<data name="&gt;&gt;btnRetry.Name" xml:space="preserve">
<value>btnRetry</value>
</data>
<data name="&gt;&gt;btnRetry.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnRetry.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnRetry.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="textBoxMessage.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 43</value>
</data>
<data name="textBoxMessage.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="textBoxMessage.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
<value>Vertical</value>
</data>
<data name="textBoxMessage.Size" type="System.Drawing.Size, System.Drawing">
<value>508, 280</value>
</data>
<data name="textBoxMessage.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;textBoxMessage.Name" xml:space="preserve">
<value>textBoxMessage</value>
</data>
<data name="&gt;&gt;textBoxMessage.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;textBoxMessage.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;textBoxMessage.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>de</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>530, 375</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>An unhandled Error occured</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ErrorDlg</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>
+63 -60
View File
@@ -31,66 +31,69 @@ namespace TBF.Forms
/// </summary>
private void InitializeComponent()
{
this.tabNameTextBox = new System.Windows.Forms.TextBox();
this.okButton = new System.Windows.Forms.Button();
this.radioButton1 = new System.Windows.Forms.RadioButton();
this.radioButton2 = new System.Windows.Forms.RadioButton();
this.SuspendLayout();
//
// tabNameTextBox
//
this.tabNameTextBox.Location = new System.Drawing.Point(33, 25);
this.tabNameTextBox.Name = "tabNameTextBox";
this.tabNameTextBox.Size = new System.Drawing.Size(145, 20);
this.tabNameTextBox.TabIndex = 1;
//
// okButton
//
this.okButton.Location = new System.Drawing.Point(209, 18);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(85, 33);
this.okButton.TabIndex = 2;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// radioButton1
//
this.radioButton1.AutoSize = true;
this.radioButton1.Checked = true;
this.radioButton1.Location = new System.Drawing.Point(37, 64);
this.radioButton1.Name = "radioButton1";
this.radioButton1.Size = new System.Drawing.Size(121, 17);
this.radioButton1.TabIndex = 3;
this.radioButton1.TabStop = true;
this.radioButton1.Text = "Transition sequence";
this.radioButton1.UseVisualStyleBackColor = true;
//
// radioButton2
//
this.radioButton2.AutoSize = true;
this.radioButton2.Location = new System.Drawing.Point(37, 87);
this.radioButton2.Name = "radioButton2";
this.radioButton2.Size = new System.Drawing.Size(137, 17);
this.radioButton2.TabIndex = 4;
this.radioButton2.Text = "Virtual bench sequence";
this.radioButton2.UseVisualStyleBackColor = true;
//
// TabNameDlg
//
this.AcceptButton = this.okButton;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(316, 117);
this.Controls.Add(this.radioButton2);
this.Controls.Add(this.radioButton1);
this.Controls.Add(this.okButton);
this.Controls.Add(this.tabNameTextBox);
this.Name = "TabNameDlg";
this.Text = "TabName";
this.Load += new System.EventHandler(this.TabNameDlg_Load);
this.ResumeLayout(false);
this.PerformLayout();
this.tabNameTextBox = new System.Windows.Forms.TextBox();
this.okButton = new System.Windows.Forms.Button();
this.radioButton1 = new System.Windows.Forms.RadioButton();
this.radioButton2 = new System.Windows.Forms.RadioButton();
this.SuspendLayout();
//
// tabNameTextBox
//
this.tabNameTextBox.Location = new System.Drawing.Point(33, 25);
this.tabNameTextBox.Name = "tabNameTextBox";
this.tabNameTextBox.Size = new System.Drawing.Size(145, 20);
this.tabNameTextBox.TabIndex = 1;
//
// okButton
//
this.okButton.Location = new System.Drawing.Point(209, 18);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(85, 33);
this.okButton.TabIndex = 2;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// radioButton1
//
this.radioButton1.AutoSize = true;
this.radioButton1.Checked = true;
this.radioButton1.Location = new System.Drawing.Point(37, 63);
this.radioButton1.Name = "radioButton1";
this.radioButton1.Size = new System.Drawing.Size(121, 17);
this.radioButton1.TabIndex = 3;
this.radioButton1.TabStop = true;
this.radioButton1.Text = "Transition sequence";
this.radioButton1.UseVisualStyleBackColor = true;
//
// radioButton2
//
this.radioButton2.AutoSize = true;
this.radioButton2.Location = new System.Drawing.Point(37, 86);
this.radioButton2.Name = "radioButton2";
this.radioButton2.Size = new System.Drawing.Size(137, 17);
this.radioButton2.TabIndex = 4;
this.radioButton2.Text = "Virtual bench sequence";
this.radioButton2.UseVisualStyleBackColor = true;
//
// TabNameDlg
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(316, 122);
this.Controls.Add(this.radioButton2);
this.Controls.Add(this.radioButton1);
this.Controls.Add(this.okButton);
this.Controls.Add(this.tabNameTextBox);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "TabNameDlg";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Text = "TabName";
this.Load += new System.EventHandler(this.TabNameDlg_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
-142
View File
@@ -1,142 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 13</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Benutzername</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 13</value>
</data>
<data name="label2.Text" xml:space="preserve">
<value>Passwort</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>&amp;Abbrechen</value>
</data>
<data name="okButton.Text" xml:space="preserve">
<value>&amp;OK</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Anmelden</value>
</data>
</root>
@@ -49,6 +49,7 @@ namespace TBF
private void LoginDlgWithBenchSelection_Load(object sender, EventArgs e)
{
Localize();
#if DEBUG
userNameTextBox.Text = Program.AdminUsername;
passwordTextBox.Text = Program.AdminPassword;
@@ -63,6 +64,17 @@ namespace TBF
}
}
void Localize()
{
Text = Strings.User_Login;
label1.Text = Strings.Username;
label2.Text = Strings.Password;
label3.Text = Strings.Test_bench;
okButton.Text = Strings.OkBtnText;
cancelButton.Text = Strings.CancelBtnText;
}
/// <summary>
/// OK clicked (authorization is done outside this dialog).
/// </summary>
@@ -1,145 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 13</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Benutzername</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 13</value>
</data>
<data name="label2.Text" xml:space="preserve">
<value>Passwort</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 13</value>
</data>
<data name="label3.Text" xml:space="preserve">
<value>Prüfstand</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>Abbrechen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Anmelden am Prüfstand</value>
</data>
</root>
@@ -121,14 +121,11 @@
<value>User name</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>402, 102</value>
</data>
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>285, 48</value>
<data name="okButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>Cancel</value>
@@ -252,6 +249,9 @@
<data name="&gt;&gt;okButton.Name" xml:space="preserve">
<value>okButton</value>
</data>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>285, 48</value>
</data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>$this</value>
</data>
@@ -264,6 +264,9 @@
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;okButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="userNameTextBox.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
@@ -276,8 +279,8 @@
<data name="&gt;&gt;passwordTextBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="passwordTextBox.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cancelButton.Name" xml:space="preserve">
<value>cancelButton</value>
@@ -303,17 +306,14 @@
<data name="cancelButton.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="okButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="&gt;&gt;okButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;okButton.Parent" xml:space="preserve">
<value>$this</value>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>402, 102</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="passwordTextBox.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>5</value>
@@ -333,7 +333,4 @@
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>de</value>
</metadata>
</root>
@@ -1,157 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 13</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Meno používateľa</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 13</value>
</data>
<data name="label2.Text" xml:space="preserve">
<value>Heslo</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>97, 13</value>
</data>
<data name="label3.Text" xml:space="preserve">
<value>Testovacia stanica</value>
</data>
<data name="testBenchComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>109, 67</value>
</data>
<data name="passwordTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>109, 41</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>Zrušíť</value>
</data>
<data name="okButton.Text" xml:space="preserve">
<value>Prihlásiť sa</value>
</data>
<data name="userNameTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>109, 15</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Prihlásenie</value>
</data>
</root>
+2 -2
View File
@@ -51,9 +51,9 @@ namespace TBF
this.activityLabel = new System.Windows.Forms.Label();
this.mainTabControl = new System.Windows.Forms.TabControl();
this.homeTabPage = new System.Windows.Forms.TabPage();
this.ctrlBrdComponent = new ControlComponent_Torino2015.UserControl1();
this.ctrlBrdComponent = new ControlComponent3Munich.UserControl1();
this.processTabPage = new System.Windows.Forms.TabPage();
this.processTabPageCtrl = new TBF.Screens.ProcessTabPageCtrl24();
this.processTabPageCtrl = new TBF.Screens.ProcessTabPageCtrl6();
this.measurementTabPage = new System.Windows.Forms.TabPage();
this.MeasurementTabPageCtrl = new TBF.Screens.MeasurementTabPageCtrl();
this.insertTabPage = new System.Windows.Forms.TabPage();
+2 -10
View File
@@ -32,17 +32,11 @@ namespace TBF
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PreferencesDlg));
this.languageLabel = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.cancelButton = new System.Windows.Forms.Button();
this.languageListBox = new System.Windows.Forms.ListBox();
this.SuspendLayout();
//
// languageLabel
//
resources.ApplyResources(this.languageLabel, "languageLabel");
this.languageLabel.Name = "languageLabel";
//
// okButton
//
this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
@@ -73,20 +67,18 @@ namespace TBF
this.Controls.Add(this.languageListBox);
this.Controls.Add(this.okButton);
this.Controls.Add(this.cancelButton);
this.Controls.Add(this.languageLabel);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.Name = "PreferencesDlg";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Load += new System.EventHandler(this.PreferencesDlg_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label languageLabel;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.Button cancelButton;
private System.Windows.Forms.ListBox languageListBox;
}
+13 -2
View File
@@ -22,14 +22,16 @@ namespace TBF
string[] LanguageName = new string[]
{
"English",
"中国 (Chinese simplified)",
"Česky (Czech)",
"中国 (Chinese simplified)",
"Deutch (German)",
"Español (Spanish)",
"Français (French)",
"Italiano (Italian)",
"Polski (Polish)",
"Română (Romanian)",
"Русский (Russion)",
"Slovensky (Slovak)",
};
/// <summary>
@@ -40,14 +42,16 @@ namespace TBF
string[] LanguageCode = new string[]
{
"en",
"zh-CN",
"cs",
"zh-CN",
"de",
"es",
"fr",
"it",
"pl",
"ro",
"ru",
"sk",
};
// Local copy of 'local settings' initialized to Program.localSettings.
@@ -74,6 +78,13 @@ namespace TBF
}
}
private void PreferencesDlg_Load(object sender, EventArgs e)
{
Text = Strings.Language;
okButton.Text = Strings.OkBtnText;
cancelButton.Text = Strings.CancelBtnText;
}
private void languageListBox_SelectedIndexChanged(object sender, EventArgs e)
{
localSettings.Language = LanguageCode[languageListBox.SelectedIndex];
-148
View File
@@ -1,148 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="languageLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 13</value>
</data>
<data name="languageLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 13</value>
</data>
<data name="languageLabel.Text" xml:space="preserve">
<value>Sprache</value>
</data>
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>271, 13</value>
</data>
<data name="okButton.Text" xml:space="preserve">
<value>&amp;OK</value>
</data>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>271, 52</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>&amp;Abbrechen</value>
</data>
<data name="languageListBox.Location" type="System.Drawing.Point, System.Drawing">
<value>89, 13</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Sprache wählen</value>
</data>
</root>
+6 -36
View File
@@ -117,41 +117,14 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="languageLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="languageLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 13</value>
</data>
<data name="languageLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 13</value>
</data>
<data name="languageLabel.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="languageLabel.Text" xml:space="preserve">
<value>Language</value>
</data>
<data name="&gt;&gt;languageLabel.Name" xml:space="preserve">
<value>languageLabel</value>
</data>
<data name="&gt;&gt;languageLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;languageLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;languageLabel.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>271, 11</value>
<value>168, 11</value>
</data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="okButton.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
@@ -171,7 +144,7 @@
<value>1</value>
</data>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>271, 45</value>
<value>168, 45</value>
</data>
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 28</value>
@@ -195,10 +168,10 @@
<value>2</value>
</data>
<data name="languageListBox.Location" type="System.Drawing.Point, System.Drawing">
<value>102, 12</value>
<value>13, 12</value>
</data>
<data name="languageListBox.Size" type="System.Drawing.Size, System.Drawing">
<value>143, 69</value>
<value>143, 225</value>
</data>
<data name="languageListBox.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
@@ -215,9 +188,6 @@
<data name="&gt;&gt;languageListBox.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>de</value>
</metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -225,7 +195,7 @@
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>388, 92</value>
<value>283, 247</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+7
View File
@@ -25,6 +25,9 @@ namespace TBF
static readonly ILog log = LogManager.GetLogger(typeof(Program));
const string log4netConfigFName = "log4netConfig.xml";
/// Program version string
public static string Version;
/// Local settings
public static LocalSettings LocalSettings;
public const string LocalSettingsFileName = "config.xml";
@@ -87,6 +90,10 @@ namespace TBF
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);
/// Program version string
Version ver = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
Version = string.Format("TBF v.{0}.{1}.{2}", ver.Major, ver.Minor, ver.Build);
/// Local program configuration directory including the trailing backslash
string locAppDataDir = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) +
Path.DirectorySeparatorChar + "TestBenchFramework" + Path.DirectorySeparatorChar;
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("1.5.127.1")]
[assembly: AssemblyFileVersion("1.5.127.1")]
[assembly: AssemblyVersion("1.5.142.1")]
[assembly: AssemblyFileVersion("1.5.142.1")]
@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="Pressure" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>TBF.Entities.Pressure, TestBenchFramework, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
+144
View File
@@ -78,6 +78,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to About Test Bench Framework.
/// </summary>
internal static string About_Test_Bench_Framework {
get {
return ResourceManager.GetString("About_Test_Bench_Framework", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Activity.
/// </summary>
@@ -159,6 +168,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to An unhandled error occured.
/// </summary>
internal static string An_unhandled_error_occured {
get {
return ResourceManager.GetString("An_unhandled_error_occured", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Approval: .
/// </summary>
@@ -267,6 +285,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Available Components:.
/// </summary>
internal static string Available_Components_ {
get {
return ResourceManager.GetString("Available_Components_", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Available results:.
/// </summary>
@@ -330,6 +357,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Build date _BUILD_DATE_.
/// </summary>
internal static string BuildDateStr {
get {
return ResourceManager.GetString("BuildDateStr", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Calibration Specialist.
/// </summary>
@@ -519,6 +555,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Copyright © 2013 - {0}.
/// </summary>
internal static string CopyrightStr {
get {
return ResourceManager.GetString("CopyrightStr", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Corrected.
/// </summary>
@@ -573,6 +618,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Database Settings.
/// </summary>
internal static string Database_Settings {
get {
return ResourceManager.GetString("Database_Settings", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Database type.
/// </summary>
@@ -744,6 +798,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Edit User.
/// </summary>
internal static string Edit_User {
get {
return ResourceManager.GetString("Edit_User", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Edit.
/// </summary>
@@ -1014,6 +1077,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Groups.
/// </summary>
internal static string Groups {
get {
return ResourceManager.GetString("Groups", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Head of Lab.
/// </summary>
@@ -1050,6 +1122,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Ignore.
/// </summary>
internal static string IgnoreBtnText {
get {
return ResourceManager.GetString("IgnoreBtnText", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Invalid password.
/// </summary>
@@ -1086,6 +1167,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Language.
/// </summary>
internal static string Language {
get {
return ResourceManager.GetString("Language", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Less.
/// </summary>
@@ -2139,6 +2229,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Retry.
/// </summary>
internal static string RetryBtnText {
get {
return ResourceManager.GetString("RetryBtnText", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Retry connection to the database.
/// </summary>
@@ -2175,6 +2274,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Select Component.
/// </summary>
internal static string Select_Component {
get {
return ResourceManager.GetString("Select_Component", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Selected results:.
/// </summary>
@@ -2508,6 +2616,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Test bench data.
/// </summary>
internal static string Test_bench_data {
get {
return ResourceManager.GetString("Test_bench_data", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Test Bench Databases Specification.
/// </summary>
@@ -2544,6 +2661,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Test Benches:.
/// </summary>
internal static string Test_Benches_ {
get {
return ResourceManager.GetString("Test_Benches_", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Test.
/// </summary>
@@ -2835,6 +2961,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to User Management.
/// </summary>
internal static string User_Management {
get {
return ResourceManager.GetString("User_Management", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to User name.
/// </summary>
@@ -2880,6 +3015,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Version _VERSION_.
/// </summary>
internal static string VersionStr {
get {
return ResourceManager.GetString("VersionStr", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Vertically.
/// </summary>
@@ -120,6 +120,9 @@
<data name="Activity" xml:space="preserve">
<value>Činnost</value>
</data>
<data name="Language" xml:space="preserve">
<value>Jazyk</value>
</data>
<data name="Restart_To_Apply_Changes" xml:space="preserve">
<value>Restartujte aplikaci prosím.</value>
</data>
+43 -1
View File
@@ -142,7 +142,7 @@
<value>Bitte starten Sie die Anwendung erneut um die Änderungen zu übernehmen.</value>
</data>
<data name="Test_bench" xml:space="preserve">
<value>Prüfstandsdaten</value>
<value>Prüfstand</value>
</data>
<data name="User_name" xml:space="preserve">
<value>Benutzername</value>
@@ -951,4 +951,46 @@
<data name="P_out_start" xml:space="preserve">
<value>P aus. start</value>
</data>
<data name="Language" xml:space="preserve">
<value>Sprache</value>
</data>
<data name="Test_bench_data" xml:space="preserve">
<value>Prüfstandsdaten</value>
</data>
<data name="Available_Components_" xml:space="preserve">
<value>Komponenten:</value>
</data>
<data name="Select_Component" xml:space="preserve">
<value>Komponenten Auswahl</value>
</data>
<data name="Database_Settings" xml:space="preserve">
<value>Datenbank Einstellungen</value>
</data>
<data name="Test_Benches_" xml:space="preserve">
<value>Prüfstände :</value>
</data>
<data name="About_Test_Bench_Framework" xml:space="preserve">
<value>Über Test Bench Framework</value>
</data>
<data name="BuildDateStr" xml:space="preserve">
<value>erstellt am _BUILD_DATE_</value>
</data>
<data name="CopyrightStr" xml:space="preserve">
<value>© 2013 - {0} Sensus GmbH</value>
</data>
<data name="VersionStr" xml:space="preserve">
<value>Version _VERSION_</value>
</data>
<data name="Edit_User" xml:space="preserve">
<value>Benutzer einrichten</value>
</data>
<data name="Groups" xml:space="preserve">
<value>Gruppen</value>
</data>
<data name="User_Management" xml:space="preserve">
<value>Benutzerverwaltung</value>
</data>
<data name="An_unhandled_error_occured" xml:space="preserve">
<value>Ein unbehandelter Fehler ist aufgetreten!</value>
</data>
</root>
+48
View File
@@ -1105,4 +1105,52 @@
<data name="iPerl_Communication_in_progress" xml:space="preserve">
<value>iPerl Communication in progress</value>
</data>
<data name="Language" xml:space="preserve">
<value>Language</value>
</data>
<data name="Test_bench_data" xml:space="preserve">
<value>Test bench data</value>
</data>
<data name="Available_Components_" xml:space="preserve">
<value>Available Components:</value>
</data>
<data name="Select_Component" xml:space="preserve">
<value>Select Component</value>
</data>
<data name="Database_Settings" xml:space="preserve">
<value>Database Settings</value>
</data>
<data name="Test_Benches_" xml:space="preserve">
<value>Test Benches:</value>
</data>
<data name="About_Test_Bench_Framework" xml:space="preserve">
<value>About Test Bench Framework</value>
</data>
<data name="BuildDateStr" xml:space="preserve">
<value>Build date _BUILD_DATE_</value>
</data>
<data name="CopyrightStr" xml:space="preserve">
<value>Copyright © 2013 - {0}</value>
</data>
<data name="VersionStr" xml:space="preserve">
<value>Version _VERSION_</value>
</data>
<data name="Edit_User" xml:space="preserve">
<value>Edit User</value>
</data>
<data name="Groups" xml:space="preserve">
<value>Groups</value>
</data>
<data name="User_Management" xml:space="preserve">
<value>User Management</value>
</data>
<data name="An_unhandled_error_occured" xml:space="preserve">
<value>An unhandled error occured</value>
</data>
<data name="IgnoreBtnText" xml:space="preserve">
<value>Ignore</value>
</data>
<data name="RetryBtnText" xml:space="preserve">
<value>Retry</value>
</data>
</root>
@@ -0,0 +1,830 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="_none_" xml:space="preserve">
<value>&lt;none&gt;</value>
</data>
<data name="_offline" xml:space="preserve">
<value>(offline)</value>
</data>
<data name="About_Test_Bench_Framework" xml:space="preserve">
<value>Despre test</value>
</data>
<data name="Activity" xml:space="preserve">
<value>Proces</value>
</data>
<data name="Add" xml:space="preserve">
<value>Adauga</value>
</data>
<data name="AddBtnText" xml:space="preserve">
<value>Nou</value>
</data>
<data name="Address" xml:space="preserve">
<value>Adresa</value>
</data>
<data name="Adjustment_in_progress" xml:space="preserve">
<value>Calibrare</value>
</data>
<data name="Administrator" xml:space="preserve">
<value>Administrator</value>
</data>
<data name="Ambient_humidity_" xml:space="preserve">
<value>C.mediue:Umiditate</value>
</data>
<data name="Ambient_pressure_" xml:space="preserve">
<value>C.mediue:Presiune</value>
</data>
<data name="Ambient_temperature_" xml:space="preserve">
<value>C.mediue:Temperatura</value>
</data>
<data name="An_unhandled_error_occured" xml:space="preserve">
<value>Eroare</value>
</data>
<data name="BackBtnText" xml:space="preserve">
<value>Inapoi</value>
</data>
<data name="Balance" xml:space="preserve">
<value>Balanta</value>
</data>
<data name="Bench_chdr" xml:space="preserve">
<value>Stand</value>
</data>
<data name="CancelBtnText" xml:space="preserve">
<value>Renunta</value>
</data>
<data name="Clear_results" xml:space="preserve">
<value>stergere rezultate</value>
</data>
<data name="ClearBtnText" xml:space="preserve">
<value>Stergere</value>
</data>
<data name="close" xml:space="preserve">
<value>Inchide</value>
</data>
<data name="Close_emptying_valve" xml:space="preserve">
<value>Inchide vana de golire</value>
</data>
<data name="CloseBtnText" xml:space="preserve">
<value>Inchide</value>
</data>
<data name="Closing_valve_Pump_off" xml:space="preserve">
<value>se inchide vana de alimentare, se opreste pompa</value>
</data>
<data name="cold" xml:space="preserve">
<value>rece</value>
</data>
<data name="Combined_meters" xml:space="preserve">
<value>Contor combinat</value>
</data>
<data name="CombinedBtnText" xml:space="preserve">
<value>Combinat</value>
</data>
<data name="Communication" xml:space="preserve">
<value>Comunicatie</value>
</data>
<data name="Component" xml:space="preserve">
<value>Componenta</value>
</data>
<data name="Configuration" xml:space="preserve">
<value>Configuratie</value>
</data>
<data name="Configure" xml:space="preserve">
<value>Configurare</value>
</data>
<data name="ConfigureDatabaseText" xml:space="preserve">
<value>Configurarea instalatie( necesar parola)</value>
</data>
<data name="Confirmation" xml:space="preserve">
<value>Confirmare</value>
</data>
<data name="Connection_string" xml:space="preserve">
<value>String conexiune</value>
</data>
<data name="CopyBtnText" xml:space="preserve">
<value>Copiere</value>
</data>
<data name="Correction_g" xml:space="preserve">
<value>Corectii [g]</value>
</data>
<data name="Correction_lph" xml:space="preserve">
<value>Corrctii [l/h]</value>
</data>
<data name="Correction_mbar" xml:space="preserve">
<value>Corectii [mbar]</value>
</data>
<data name="Create_DB" xml:space="preserve">
<value>Creare BD</value>
</data>
<data name="Data" xml:space="preserve">
<value>Data</value>
</data>
<data name="Database_Settings" xml:space="preserve">
<value>Setare baza de date</value>
</data>
<data name="Database_type" xml:space="preserve">
<value>Tip baza de date</value>
</data>
<data name="Date_and_time_" xml:space="preserve">
<value>Data si timpul:</value>
</data>
<data name="DB_was_successfully_created" xml:space="preserve">
<value>Baza de data a fost creata</value>
</data>
<data name="DB_will_be_overwritten" xml:space="preserve">
<value>Baza de date va fi suprascrisa</value>
</data>
<data name="Density" xml:space="preserve">
<value>Densitate</value>
</data>
<data name="Density_kg_m3" xml:space="preserve">
<value>Densitate [kg/m3]</value>
</data>
<data name="DescriptionColHdr" xml:space="preserve">
<value>Descriere</value>
</data>
<data name="Device" xml:space="preserve">
<value>Aparat</value>
</data>
<data name="Diverter" xml:space="preserve">
<value>Deviator</value>
</data>
<data name="Do_you_want_to_proceed" xml:space="preserve">
<value>Doriri sa continuati?</value>
</data>
<data name="Do_you_want_to_save_the_procedure" xml:space="preserve">
<value>Doriti sa salvati procedura?</value>
</data>
<data name="DownBtnText" xml:space="preserve">
<value>Jos</value>
</data>
<data name="Duration_Leak_s" xml:space="preserve">
<value>Scurgere_timp [s]</value>
</data>
<data name="Duration_PMax_s" xml:space="preserve">
<value>Pmax_timp[s]</value>
</data>
<data name="Duration_s" xml:space="preserve">
<value>Durata [s]</value>
</data>
<data name="Edit_User" xml:space="preserve">
<value>Editare_utilizator</value>
</data>
<data name="EditBtnText" xml:space="preserve">
<value>Editare</value>
</data>
<data name="Emergency_STOP" xml:space="preserve">
<value>STOP-AVARIE</value>
</data>
<data name="Emptying_chdr" xml:space="preserve">
<value>Golire</value>
</data>
<data name="Emptying_tank" xml:space="preserve">
<value>Golire vas masurare</value>
</data>
<data name="Enter_password" xml:space="preserve">
<value>Introduceti parola</value>
</data>
<data name="Err_cor_neg_pct_chdr" xml:space="preserve">
<value>Eroare. cor. - [%]</value>
</data>
<data name="Err_cor_pos_pct_chdr" xml:space="preserve">
<value>Eroare. cor. +[%]</value>
</data>
<data name="Err_limit_neg_pct_chdr" xml:space="preserve">
<value>Eroare. Limit - [%]</value>
</data>
<data name="Err_limit_pos_pct_chdr" xml:space="preserve">
<value>Eroare. Limita + [%]</value>
</data>
<data name="Error" xml:space="preserve">
<value>Eroare</value>
</data>
<data name="Error_loading_users_from_the_database" xml:space="preserve">
<value>Eroare utilizator</value>
</data>
<data name="Error_pct" xml:space="preserve">
<value>Eroarea [%]</value>
</data>
<data name="Error_while_creating_DB_Reason" xml:space="preserve">
<value>Eroare creare baza de date</value>
</data>
<data name="Evaluate" xml:space="preserve">
<value>Evaluare</value>
</data>
<data name="ExitBtnText" xml:space="preserve">
<value>Iesire</value>
</data>
<data name="Failed" xml:space="preserve">
<value>Resp</value>
</data>
<data name="Feeding_chdr" xml:space="preserve">
<value>Alimentare</value>
</data>
<data name="Fill_with_water" xml:space="preserve">
<value>Umpleti instalatia cu apa?</value>
</data>
<data name="FinishBtnText" xml:space="preserve">
<value>Sfarsit</value>
</data>
<data name="Flow_m3h" xml:space="preserve">
<value>Debit [m3/h]</value>
</data>
<data name="Flow_selection" xml:space="preserve">
<value>Selectare debit</value>
</data>
<data name="Flowmeter" xml:space="preserve">
<value>Debitmetru</value>
</data>
<data name="Get_mass_of_water_in_the_tank" xml:space="preserve">
<value>Se determina masa apei din vas</value>
</data>
<data name="Groups" xml:space="preserve">
<value>Grupuri</value>
</data>
<data name="Head_of_Lab" xml:space="preserve">
<value>Sef Laborator</value>
</data>
<data name="Horizontally" xml:space="preserve">
<value>Orizontal</value>
</data>
<data name="hot" xml:space="preserve">
<value>fierbinte</value>
</data>
<data name="Changes_will_be_lost_Do_you_want_to_proceed" xml:space="preserve">
<value>Rezultatele se vor pierde. Doriti sa continuati?</value>
</data>
<data name="Ignore" xml:space="preserve">
<value>Ignora</value>
</data>
<data name="IgnoreBtnText" xml:space="preserve">
<value>Ignora</value>
</data>
<data name="Invalid_password" xml:space="preserve">
<value>Parola incorecta</value>
</data>
<data name="Invalid_username_or_password" xml:space="preserve">
<value>Utilizator sau parola incorecta</value>
</data>
<data name="Language" xml:space="preserve">
<value>Limba</value>
</data>
<data name="LessBtnText" xml:space="preserve">
<value>mai putin</value>
</data>
<data name="Loading_the_procedure" xml:space="preserve">
<value>Incarcarea procedurii</value>
</data>
<data name="LockBtnText" xml:space="preserve">
<value>Bloca</value>
</data>
<data name="Maintenance_Specialist" xml:space="preserve">
<value>Specialist intretinere</value>
</data>
<data name="Make_tank_empty" xml:space="preserve">
<value>Goliti vasul</value>
</data>
<data name="Mass_kg" xml:space="preserve">
<value>Masa [kg]</value>
</data>
<data name="MaxChars" xml:space="preserve">
<value>(max. _X_ caractere alfanumerice)</value>
</data>
<data name="Measure_the_mass" xml:space="preserve">
<value>Cantarire masa</value>
</data>
<data name="Measured" xml:space="preserve">
<value>Cantarit</value>
</data>
<data name="Measuring_the_weight" xml:space="preserve">
<value>Cantarire</value>
</data>
<data name="Message" xml:space="preserve">
<value>Mesaj</value>
</data>
<data name="Method_chdr" xml:space="preserve">
<value>Metoda verificare</value>
</data>
<data name="Method_selection" xml:space="preserve">
<value>Selectare metoda verificare</value>
</data>
<data name="Metrological_class" xml:space="preserve">
<value>Clasa metrologica</value>
</data>
<data name="Metrologist" xml:space="preserve">
<value>Metrolog</value>
</data>
<data name="Metrology" xml:space="preserve">
<value>Date Metr.</value>
</data>
<data name="Mode" xml:space="preserve">
<value>Mod</value>
</data>
<data name="MoreBtnText" xml:space="preserve">
<value>mai mult</value>
</data>
<data name="Name" xml:space="preserve">
<value>Nume</value>
</data>
<data name="New_name_copy" xml:space="preserve">
<value>Copie</value>
</data>
<data name="New_procedure_name" xml:space="preserve">
<value>Procedura</value>
</data>
<data name="NoBtn" xml:space="preserve">
<value>Nu</value>
</data>
<data name="NoDatabaseMsg" xml:space="preserve">
<value>Conectare esuata la baza de date</value>
</data>
<data name="nothing_to_configure" xml:space="preserve">
<value>&lt;nimic de configurat&gt;</value>
</data>
<data name="Notification" xml:space="preserve">
<value>Notificare</value>
</data>
<data name="Nr" xml:space="preserve">
<value>Nr.</value>
</data>
<data name="Nr_meters_in_a_group" xml:space="preserve">
<value>Nr. contoare intr-un grup</value>
</data>
<data name="OkBtnText" xml:space="preserve">
<value>OK</value>
</data>
<data name="open" xml:space="preserve">
<value>Deschis</value>
</data>
<data name="Parameters" xml:space="preserve">
<value>Parametri</value>
</data>
<data name="Password" xml:space="preserve">
<value>Parola</value>
</data>
<data name="PID" xml:space="preserve">
<value>PID</value>
</data>
<data name="Please_change_the_following_settings" xml:space="preserve">
<value>Va rugam schimbati urmatoarele setari</value>
</data>
<data name="PowerPct" xml:space="preserve">
<value>Putere [%]</value>
</data>
<data name="Pressure_bar" xml:space="preserve">
<value>Presiune [bar]</value>
</data>
<data name="Pressure_hi_bar" xml:space="preserve">
<value>Presiune max [bar]</value>
</data>
<data name="Pressure_lo_bar" xml:space="preserve">
<value>Presiune min [bar]</value>
</data>
<data name="Pressure_meter" xml:space="preserve">
<value>Senzor presiune</value>
</data>
<data name="Pressure_selection" xml:space="preserve">
<value>Selectare domen. Pres</value>
</data>
<data name="PressureHi_bar" xml:space="preserve">
<value>PresiuneMax[bar]</value>
</data>
<data name="PressureLo_bar" xml:space="preserve">
<value>PresiuneMin[bar]</value>
</data>
<data name="Printer" xml:space="preserve">
<value>Imprimanta</value>
</data>
<data name="PrinterBtnText" xml:space="preserve">
<value>Imprimanta</value>
</data>
<data name="Procedure" xml:space="preserve">
<value>Procedura</value>
</data>
<data name="Procedure_" xml:space="preserve">
<value>Procedura:</value>
</data>
<data name="Procedures" xml:space="preserve">
<value>Proceduri</value>
</data>
<data name="Producer" xml:space="preserve">
<value>Producator</value>
</data>
<data name="Program_restart_is_required_to_apply_some_settings" xml:space="preserve">
<value>Se impune repormirea programului pentru a validarea noilor setari</value>
</data>
<data name="Progress" xml:space="preserve">
<value>in curs</value>
</data>
<data name="Properties" xml:space="preserve">
<value>Caracteristici</value>
</data>
<data name="PulsesPerLtr" xml:space="preserve">
<value>impuls pe litru</value>
</data>
<data name="Pump" xml:space="preserve">
<value>Pompa</value>
</data>
<data name="Pump_power_pct" xml:space="preserve">
<value>Putere pompa</value>
</data>
<data name="Purge_bench_qm" xml:space="preserve">
<value>Alimentati cu apa instalatia?</value>
</data>
<data name="Purging" xml:space="preserve">
<value>Alimentare</value>
</data>
<data name="Purging_i_n" xml:space="preserve">
<value>Umplere instalatie</value>
</data>
<data name="Q_from_lph" xml:space="preserve">
<value>Q de la [l/h]</value>
</data>
<data name="Q_from_m3h" xml:space="preserve">
<value>Q de la [m3/h]</value>
</data>
<data name="Q_set_method_chdr" xml:space="preserve">
<value>Q-Metoda Selectata</value>
</data>
<data name="Q_to" xml:space="preserve">
<value>Q pana la</value>
</data>
<data name="Q_to_lph" xml:space="preserve">
<value>Q pana la [l/h]</value>
</data>
<data name="Q_to_m3h" xml:space="preserve">
<value>Q pana la [m3/h]</value>
</data>
<data name="Qn" xml:space="preserve">
<value>Qn</value>
</data>
<data name="Qt" xml:space="preserve">
<value>Qt</value>
</data>
<data name="Question" xml:space="preserve">
<value>Intrebare</value>
</data>
<data name="RateOfChangePct" xml:space="preserve">
<value>Variatie debit [%]</value>
</data>
<data name="Reference" xml:space="preserve">
<value>Referinta</value>
</data>
<data name="Reg_valve" xml:space="preserve">
<value>vana reglare</value>
</data>
<data name="remaining_time" xml:space="preserve">
<value>Timp</value>
</data>
<data name="Remove" xml:space="preserve">
<value>Elimina</value>
</data>
<data name="Remove_all" xml:space="preserve">
<value>Elimina toate</value>
</data>
<data name="RemoveBtnText" xml:space="preserve">
<value>Stergere</value>
</data>
<data name="RemoveTabBtnText" xml:space="preserve">
<value>Stergere tabele</value>
</data>
<data name="RenameTabBtnText" xml:space="preserve">
<value>Redenumire tabel</value>
</data>
<data name="Repeats_nr_chdr" xml:space="preserve">
<value>Nr. repetari</value>
</data>
<data name="Restart_To_Apply_Changes" xml:space="preserve">
<value>Pentru validarea modificarilor trebuie sa reporniti aplicatia</value>
</data>
<data name="RetryBtnText" xml:space="preserve">
<value>Reincercati</value>
</data>
<data name="RetryDatabaseText" xml:space="preserve">
<value>Reincercati conecxiunea la baza de date</value>
</data>
<data name="ScreenBtnText" xml:space="preserve">
<value>Ecranare</value>
</data>
<data name="Select_Component" xml:space="preserve">
<value>Selectare componente</value>
</data>
<data name="Selected_results" xml:space="preserve">
<value>Rezultatele selectate:</value>
</data>
<data name="Sensor_" xml:space="preserve">
<value>Senzor</value>
</data>
<data name="Sensors" xml:space="preserve">
<value>senzori</value>
</data>
<data name="Sensors_chdr" xml:space="preserve">
<value>Sistemul senzori</value>
</data>
<data name="Serial_Number" xml:space="preserve">
<value>Numar serie</value>
</data>
<data name="Set_flow" xml:space="preserve">
<value>Setare debit</value>
</data>
<data name="Setting_the_flow" xml:space="preserve">
<value>Reglare debit verificare</value>
</data>
<data name="Setting_the_water_pressure" xml:space="preserve">
<value>Reglare presiune apa</value>
</data>
<data name="Start_the_pump" xml:space="preserve">
<value>Porneste pompa</value>
</data>
<data name="Start_the_test" xml:space="preserve">
<value>Pornire verificare</value>
</data>
<data name="Starting_system" xml:space="preserve">
<value>Initializare sistem</value>
</data>
<data name="Starting_the_pump" xml:space="preserve">
<value>Pornire pompa</value>
</data>
<data name="StartValve" xml:space="preserve">
<value>deschide valva</value>
</data>
<data name="Stop_the_pump" xml:space="preserve">
<value>Stop pompa</value>
</data>
<data name="Stop_the_test" xml:space="preserve">
<value>Stop verificare</value>
</data>
<data name="Stopping" xml:space="preserve">
<value>oprire</value>
</data>
<data name="TargetQ" xml:space="preserve">
<value>Debit setat Q [m3/h]</value>
</data>
<data name="Tarring" xml:space="preserve">
<value>Tarare</value>
</data>
<data name="Test" xml:space="preserve">
<value>Debitul de verificare</value>
</data>
<data name="Test_bench" xml:space="preserve">
<value>Instalatia</value>
</data>
<data name="Test_Bench_Components_Configuration" xml:space="preserve">
<value>Configurare componente instalatie</value>
</data>
<data name="Test_bench_data" xml:space="preserve">
<value>Date Instlatie</value>
</data>
<data name="Test_bench_is_controlled_by_this_computer" xml:space="preserve">
<value>Instalatia este asistata de acest PC</value>
</data>
<data name="Test_bench_name" xml:space="preserve">
<value>Nume instalatie</value>
</data>
<data name="Test_bench_number" xml:space="preserve">
<value>Nr. Instalatie</value>
</data>
<data name="Test_Benches_" xml:space="preserve">
<value>Instalatii:</value>
</data>
<data name="Test_completed" xml:space="preserve">
<value>Verificare efectuata</value>
</data>
<data name="Test_chdr" xml:space="preserve">
<value>debit verificare</value>
</data>
<data name="Test_in_progress" xml:space="preserve">
<value>Verificare in curs</value>
</data>
<data name="Test_method" xml:space="preserve">
<value>Metoda verificare</value>
</data>
<data name="Test_name" xml:space="preserve">
<value>Nume verificare</value>
</data>
<data name="Test_preparation" xml:space="preserve">
<value>Pregatire verificare</value>
</data>
<data name="Test_start_sequence_i_n" xml:space="preserve">
<value>Start pregatire verif.</value>
</data>
<data name="Test_stop_sequence_i_n" xml:space="preserve">
<value>Stop pregatire verif.</value>
</data>
<data name="Test_time_s_chdr" xml:space="preserve">
<value>Durata</value>
</data>
<data name="Tester" xml:space="preserve">
<value>Metrolog</value>
</data>
<data name="Tester_" xml:space="preserve">
<value>Metrolog:</value>
</data>
<data name="Testing_Specialist" xml:space="preserve">
<value>Expert</value>
</data>
<data name="Tests_are_columns" xml:space="preserve">
<value>debitele de verificare_coloane</value>
</data>
<data name="Tests_are_rows" xml:space="preserve">
<value>debitele de verificare_linii</value>
</data>
<data name="Time2MassMsrmt_chdr" xml:space="preserve">
<value>Stabilizare [s]</value>
</data>
<data name="TimeFlow2Start_chdr" xml:space="preserve">
<value>T stab debit start[s]</value>
</data>
<data name="Timeout" xml:space="preserve">
<value>Timeout</value>
</data>
<data name="Tol_red_pct_chdr" xml:space="preserve">
<value>Tol verificare</value>
</data>
<data name="TransitionEnd_chdr" xml:space="preserve">
<value>sfarsit-pregatire</value>
</data>
<data name="Transitions" xml:space="preserve">
<value>Pregatiri</value>
</data>
<data name="TransitionStart_chdr" xml:space="preserve">
<value>Start-Pregatire</value>
</data>
<data name="Type" xml:space="preserve">
<value>Tip</value>
</data>
<data name="Unhandled_error_occured_in_" xml:space="preserve">
<value>A aparut o eroare in</value>
</data>
<data name="UnlockBtnText" xml:space="preserve">
<value>Modificare</value>
</data>
<data name="UpBtnText" xml:space="preserve">
<value>Sus</value>
</data>
<data name="User_" xml:space="preserve">
<value>Utilizator:</value>
</data>
<data name="User_Login" xml:space="preserve">
<value>Logare utilizator</value>
</data>
<data name="User_Management" xml:space="preserve">
<value>Administrare utilizatori</value>
</data>
<data name="User_name" xml:space="preserve">
<value>Nume utilizator</value>
</data>
<data name="Username" xml:space="preserve">
<value>Nume utilizator</value>
</data>
<data name="Username_taken" xml:space="preserve">
<value>Acest nume de utilizator este deja folosit. Va rugam alegeti alt nume.</value>
</data>
<data name="Users_and_groups" xml:space="preserve">
<value>Utilizatori si grupuri</value>
</data>
<data name="Version" xml:space="preserve">
<value>Versiunea</value>
</data>
<data name="VersionStr" xml:space="preserve">
<value>Versiunea</value>
</data>
<data name="Vertically" xml:space="preserve">
<value>Vertical</value>
</data>
<data name="Volume_and_error_selection" xml:space="preserve">
<value>Selectarea volumului si limitei de erori</value>
</data>
<data name="Volume_ltr_chdr" xml:space="preserve">
<value>Volum [l]</value>
</data>
<data name="Warning" xml:space="preserve">
<value>atentie</value>
</data>
<data name="warning" xml:space="preserve">
<value>Atentie</value>
</data>
<data name="Water_Meter" xml:space="preserve">
<value>Contor de apa</value>
</data>
<data name="Water_meter_data" xml:space="preserve">
<value>Date contor de apa</value>
</data>
<data name="Water_Meter_SNs_States" xml:space="preserve">
<value>Seria contoarelor</value>
</data>
<data name="Water_meter_types" xml:space="preserve">
<value>Tip contor de apa</value>
</data>
<data name="Water_meters" xml:space="preserve">
<value>Contoare de apa</value>
</data>
<data name="WMSN" xml:space="preserve">
<value>seria</value>
</data>
<data name="yes" xml:space="preserve">
<value>da</value>
</data>
<data name="YesBtn" xml:space="preserve">
<value>da</value>
</data>
<data name="Zeroing_chdr" xml:space="preserve">
<value>resetare</value>
</data>
</root>
@@ -117,16 +117,16 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnAdd.Text" xml:space="preserve">
<value>&amp;Neu...</value>
<data name="Activity" xml:space="preserve">
<value>Činnosť</value>
</data>
<data name="btnEdit.Text" xml:space="preserve">
<value>&amp;Bearbeiten</value>
<data name="CancelBtnText" xml:space="preserve">
<value>Zrušiť</value>
</data>
<data name="btnDelete.Text" xml:space="preserve">
<value>&amp;Löschen</value>
<data name="Language" xml:space="preserve">
<value>Jazyk</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Benutzerverwaltung</value>
<data name="OkBtnText" xml:space="preserve">
<value>Áno</value>
</data>
</root>
Binary file not shown.
+69 -27
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<TestBenchFramework xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Language>en</Language>
<Language>de</Language>
<TestBenches>
<DatabaseSettings>
<BenchName>TestBench-SQLite</BenchName>
<BenchName>TestBench1</BenchName>
<IsRealBench>true</IsRealBench>
<UsersDBSettings>
<DbType>SQLite</DbType>
@@ -26,30 +26,72 @@
<ConnectionString>SQLite.db</ConnectionString>
</WaterMetersDBSettings>
</DatabaseSettings>
<DatabaseSettings>
<BenchName>TestBench-MySQL</BenchName>
<IsRealBench>true</IsRealBench>
<UsersDBSettings>
<DbType>MySql</DbType>
<ConnectionString>SERVER=localhost; DATABASE=sensor; UID=root; PASSWORD=;</ConnectionString>
</UsersDBSettings>
<BenchDBSettings>
<DbType>MySql</DbType>
<ConnectionString>SERVER=localhost; DATABASE=sensor; UID=root; PASSWORD=;</ConnectionString>
</BenchDBSettings>
<ProceduresDBSettings>
<DbType>MySql</DbType>
<ConnectionString>SERVER=localhost; DATABASE=sensor; UID=root; PASSWORD=;</ConnectionString>
</ProceduresDBSettings>
<WMTypesDBSettings>
<DbType>MySql</DbType>
<ConnectionString>SERVER=localhost; DATABASE=sensor; UID=root; PASSWORD=;</ConnectionString>
</WMTypesDBSettings>
<WaterMetersDBSettings>
<DbType>MySql</DbType>
<ConnectionString>SERVER=localhost; DATABASE=sensor; UID=root; PASSWORD=;</ConnectionString>
</WaterMetersDBSettings>
</DatabaseSettings>
<DatabaseSettings>
<BenchName>TestBench2</BenchName>
<IsRealBench>true</IsRealBench>
<UsersDBSettings>
<DbType>MySql</DbType>
<ConnectionString>SERVER=localhost; DATABASE=testbench2; UID=root; PASSWORD=;</ConnectionString>
</UsersDBSettings>
<BenchDBSettings>
<DbType>MySql</DbType>
<ConnectionString>SERVER=localhost; DATABASE=testbench2; UID=root; PASSWORD=;</ConnectionString>
</BenchDBSettings>
<ProceduresDBSettings>
<DbType>MySql</DbType>
<ConnectionString>SERVER=localhost; DATABASE=testbench2; UID=root; PASSWORD=;</ConnectionString>
</ProceduresDBSettings>
<WMTypesDBSettings>
<DbType>MySql</DbType>
<ConnectionString>SERVER=localhost; DATABASE=testbench2; UID=root; PASSWORD=;</ConnectionString>
</WMTypesDBSettings>
<WaterMetersDBSettings>
<DbType>MySql</DbType>
<ConnectionString>SERVER=localhost; DATABASE=testbench2; UID=root; PASSWORD=;</ConnectionString>
</WaterMetersDBSettings>
</DatabaseSettings>
</TestBenches>
<LastBench>TestBench-SQLite</LastBench>
<LastBench>TestBench1</LastBench>
<BatchNr>1</BatchNr>
<RealDensity>988.2</RealDensity>
<AtTemperature>20</AtTemperature>
<RightPaneHorizSplitterDistance>25</RightPaneHorizSplitterDistance>
<MainWndLeft>75</MainWndLeft>
<MainWndTop>5</MainWndTop>
<MainWndWidth>1250</MainWndWidth>
<MainWndHeight>750</MainWndHeight>
<ManiWndMaximized>false</ManiWndMaximized>
<ComponentsDlgLeft>200</ComponentsDlgLeft>
<ComponentsDlgTop>100</ComponentsDlgTop>
<ComponentsDlgWidth>850</ComponentsDlgWidth>
<ComponentsDlgHeight>500</ComponentsDlgHeight>
<PathsDlgLeft>0</PathsDlgLeft>
<PathsDlgTop>0</PathsDlgTop>
<PathsDlgWidth>0</PathsDlgWidth>
<PathsDlgHeight>0</PathsDlgHeight>
<iPerlCommunicationsFormLeft>0</iPerlCommunicationsFormLeft>
<iPerlCommunicationsFormTop>0</iPerlCommunicationsFormTop>
<TransitionsDlgLeft>0</TransitionsDlgLeft>
<TransitionsDlgTop>0</TransitionsDlgTop>
<TransitionsDlgWidth>0</TransitionsDlgWidth>
<TransitionsDlgHeight>0</TransitionsDlgHeight>
<MetrologyDlgLeft>0</MetrologyDlgLeft>
<MetrologyDlgTop>0</MetrologyDlgTop>
<MetrologyDlgWidth>0</MetrologyDlgWidth>
<MetrologyDlgHeight>0</MetrologyDlgHeight>
<ProceduresDlgLeft>0</ProceduresDlgLeft>
<ProceduresDlgTop>0</ProceduresDlgTop>
<ProceduresDlgWidth>0</ProceduresDlgWidth>
<ProceduresDlgHeight>0</ProceduresDlgHeight>
<OneProcedureDlgLeft>0</OneProcedureDlgLeft>
<OneProcedureDlgTop>0</OneProcedureDlgTop>
<OneProcedureDlgWidth>0</OneProcedureDlgWidth>
<OneProcedureDlgHeight>0</OneProcedureDlgHeight>
<PrintOrderLeft>0</PrintOrderLeft>
<PrintOrderTop>0</PrintOrderTop>
<PrintOrderOnlyGoodResult>false</PrintOrderOnlyGoodResult>
<PrintOrderOnlyLastResult>false</PrintOrderOnlyLastResult>
<ResultsConfigMeters>Vertically</ResultsConfigMeters>
<ResultsConfigTests>Rows</ResultsConfigTests>
<ResultsConfigMetersInOneGroup>0</ResultsConfigMetersInOneGroup>
</TestBenchFramework>
@@ -8,41 +8,37 @@
</appender>
<!-- Process data appenders -->
<appender name="OptoData" type="log4net.Appender.FileAppender">
<file value="C:\TBF\ProcessData\OptoData.log" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %message%newline" />
</layout>
</appender>
<appender name="RfidData" type="log4net.Appender.FileAppender">
<appender name="RfidData" type="log4net.Appender.RollingFileAppender">
<file value="C:\TBF\ProcessData\RfidData.log" />
<appendToFile value="true" />
<rollingMode value="Date" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %message%newline" />
</layout>
</appender>
<appender name="ProcessData" type="log4net.Appender.FileAppender">
<appender name="ProcessData" type="log4net.Appender.RollingFileAppender">
<file value="C:\TBF\ProcessData\process-data.txt" />
<appendToFile value="true" />
<rollingMode value="Date" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline" />
</layout>
</appender>
<appender name="AllResults" type="log4net.Appender.FileAppender">
<appender name="AllResults" type="log4net.Appender.RollingFileAppender">
<file value="C:\TBF\ProcessData\AllResults.txt" />
<appendToFile value="true" />
<rollingMode value="Date" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline" />
</layout>
</appender>
<appender name="SummaryResults" type="log4net.Appender.FileAppender">
<appender name="SummaryResults" type="log4net.Appender.RollingFileAppender">
<file value="C:\TBF\Results\SummaryResults.txt" />
<appendToFile value="true" />
<rollingMode value="Date" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline" />
@@ -50,17 +46,19 @@
</appender>
<!-- Program log appenders -->
<appender name="LogFile-UI" type="log4net.Appender.FileAppender">
<appender name="LogFile-UI" type="log4net.Appender.RollingFileAppender">
<file value="C:\TBF\Logs\Log-UI.txt" />
<appendToFile value="true" />
<rollingMode value="Date" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="LogFile-WT" type="log4net.Appender.FileAppender">
<appender name="LogFile-WT" type="log4net.Appender.RollingFileAppender">
<file value="C:\TBF\Logs\Log-WT.txt" />
<appendToFile value="true" />
<rollingMode value="Date" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %logger - %message%newline" />
@@ -69,8 +67,7 @@
<!-- Set root logger -->
<root>
<level value="INFO" />
<appender-ref ref="LogFile-UI" />
<level value="WARN" />
</root>
@@ -78,27 +75,23 @@
<logger name="AllResults"><level value="INFO" /><appender-ref ref="AllResults" /></logger>
<logger name="SummaryResults"> <level value="INFO" /><appender-ref ref="SummaryResults" /></logger>
<logger name="ProcessData"><level value="INFO" /><appender-ref ref="ProcessData" /></logger>
<logger name="OptoData"><level value="INFO" /><appender-ref ref="OptoData" /></logger>
<logger name="RfidData"><level value="INFO" /><appender-ref ref="RfidData" /></logger>
<!-- Set program loggers -->
<logger name="NHibernate"> <level value="ERROR" /> </logger>
<logger name="TBF.BenchControl">
<appender-ref ref="A1" />
<appender-ref ref="LogFile-WT" /> <level value="INFO" />
<appender-ref ref="LogFile-WT" /> <level value="WARN" />
</logger>
<logger name="TBF.BenchControl.StateMachine"> <level value="INFO" /> </logger>
<logger name="TBF.BenchControl.State"> <level value="WARN" /> </logger>
<logger name="TBF.BenchControl.State"> <level value="INFO" /> </logger>
<logger name="TBF.BenchControl.Elde.ControlBoardWrap"> <level value="DEBUG" /> </logger>
<logger name="TBF.BenchControl.Elde.Pump"> <level value="DEBUG" /> </logger>
<logger name="TBF.BenchControl.Elde.PumpWithFM"> <level value="DEBUG" /> </logger>
<logger name="TBF.BenchControl.MettlerToledo"> <level value="INFO" /> </logger>
<logger name="TBF.BenchControl.MettlerToledo.BalanceDev"> <level value="WARN" /> </logger>
<logger name="TBF.BenchControl.MettlerToledo.BalanceNewDev"> <level value="WARN" /> </logger>
<logger name="TBF.BenchControl.MettlerToledo.ReadMassOp"> <level value="INFO" /> </logger>
<logger name="TBF.BenchControl.MettlerToledo.ReadStableMassOp"> <level value="INFO" /> </logger>
<logger name="TBF.BenchControl.MettlerToledo.ReadMassOp"> <level value="WARN" /> </logger>
<logger name="TBF.BenchControl.MettlerToledo.ReadStableMassOp"> <level value="WARN" /> </logger>
<logger name="TBF.BenchControl.IdcCamera"> <level value="INFO" /> </logger>
<logger name="TBF.BenchControl.Elde.StartMeasurementOp"> <level value="DEBUG" /> </logger>
+9 -9
View File
@@ -33,7 +33,7 @@ namespace TBF
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SelectComponentClassDlg));
this.availCmpntsLstBox = new System.Windows.Forms.ListBox();
this.label1 = new System.Windows.Forms.Label();
this.availableComponentsLabel = new System.Windows.Forms.Label();
this.cancelButton = new System.Windows.Forms.Button();
this.okButton = new System.Windows.Forms.Button();
this.SuspendLayout();
@@ -45,11 +45,11 @@ namespace TBF
this.availCmpntsLstBox.Name = "availCmpntsLstBox";
this.availCmpntsLstBox.DoubleClick += new System.EventHandler(this.availCmpntsLstBox_DoubleClick);
//
// label1
// availableComponentsLabel
//
resources.ApplyResources(this.label1, "label1");
this.label1.ImageKey = global::TBF.Resources.Strings.String1;
this.label1.Name = "label1";
resources.ApplyResources(this.availableComponentsLabel, "availableComponentsLabel");
this.availableComponentsLabel.ImageKey = global::TBF.Resources.Strings.String1;
this.availableComponentsLabel.Name = "availableComponentsLabel";
//
// cancelButton
//
@@ -68,7 +68,7 @@ namespace TBF
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// ComponentAddDlg
// SelectComponentClassDlg
//
this.AcceptButton = this.okButton;
resources.ApplyResources(this, "$this");
@@ -76,11 +76,11 @@ namespace TBF
this.CancelButton = this.cancelButton;
this.Controls.Add(this.cancelButton);
this.Controls.Add(this.okButton);
this.Controls.Add(this.label1);
this.Controls.Add(this.availableComponentsLabel);
this.Controls.Add(this.availCmpntsLstBox);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "ComponentAddDlg";
this.Name = "SelectComponentClassDlg";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Load += new System.EventHandler(this.SelectComponentClassDlg_Load);
this.ResumeLayout(false);
@@ -91,7 +91,7 @@ namespace TBF
#endregion
private System.Windows.Forms.ListBox availCmpntsLstBox;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label availableComponentsLabel;
private System.Windows.Forms.Button cancelButton;
private System.Windows.Forms.Button okButton;
}
@@ -4,6 +4,7 @@
using System;
using System.Windows.Forms;
using TBF.BenchControl.Generic;
using TBF.Resources;
namespace TBF
{
@@ -28,12 +29,22 @@ namespace TBF
/// Load components from BenchControl.SupportedComponents
private void SelectComponentClassDlg_Load(object sender, EventArgs e)
{
Localize();
if (selectedIndex >= 0 && selectedIndex < BenchControl.TbfComponents.Factories.Count)
{
availCmpntsLstBox.SelectedIndex = selectedIndex;
}
}
void Localize()
{
Text = Strings.Select_Component;
availableComponentsLabel.Text = Strings.Available_Components_;
okButton.Text = Strings.OkBtnText;
cancelButton.Text = Strings.CancelBtnText;
}
/// Double click - Add the clicked component
private void availCmpntsLstBox_DoubleClick(object sender, EventArgs e)
{
+36 -36
View File
@@ -117,9 +117,8 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
<data name="&gt;&gt;okButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cancelButton.Name" xml:space="preserve">
<value>cancelButton</value>
@@ -131,21 +130,31 @@
<data name="&gt;&gt;okButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;availableComponentsLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>99, 25</value>
</data>
<data name="availableComponentsLabel.Text" xml:space="preserve">
<value>Available Components:</value>
</data>
<data name="&gt;&gt;okButton.Name" xml:space="preserve">
<value>okButton</value>
</data>
<data name="availableComponentsLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>115, 13</value>
</data>
<data name="availCmpntsLstBox.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 34</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Available Components:</value>
</data>
<data name="&gt;&gt;cancelButton.ZOrder" xml:space="preserve">
<value>0</value>
<data name="&gt;&gt;availableComponentsLabel.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="cancelButton.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
@@ -155,9 +164,6 @@
<data name="availCmpntsLstBox.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ComponentAddDlg</value>
</data>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>200, 310</value>
</data>
@@ -167,36 +173,30 @@
<data name="&gt;&gt;availCmpntsLstBox.Type" xml:space="preserve">
<value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
<data name="availableComponentsLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 9</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>&amp;Cancel</value>
</data>
<data name="availableComponentsLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;cancelButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;okButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;okButton.Name" xml:space="preserve">
<value>okButton</value>
<data name="&gt;&gt;cancelButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>95, 310</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<data name="&gt;&gt;availCmpntsLstBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="okButton.Text" xml:space="preserve">
<value>&amp;OK</value>
@@ -204,12 +204,6 @@
<data name="availCmpntsLstBox.Size" type="System.Drawing.Size, System.Drawing">
<value>288, 264</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>115, 13</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 9</value>
</data>
<data name="okButton.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
@@ -219,20 +213,26 @@
<data name="&gt;&gt;okButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;availCmpntsLstBox.Parent" xml:space="preserve">
<value>$this</value>
<data name="&gt;&gt;availableComponentsLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;availCmpntsLstBox.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="availableComponentsLabel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;availableComponentsLabel.Name" xml:space="preserve">
<value>availableComponentsLabel</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Select Component</value>
</data>
<data name="&gt;&gt;cancelButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>$this</value>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SelectComponentClassDlg</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
+40 -41
View File
@@ -28,7 +28,7 @@
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>1</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<ApplicationVersion>1.5.142.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
<PublishWizardCompleted>true</PublishWizardCompleted>
@@ -39,7 +39,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;MURES_PT40</DefineConstants>
<DefineConstants>TRACE;DEBUG;MUNICH</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
@@ -48,7 +48,7 @@
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;MURES_PT40</DefineConstants>
<DefineConstants>TRACE;MUNICH</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -94,8 +94,8 @@
<SignManifests>true</SignManifests>
</PropertyGroup>
<ItemGroup>
<Reference Include="ControlComponent3U">
<HintPath>..\packages\ControlBoard\MURES-PT40\ControlComponent3U.dll</HintPath>
<Reference Include="ControlComponent3Munich">
<HintPath>..\packages\ControlBoard\Munich\ControlComponent3Munich.dll</HintPath>
</Reference>
<Reference Include="FluentNHibernate">
<HintPath>..\packages\FluentNHibernate.1.3.0.733\lib\FluentNHibernate.dll</HintPath>
@@ -234,6 +234,12 @@
<Compile Include="BenchControl\DataEntry\Standard12\TestStartEndForm.designer.cs">
<DependentUpon>TestStartEndForm.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\DataEntry\Standard24\AdvancedFixedStartTestForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BenchControl\DataEntry\Standard24\AdvancedFixedStartTestForm.designer.cs">
<DependentUpon>AdvancedFixedStartTestForm.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\DataEntry\Standard24\CycleBeginningForm.cs">
<SubType>Form</SubType>
</Compile>
@@ -398,12 +404,28 @@
<DependentUpon>PrinterCfgCtrl.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\ResultsPrinters\Zapiska\PrinterFactory.cs" />
<Compile Include="BenchControl\TestMethods\Adjustment\WMErrorsForm12.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BenchControl\TestMethods\Adjustment\WMErrorsForm12.designer.cs">
<DependentUpon>WMErrorsForm12.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\TestMethods\Adjustment\WMErrorsForm24.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BenchControl\TestMethods\Adjustment\WMErrorsForm24.designer.cs">
<DependentUpon>WMErrorsForm24.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\TestMethods\FixedStartAdvanced\FixedStartAdvancedSeq.cs" />
<Compile Include="BenchControl\TestMethods\FixedStartAdvanced\TestMethod.cs" />
<Compile Include="BenchControl\TestMethods\FixedStartAdvanced\TestMethodCfg.cs" />
<Compile Include="BenchControl\TestMethods\FixedStartAdvanced\TestMethodCfgCtrl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="BenchControl\TestMethods\FixedStartAdvanced\TestMethodCfgCtrl.designer.cs">
<DependentUpon>TestMethodCfgCtrl.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\TestMethods\FixedStartAdvanced\TestMethodFactory.cs" />
<Compile Include="BenchControl\TestMethods\FixedStartCombinedMeters\FixedStartCombinedMetersSeq.cs" />
<Compile Include="BenchControl\TestMethods\FixedStartCombinedMeters\TestMethod.cs" />
<Compile Include="BenchControl\TestMethods\FixedStartCombinedMeters\TestMethodCfg.cs" />
@@ -1471,6 +1493,9 @@
<EmbeddedResource Include="BenchControl\DataEntry\Standard12\TestStartEndForm.resx">
<DependentUpon>TestStartEndForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\DataEntry\Standard24\AdvancedFixedStartTestForm.resx">
<DependentUpon>AdvancedFixedStartTestForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\DataEntry\Standard24\CycleBeginningForm.resx">
<DependentUpon>CycleBeginningForm.cs</DependentUpon>
</EmbeddedResource>
@@ -1603,6 +1628,9 @@
<EmbeddedResource Include="BenchControl\TestMethods\Adjustment\WMErrorsForm.resx">
<DependentUpon>WMErrorsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\TestMethods\Adjustment\WMErrorsForm12.resx">
<DependentUpon>WMErrorsForm12.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\TestMethods\Adjustment\WMErrorsForm24.resx">
<DependentUpon>WMErrorsForm24.cs</DependentUpon>
</EmbeddedResource>
@@ -1615,6 +1643,9 @@
<EmbeddedResource Include="BenchControl\TestMethods\CombinedWithDetection\TestMethodCfgCtrl.resx">
<DependentUpon>TestMethodCfgCtrl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\TestMethods\FixedStartAdvanced\TestMethodCfgCtrl.resx">
<DependentUpon>TestMethodCfgCtrl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\TestMethods\FixedStartCombinedMeters\TestMethodCfgCtrl.resx">
<DependentUpon>TestMethodCfgCtrl.cs</DependentUpon>
</EmbeddedResource>
@@ -1674,7 +1705,11 @@
<EmbeddedResource Include="Resources\Strings.fr.resx" />
<EmbeddedResource Include="Resources\Strings.it.resx" />
<EmbeddedResource Include="Resources\Strings.pl.resx" />
<EmbeddedResource Include="Resources\Strings.ro.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Resources\Strings.ru.resx" />
<EmbeddedResource Include="Resources\Strings.sk.resx" />
<EmbeddedResource Include="Resources\Strings.zh-CN.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Strings.zh-CN.Designer.cs</LastGenOutput>
@@ -1688,30 +1723,18 @@
<EmbeddedResource Include="Screens\ProcessTabPageCtrl48.resx">
<DependentUpon>ProcessTabPageCtrl48.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SelectComponentClassDlg.de.resx">
<DependentUpon>SelectComponentClassDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SelectComponentClassDlg.resx">
<DependentUpon>SelectComponentClassDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\Elde\ControlBoardCfgCtrl.resx">
<DependentUpon>ControlBoardCfgCtrl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ComponentParametersDlg.de.resx">
<DependentUpon>ComponentParametersDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ComponentParametersDlg.resx">
<DependentUpon>ComponentParametersDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ComponentsManagerDlg.resx">
<DependentUpon>ComponentsManagerDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchesDlg.de.resx">
<DependentUpon>BenchesDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\AboutDlg.de.resx">
<DependentUpon>AboutDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\AboutDlg.resx">
<SubType>Designer</SubType>
<DependentUpon>AboutDlg.cs</DependentUpon>
@@ -1724,43 +1747,25 @@
<SubType>Designer</SubType>
<DependentUpon>DatabaseSettingsDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\EditSelectedUser.de.resx">
<DependentUpon>EditSelectedUser.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\EditUsers.de.resx">
<DependentUpon>EditUsers.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\EditUsers.resx">
<DependentUpon>EditUsers.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\EditSelectedUser.resx">
<DependentUpon>EditSelectedUser.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\ErrorDlg.de.resx">
<DependentUpon>ErrorDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\ErrorDlg.resx">
<DependentUpon>ErrorDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\NoBenchOrDatabaseDlg.resx">
<DependentUpon>NoBenchOrDatabaseDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="LoginDlg.de.resx">
<DependentUpon>LoginDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="LoginDlg.resx">
<DependentUpon>LoginDlg.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="LoginDlgWithBenchSelection.de.resx">
<DependentUpon>LoginDlgWithBenchSelection.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="LoginDlgWithBenchSelection.resx">
<DependentUpon>LoginDlgWithBenchSelection.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="LoginDlgWithBenchSelection.sk.resx">
<DependentUpon>LoginDlgWithBenchSelection.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MainWnd.de.resx">
<DependentUpon>MainWnd.cs</DependentUpon>
<SubType>Designer</SubType>
@@ -1778,9 +1783,6 @@
<EmbeddedResource Include="PathsDlg.resx">
<DependentUpon>PathsDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PreferencesDlg.de.resx">
<DependentUpon>PreferencesDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PreferencesDlg.resx">
<SubType>Designer</SubType>
<DependentUpon>PreferencesDlg.cs</DependentUpon>
@@ -1841,9 +1843,6 @@
<EmbeddedResource Include="TestWizard\VolumeAndErrorSelection.resx">
<DependentUpon>VolumeAndErrorSelection.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TransitionsDlg.de.resx">
<DependentUpon>TransitionsDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TransitionsDlg.resx">
<DependentUpon>TransitionsDlg.cs</DependentUpon>
</EmbeddedResource>
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishUrlHistory>D:\_Sensus\Temp\Bin\</PublishUrlHistory>
<InstallUrlHistory />
<SupportUrlHistory />
<UpdateUrlHistory />
<BootstrapperUrlHistory />
<ErrorReportUrlHistory />
<FallbackCulture>en-US</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
</Project>
+26 -4
View File
@@ -179,11 +179,33 @@ namespace TBF
private void newTabButton_Click(object sender, EventArgs e)
{
Forms.TabNameDlg dlg;
bool nameUsed;
int tabId = TransitionSequences.Count + VirtualBenchSequences.Count;
Forms.TabNameDlg dlg = new Forms.TabNameDlg();
dlg.TabNameLabel = Strings.New_transition_name;
dlg.TabName = "Tr1";
dlg.ShowDialog();
do
{
/// Find an unused procedure name
string newName;
for (int nameId = 1; true; nameId++)
{
newName = "Tr" + nameId.ToString();
nameUsed = false;
foreach (var seq in TransitionSequences) if (seq.Name.Equals(newName)) nameUsed = true;
if (!nameUsed) break;
}
dlg = new Forms.TabNameDlg();
dlg.TabNameLabel = Strings.New_transition_name;
dlg.TabName = newName;
if (DialogResult.OK != dlg.ShowDialog()) return;
foreach (var seq in TransitionSequences) if (seq.Name.Equals(dlg.TabName)) nameUsed = true;
if (nameUsed) MessageBox.Show("Please choose another transition sequence name", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
while (nameUsed);
if (dlg.IsVirtualBenchSeq)
{
VirtualBenchSequence sequence = new VirtualBenchSequence(dlg.TabName, tabId);
-321
View File
@@ -1,321 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="resultsWriterComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>139, 269</value>
</data>
<data name="resultsPrinterComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>139, 237</value>
</data>
<data name="dataEntryComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>139, 203</value>
</data>
<data name="resultsWriterLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 272</value>
</data>
<data name="resultsPrinterLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 240</value>
</data>
<data name="dataEntryLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 206</value>
</data>
<data name="notesTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>348, 205</value>
</data>
<data name="label18.Location" type="System.Drawing.Point, System.Drawing">
<value>281, 208</value>
</data>
<data name="label18.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 13</value>
</data>
<data name="label18.Text" xml:space="preserve">
<value>Bemerkung</value>
</data>
<data name="watermetersTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>139, 162</value>
</data>
<data name="watermetersTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>526, 20</value>
</data>
<data name="watermetersLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 165</value>
</data>
<data name="lastChangedOnTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>348, 120</value>
</data>
<data name="label15.Location" type="System.Drawing.Point, System.Drawing">
<value>291, 123</value>
</data>
<data name="label15.Size" type="System.Drawing.Size, System.Drawing">
<value>38, 13</value>
</data>
<data name="label15.Text" xml:space="preserve">
<value>Datum</value>
</data>
<data name="lastChangedByTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>140, 121</value>
</data>
<data name="label16.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 123</value>
</data>
<data name="label16.Size" type="System.Drawing.Size, System.Drawing">
<value>102, 13</value>
</data>
<data name="label16.Text" xml:space="preserve">
<value>letzte Änderung von</value>
</data>
<data name="createdOnTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>348, 87</value>
</data>
<data name="label14.Location" type="System.Drawing.Point, System.Drawing">
<value>291, 90</value>
</data>
<data name="label14.Size" type="System.Drawing.Size, System.Drawing">
<value>38, 13</value>
</data>
<data name="label14.Text" xml:space="preserve">
<value>Datum</value>
</data>
<data name="createdByTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>139, 87</value>
</data>
<data name="label13.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 90</value>
</data>
<data name="label13.Size" type="System.Drawing.Size, System.Drawing">
<value>62, 13</value>
</data>
<data name="label13.Text" xml:space="preserve">
<value>Errstellt von</value>
</data>
<data name="descriptionTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>139, 53</value>
</data>
<data name="descriptionTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>526, 20</value>
</data>
<data name="label12.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 56</value>
</data>
<data name="label12.Size" type="System.Drawing.Size, System.Drawing">
<value>92, 13</value>
</data>
<data name="label12.Text" xml:space="preserve">
<value>Kurzbeschreibung</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 13</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Prüfungsname</value>
</data>
<data name="generalTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>814, 406</value>
</data>
<data name="generalTabPage.Text" xml:space="preserve">
<value> Allgemein </value>
</data>
<data name="changedByClmnHdr.Text" xml:space="preserve">
<value>Benutzername</value>
</data>
<data name="dateClmnHdr.Text" xml:space="preserve">
<value>Datum</value>
</data>
<data name="descriptionClmnHdr.Text" xml:space="preserve">
<value>Kurzbeschreibung</value>
</data>
<data name="historyListViewEx.Size" type="System.Drawing.Size, System.Drawing">
<value>808, 400</value>
</data>
<data name="historyTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>814, 406</value>
</data>
<data name="historyTabPage.Text" xml:space="preserve">
<value>Änderungen</value>
</data>
<data name="metrology1ListViewEx.Size" type="System.Drawing.Size, System.Drawing">
<value>808, 400</value>
</data>
<data name="metrology1TabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>814, 406</value>
</data>
<data name="metrology1TabPage.Text" xml:space="preserve">
<value> Metrologie I. </value>
</data>
<data name="metrology2ListViewEx.Size" type="System.Drawing.Size, System.Drawing">
<value>808, 400</value>
</data>
<data name="metrology2TabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>814, 406</value>
</data>
<data name="metrology2TabPage.Text" xml:space="preserve">
<value> Metrologie II. </value>
</data>
<data name="processListViewEx.Size" type="System.Drawing.Size, System.Drawing">
<value>808, 400</value>
</data>
<data name="processTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>814, 406</value>
</data>
<data name="processTabPage.Text" xml:space="preserve">
<value> Prozess </value>
</data>
<data name="purgeStartCtrl.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="purgeStartCtrl.Size" type="System.Drawing.Size, System.Drawing">
<value>808, 400</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="purgeStartTabPage.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="purgeStartTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>814, 406</value>
</data>
<data name="purgeStartTabPage.Text" xml:space="preserve">
<value> Spülung - Start </value>
</data>
<data name="purgeEndCtrl.Size" type="System.Drawing.Size, System.Drawing">
<value>814, 406</value>
</data>
<data name="purgeEndTabPage.Size" type="System.Drawing.Size, System.Drawing">
<value>814, 406</value>
</data>
<data name="purgeEndTabPage.Text" xml:space="preserve">
<value> Spülung - Ende </value>
</data>
<data name="tabControl.Size" type="System.Drawing.Size, System.Drawing">
<value>822, 444</value>
</data>
<data name="mainSplitContainer.Size" type="System.Drawing.Size, System.Drawing">
<value>925, 444</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="mainSplitContainer.SplitterDistance" type="System.Int32, mscorlib">
<value>822</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>925, 444</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Prüfung</value>
</data>
</root>
Binary file not shown.
Binary file not shown.