save codefile as dif ...
This commit is contained in:
@ -17,6 +17,7 @@ namespace CobXmlSupport
|
|||||||
{
|
{
|
||||||
|
|
||||||
public readonly string CSV = ".csv";
|
public readonly string CSV = ".csv";
|
||||||
|
public readonly string DIF = ".dif";
|
||||||
|
|
||||||
string oldTxt;
|
string oldTxt;
|
||||||
bool bSynch;
|
bool bSynch;
|
||||||
@ -90,10 +91,11 @@ namespace CobXmlSupport
|
|||||||
{
|
{
|
||||||
Dictionary<string, string> wrkDic = null;
|
Dictionary<string, string> wrkDic = null;
|
||||||
string codeComplement = "", fieldCompl = "", codeComplInit = "";
|
string codeComplement = "", fieldCompl = "", codeComplInit = "";
|
||||||
|
int actRows = 0;
|
||||||
string inFile = parentWindow.CmbLastFile.Text.Substring(parentWindow.CmbLastFile.Text.LastIndexOf("\\") + 1);
|
string inFile = parentWindow.CmbLastFile.Text.Substring(parentWindow.CmbLastFile.Text.LastIndexOf("\\") + 1);
|
||||||
string inPath = parentWindow.CmbLastFile.Text.Substring(0, parentWindow.CmbLastFile.Text.LastIndexOf("\\") + 1);
|
string inPath = parentWindow.CmbLastFile.Text.Substring(0, parentWindow.CmbLastFile.Text.LastIndexOf("\\") + 1);
|
||||||
string codeFile = inFile.Substring(0, inFile.LastIndexOf(".")) + CSV;
|
//string codeFile = inFile.Substring(0, inFile.LastIndexOf(".")) + CSV;
|
||||||
|
string codeFile = inFile.Substring(0, inFile.LastIndexOf(".")) + DIF;
|
||||||
this.CodeShower.Text = " InPath = " + inPath + "\r\n InFile = " + inFile + "\r\n codeFile = " + codeFile + "\r\n codePath = " + inPath + codeFile + "\r\n -------------- \r\n" + this.CodeShower.Text;
|
this.CodeShower.Text = " InPath = " + inPath + "\r\n InFile = " + inFile + "\r\n codeFile = " + codeFile + "\r\n codePath = " + inPath + codeFile + "\r\n -------------- \r\n" + this.CodeShower.Text;
|
||||||
|
|
||||||
if (File.Exists(inPath + codeFile))
|
if (File.Exists(inPath + codeFile))
|
||||||
@ -102,7 +104,8 @@ namespace CobXmlSupport
|
|||||||
}
|
}
|
||||||
if (codeComplement.Length > 0)
|
if (codeComplement.Length > 0)
|
||||||
{
|
{
|
||||||
wrkDic = moveFieldDictionary(codeComplement);
|
// wrkDic = moveFieldDictionary(codeComplement);
|
||||||
|
wrkDic = moveDifFieldDictionary(codeComplement);
|
||||||
}
|
}
|
||||||
foreach (CobRow cr in parentWindow.RowList)
|
foreach (CobRow cr in parentWindow.RowList)
|
||||||
{
|
{
|
||||||
@ -119,13 +122,41 @@ namespace CobXmlSupport
|
|||||||
cr.MoveCode = deQuote( fieldCompl);
|
cr.MoveCode = deQuote( fieldCompl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
codeComplInit += "-1,0\r\n";
|
||||||
|
codeComplInit += "BOT\r\n";
|
||||||
|
codeComplInit += "1,0\r\n";
|
||||||
if (cr.MoveCode == null)
|
if (cr.MoveCode == null)
|
||||||
codeComplInit += cr.FieldName + "\t" + " \r\n";
|
{
|
||||||
|
codeComplInit += enQuote(cr.FieldName) + "\r\n";
|
||||||
|
codeComplInit += "1,0\r\n";
|
||||||
|
codeComplInit += enQuote(" ") + "\r\n";
|
||||||
|
}
|
||||||
else
|
else
|
||||||
codeComplInit += cr.FieldName + "\t" + enQuote( cr.MoveCode.Replace("\r\n", "\n")) + "\r\n";
|
{
|
||||||
|
codeComplInit += enQuote(cr.FieldName) + "\r\n";
|
||||||
|
codeComplInit += "1,0\r\n";
|
||||||
|
codeComplInit += enQuote(cr.MoveCode.Replace("\r\n", "\n")) + "\r\n";
|
||||||
|
}
|
||||||
|
actRows++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
codeComplInit = "TABLE\r\n" +
|
||||||
|
"0,1\r\n" +
|
||||||
|
"\"EXCEL\"\r\n" +
|
||||||
|
"VECTORS\r\n" +
|
||||||
|
"0"+actRows.ToString()+"\r\n" +
|
||||||
|
"\"\"\r\n" +
|
||||||
|
"TUPLES\r\n" +
|
||||||
|
"0,2\r\n" +
|
||||||
|
"\"\"\r\n" +
|
||||||
|
"DATA\r\n" +
|
||||||
|
"0,0\r\n" +
|
||||||
|
"\"\"\r\n" +
|
||||||
|
codeComplInit+
|
||||||
|
"-1,0\r\n"+
|
||||||
|
"EOD\r\n";
|
||||||
|
|
||||||
string backupfile;
|
string backupfile;
|
||||||
if (S.ettingUserCodeBcup)
|
if (S.ettingUserCodeBcup)
|
||||||
{
|
{
|
||||||
@ -135,10 +166,10 @@ namespace CobXmlSupport
|
|||||||
DateTime.Now.Day.ToString("00") + "T" +
|
DateTime.Now.Day.ToString("00") + "T" +
|
||||||
DateTime.Now.Hour.ToString("00") +
|
DateTime.Now.Hour.ToString("00") +
|
||||||
DateTime.Now.Minute.ToString("00") +
|
DateTime.Now.Minute.ToString("00") +
|
||||||
DateTime.Now.Second.ToString("00") + CSV;
|
DateTime.Now.Second.ToString("00") + DIF;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
backupfile = inPath + inFile.Substring(0, inFile.LastIndexOf(".")) + ".backup"+CSV;
|
backupfile = inPath + inFile.Substring(0, inFile.LastIndexOf(".")) + ".backup"+DIF;
|
||||||
File.Delete(backupfile);
|
File.Delete(backupfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -208,6 +239,68 @@ namespace CobXmlSupport
|
|||||||
return tmpDic;
|
return tmpDic;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Dictionary<string, string> moveDifFieldDictionary(string inFil)
|
||||||
|
{
|
||||||
|
bool TABLE = false, VECTORS = false, TUPLES = false, DATA = false;
|
||||||
|
int rows = 0, rowCount = 0;
|
||||||
|
Dictionary<string, string> tmpDic = new Dictionary<string, string>();
|
||||||
|
string[] splits = { "\r\n" };
|
||||||
|
char[] csplit = {','};
|
||||||
|
string[] items = inFil.Split(splits, StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
for (int i = 0; i < items.Count();i++ )
|
||||||
|
{
|
||||||
|
string item = items[i];
|
||||||
|
switch (item.ToUpper())
|
||||||
|
{
|
||||||
|
case "TABLE":
|
||||||
|
{
|
||||||
|
TABLE = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "VECTORS":
|
||||||
|
{
|
||||||
|
VECTORS = true;
|
||||||
|
string[] nums = items[i + 1].Split(csplit);
|
||||||
|
rows = int.Parse(nums[1]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "TUPLES":
|
||||||
|
{
|
||||||
|
TUPLES = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case "DATA":
|
||||||
|
{
|
||||||
|
DATA = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case "BOT":
|
||||||
|
{
|
||||||
|
if (TABLE && VECTORS && TUPLES && DATA)
|
||||||
|
{
|
||||||
|
if (rowCount < rows)
|
||||||
|
{
|
||||||
|
tmpDic.Add(deQuote(items[i + 2]), items[i+4].Replace("\n", "\r\n"));
|
||||||
|
rowCount++;
|
||||||
|
i = i + 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "EOD":
|
||||||
|
{
|
||||||
|
i= items.Count();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return tmpDic;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void refreshWindow()
|
private void refreshWindow()
|
||||||
{
|
{
|
||||||
this.CodeShower.Text = "";
|
this.CodeShower.Text = "";
|
||||||
|
|||||||
Reference in New Issue
Block a user