diff --git a/CobXmlSupport/CobXmlSupport.csproj b/CobXmlSupport/CobXmlSupport.csproj
index 7827f63..92fa566 100644
--- a/CobXmlSupport/CobXmlSupport.csproj
+++ b/CobXmlSupport/CobXmlSupport.csproj
@@ -58,6 +58,7 @@
GenCobCode.cs
+
diff --git a/CobXmlSupport/GenCobCode.cs b/CobXmlSupport/GenCobCode.cs
index 24a3ce0..51a98bd 100644
--- a/CobXmlSupport/GenCobCode.cs
+++ b/CobXmlSupport/GenCobCode.cs
@@ -1699,8 +1699,12 @@ namespace CobXmlSupport
}
foreach (qualifieldhlp tmpQfh in qldList)
{
- fromToMoves.CodeShower.Text += tmpQfh.ToString();
- fromToMoves.CodeShower.Text += tmpQfh.ToExpString();
+ if (tmpQfh.indexStrings != null)
+ {
+
+ }
+ fromToMoves.CodeShower.Text += "MOVE " + tmpQfh.ToString();
+ fromToMoves.CodeShower.Text += "TO " + tmpQfh.ToExpString();
}
fromToMoves.Show();
diff --git a/CobXmlSupport/IndStatus.cs b/CobXmlSupport/IndStatus.cs
new file mode 100644
index 0000000..2fa5c4b
--- /dev/null
+++ b/CobXmlSupport/IndStatus.cs
@@ -0,0 +1,51 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace CobXmlSupport
+{
+ public class IndStatus
+ {
+ private List presentInds = null;
+ private int returns = 0;
+ private string[] newInds=null;
+
+ public IndStatus()
+ {
+ presentInds = new List();
+ }
+
+ public void handleStatus(string[] new_Inds)
+ {
+
+ List news = new List();
+ news.AddRange(new_Inds);
+ foreach (string tmpStr in presentInds)
+ {
+ if (news.Contains(tmpStr)) { }
+ else {
+ returns += 1;
+
+ }
+ }
+ List addedStrs = new List();
+ foreach (string tmpInStr in new_Inds)
+ {
+ if (presentInds.Contains(tmpInStr)){}
+ else
+ {
+ presentInds.Add(tmpInStr);
+ addedStrs.Add(tmpInStr);
+ }
+ }
+
+ // Utveckling pågår !
+
+ }
+
+
+
+
+ }
+}
diff --git a/CobXmlSupport/qualifieldhlp.cs b/CobXmlSupport/qualifieldhlp.cs
index 6e76574..ea60c8a 100644
--- a/CobXmlSupport/qualifieldhlp.cs
+++ b/CobXmlSupport/qualifieldhlp.cs
@@ -11,7 +11,18 @@ namespace CobXmlSupport
private CobRow qualifiedRow;
private List qualRows;
private Dictionary locIndexis;
- private string qfhCode;
+ private string qfhCode, qfhInd ;
+ private string[] indexStrs;
+
+ public string indexText
+ {
+ get { return qfhInd; }
+ }
+
+ public string[] indexStrings
+ {
+ get { return indexStrs; }
+ }
public qualifieldhlp()
{
@@ -44,13 +55,15 @@ namespace CobXmlSupport
if (qualRows.Count > 0)
{
qfhCode = "";
+
+
foreach (CobRow localCobRow in qualRows)
{
if (qfhCode.Length > 0)
{
qfhCode += " OF ";
}
- if (exp) qfhCode += localCobRow.FieldName.Replace(S.ettingPrefix,S.ettingExpPrefix);
+ if (exp) qfhCode += localCobRow.FieldName.Replace(S.ettingPrefix, S.ettingExpPrefix);
else qfhCode += localCobRow.FieldName;
if (localCobRow.isOccurs)
{
@@ -60,9 +73,40 @@ namespace CobXmlSupport
}
qfhCode += "\r\n";
}
+ if (this.indexText.Length > 0)
+ {
+ qfhCode += this.indexText ;
+ }
}
}
+ private void initLocIndexTxt()
+ {
+ qfhInd = "";
+ indexStrs = null;
+ if (locIndexis!=null && locIndexis.Count > 0)
+ {
+ indexStrs=new string[locIndexis.Count];
+ int indCnt = 0;
+ foreach (KeyValuePair tmpInd in locIndexis)
+ {
+ indexStrs[indCnt] = tmpInd.Value;
+
+ if (qfhInd.Length == 0)
+ {
+ qfhInd = "( " + tmpInd.Value;
+ }
+ else
+ {
+ qfhInd += ",\r\n" + tmpInd.Value;
+ }
+ }
+ qfhInd += " )\r\n";
+ }
+ }
+
+
+
private void initQualRows(ref Dictionary allInds)
{
CobRow tmpRow = qualifiedRow;
@@ -90,6 +134,7 @@ namespace CobXmlSupport
}
else break;
}
+ initLocIndexTxt();
}
public override string ToString()