Commented solution now working

This commit is contained in:
2014-12-10 00:19:06 +01:00
parent 4e17b9cf8d
commit 77764a39f3
3 changed files with 98 additions and 49 deletions

View File

@ -63,6 +63,7 @@
this.txtExpPrefix = new System.Windows.Forms.TextBox(); this.txtExpPrefix = new System.Windows.Forms.TextBox();
this.chkAttribs = new System.Windows.Forms.CheckBox(); this.chkAttribs = new System.Windows.Forms.CheckBox();
this.btnTestThings = new System.Windows.Forms.Button(); this.btnTestThings = new System.Windows.Forms.Button();
this.btnFrXMLTo = new System.Windows.Forms.Button();
this.SuspendLayout(); this.SuspendLayout();
// //
// button1 // button1
@ -387,6 +388,7 @@
this.chkNewArea.TabIndex = 29; this.chkNewArea.TabIndex = 29;
this.chkNewArea.Text = "Till Area"; this.chkNewArea.Text = "Till Area";
this.chkNewArea.UseVisualStyleBackColor = true; this.chkNewArea.UseVisualStyleBackColor = true;
this.chkNewArea.Visible = false;
this.chkNewArea.CheckedChanged += new System.EventHandler(this.chkNewArea_CheckedChanged); this.chkNewArea.CheckedChanged += new System.EventHandler(this.chkNewArea_CheckedChanged);
// //
// label5 // label5
@ -428,11 +430,22 @@
this.btnTestThings.UseVisualStyleBackColor = true; this.btnTestThings.UseVisualStyleBackColor = true;
this.btnTestThings.Click += new System.EventHandler(this.btnTestThings_Click); this.btnTestThings.Click += new System.EventHandler(this.btnTestThings_Click);
// //
// btnFrXMLTo
//
this.btnFrXMLTo.Location = new System.Drawing.Point(673, 655);
this.btnFrXMLTo.Name = "btnFrXMLTo";
this.btnFrXMLTo.Size = new System.Drawing.Size(92, 22);
this.btnFrXMLTo.TabIndex = 34;
this.btnFrXMLTo.Text = "Kopiera XML";
this.btnFrXMLTo.UseVisualStyleBackColor = true;
this.btnFrXMLTo.Click += new System.EventHandler(this.btnFrXMLTo_Click);
//
// GenCobCode // GenCobCode
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(951, 686); this.ClientSize = new System.Drawing.Size(951, 686);
this.Controls.Add(this.btnFrXMLTo);
this.Controls.Add(this.btnTestThings); this.Controls.Add(this.btnTestThings);
this.Controls.Add(this.chkAttribs); this.Controls.Add(this.chkAttribs);
this.Controls.Add(this.txtExpPrefix); this.Controls.Add(this.txtExpPrefix);
@ -512,6 +525,7 @@
private System.Windows.Forms.TextBox txtExpPrefix; private System.Windows.Forms.TextBox txtExpPrefix;
private System.Windows.Forms.CheckBox chkAttribs; private System.Windows.Forms.CheckBox chkAttribs;
private System.Windows.Forms.Button btnTestThings; private System.Windows.Forms.Button btnTestThings;
private System.Windows.Forms.Button btnFrXMLTo;
} }
} }

View File

