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()