@ -1680,53 +1680,74 @@ namespace CobXmlSupport
} }
} }
private void btnTestThings_Click(object sender, EventArgs e)
private void createXMLMoveCode()
{ {
bool loopTyp = false; bool loopTyp = false;
//Create showing window
fromToMoves = new ShowCode(); fromToMoves = new ShowCode();
fromToMoves.Parent = this; fromToMoves.Parent = this;
fromToMoves.Labeltext = "Testing to Creat \"move From \" Code"; fromToMoves.Labeltext = "Created \"move From \" Code";
//Dictionary for indexes, init IndexState class and list for qualifiedHelper class
Dictionary<string, string> testIndexes = new Dictionary<string, string>(); Dictionary<string, string> testIndexes = new Dictionary<string, string>();
IndexState lIs = new IndexState(testIndexes, rowList); IndexState lIs = new IndexState(testIndexes, rowList);
//if (qldList == null)
//{
qldList = new List<qualifieldhlp>(); qldList = new List<qualifieldhlp>();
//}
//Build the qualified helper object for each xml-record fieal (eg XMLTag)
foreach (CobRow zRow in rowList) foreach (CobRow zRow in rowList)
{ {
qualifieldhlp tmpQlh = new qualifieldhlp(zRow, lIs.Indexes); qualifieldhlp tmpQlh = new qualifieldhlp(zRow, lIs.Indexes);
qldList.Add(tmpQlh); qldList.Add(tmpQlh);
} }
//Indstatus keep track on present changings concerning indexes qualifying each qualified XML-record-field
IndStatus indSt = new IndStatus(); IndStatus indSt = new IndStatus();
//here comes the central work-loop
foreach (qualifieldhlp tmpQfh in qldList) foreach (qualifieldhlp tmpQfh in qldList)
{ {
//obs under development //Create header information on created text
if (tmpQfh.qualCobRow.CobLevel < 2)
{
string inFile = cmbLastFile.Text.Substring(cmbLastFile.Text.LastIndexOf("\\") + 1);
CreateComment(fromToMoves.CodeShower, "Moves from " + tmpQfh.qualCobRow.FieldName, S.ettingUserName, S.ettingCompany, inFile);
fromToMoves.CodeShower.Text += "\r\n";
}
//IndStatus-object takes care of optionally occuring indexes
indSt.handleStatus(tmpQfh.indexStrings); indSt.handleStatus(tmpQfh.indexStrings);
//If indexes get out of scope there will come an END-PERFORM for each
for (int i = 0; i < indSt.Returns; i++) for (int i = 0; i < indSt.Returns; i++)
{ {
fromToMoves.CodeShower.Text += " END-PERFORM" + "\r\n"; fromToMoves.CodeShower.Text += " END-PERFORM" + "\r\n";
} }
//Each index comming into scope will start a new PERFORM VARYING loop
if (indSt.NewInds != null) if (indSt.NewInds != null)
{ {
foreach (string indTxt in indSt.NewInds) foreach (string indTxt in indSt.NewInds)
{ {
//Before perform varying, move the count-value from old structure to new
fromToMoves.CodeShower.Text += " MOVE " + tmpQfh.qualCobRow.CountIn + "\r\n" + tmpQfh.indexRedText; fromToMoves.CodeShower.Text += " MOVE " + tmpQfh.qualCobRow.CountIn + "\r\n" + tmpQfh.indexRedText;
fromToMoves.CodeShower.Text += " TO " + tmpQfh.qualCobRow.CountIn.ToString().Replace(S.ettingPrefix, S.ettingExpPrefix) + "\r\n" + tmpQfh.indexRedText; fromToMoves.CodeShower.Text += " TO " + tmpQfh.qualCobRow.CountIn.ToString().Replace(S.ettingPrefix, S.ettingExpPrefix) + "\r\n" + tmpQfh.indexRedText;
//Perform
fromToMoves.CodeShower.Text += " PERFORM VARYING " + indTxt + " FROM 1 BY 1\r\n UNTIL " + fromToMoves.CodeShower.Text += " PERFORM VARYING " + indTxt + " FROM 1 BY 1\r\n UNTIL " +
indTxt + "\r\n > " + tmpQfh.qualCobRow.CountIn.ToString() + "\r\n" + tmpQfh.indexRedText; indTxt + "\r\n > " + tmpQfh.qualCobRow.CountIn.ToString() + "\r\n" + tmpQfh.indexRedText;
} }
} }
//obs under development
//if (tmpQfh.qualCobRow.FieldDef != "") //When count-variable is put on a "Value" XML-record-field the the count-value isnt correctly updated so better always move the value as is
//{
if (tmpQfh.qualCobRow.FieldName.ToUpper().Contains("_VALUE")) { } if (tmpQfh.qualCobRow.FieldName.ToUpper().Contains("_VALUE")) { }
else { else
loopTyp = tmpQfh.qualCobRow.isOccurs ;//&& tmpQfh.qualCobRow.FieldDef == ""; {
//when xml-record-field with occurs, the last index shall not be used (then use tmpQfh.indexRedText instead of tmpQfh.indexText
loopTyp = tmpQfh.qualCobRow.isOccurs;
fromToMoves.CodeShower.Text += " IF " + tmpQfh.qualCobRow.CountIn.ToString() + "\r\n" + (string)(loopTyp ? tmpQfh.indexRedText : tmpQfh.indexText) + " > 0 \r\n"; fromToMoves.CodeShower.Text += " IF " + tmpQfh.qualCobRow.CountIn.ToString() + "\r\n" + (string)(loopTyp ? tmpQfh.indexRedText : tmpQfh.indexText) + " > 0 \r\n";
} }
//The acutal move of present fields
fromToMoves.CodeShower.Text += " MOVE " + tmpQfh.ToString(); fromToMoves.CodeShower.Text += " MOVE " + tmpQfh.ToString();
fromToMoves.CodeShower.Text += " TO " + tmpQfh.ToExpString(); fromToMoves.CodeShower.Text += " TO " + tmpQfh.ToExpString();
@ -1739,20 +1760,34 @@ namespace CobXmlSupport
fromToMoves.CodeShower.Text += " MOVE 0 TO " + tmpQfh.qualCobRow.CountIn.ToString().Replace(S.ettingPrefix, S.ettingExpPrefix) + "\r\n" + (string)(loopTyp ? tmpQfh.indexRedText : tmpQfh.indexText); fromToMoves.CodeShower.Text += " MOVE 0 TO " + tmpQfh.qualCobRow.CountIn.ToString().Replace(S.ettingPrefix, S.ettingExpPrefix) + "\r\n" + (string)(loopTyp ? tmpQfh.indexRedText : tmpQfh.indexText);
fromToMoves.CodeShower.Text += " END-IF\r\n"; fromToMoves.CodeShower.Text += " END-IF\r\n";
} }
//}
} }
// get optionally occuring last END-PERFORMs...
indSt.handleStatus(null); indSt.handleStatus(null);
for (int i = 0; i < indSt.Returns; i++) for (int i = 0; i < indSt.Returns; i++)
{ {
fromToMoves.CodeShower.Text += " END-PERFORM" + "\r\n"; fromToMoves.CodeShower.Text += " END-PERFORM" + "\r\n";
} }
//List all used indexes
string tempIndText = "";
fromToMoves.CodeShower.Text = addOccursVars(testIndexes, fromToMoves.CodeShower.Text, tempIndText);
fromToMoves.Show(); fromToMoves.Show();
} }
private void btnTestThings_Click(object sender, EventArgs e)
{
createXMLMoveCode();
}
private void btnFrXMLTo_Click(object sender, EventArgs e)
{
createXMLMoveCode();
}
} }
} }

View File

@ -49,13 +49,13 @@
this.chkValues = new System.Windows.Forms.CheckBox(); this.chkValues = new System.Windows.Forms.CheckBox();
this.chkAnaTag = new System.Windows.Forms.CheckBox(); this.chkAnaTag = new System.Windows.Forms.CheckBox();
this.groupBox1 = new System.Windows.Forms.GroupBox(); this.groupBox1 = new System.Windows.Forms.GroupBox();
this.txtExpPrefix = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox(); this.groupBox2 = new System.Windows.Forms.GroupBox();
this.label6 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label();
this.txtLogPost = new System.Windows.Forms.TextBox(); this.txtLogPost = new System.Windows.Forms.TextBox();
this.txtLogSection = new System.Windows.Forms.TextBox(); this.txtLogSection = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label();
this.txtExpPrefix = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout(); this.groupBox2.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
@ -271,6 +271,23 @@
this.groupBox1.TabStop = false; this.groupBox1.TabStop = false;
this.groupBox1.Text = "Utgångs inställningar"; this.groupBox1.Text = "Utgångs inställningar";
// //
// txtExpPrefix
//
this.txtExpPrefix.Location = new System.Drawing.Point(213, 51);
this.txtExpPrefix.Name = "txtExpPrefix";
this.txtExpPrefix.Size = new System.Drawing.Size(57, 20);
this.txtExpPrefix.TabIndex = 40;
this.txtExpPrefix.Text = "GWX_";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(137, 52);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(70, 13);
this.label8.TabIndex = 39;
this.label8.Text = "export prefix :";
//
// groupBox2 // groupBox2
// //
this.groupBox2.Controls.Add(this.label6); this.groupBox2.Controls.Add(this.label6);
@ -317,23 +334,6 @@
this.label7.TabIndex = 37; this.label7.TabIndex = 37;
this.label7.Text = "Namn log section"; this.label7.Text = "Namn log section";
// //
// txtExpPrefix
//
this.txtExpPrefix.Location = new System.Drawing.Point(213, 51);
this.txtExpPrefix.Name = "txtExpPrefix";
this.txtExpPrefix.Size = new System.Drawing.Size(57, 20);
this.txtExpPrefix.TabIndex = 40;
this.txtExpPrefix.Text = "GWX_";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(137, 52);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(70, 13);
this.label8.TabIndex = 39;
this.label8.Text = "export prefix :";
//
// frmSettings // frmSettings
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);