Compare commits

..
790 changed files with 312357 additions and 11548 deletions
+1 -2
View File
@@ -401,5 +401,4 @@ FodyWeavers.xsd
/fmtall
/genmacall
*AssemblyInfo.cs
/PROMS/Baseline/Baseline.sln
*AssemblyInfo.cs
@@ -0,0 +1,36 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdjustBuildRevision", "AdjustBuildRevision.csproj", "{D1AB675E-828D-4781-BACD-8A2324CD84A5}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
Global
GlobalSection(SourceCodeControl) = preSolution
SccNumberOfProjects = 2
SccProjectUniqueName0 = AdjustBuildRevision.csproj
SccLocalPath0 = .
SccLocalPath1 = .
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Debug|x86.ActiveCfg = Debug|x86
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Debug|x86.Build.0 = Debug|x86
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Release|Any CPU.Build.0 = Release|Any CPU
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Release|x86.ActiveCfg = Release|x86
{D1AB675E-828D-4781-BACD-8A2324CD84A5}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
+1 -1
View File
@@ -32,7 +32,7 @@ namespace AdjustBuildRevision
{
// Allow for setting build revision on either proms or the roeditor:
if (Directory.GetCurrentDirectory().ToUpper().Contains("REFOBJ"))
outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("2.4.yyMM.dHH") + "\")");
outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("2.3.yyMM.dHH") + "\")");
else
outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("2.3.yyMM.dHH") + "\")");
// if (outline != line)
+39 -117
View File
@@ -456,7 +456,7 @@ namespace Baseline
switch (myLast)
{
case LastWas.Pagination:
OpenPDF(line);
line = OpenPDF(line);
break;
case LastWas.Baseline: // TODO: Need to add code here to open matching file
OpenOnePDF(myLine,1);
@@ -479,7 +479,7 @@ namespace Baseline
switch (myLast)
{
case LastWas.Pagination:
OpenPDF(line);
line = OpenPDF(line);
break;
case LastWas.Baseline: // TODO: Need to add code here to open matching file
OpenOnePDF(myLine,2);
@@ -491,99 +491,34 @@ namespace Baseline
break;
}
}
/// <summary>
/// This will return the full path to the PDF file
/// </summary>
/// <param name="fi"></param>
/// <param name="patern"></param>
/// <returns></returns>
private string GetPFDFileAndPath(FileInfo fi, string patern)
{
string[] fileList = Directory.GetFiles(fi.DirectoryName, patern);
// sort the list of file list
Array.Sort((string[])fileList);
return fileList.FirstOrDefault(); // the PDF file that we what should be top of the list then.
}
/// <summary>
/// This will parse out the procedure number for the PROMS ShortPath representation of a procedure section or step part
/// In the PROMS ShortPath, ".S" is used to delimit the procedure number, section then uses "..S" for the step parts
/// This method was written to handle cases where ".S" is used as part of the procedure number
/// </summary>
/// <param name="txt"></param>
/// <returns></returns>
private string ParseOutProcedureNumberFromLine(string txt)
{
// old logic was looking for the first occurence of ".S" in the txt string as the ending point of the procedure nuumber
// Beaver Valley has a procedure number "1.SBGEN" in which the old logic would not work
// 1.SBGEN.SC. ==> short path of attachment section "C"
// 1.SBGEN.SC..S1. ==> short path of Step 1 in attachment section "C"
string rtnstr = null;
int lidx = -1;
// if the item is to a high levels step or sub-step the short path as "..S" for each part of the step
// so look for the last occurence of ".." which will be the end of the section information
lidx = txt.LastIndexOf("..");
if (lidx > 0)
{
lidx = txt.LastIndexOf(".S", lidx); // this will position us to the end of the procedure number
}
else
{
lidx = txt.LastIndexOf(".S"); // this will position us to the end of the procedure number if there was no step information
}
// B2018-113 - Replace slashes and backslashes with underscores just as PROMS does when creating a PDF file.
rtnstr = txt.Substring(8, lidx - 8).Replace("/", "_").Replace("\\", "_");
return rtnstr;
}
string exePath;
private void OpenPDF(string line)
private string OpenPDF(string line)
{
int pageNum = int.Parse(line.Substring(0, 6));
int page = int.Parse(line.Substring(0, 6));
// B2018-113 - Replace slashes and backslashes with underscores just as PROMS does when creating a PDF file.
string ProcNum = ParseOutProcedureNumberFromLine(line);
string procPatern = string.Format("*{0}*.pdf", string.IsNullOrEmpty(line) ? "noProcNumber" : ProcNum);
line = line.Substring(8, line.IndexOf(".S") - 8).Replace("/", "_").Replace("\\", "_");
FindFile ff = lbDifferent.SelectedItem as FindFile;
FileInfo fi1 = new FileInfo(ff.File1);
FileInfo fi2 = new FileInfo(ff.File2);
string PDFfileName1 = GetPFDFileAndPath(fi1,procPatern);
string PDFfileName2 = GetPFDFileAndPath(fi2,procPatern);
if (string.IsNullOrEmpty(PDFfileName1) || string.IsNullOrEmpty(PDFfileName2)) return;
// If you don't know where the Reader executable is for PDFs Open a PDF and Check to see where the path points
if (exePath == null)
{
try
{
System.Diagnostics.Process p = System.Diagnostics.Process.Start(PDFfileName1);
exePath = TryToGetPath(p);
p.Kill(); // No need to keep it open
}
catch (Exception ex)
{
Application.DoEvents();
string msg = string.Format("{0} - {1}", ex.GetType().Name, ex.Message);
Console.WriteLine(msg);
MessageBox.Show(msg, "Error opening default PDF Viewer");
return;
}
System.Diagnostics.Process p = System.Diagnostics.Process.Start(fi1.DirectoryName + "\\" + line + ".pdf");
exePath = TryToGetPath(p);
p.Kill(); // No need to keep it open
}
// Open the first PDF on a Specific Page
System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format(" /A \"page={0}\" \"{1}\" ", pageNum,PDFfileName1));
System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A page={0} ", page) + fi1.DirectoryName + "\\" + line + ".pdf ");
System.Diagnostics.Process p1 = System.Diagnostics.Process.Start(psi1);
// Move the PDF Reader window to 0,0
MoveProcess(p1, 0, 0);
// Open the second PDF on a Specific Page
System.Diagnostics.ProcessStartInfo psi2 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format(" /A \"page={0}\" \"{1}\" ", pageNum, PDFfileName2));
// Open the first PDF on a Specific Page
System.Diagnostics.ProcessStartInfo psi2 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A page={0} ", page) + fi2.DirectoryName + "\\" + line + ".pdf ");
System.Diagnostics.Process p2 = System.Diagnostics.Process.Start(psi2);
// Move the PDF Reader window to 960,0
// TODO: This Offset could be a Setting
MoveProcess(p2, 960, 0);
return;
return line;
}
/// <summary>
/// Try to get the location of the PDF Reader executable
@@ -595,7 +530,7 @@ namespace Baseline
p.WaitForInputIdle();
while (p.MainModule == null)
{
Console.WriteLine("{0} - {1}", p.MainWindowTitle, p.ProcessName);
Console.WriteLine("{0} - {1}", p.MainWindowTitle,p.ProcessName);
p.WaitForInputIdle();
Application.DoEvents();
}
@@ -659,52 +594,40 @@ namespace Baseline
/// <param name="list"></param>
private void OpenOnePDF(Line myLine, int list)
{
if (myLine == null) return; // no PDF to open
// B2018-113 - Replace slashes and backslashes with underscores just as PROMS does when creating a PDF file.
string proc = myLine.MyProc.Number.Replace("/","_").Replace("\\","_");
// if no procedure number, PROMS creates pdf filename "NoProcNumber.pdf"
// create pattern to use to get the PDF from the directory
// add wildcards (*) to file the file if any prefix or suffix was added to the filename
string procPatern = string.Format("*{0}*.pdf", proc == string.Empty ? "noProcNumber" : proc);
int pagenum = myLine.MyPage.Number;
FindFile ff = lbDifferent.SelectedItem as FindFile;
string PDFfileName = null;
if (list == 1)
{
FileInfo fi1 = new FileInfo(ff.File1);
PDFfileName = GetPFDFileAndPath(fi1, procPatern);
}
else // list == 2
{
FileInfo fi2 = new FileInfo(ff.File2);
PDFfileName = GetPFDFileAndPath(fi2, procPatern);
}
if (string.IsNullOrEmpty(PDFfileName)) return; // no PDF to open
// if exePath is null, then open the found PDF with the default PDF viewer and
// capture/save the entire name and path of the default PDF viewer
FileInfo fi1 = new FileInfo(ff.File1);
FileInfo fi2 = new FileInfo(ff.File2);
if (exePath == null)
{
try
System.Diagnostics.Process p = System.Diagnostics.Process.Start(fi1.DirectoryName + "\\" + proc + ".pdf");
while (exePath == null)
{
System.Diagnostics.Process tp = System.Diagnostics.Process.Start(PDFfileName);
exePath = TryToGetPath(tp);
tp.Kill();
}
catch (Exception ex)
{
Application.DoEvents();
string msg = string.Format("{0} - {1}", ex.GetType().Name, ex.Message);
Console.WriteLine(msg);
MessageBox.Show(msg, "Error opening default PDF Viewer");
return;
try
{
exePath = p.MainModule.FileName;
}
catch (Exception ex)
{
Application.DoEvents();
Console.WriteLine("{0} - {1}", ex.GetType().Name, ex.Message);
}
}
p.Kill();
}
if (list == 1)
{
System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A page={0} ", pagenum) + fi1.DirectoryName + "\\" + proc + ".pdf ");
System.Diagnostics.Process p1 = System.Diagnostics.Process.Start(psi1);
}
else
{
System.Diagnostics.ProcessStartInfo psi2 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A page={0} ", pagenum) + fi2.DirectoryName + "\\" + proc + ".pdf ");
System.Diagnostics.Process p1 = System.Diagnostics.Process.Start(psi2);
}
// open the PDF and jump to the page number
System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A \"page={0}\" \"{1}\" ", pagenum,PDFfileName));
psi1.UseShellExecute = false;
System.Diagnostics.Process p1 = System.Diagnostics.Process.Start(psi1);
}
/// <summary>
/// Perform Debug Meta file comparison for all of the folders within the automated testing folders
@@ -786,12 +709,11 @@ namespace Baseline
private void lbProcedures_SelectedIndexChanged(object sender, EventArgs e)
{
//Initialize Results List Box
lbResults1.Items.Clear();
Procedure myProc = lbProcedures.SelectedItem as Procedure;
if (myProc == null) return; // clicked on the white space (blank line) in the list of different procedures
//TODO: May need to consider if there are duplicate procedure numers and titles
Procedure myProc1 = MyProcs1.Find(x => x.Number == myProc.Number && x.Title == myProc.Title);
// Build the results ListBox for the left window
lbResults1.Items.Clear();
if (myProc1 != null)
{
foreach (Page myPage in myProc1.MyPages)
-1
View File
@@ -179,7 +179,6 @@
<Content Include="fmtall\CPL_00all.xml" />
<Content Include="fmtall\CPL_01all.xml" />
<Content Include="fmtall\CPL_02all.xml" />
<Content Include="fmtall\CPL_04all.xml" />
<Content Include="fmtall\CPL_03all.xml" />
<Content Include="fmtall\CPSAMGDataall.xml" />
<Content Include="fmtall\CPSAMGDEVall.xml" />
+22
View File
@@ -0,0 +1,22 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30723.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Formats", "Formats.csproj", "{F479493D-A543-4CCF-9541-039FD5126794}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F479493D-A543-4CCF-9541-039FD5126794}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F479493D-A543-4CCF-9541-039FD5126794}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F479493D-A543-4CCF-9541-039FD5126794}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F479493D-A543-4CCF-9541-039FD5126794}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
+26
View File
@@ -0,0 +1,26 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Formats", "Formats.csproj", "{F479493D-A543-4CCF-9541-039FD5126794}"
EndProject
Global
GlobalSection(SourceCodeControl) = preSolution
SccNumberOfProjects = 2
SccLocalPath0 = .
SccProjectUniqueName1 = Formats.csproj
SccLocalPath1 = .
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F479493D-A543-4CCF-9541-039FD5126794}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F479493D-A543-4CCF-9541-039FD5126794}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F479493D-A543-4CCF-9541-039FD5126794}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F479493D-A543-4CCF-9541-039FD5126794}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+253 -1
View File
@@ -422,6 +422,150 @@ namespace LBWordLibrary
return true;
return false;
}
/// <summary>
/// If document contains symbol characters, returns problem font.
/// </summary>
public string FontHasSymbolCharacters
{
get
{
LBRange myRange = Range();
myRange = myRange.GoTo(LBWdGoToItem.wdGoToPercent, LBWdGoToDirection.wdGoToLast, 100);
myRange.Start = 0;
int end = myRange.End;
string myText = GetRangeText(myRange);
//return _RegFindSymbol.IsMatch(myText);
MatchCollection problems = _RegFindSymbol.Matches(myText);
int offset = 0;
List<string> alreadyProcessed = new List<string>();
List<string> fontHasSymbols = new List<string>();
foreach (Match problem in problems)
{
if (!alreadyProcessed.Contains(problem.Value))
{
myRange.Start = problem.Index + offset;
myRange.End = problem.Index + problem.Length + offset;
int newOffset = FindRangeOffset(myRange, problem, offset, end);
string fontName = myRange.Font.Name;
if (IsSymbolFont(fontName))
{
if( !fontHasSymbols.Contains(fontName))
{
fontHasSymbols.Add(fontName);
// Found symbol font
_MyLog.InfoFormat("Font '{0}' has Symbols", fontName);
}
//Console.WriteLine("Font '{0}' has Symbols", myRange.Font.Name);
//return true;
}
else
return myRange.Font.Name;
offset = newOffset;
alreadyProcessed.Add(problem.Value);
}
}
return null;
}
}
/// <summary>
/// Debug Tool - Return a string containing a list of the fonts that have symbol characters.
/// </summary>
public string FontsHaveSymbolCharacters
{
get
{
string sep = "";
StringBuilder sb = new StringBuilder();
List<string> fonts=new List<string>();
LBRange myRange = Range();
myRange = myRange.GoTo(LBWdGoToItem.wdGoToPercent, LBWdGoToDirection.wdGoToLast, 100);
myRange.Start = 0;
int end = myRange.End;
string myText = GetRangeText(myRange);
//return _RegFindSymbol.IsMatch(myText);
MatchCollection problems = _RegFindSymbol.Matches(myText);
int offset = 0;
foreach (Match problem in problems)
{
myRange.Start = problem.Index + offset;
myRange.End = problem.Index + problem.Length + offset;
int newOffset = FindRangeOffset(myRange, problem, offset, end);
if (!fonts.Contains(myRange.Font.Name))
{
fonts.Add(myRange.Font.Name);
sb.Append(sep + "'" + myRange.Font.Name + "'");
sep = ",";
}
offset = newOffset;
}
if (sb.Length > 0) return sb.ToString();
return null;
}
}
/// <summary>
/// Debug Tool - Return a list of symbol characters using VESYMB font.
/// </summary>
public string FontsHaveSymbolCharacters2
{
get
{
try
{
Dictionary<string, List<int>> fonts = new Dictionary<string, List<int>>();
LBRange myRange = Range();
myRange = myRange.GoTo(LBWdGoToItem.wdGoToPercent, LBWdGoToDirection.wdGoToLast, 100);
myRange.Start = 0;
int end = myRange.End;
string myText = GetRangeText(myRange);
//return _RegFindSymbol.IsMatch(myText);
MatchCollection problems = _RegFindSymbol.Matches(myText);
int offset = 0;
foreach (Match problem in problems)
{
myRange.Start = problem.Index + offset;
myRange.End = problem.Index + problem.Length + offset;
int newOffset = FindRangeOffset(myRange, problem, offset, end);
string sFont = myRange.Font.Name;
if (sFont.ToUpper().StartsWith("VESYM"))
{
if (!fonts.ContainsKey(sFont))
{
fonts.Add(sFont, new List<int>());
}
List<int> symbols = fonts[sFont];
string myTextSymb = GetRangeText(myRange);
foreach (char c in myTextSymb)
{
if (!symbols.Contains((int)c))
symbols.Add((int)c);
}
}
offset = newOffset;
}
if (fonts.Count > 0)
{
string sep = "";
StringBuilder sb = new StringBuilder();
foreach (string font in fonts.Keys)
{
sb.Append(sep + "'" + font + "'");
sep = ",";
foreach (int i in fonts[font])
{
sb.Append(sep);
sb.Append(i);
}
}
return sb.ToString();
}
}
catch (Exception ex)
{
Console.WriteLine("{0},{1},{2}", ex.GetType().Name, ex.Message, ex.StackTrace);
}
return null;
}
}
/// <summary>
/// Checks to see if the document contains symbol characters
@@ -457,7 +601,86 @@ namespace LBWordLibrary
}
}
Regex _RegFindSymbol = new Regex("[\\uF020-\\uF07F]+");
/// <summary>
/// FixSymbolCharacters - Fix any symbol characters in the document
/// </summary>
public void FixSymbolCharacters()
{
// Set up range object to be used to process text
LBRange myRange = Range();
myRange = myRange.GoTo(LBWdGoToItem.wdGoToPercent, LBWdGoToDirection.wdGoToLast, 100);
int end = myRange.End;
myRange.Start = 0;
string myText = GetRangeText(myRange);
MatchCollection problems = _RegFindSymbol.Matches(myText);
int offset = 0;
foreach (Match problem in problems)
{
myRange.Start = problem.Index + offset;
myRange.End = problem.Index + problem.Length + offset;
int newOffset = FindRangeOffset(myRange, problem, offset, end);
if (myRange.Font.Name == "")
{
int wrdStart = myRange.Start;
int wrdEnd = myRange.End;
int wrdMiddle = wrdStart;
while (myRange.Font.Name == "")
{
do
{
myRange.End = ++wrdMiddle;
} while(myRange.Font.Name != "");
myRange.End = wrdMiddle - 1;
ReplaceSymbolCharacters(myRange);
myRange.Start = wrdMiddle -1;
myRange.End = wrdEnd;
}
ReplaceSymbolCharacters(myRange);
}
else
{
ReplaceSymbolCharacters(myRange);
}
offset = newOffset;
}
}
/// <summary>
/// Try to fix the first character in the symbol range F000 to F0FF. If it cannot be
/// fixed, it is an indicator that the font is not installed properly. Regardless of
/// whether there is success, the change is undone so that the document will not be
/// considered dirty, i.e. will not prompt user for save.
/// </summary>
/// <returns></returns>
public bool AttemptToFixASymbolCharacter()
{
// Set up range object to be used to process text
LBRange myRange = Range();
myRange = myRange.GoTo(LBWdGoToItem.wdGoToPercent, LBWdGoToDirection.wdGoToLast, 100);
int end = myRange.End;
myRange.Start = 0;
string myText = GetRangeText(myRange);
MatchCollection problems = _RegFindSymbol.Matches(myText);
if (problems.Count>0)
{
Match problem = problems[0];
myRange.Start = problem.Index;
myRange.End = myRange.Start + 1;
if (IsSymbolFont(myRange.Font.Name)) return true; // if it's a symbol font already, no issue.
string before = GetRangeText(myRange);
string updated = ReplaceSymbolCharacters(before);
myRange.Text = updated;
string after = GetRangeText(myRange);
Undo(1);
//Console.WriteLine("Undo1 results = {0}", tst);
//tst = Undo(1);
//Console.WriteLine("Undo2 results = {0}", tst);
//tst = Undo(1);
//Console.WriteLine("Undo3 results = {0}", tst);
return (updated == after);
}
return true;
}
/// <summary>
/// Get the Range Text with error handling. myRange.Text sometimes will get a null reference exception.
/// </summary>
@@ -514,6 +737,35 @@ namespace LBWordLibrary
return myRange.Start - problem.Index;
}
/// <summary>
/// ReplaceSymbolCharacters Replaces any symbol characters in the specified range
/// </summary>
/// <param name="myRange"></param>
private static void ReplaceSymbolCharacters(LBRange myRange)
{
try
{
if (IsSymbolFont(myRange.Font.Name))
return;
string before = GetRangeText(myRange);
string updated = ReplaceSymbolCharacters(before);
myRange.Text = updated;
string after = GetRangeText(myRange);
if (after != updated) // If the Word text doesn't match try including a character before and after and do it again.
{
Console.WriteLine("'TryEntireRange Failed',{0},{1},'{2}','{3}','{4}'", myRange.Start, myRange.End, before, updated, after);
int end = myRange.End;
myRange.Start = myRange.Start - 1;
myRange.End = end + 1;
myRange.Text = ReplaceSymbolCharacters(GetRangeText(myRange));
Console.WriteLine("'TryEntireRange Failed',{0},{1},'{2}'", myRange.Start, myRange.End, GetRangeText(myRange));
}
}
catch (Exception ex)
{
Console.WriteLine("'TryEntireRange Exception',{0},{1},'{2}'", myRange.Start, myRange.End, ex.Message);
}
}
/// <summary>
/// ReplaceSymbolCharacters processes the string returned and changes any symbols (0xF0??) to normal characters
/// </summary>
/// <param name="str"></param>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,415 @@
using System;
using System.Collections.Generic;
using System.Text;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.factories;
using Itenso.Rtf;
using Itenso.Rtf.Parser;
using Itenso.Rtf.Interpreter;
//using Itenso.Rtf.Model;
using Itenso.Rtf.Support;
using Microsoft.Win32;
using Volian.Base.Library;
namespace Volian.Print.Library
{
public partial class PrintOverride
{
public static bool CompressSub = false;
public static bool CompressSuper = false;
public static bool CompressPropSubSup = false;
private static System.Drawing.Color _TextColor = System.Drawing.Color.Empty;
public static System.Drawing.Color TextColor
{
get { return _TextColor; }
set { _TextColor = value; }
}
public static System.Drawing.Color OverrideTextColor(System.Drawing.Color color)
{
if (_TextColor == System.Drawing.Color.Empty)
return color;
return _TextColor;
}
private static System.Drawing.Color _SvgColor = System.Drawing.Color.Empty;
public static System.Drawing.Color SvgColor
{
get { return _SvgColor; }
set { _SvgColor = value; Volian.Svg.Library.Svg.OverrideColor = value; }
}
public static System.Drawing.Color OverrideSvgColor(System.Drawing.Color color)
{
if (_SvgColor == System.Drawing.Color.Empty)
return color;
return _SvgColor;
}
private static System.Drawing.Color _BoxColor = System.Drawing.Color.Empty;
public static System.Drawing.Color BoxColor
{
get { return _BoxColor; }
set { _BoxColor = value; }
}
public static System.Drawing.Color OverrideBoxColor(System.Drawing.Color color)
{
if (_BoxColor == System.Drawing.Color.Empty)
return color;
return _BoxColor;
}
private static System.Drawing.Color _ChangeBarColor = System.Drawing.Color.Empty;
public static System.Drawing.Color ChangeBarColor
{
get { return _ChangeBarColor; }
set { _ChangeBarColor = value; }
}
public static System.Drawing.Color OverrideChangeBarColor(System.Drawing.Color color)
{
if (_ChangeBarColor == System.Drawing.Color.Empty)
return color;
return _ChangeBarColor;
}
private static System.Drawing.Color _DebugColor = System.Drawing.Color.Empty;
public static System.Drawing.Color DebugColor
{
get { return _DebugColor; }
set { _DebugColor = value; }
}
public static System.Drawing.Color OverrideDebugColor(System.Drawing.Color color)
{
if (_DebugColor == System.Drawing.Color.Empty)
return color;
return _DebugColor;
}
public static void Reset()
{
DebugColor = System.Drawing.Color.Empty;
TextColor = System.Drawing.Color.Empty;
SvgColor = System.Drawing.Color.Empty;
BoxColor = System.Drawing.Color.Empty;
ChangeBarColor = System.Drawing.Color.Empty;
}
}
public class Rtf2iTextSharp : RtfVisualVisitorBase
{
private bool _HasIndent = false;
public bool HasIndent
{
get { return _HasIndent; }
set { _HasIndent = value; }
}
private static bool _DoingComparison = false;
public static bool DoingComparison
{
get { return Rtf2iTextSharp._DoingComparison; }
set { Rtf2iTextSharp._DoingComparison = value; }
}
private IRtfDocument _RtfDoc;
private Paragraph _MyParagraph = new Paragraph();
private iTextSharp.text.Font _MyFont;
// Allow for definition of a default font: if the font is not proportional, this gets set.
// It is needed to set the chunk's font if the first character of a cell is a hardspace (or various
// other special cases (see its use below). Without this, pdfs were using the Helvetica font,
// which is a default itextsharp font (this was causing a problem for HLP, their pdfs could not
// contain a Helvetica font when putting them in their production environment).
private iTextSharp.text.Font _DefaultFont;
public iTextSharp.text.Font DefaultFont
{
get { return _DefaultFont; }
set { _DefaultFont = value; }
}
private string _MyDebugID = null;
public string MyDebugID
{
get { return _MyDebugID; }
set { _MyDebugID = value; }
}
// public Rtf2iTextSharp(IRtfDocument rtfDoc, Document doc, PdfWriter writer)
public Rtf2iTextSharp(IRtfDocument rtfDoc)
{
if (rtfDoc == null)
throw new ArgumentNullException("rtfDoc");
_RtfDoc = rtfDoc;
}
public Paragraph Convert()
{
int profileDepth = ProfileTimer.Push(">>>> Rtf2ITextSharp.Convert");
_MyParagraph.Clear();
_MyFont = null;
foreach (IRtfVisual visual in _RtfDoc.VisualContent)
{
visual.Visit(this);
}
//_MyParagraph.SetLeading(0, 1);
ProfileTimer.Pop(profileDepth);
return _MyParagraph;
}
// ----------------------------------------------------------------------
protected override void DoVisitBreak(IRtfVisualBreak visualBreak)
{
switch (visualBreak.BreakKind)
{
case RtfVisualBreakKind.Line:
Chunk ck = HasIndent ? new Chunk("".PadLeft(200)) : new Chunk("".PadLeft(200));
_MyParagraph.Add(ck);
break;
case RtfVisualBreakKind.Page:
break;
case RtfVisualBreakKind.Paragraph:
Chunk ck1 = HasIndent ? new Chunk("".PadLeft(200)) : Chunk.NEWLINE;
_MyParagraph.Add(ck1);
break;
case RtfVisualBreakKind.Section:
break;
default:
break;
}
//_MyParagraph.Add(string.Format("<{0}>", visualBreak.BreakKind.ToString()));
}
private void AddChunk(string str, iTextSharp.text.Font font)
{
if (font == null)
_MyParagraph.Add(new Chunk(str));
else
_MyParagraph.Add(new Chunk(str, font));
}
protected override void DoVisitSpecial(IRtfVisualSpecialChar visualSpecialChar)
{
//_MyParagraph.Add(string.Format("<special {0}>", visualSpecialChar.CharKind.ToString()));
iTextSharp.text.Font activeFont = _MyFont ?? DefaultFont;
switch (visualSpecialChar.CharKind)
{
case RtfVisualSpecialCharKind.Bullet:
AddChunk("\u2022", activeFont);
break;
case RtfVisualSpecialCharKind.EmDash:
AddChunk("\u2014", activeFont);
break;
case RtfVisualSpecialCharKind.EmSpace:
AddChunk("\u2003", activeFont);
break;
case RtfVisualSpecialCharKind.EnDash:
AddChunk("\u2013", activeFont);
break;
case RtfVisualSpecialCharKind.EnSpace:
AddChunk(" ", activeFont);
break;
case RtfVisualSpecialCharKind.LeftDoubleQuote:
AddChunk("\u201C", activeFont);
break;
case RtfVisualSpecialCharKind.LeftSingleQuote:
AddChunk("\u2018", activeFont);
break;
case RtfVisualSpecialCharKind.NonBreakingHyphen:
AddChunk("\u2011", activeFont);
break;
case RtfVisualSpecialCharKind.NonBreakingSpace:
//iTextSharp.text.Font font = Volian.Svg.Library.VolianPdf.GetFont(sdf);
AddChunk("\u00A0", activeFont);
break;
case RtfVisualSpecialCharKind.OptionalHyphen:
AddChunk("\u00AD", activeFont);
break;
case RtfVisualSpecialCharKind.ParagraphNumberBegin:
break;
case RtfVisualSpecialCharKind.ParagraphNumberEnd:
break;
case RtfVisualSpecialCharKind.QmSpace:
break;
case RtfVisualSpecialCharKind.RightDoubleQuote:
AddChunk("\u201D", activeFont);
break;
case RtfVisualSpecialCharKind.RightSingleQuote:
AddChunk("\u2019", activeFont);
break;
case RtfVisualSpecialCharKind.Tabulator:
break;
default:
break;
}
}
private bool ContainsAllSymbols(string p)
{
foreach (char c in p)
if (c <= '\x7F') return false;
return true;
}
private bool ContainsAnySymbols(string p)
{
foreach (char c in p)
if (c > '\x7F' && c != '\xA0' && c != '\xB0') return true;
return false;
}
protected override void DoVisitText(IRtfVisualText visualText)
{
int profileDepth = ProfileTimer.Push(">>>> DoVisitText");
if (visualText.Format.IsHidden)
{
ProfileTimer.Pop(profileDepth);
return;
}
iTextSharp.text.Font font = Volian.Svg.Library.VolianPdf.GetFont(visualText.Format.Font.Name, visualText.Format.FontSize,
(visualText.Format.IsBold ? iTextSharp.text.Font.BOLD : 0) +
(visualText.Format.IsItalic ? iTextSharp.text.Font.ITALIC : 0));
font.Color = new iTextSharp.text.Color(PrintOverride.OverrideTextColor(visualText.Format.ForegroundColor.AsDrawingColor));
// The following line of code was added to allow for comparisons between the 16bit and 32bit pdf files. Without
// the size change, the overlays did not match up. It seems that the 16bit font size may be inaccurate
// and the 16bit conversion to be pdf may be off.
//if (font.Familyname.StartsWith("Arial") && font.Size == 11 && DoingComparison) font.Size = 11.15f;
iTextSharp.text.pdf.FontSelector fs = new FontSelector();
// DEBUG
//if (visualText.Format.Font.Name != "VESymbFix" && ContainsAnySymbols(visualText.Text))
//{
// Console.WriteLine("Font: {0} TEXT: {1}", visualText.Format.Font.Name, ShowSpecialCharacters(visualText.Text));
//}
if (visualText.Format.Font.Name == "VESymbFix" && ContainsAllSymbols(visualText.Text))
{
fs.AddFont(font);
// if the symbol character cannot be found in VESymbFix then check/use the Consolas font
// We are using the VESymbFix font first because not all of the symbols that we use are in the Consolas font
// The Consolas font will give us other symbols that we don't have in VESymbFix (ex the Omega)
fs.AddFont(FontFactory.GetFont("Consolas", BaseFont.IDENTITY_H, BaseFont.EMBEDDED, (visualText.Format.FontSize * 1.1F) / 2,
(visualText.Format.IsBold ? iTextSharp.text.Font.BOLD : 0) +
(visualText.Format.IsItalic ? iTextSharp.text.Font.ITALIC : 0), font.Color));
Phrase ph = fs.Process(visualText.Text);
foreach (Chunk chk in ph.Chunks)
{
AdjustChunk(visualText, font, chk);
_MyParagraph.Add(chk);
}
}
else
{
// The bullet character for some unknown reason was entered in a text font rather than a symbol font
// switch from x25cf ot x2022 moves to a valid bullet character in the text font
Chunk chk = new Chunk(visualText.Text.Replace("\u25cf", "\u2022"), font);
AdjustChunk(visualText, font, chk);
_MyParagraph.Add(chk);
}
ProfileTimer.Pop(profileDepth);
}
private void AdjustChunk(IRtfVisualText visualText, iTextSharp.text.Font font, Chunk chk)
{
if (visualText.Format.BackgroundColor.AsDrawingColor.ToArgb() != System.Drawing.Color.White.ToArgb())
chk.SetBackground(new iTextSharp.text.Color(visualText.Format.BackgroundColor.AsDrawingColor));
if (visualText.Format.IsStrikeThrough)
chk.SetUnderline(font.Color, 0, 0.05F, 0, .3F, PdfContentByte.LINE_CAP_ROUND); // Relative Based upon font size
if (visualText.Format.IsUnderline)
if (visualText.Format.SuperScript < 0)
{
if (PrintOverride.CompressSub)
{
float yoffundx = (_MyParagraph.Leading < 12 && font.Size >= 12) ? -0.06F : -0.18F;
chk.SetUnderline(font.Color, 0, 0.07F, 0, yoffundx, PdfContentByte.LINE_CAP_ROUND); // Relative Based upon font size
}
else
chk.SetUnderline(font.Color, 0, 0.05F, 0, -.381F, PdfContentByte.LINE_CAP_ROUND); // Relative Based upon font size
}
else if (visualText.Format.SuperScript > 0 && PrintOverride.CompressSuper)
{
float yoffundx = (_MyParagraph.Leading < 12 && font.Size >= 12) ? -0.06F : -0.18F;
chk.SetUnderline(font.Color, 0, 0.07F, 0, yoffundx, PdfContentByte.LINE_CAP_ROUND);
}
else
{
// If on a compressed printed step (Leading < 12) and a larger underlined font, then set the underlining
// a little less far down the page. Without this, the underline was touching the 2nd line of text, if it existed.
// Any plant that had compressed steps with the font size/underline would have this problem. An example
// was Braidwood FSG-6, high level steps.
float yoffund = (_MyParagraph.Leading < 12 && font.Size >= 12) ? -0.06F : -0.131F;
chk.SetUnderline(font.Color, 0, 0.05F, 0, yoffund, PdfContentByte.LINE_CAP_ROUND); // Relative Based upon font size
}
if (visualText.Format.SuperScript > 0)
{
if (PrintOverride.CompressPropSubSup)
{
chk.SetTextRise(.33F * chk.Font.Size);
chk.Font.Size *= .75f;
}
else
{
chk.SetTextRise(.25F * chk.Font.Size);
if (PrintOverride.CompressSuper) chk.Font.Size = 9;
}
}
else if (visualText.Format.SuperScript < 0)
{
if (PrintOverride.CompressPropSubSup)
chk.Font.Size *= .75f;
else
{
// if the subscript is not compressed or if it is compress but not underlined, then move it down
if (!PrintOverride.CompressSub || !visualText.Format.IsUnderline) chk.SetTextRise(-.25F * chk.Font.Size);
if (PrintOverride.CompressSub) chk.Font.Size = 9;
}
}
else
chk.SetTextRise(0);
switch (visualText.Format.Alignment)
{
case RtfTextAlignment.Center:
_MyParagraph.Alignment = Element.ALIGN_CENTER;
break;
case RtfTextAlignment.Justify:
_MyParagraph.Alignment = Element.ALIGN_JUSTIFIED;
break;
case RtfTextAlignment.Left:
_MyParagraph.Alignment = Element.ALIGN_LEFT;
break;
case RtfTextAlignment.Right:
_MyParagraph.Alignment = Element.ALIGN_RIGHT;
break;
default:
break;
}
if (_MyFont == null)
{
_MyFont = font;
_MyParagraph.Font = _MyFont;
}
}
private string ShowSpecialCharacters(string p)
{
StringBuilder sb = new StringBuilder();
foreach (char c in p)
{
int i = (int)c;
if (i < 20 || i > 127)
sb.Append(string.Format("<{0:x}>", i));
else
sb.Append(c);
}
return sb.ToString();
}// DoVisitText
// ----------------------------------------------------------------------
protected override void DoVisitImage(IRtfVisualImage visualImage)
{
//_MyParagraph.Add(new Chunk("<Image>"));
DateTime dt1 = DateTime.Now;
//System.Drawing.Image img2 = visualImage.ImageForDrawing;
//Console.WriteLine("1 Time Span {0}", TimeSpan.FromTicks(DateTime.Now.Ticks - dt1.Ticks).TotalMilliseconds);
//img2.Save(@"c:\datacvrt\x.png");
System.IO.MemoryStream ms = new System.IO.MemoryStream();
//Console.WriteLine("2 Time Span {0}", TimeSpan.FromTicks(DateTime.Now.Ticks - dt1.Ticks).TotalMilliseconds);
Console.WriteLine("Size {0}", visualImage.ImageForDrawing.Size);
visualImage.ImageForDrawing.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
//Console.WriteLine("3 Time Span {0}", TimeSpan.FromTicks(DateTime.Now.Ticks - dt1.Ticks).TotalMilliseconds);
ms.Seek(0, System.IO.SeekOrigin.Begin);
//Console.WriteLine("4 Time Span {0}", TimeSpan.FromTicks(DateTime.Now.Ticks - dt1.Ticks).TotalMilliseconds);
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(ms);
//Console.WriteLine("5 Time Span {0}", TimeSpan.FromTicks(DateTime.Now.Ticks - dt1.Ticks).TotalMilliseconds);
_MyParagraph.Add(img);
Console.WriteLine("6 Time Span {0}", TimeSpan.FromTicks(DateTime.Now.Ticks - dt1.Ticks).TotalMilliseconds);
} // DoVisitImage
}
}
+111
View File
@@ -0,0 +1,111 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataLoader", "DataLoader\DataLoader.csproj", "{8E239A2B-B38C-4CD5-BA0D-A41A88BD2AEE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volian.Controls.Library", "Volian.Controls.Library\Volian.Controls.Library.csproj", "{8556527C-6615-487F-8AF7-22EBC3EF0268}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Volian.Utils.Library", "Volian.Utils.Library", "{5A0EDD18-70A4-4D5E-93CC-39F4D246352A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IniReader", "Volian.Utils.Library\IniReader\IniReader.csproj", "{889E30F7-CFBC-470D-9488-7009C354F9C9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSWord", "Volian.Utils.Library\MSWord\MSWord.csproj", "{2F79D7F9-885E-4441-99F3-045D7612B2E5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vlnObjectLibrary", "Volian.Utils.Library\vlnObject\vlnObjectLibrary.csproj", "{933269F5-C3AD-423E-88EB-133A7333FD6B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vlnServerLibrary", "Volian.Utils.Library\vlnServerLibrary\vlnServerLibrary.csproj", "{F9B53DDC-2A2E-4A17-B777-4EC0EE585DE2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "veproms", "veproms\veproms.csproj", "{0D8723B4-51DD-486A-A5E1-8D55BB526690}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volian.CSLA.Library", "Volian.CSLA.Library\Volian.CSLA.Library.csproj", "{3C162BD7-5DBC-45A6-90D8-9391AC8CD0FD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volian.Object.Library", "Volian.Object.Library\Volian.Object.Library.csproj", "{B8BED4CF-D60A-4CC0-B652-CEFA04B774B1}"
EndProject
Global
GlobalSection(SourceCodeControl) = preSolution
SccNumberOfProjects = 10
SccLocalPath0 = .
SccProjectUniqueName1 = DataLoader\\DataLoader.csproj
SccLocalPath1 = .
SccProjectFilePathRelativizedFromConnection1 = DataLoader\\
SccProjectUniqueName2 = veproms\\veproms.csproj
SccLocalPath2 = .
SccProjectFilePathRelativizedFromConnection2 = veproms\\
SccProjectUniqueName3 = Volian.Controls.Library\\Volian.Controls.Library.csproj
SccLocalPath3 = .
SccProjectFilePathRelativizedFromConnection3 = Volian.Controls.Library\\
SccProjectUniqueName4 = Volian.CSLA.Library\\Volian.CSLA.Library.csproj
SccLocalPath4 = .
SccProjectFilePathRelativizedFromConnection4 = Volian.CSLA.Library\\
SccProjectUniqueName5 = Volian.Utils.Library\\IniReader\\IniReader.csproj
SccProjectTopLevelParentUniqueName5 = proms.sln
SccLocalPath5 = .
SccProjectFilePathRelativizedFromConnection5 = Volian.Utils.Library\\IniReader\\
SccProjectUniqueName6 = Volian.Utils.Library\\MSWord\\MSWord.csproj
SccProjectTopLevelParentUniqueName6 = proms.sln
SccLocalPath6 = .
SccProjectFilePathRelativizedFromConnection6 = Volian.Utils.Library\\MSWord\\
SccProjectUniqueName7 = Volian.Utils.Library\\vlnObject\\vlnObjectLibrary.csproj
SccProjectTopLevelParentUniqueName7 = proms.sln
SccLocalPath7 = .
SccProjectFilePathRelativizedFromConnection7 = Volian.Utils.Library\\vlnObject\\
SccProjectUniqueName8 = Volian.Utils.Library\\vlnServerLibrary\\vlnServerLibrary.csproj
SccProjectTopLevelParentUniqueName8 = proms.sln
SccLocalPath8 = .
SccProjectFilePathRelativizedFromConnection8 = Volian.Utils.Library\\vlnServerLibrary\\
SccProjectUniqueName9 = Volian.Object.Library\\Volian.Object.Library.csproj
SccLocalPath9 = .
SccProjectFilePathRelativizedFromConnection9 = Volian.Object.Library\\
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8E239A2B-B38C-4CD5-BA0D-A41A88BD2AEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8E239A2B-B38C-4CD5-BA0D-A41A88BD2AEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8E239A2B-B38C-4CD5-BA0D-A41A88BD2AEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8E239A2B-B38C-4CD5-BA0D-A41A88BD2AEE}.Release|Any CPU.Build.0 = Release|Any CPU
{8556527C-6615-487F-8AF7-22EBC3EF0268}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8556527C-6615-487F-8AF7-22EBC3EF0268}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8556527C-6615-487F-8AF7-22EBC3EF0268}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8556527C-6615-487F-8AF7-22EBC3EF0268}.Release|Any CPU.Build.0 = Release|Any CPU
{889E30F7-CFBC-470D-9488-7009C354F9C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{889E30F7-CFBC-470D-9488-7009C354F9C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{889E30F7-CFBC-470D-9488-7009C354F9C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{889E30F7-CFBC-470D-9488-7009C354F9C9}.Release|Any CPU.Build.0 = Release|Any CPU
{2F79D7F9-885E-4441-99F3-045D7612B2E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F79D7F9-885E-4441-99F3-045D7612B2E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2F79D7F9-885E-4441-99F3-045D7612B2E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2F79D7F9-885E-4441-99F3-045D7612B2E5}.Release|Any CPU.Build.0 = Release|Any CPU
{933269F5-C3AD-423E-88EB-133A7333FD6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{933269F5-C3AD-423E-88EB-133A7333FD6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{933269F5-C3AD-423E-88EB-133A7333FD6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{933269F5-C3AD-423E-88EB-133A7333FD6B}.Release|Any CPU.Build.0 = Release|Any CPU
{F9B53DDC-2A2E-4A17-B777-4EC0EE585DE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F9B53DDC-2A2E-4A17-B777-4EC0EE585DE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F9B53DDC-2A2E-4A17-B777-4EC0EE585DE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F9B53DDC-2A2E-4A17-B777-4EC0EE585DE2}.Release|Any CPU.Build.0 = Release|Any CPU
{0D8723B4-51DD-486A-A5E1-8D55BB526690}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D8723B4-51DD-486A-A5E1-8D55BB526690}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D8723B4-51DD-486A-A5E1-8D55BB526690}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D8723B4-51DD-486A-A5E1-8D55BB526690}.Release|Any CPU.Build.0 = Release|Any CPU
{3C162BD7-5DBC-45A6-90D8-9391AC8CD0FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3C162BD7-5DBC-45A6-90D8-9391AC8CD0FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3C162BD7-5DBC-45A6-90D8-9391AC8CD0FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3C162BD7-5DBC-45A6-90D8-9391AC8CD0FD}.Release|Any CPU.Build.0 = Release|Any CPU
{B8BED4CF-D60A-4CC0-B652-CEFA04B774B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B8BED4CF-D60A-4CC0-B652-CEFA04B774B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B8BED4CF-D60A-4CC0-B652-CEFA04B774B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B8BED4CF-D60A-4CC0-B652-CEFA04B774B1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{889E30F7-CFBC-470D-9488-7009C354F9C9} = {5A0EDD18-70A4-4D5E-93CC-39F4D246352A}
{2F79D7F9-885E-4441-99F3-045D7612B2E5} = {5A0EDD18-70A4-4D5E-93CC-39F4D246352A}
{933269F5-C3AD-423E-88EB-133A7333FD6B} = {5A0EDD18-70A4-4D5E-93CC-39F4D246352A}
{F9B53DDC-2A2E-4A17-B777-4EC0EE585DE2} = {5A0EDD18-70A4-4D5E-93CC-39F4D246352A}
EndGlobalSection
EndGlobal
@@ -59,7 +59,7 @@
<WarningLevel>4</WarningLevel>
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
@@ -85,7 +85,6 @@
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
@@ -93,7 +92,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -104,7 +103,7 @@
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -23,8 +23,8 @@ using System.Runtime.CompilerServices;
// Build YYMM (two digit year, two digit month)
// Revision DHH (day - no leading zero, two digit hour - military time
//
[assembly: AssemblyVersion("2.4.2608.2507")]
[assembly: AssemblyFileVersion("2.4.2608.2507")]
[assembly: AssemblyVersion("2.3.2410.907")]
[assembly: AssemblyFileVersion("2.3.2410.907")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
@@ -93,8 +93,6 @@ using System.Runtime.CompilerServices;
@@ -77,7 +77,6 @@ using System.Xml.Schema;
using System.Text;
using ROFields;
using RODBInterface;
using System.Linq;
namespace ROEditor
{
@@ -281,7 +280,6 @@ namespace ROEditor
this.tbXYPlotWid.Size = new System.Drawing.Size(40, 22);
this.tbXYPlotWid.TabIndex = 11;
this.tbXYPlotWid.Text = "";
this.tbXYPlotWid.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBox_KeyDown);
//
// tbTableWid
//
@@ -290,7 +288,6 @@ namespace ROEditor
this.tbTableWid.Size = new System.Drawing.Size(40, 22);
this.tbTableWid.TabIndex = 10;
this.tbTableWid.Text = "";
this.tbTableWid.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBox_KeyDown);
//
// tbVariableTxtWid
//
@@ -299,7 +296,6 @@ namespace ROEditor
this.tbVariableTxtWid.Size = new System.Drawing.Size(40, 22);
this.tbVariableTxtWid.TabIndex = 9;
this.tbVariableTxtWid.Text = "";
this.tbVariableTxtWid.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBox_KeyDown);
//
// tbSingleTxtWid
//
@@ -308,7 +304,6 @@ namespace ROEditor
this.tbSingleTxtWid.Size = new System.Drawing.Size(40, 22);
this.tbSingleTxtWid.TabIndex = 8;
this.tbSingleTxtWid.Text = "";
this.tbSingleTxtWid.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBox_KeyDown);
//
// lblW4
//
@@ -591,18 +586,5 @@ namespace ROEditor
this.Close();
}
private void txtBox_KeyDown(object sender, KeyEventArgs e)
{
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Clipboard.Clear();
}
}
}
}
}
@@ -77,7 +77,6 @@ using System.Xml.Schema;
using System.Text;
using ROFields;
using RODBInterface;
using System.Linq;
namespace ROEditor
{
@@ -317,22 +316,6 @@ namespace ROEditor
}
base.Dispose( disposing );
}
private void txtBox_KeyDown(object sender, KeyEventArgs e)
{
bool symFlg = false;
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Clipboard.Clear();
}
}
}
}
#region Windows Form Designer generated code
/// <summary>
@@ -374,7 +357,6 @@ namespace ROEditor
this.tbFieldName.Size = new System.Drawing.Size(320, 22);
this.tbFieldName.TabIndex = 2;
this.tbFieldName.Text = "";
this.tbFieldName.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBox_KeyDown);
//
// tbWidth
//
@@ -383,7 +365,6 @@ namespace ROEditor
this.tbWidth.Size = new System.Drawing.Size(32, 22);
this.tbWidth.TabIndex = 3;
this.tbWidth.Text = "";
this.tbWidth.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBox_KeyDown);
//
// btnOK
//
@@ -421,7 +402,6 @@ namespace ROEditor
this.tbPattern.TabIndex = 7;
this.tbPattern.Text = "";
this.tbPattern.Visible = false;
this.tbPattern.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBox_KeyDown);
//
// FieldTextFrm
//
@@ -445,4 +425,3 @@ namespace ROEditor
#endregion
}
}
@@ -72,7 +72,6 @@ using System.Xml;
using System.Text;
using RODBInterface;
using ROFields;
using System.Linq;
namespace ROEditor
{
@@ -278,22 +277,6 @@ namespace ROEditor
this.Close();
}
private void txtBox_KeyDown(object sender, KeyEventArgs e)
{
bool symFlg = false;
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Clipboard.Clear();
}
}
}
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
@@ -332,7 +315,6 @@ namespace ROEditor
this.tbFieldName.Size = new System.Drawing.Size(368, 22);
this.tbFieldName.TabIndex = 1;
this.tbFieldName.Text = "";
this.tbFieldName.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBox_KeyDown);
//
// gbFldType
//
@@ -455,4 +437,3 @@ namespace ROEditor
#endregion
}
}
@@ -52,7 +52,6 @@ using System.Xml;
using System.Text;
using ROFields;
using RODBInterface;
using System.Linq;
namespace ROEditor
{
@@ -156,7 +155,6 @@ namespace ROEditor
this.tbGroup.Size = new System.Drawing.Size(248, 22);
this.tbGroup.TabIndex = 8;
this.tbGroup.Text = "";
this.tbGroup.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBox_KeyDown);
//
// lblGroup
//
@@ -423,21 +421,5 @@ namespace ROEditor
GroupDefFrm grdef = new GroupDefFrm(nelem,myrodb,nelem.InnerText,dbtype);
grdef.ShowDialog();
}
private void txtBox_KeyDown(object sender, KeyEventArgs e)
{
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Clipboard.Clear();
}
}
}
}
}
}
@@ -106,7 +106,6 @@ using ROFields;
using RODBInterface;
using VlnStatus;
using System.Collections.Generic;
using System.Linq;
namespace ROEditor
@@ -1312,22 +1311,6 @@ namespace ROEditor
}
}
}
private void txtBox_KeyDown(object sender, KeyEventArgs e)
{
bool symFlg = false;
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Clipboard.Clear();
}
}
}
}
#region Windows Form Designer generated code
/// <summary>
@@ -1392,7 +1375,6 @@ namespace ROEditor
this.tbRetVal.Size = new System.Drawing.Size(464, 22);
this.tbRetVal.TabIndex = 4;
this.tbRetVal.Text = "textBox1";
this.tbRetVal.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBox_KeyDown);
//
// tbMenuVal
//
@@ -1401,7 +1383,6 @@ namespace ROEditor
this.tbMenuVal.Size = new System.Drawing.Size(464, 22);
this.tbMenuVal.TabIndex = 5;
this.tbMenuVal.Text = "textBox1";
this.tbMenuVal.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBox_KeyDown);
//
// lblGroupText
//
@@ -1627,4 +1608,3 @@ namespace ROEditor
#endregion
}
}
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -71,7 +71,7 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
@@ -96,7 +96,6 @@
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
@@ -104,15 +103,11 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevComponents.DotNetBar2, Version=14.1.0.37, Culture=neutral, PublicKeyToken=7eb7c3a35b91de04, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
</Reference>
<Reference Include="System">
<Name>System</Name>
</Reference>
@@ -128,6 +123,10 @@
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
<Reference Include="Volian.Base.Library, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\Volian.Base.Library\bin\Debug\Volian.Base.Library.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AboutROEditor.cs">
@@ -168,7 +167,6 @@
<Compile Include="RO_FST.cs">
<SubType>Code</SubType>
</Compile>
<Content Include="Symbols.xml" />
<EmbeddedResource Include="AboutROEditor.resx">
<SubType>Designer</SubType>
<DependentUpon>AboutROEditor.cs</DependentUpon>
@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACE
CAAAAk1TRnQBSQFMAgEBAgEAAUQBAAFEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CAAAAk1TRnQBSQFMAgEBAgEAASwBAAEsAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -175,7 +175,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAe
CwAAAk1TRnQBSQFMAgEBBgEAAUQBAAFEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CwAAAk1TRnQBSQFMAgEBBgEAASwBAAEsAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -0,0 +1,212 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32901.82
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ROEditor", "ROEditor.csproj", "{3A4A3543-2D44-11D6-8452-00A0CC271352}"
ProjectSection(ProjectDependencies) = postProject
{6D44F537-879E-11D6-84B8-00A0CC271352} = {6D44F537-879E-11D6-84B8-00A0CC271352}
{DECA8343-6351-11D6-8487-00A0CC271352} = {DECA8343-6351-11D6-8487-00A0CC271352}
{0C782592-AA05-11D6-84D1-00A0CC271352} = {0C782592-AA05-11D6-84D1-00A0CC271352}
{551CB7B3-00B1-11D7-8590-482B59000000} = {551CB7B3-00B1-11D7-8590-482B59000000}
{0C7825FD-AA05-11D6-84D1-00A0CC271352} = {0C7825FD-AA05-11D6-84D1-00A0CC271352}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VlnStatus", "..\..\..\LibSource\VlnStatus\VlnStatus.csproj", "{551CB7B3-00B1-11D7-8590-482B59000000}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ROFields", "..\..\..\LibSource\ROField\ROFields.csproj", "{0C782592-AA05-11D6-84D1-00A0CC271352}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DBEncapsulation", "..\..\..\LibSource\DBEncapsulation\DBEncapsulation.csproj", "{6D44F537-879E-11D6-84B8-00A0CC271352}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RODBInterface", "..\..\..\LibSource\RODBInterface\RODBInterface.csproj", "{0C7825FD-AA05-11D6-84D1-00A0CC271352}"
ProjectSection(ProjectDependencies) = postProject
{6D44F537-879E-11D6-84B8-00A0CC271352} = {6D44F537-879E-11D6-84B8-00A0CC271352}
{0C782592-AA05-11D6-84D1-00A0CC271352} = {0C782592-AA05-11D6-84D1-00A0CC271352}
{551CB7B3-00B1-11D7-8590-482B59000000} = {551CB7B3-00B1-11D7-8590-482B59000000}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ctlXMLEditLib", "..\..\..\LibSource\ctlXMLEditLib\ctlXMLEditLib.csproj", "{DECA8343-6351-11D6-8487-00A0CC271352}"
ProjectSection(ProjectDependencies) = postProject
{0C7825FD-AA05-11D6-84D1-00A0CC271352} = {0C7825FD-AA05-11D6-84D1-00A0CC271352}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VlnProfiler", "..\..\..\LibSource\VlnProfiler\VlnProfiler.csproj", "{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ROFST", "..\..\..\LibSource\ROFST\ROFST.csproj", "{134D8938-9CDC-4712-9444-D5DCC6638AB6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Mentalis.Files", "..\..\..\LibSource\Org.Mentalis.Files\Org.Mentalis.Files.csproj", "{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utils", "..\..\..\LibSource\Utils\Utils.csproj", "{680054D3-49C4-40E7-92A5-67B97DCE6308}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Win32.ActiveCfg = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Win32.ActiveCfg = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|x86.Build.0 = Release|x86
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Win32.ActiveCfg = Debug|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|x86.ActiveCfg = Debug|x86
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|x86.Build.0 = Debug|x86
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Any CPU.Build.0 = Release|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Win32.ActiveCfg = Release|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|x86.ActiveCfg = Release|x86
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|x86.Build.0 = Release|x86
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|Win32.ActiveCfg = Debug|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|Win32.ActiveCfg = Release|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|x86.Build.0 = Release|x86
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|Win32.ActiveCfg = Debug|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|Win32.ActiveCfg = Release|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|x86.Build.0 = Release|x86
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Win32.ActiveCfg = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|Win32.ActiveCfg = Release|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|x86.Build.0 = Release|x86
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|Win32.ActiveCfg = Debug|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|Win32.ActiveCfg = Release|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|x86.Build.0 = Release|x86
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|Win32.ActiveCfg = Debug|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|x86.ActiveCfg = Debug|x86
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|x86.Build.0 = Debug|x86
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|Any CPU.Build.0 = Release|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|Win32.ActiveCfg = Release|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|x86.ActiveCfg = Release|x86
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|x86.Build.0 = Release|x86
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|Win32.ActiveCfg = Debug|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|x86.ActiveCfg = Debug|x86
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|x86.Build.0 = Debug|x86
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|Any CPU.Build.0 = Release|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|Win32.ActiveCfg = Release|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|x86.ActiveCfg = Release|x86
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|x86.Build.0 = Release|x86
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|Win32.ActiveCfg = Debug|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|x86.ActiveCfg = Debug|x86
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|x86.Build.0 = Debug|x86
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|Any CPU.Build.0 = Release|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|Win32.ActiveCfg = Release|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|x86.ActiveCfg = Release|x86
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|x86.Build.0 = Release|x86
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|Any CPU.Build.0 = Debug|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|Win32.ActiveCfg = Debug|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|x86.ActiveCfg = Debug|x86
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|x86.Build.0 = Debug|x86
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|Any CPU.ActiveCfg = Release|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|Any CPU.Build.0 = Release|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|Win32.ActiveCfg = Release|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|x86.ActiveCfg = Release|x86
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {4814B42F-2708-4185-8450-20347EB2FDF6}
EndGlobalSection
GlobalSection(SourceCodeControl) = preSolution
SccNumberOfProjects = 5
SccProjectName0 = \u0022$/PROMS/ReferencedObjects/ROEditor\u0022,\u0020XSEAAAAA
SccLocalPath0 = ..\\..\\..
SccProvider0 = MSSCCI:Microsoft\u0020Visual\u0020SourceSafe
SccProjectFilePathRelativizedFromConnection0 = Exe\\RefObj\\ROEditor\\
SccProjectUniqueName1 = ..\\..\\..\\LibSource\\Org.Mentalis.Files\\Org.Mentalis.Files.csproj
SccLocalPath1 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection1 = LibSource\\Org.Mentalis.Files\\
SccProjectUniqueName2 = ..\\..\\..\\LibSource\\ROFST\\ROFST.csproj
SccLocalPath2 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection2 = LibSource\\ROFST\\
SccProjectUniqueName3 = ..\\..\\..\\LibSource\\Utils\\Utils.csproj
SccLocalPath3 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection3 = LibSource\\Utils\\
SccProjectUniqueName4 = ..\\..\\..\\LibSource\\VlnProfiler\\VlnProfiler.csproj
SccLocalPath4 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection4 = LibSource\\VlnProfiler\\
EndGlobalSection
EndGlobal
@@ -101,6 +101,7 @@ using System.Runtime.InteropServices;
using VlnStatus;
using System.Collections.Specialized;
using ROFST_FILE;
using Volian.Base.Library;
//using VlnProfiler; //don't forget to add VlnProfiler to the reference list
@@ -116,12 +117,12 @@ namespace ROEditor
public uint thisoff;
public string title;
public FstTmpSTRC(ushort type, uint offset, string tl)
public FstTmpSTRC(ushort type, uint offset, string tl)
{
thistype = type;
thisoff = offset;
title = tl;
}
}
void WriteString(BinaryWriter bw, string str)
{
@@ -150,7 +151,7 @@ namespace ROEditor
bw.Write(thisoff);
bw.Write(thistype);
WriteString(bw,title);
}
}
}
// The Sorted Array was not sorting via the ASCII value of each character in a given string.
@@ -565,8 +566,8 @@ namespace ROEditor
string RecIdStr = elem.GetAttribute("RecID");
curRecID = System.Convert.ToUInt32(RecIdStr,16);
// Get the current node's parent id
string ParIdStr = elem.GetAttribute("ParentID");
// Get the current node's parent id
string ParIdStr = elem.GetAttribute("ParentID");
elemParentID = Convert.ToUInt32(ParIdStr,16);
string HasKids = elem.GetAttribute("HasChild");
@@ -771,8 +772,8 @@ namespace ROEditor
private ushort SaveROToFST(XmlNode RONode,ArrayList InUseList,string RtnValTmplate, string AccPageIDTplate)
{
ushort RtnVal;
uint startFST = (uint)fhFST.BaseStream.Position;
uint RORecID;
uint startFST = (uint)fhFST.BaseStream.Position;
uint RORecID;
uint ParID;
byte nullbyte=0;
@@ -844,12 +845,8 @@ namespace ROEditor
AccPageID = " ";
WriteString(AccPageID);
//C2026-008 Re-Architect RO.FST to include RO Modification date/time
string moddt = ROdatabase.RODB_GetModDateTime(elem.GetAttribute("RecID"), elem.GetAttribute("Table"));
if (!string.IsNullOrEmpty(moddt)) WriteString(moddt);
// Save the ID and offset entry for the current ID
IdsAndOffsets.Add(RORecID, startFST);
// Save the ID and offset entry for the current ID
IdsAndOffsets.Add(RORecID,startFST);
// Save the RecID and Accessory Page id
IdsAndAccPgIds[AccPageID] = RORecID;
@@ -888,4 +885,3 @@ namespace ROEditor
}
}
@@ -0,0 +1,242 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE;Upgrade2005;</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{3A4A3543-2D44-11D6-8452-00A0CC271352}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>App.ico</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>ROEditor</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>WinExe</OutputType>
<RootNamespace>ROEditor</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>ROEditor.Form1</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<OldToolsVersion>2.0</OldToolsVersion>
<SccProjectName>"%24/PROMS/ReferencedObjects/ROEditor", XSEAAAAA</SccProjectName>
<SccLocalPath>..\..\..</SccLocalPath>
<SccAuxPath />
<SccProvider>MSSCCI:Microsoft Visual SourceSafe</SccProvider>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>true</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>false</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE;Upgrade2005;</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>false</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>true</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\..\..\..\VEPROMS User Interface\bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Drawing">
<Name>System.Drawing</Name>
</Reference>
<Reference Include="System.Windows.Forms">
<Name>System.Windows.Forms</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AboutROEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="AboutROEditor.Designer.cs">
<DependentUpon>AboutROEditor.cs</DependentUpon>
</Compile>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="FieldCombFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FieldTextFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FieldTypeDefFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="GroupDefFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="GroupNewFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="RODefFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ROEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="RO_FST.cs">
<SubType>Code</SubType>
</Compile>
<EmbeddedResource Include="AboutROEditor.resx">
<SubType>Designer</SubType>
<DependentUpon>AboutROEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FieldCombFrm.resx">
<DependentUpon>FieldCombFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="FieldTextFrm.resx">
<DependentUpon>FieldTextFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="FieldTypeDefFrm.resx">
<DependentUpon>FieldTypeDefFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="GroupDefFrm.resx">
<DependentUpon>GroupDefFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="GroupNewFrm.resx">
<DependentUpon>GroupNewFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<SubType>Designer</SubType>
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="RODefFrm.resx">
<DependentUpon>RODefFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ROEditor.ico" />
<EmbeddedResource Include="ROEditor.resx">
<DependentUpon>ROEditor.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<Content Include="App.ico" />
<Content Include="Cert_prt_rgb_70x32.gif" />
<Content Include="Red_V_txt_NB_bur_1984.png" />
<Content Include="ROGROUPYellow.ICO" />
<None Include="app.config" />
<None Include="FixRev.Bat" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\Volian.Base.Library\Volian.Base.Library.csproj">
<Project>{AEEE9FD1-6892-45E2-A67E-418C06D46FF9}</Project>
<Name>Volian.Base.Library</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\ctlXMLEditLib\ctlXMLEditLib.csproj">
<Project>{DECA8343-6351-11D6-8487-00A0CC271352}</Project>
<Name>ctlXMLEditLib</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\DBEncapsulation\DBEncapsulation.csproj">
<Project>{6D44F537-879E-11D6-84B8-00A0CC271352}</Project>
<Name>DBEncapsulation</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\Org.Mentalis.Files\Org.Mentalis.Files.csproj">
<Project>{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}</Project>
<Name>Org.Mentalis.Files</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\RODBInterface\RODBInterface.csproj">
<Project>{0C7825FD-AA05-11D6-84D1-00A0CC271352}</Project>
<Name>RODBInterface</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\ROField\ROFields.csproj">
<Project>{0C782592-AA05-11D6-84D1-00A0CC271352}</Project>
<Name>ROFields</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\ROFST\ROFST.csproj">
<Project>{134D8938-9CDC-4712-9444-D5DCC6638AB6}</Project>
<Name>ROFST</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\VlnStatus\VlnStatus.csproj">
<Project>{551CB7B3-00B1-11D7-8590-482B59000000}</Project>
<Name>VlnStatus</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>cmd /c "$(ProjectDir)FixRev.bat"</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>
@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32901.82
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ROEditor", "ROEditor.csproj", "{3A4A3543-2D44-11D6-8452-00A0CC271352}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7CEE041D-449C-4B54-B381-6845BD8E9B79}
EndGlobalSection
EndGlobal
@@ -62,7 +62,6 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
@@ -87,7 +86,6 @@
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
@@ -95,7 +93,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -106,7 +104,7 @@
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -35,7 +35,6 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -45,14 +44,13 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -61,7 +59,7 @@
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -263,7 +263,6 @@ using System.Collections.Specialized;
using Org.Mentalis.Files;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace RODBInterface
@@ -322,9 +321,9 @@ namespace RODBInterface
get { return _PCChildList; }
set { _PCChildList = value; }
}
#endregion
#region abstracts // need these for each method that must be defined for each database type
public abstract string RODB_GetNextGroupTable();
#endregion
#region abstracts // need these for each method that must be defined for each database type
public abstract string RODB_GetNextGroupTable();
public abstract string RODB_GetNextRecId(string table);
public abstract bool RODB_GetRootGroups(VlnXmlElement root);
public abstract bool RODB_DeleteGroup(XmlNode group, string tbname, string toprecid);
@@ -355,10 +354,9 @@ namespace RODBInterface
public abstract string RODB_GetDBServerForAbout();
public abstract string RODB_HasBeenConverted();
public abstract bool RODB_WriteSqlConnectToAccess(string newConectStr);
public abstract string RODB_GetModDateTime(string Recid, string table);
#endregion
#endregion
public RODB()
public RODB()
{
}
@@ -411,7 +409,7 @@ namespace RODBInterface
GetDbServerInfo(ropath);
if (!dbProviderType.Equals((int)DB_PROVIDER.SQL_SERVER))
{
strDatabaseConnectionCommand = "Provider=Microsoft.ACE.OLEDB.12.0;Password=\"\";User ID=Admin;Data Source=" + DataConnectionPath + "\\ROMaster.mdb;Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
strDatabaseConnectionCommand = "Provider=Microsoft.Jet.OLEDB.4.0;Password=\"\";User ID=Admin;Data Source=" + DataConnectionPath + "\\ROMaster.mdb;Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
}
}
#endregion
@@ -1911,8 +1909,6 @@ namespace RODBInterface
string Info = DBE.GetString(3);
//B2022-043 &pos; was missing the ;
Info = Info.Replace("&apos;", "\'"); // B2021-071: crash when getting/saving field names
Info = Regex.Replace(Info, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // RO Editor add symbols C2022 - 003
node.SetAttribute("HasChild", "True");
// Store data in the VlnXmlElement as a subgroup
@@ -2143,20 +2139,7 @@ namespace RODBInterface
wraccid = accid;
string dt = string.Format("{0:yyyyMMddHHmmss}", System.DateTime.Now);
string xmlstr = GenerateXmlString(ro, false);
StringBuilder xmlstrTmp = new StringBuilder(); // B2026-025 prep the info field data so it will be saved correctly.
char[] chrAry = xmlstr.ToCharArray();
foreach (int chr in chrAry)
{
if (chr > 166)
{
xmlstrTmp.Append($"\\u{(int)chr}?");
}
else
{
xmlstrTmp.Append((char)chr);
}
}
string strUpdate = "UPDATE " + ro.GetAttribute("Table") + " SET Info = '" + xmlstrTmp.ToString() + "'";
string strUpdate = "UPDATE " + ro.GetAttribute("Table") + " SET Info = '" + xmlstr + "'";
if (movedRO)
{
VlnXmlElement parent = (VlnXmlElement)ro.ParentNode;
@@ -2199,27 +2182,10 @@ namespace RODBInterface
parent.SetAttribute("ChildLoaded", "True");
}
string xmlstr = GenerateXmlString(ro, false);
StringBuilder xmlstrTmp = new StringBuilder(); // B2026-025 prep the info field data so it will be saved correctly.
char[] chrAry = xmlstr.ToCharArray();
foreach (int chr in chrAry)
{
if (chr > 166)
{
xmlstrTmp.Append($"\\u{(int)chr}?");
}
else
{
xmlstrTmp.Append((char)chr);
}
}
string wraccid = null;
if (ro.HasAttribute("AccPageID"))
{
string accid = ro.GetAttribute("AccPageID");
int quote = accid.IndexOf("'");
if (quote >= 0)
wraccid = accid.Insert(quote, "'");
@@ -2237,13 +2203,13 @@ namespace RODBInterface
// strInsert = "INSERT INTO " + parent.GetAttribute("Table") + "( RecID, RecType, ParentID, AccPageID, ModDateTime, Info ) ";
strInsert = "INSERT INTO " + parent.GetAttribute("Table") + "( RecID, RecType, ParentID, ModDateTime, AccPageID, Info ) ";
strInsert = strInsert + " VALUES ('" + ro.GetAttribute("RecID") + "'," + (uint)RecordType.Group + ",'" + ro.GetAttribute("ParentID");
strInsert = strInsert + "','" + wraccid + "','" + dt + "','" + xmlstrTmp.ToString() + "');";
strInsert = strInsert + "','" + wraccid + "','" + dt + "','" + xmlstr + "');";
}
else
{
strInsert = "INSERT INTO " + parent.GetAttribute("Table") + "( RecID, RecType, ParentID, ModDateTime, Info ) ";
strInsert = strInsert + " VALUES ('" + ro.GetAttribute("RecID") + "'," + (uint)RecordType.Group + ",'" + ro.GetAttribute("ParentID");
strInsert = strInsert + "','" + dt + "','" + xmlstrTmp.ToString() + "');";
strInsert = strInsert + "','" + dt + "','" + xmlstr + "');";
}
}
@@ -2251,7 +2217,7 @@ namespace RODBInterface
{
strInsert = "INSERT INTO " + parent.GetAttribute("Table") + "( RecID, RecType, ParentID, AccPageId, ModDateTime, Info ) ";
strInsert = strInsert + " VALUES ('" + ro.GetAttribute("RecID") + "'," + (uint)RecordType.RRO + ",'" + ro.GetAttribute("ParentID");
strInsert = strInsert + "','" + wraccid + "','" + dt + "','" + xmlstrTmp.ToString() + "');";
strInsert = strInsert + "','" + wraccid + "','" + dt + "','" + xmlstr + "');";
}
try
@@ -2285,7 +2251,7 @@ namespace RODBInterface
// select all of the field definition records in this table.
// strGetFields = "SELECT RecID, Info from " + elem.GetAttribute("Table");
strGetFields = "SELECT RecID, Info from " + TableName;
strGetFields = strGetFields + " where RecType = 2";
strGetFields = strGetFields + " where RecType = 2"; // + rtype.ToString();
DBE.Command(strGetFields);
DBE.Reader();
@@ -2383,9 +2349,9 @@ namespace RODBInterface
RecID = DBE.GetString(0);
MyRecID = RecID;
Info = DBE.GetString(1);
// it's defined in the local table if the first character is "<" which starts
// the schema definition string.
if ("<" == Info.Substring(0, 1))
// it's defined in the local table if the first character is "<" which starts
// the schema definition string.
if ("<" == Info.Substring(0, 1))
{
name = ParseEleName(Info);
if (name != null)
@@ -2426,7 +2392,7 @@ namespace RODBInterface
return retlist;
}
public override string RODB_GetSchemaPiece(string Recid, string table)
public override string RODB_GetSchemaPiece(string Recid, string table)
{
string strGetSchemaPiece;
string Info;
@@ -2659,21 +2625,7 @@ namespace RODBInterface
}
}
StatMsgWindow.StatusMessage = echild.GetAttribute("MenuTitle");
StringBuilder tinfo2Tmp = new StringBuilder(); // B2026-025 prep the info field data so it will be saved correctly.
str = "UPDATE " + echild.GetAttribute("Table") + " SET Info = '" + tinfo2 + "'";
char[] chrAry = tinfo2.ToCharArray();
foreach (int chr in chrAry)
{
if (chr > 166)
{
tinfo2Tmp.Append($"\\u{(int)chr}?");
}
else
{
tinfo2Tmp.Append((char)chr);
}
}
str = "UPDATE " + echild.GetAttribute("Table") + " SET Info = '" + tinfo2Tmp.ToString() + "'";
str = str + ", ModDateTime = '" + dt + "' WHERE RecID = '" + echild.GetAttribute("RecID") + "';";
DBE.Command(str);
DBE.Reader();
@@ -3083,28 +3035,7 @@ namespace RODBInterface
return GrpCnt;
}
//C2026-008 Re-Architect RO.FST to include RO Modification date/time
//Get the Modification Date / Time for the RO
public override string RODB_GetModDateTime(string Recid, string table)
{
using (System.Data.OleDb.OleDbConnection connection = new System.Data.OleDb.OleDbConnection(strDatabaseConnectionCommand))
{
connection.Open();
using (System.Data.OleDb.OleDbCommand command = connection.CreateCommand())
{
//Unfortunately Access wont let you paramaterize the table name
command.CommandText = $"SELECT ModDateTime FROM {Regex.Replace(table, "[^a-zA-Z0-9]", "")} WHERE RecID = @Value";
command.Parameters.Add(new System.Data.OleDb.OleDbParameter
{
OleDbType = System.Data.OleDb.OleDbType.VarChar,
ParameterName = "@Value",
Value = Recid
});
return command.ExecuteScalar().ToString();
}
}
}
}
}
}
@@ -62,7 +62,6 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
@@ -87,7 +86,6 @@
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
@@ -95,7 +93,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -106,7 +104,7 @@
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -173,17 +171,6 @@
<Name>VlnStatus</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<COMReference Include="Microsoft.Office.Interop.Access.Dao">
<Guid>{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}</Guid>
<VersionMajor>12</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32901.82
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RODBInterface", "RODBInterface.csproj", "{0C7825FD-AA05-11D6-84D1-00A0CC271352}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {59F24713-865F-46BB-907B-46D78C3F7DA4}
EndGlobalSection
EndGlobal
@@ -1803,9 +1803,9 @@ namespace RODBInterface
RecID = reader.GetString(0);
MyRecID = RecID;
Info = reader.GetString(1);
// it's defined in the local table if the first character is "<" which starts
// the schema definition string.
if ("<" == Info.Substring(0, 1))
// it's defined in the local table if the first character is "<" which starts
// the schema definition string.
if ("<" == Info.Substring(0, 1))
{
name = ParseEleName(Info);
if (name != null)
@@ -1859,9 +1859,9 @@ namespace RODBInterface
RecID = reader.GetString(0);
MyRecID = RecID;
Info = reader.GetString(1);
// it's defined in the local table if the first character is "<" which starts
// the schema definition string.
if ("<" == Info.Substring(0, 1))
// it's defined in the local table if the first character is "<" which starts
// the schema definition string.
if ("<" == Info.Substring(0, 1))
{
name = ParseEleName(Info);
if (name != null)
@@ -2653,36 +2653,8 @@ namespace RODBInterface
}
return GrpCnt;
}
//C2026-008 Re-Architect RO.FST to include RO Modification date/time
//Get the Modification Date / Time for the RO
public override string RODB_GetModDateTime(string Recid, string table)
{
using (SqlConnection connection = new SqlConnection(strDatabaseConnectionCommand))
{
connection.Open();
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = $"SELECT ModDateTime FROM ROALL WHERE RecID = @Value AND ROTable = @table";
command.Parameters.Add(new SqlParameter
{
SqlDbType = SqlDbType.VarChar,
ParameterName = "@Value",
Value = Recid
});
command.Parameters.Add(new SqlParameter
{
SqlDbType = SqlDbType.VarChar,
ParameterName = "@table",
Value = table
});
return command.ExecuteScalar().ToString();
}
}
}
#endregion
public static bool TestConnect(string constring)
#endregion
public static bool TestConnect(string constring)
{
bool success = false;
using (SqlConnection connection = new SqlConnection(constring))
@@ -96,7 +96,6 @@ using System.IO;
using System.Windows.Forms;
using ROFields;
using VlnStatus;
using System.Text.RegularExpressions;
//using VlnProfiler; //don't forget to add VlnProfiler to the reference list
namespace RODBInterface
@@ -518,8 +517,7 @@ namespace RODBInterface
strtmp.Append(" ");
cnt++;
}
text = Regex.Replace(text, @"\\u([0-9]{1,4})\?", m => int.TryParse(m?.Groups[1]?.Value, out int result) ? Convert.ToChar(result).ToString() : ""); //B2026-025 Unicode removed from RO menu titles in treeview.
if ((cnt + text.Length) > frmt2) // longer than the field length?
if ((cnt + text.Length) > frmt2) // longer than the field length?
strtmp.Append(text.Substring(0,frmt2-cnt));
else
strtmp.Append(text);
@@ -62,7 +62,6 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
@@ -87,7 +86,6 @@
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
@@ -95,7 +93,7 @@
<DefineConstants>DEBUG;TRACE;Upgrade2005;</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -106,7 +104,7 @@
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -62,7 +62,6 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
@@ -87,7 +86,6 @@
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
@@ -95,7 +93,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -106,7 +104,7 @@
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -77,7 +77,6 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
@@ -102,7 +101,6 @@
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
@@ -110,7 +108,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -121,7 +119,7 @@
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -7,7 +7,7 @@
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -73,7 +73,6 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
@@ -98,7 +97,6 @@
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
@@ -106,7 +104,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -62,7 +62,6 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
@@ -87,7 +86,6 @@
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
@@ -95,7 +93,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -106,7 +104,7 @@
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -39,7 +39,7 @@ namespace ctlXMLEditLib
{
private System.Windows.Forms.Button btnSave;
private System.Windows.Forms.Button btnCancel;
private ctlXMLEditLib.roRichTextBox tbZoom; // RO Editor add symbols C2022 - 003
private System.Windows.Forms.TextBox tbZoom;
/// <summary>
/// Required designer variable.
/// </summary>
@@ -88,7 +88,7 @@ namespace ctlXMLEditLib
/// </summary>
private void InitializeComponent()
{
this.tbZoom = new ctlXMLEditLib.roRichTextBox(); // RO Editor add symbols C2022 - 003
this.tbZoom = new System.Windows.Forms.TextBox();
this.btnSave = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.SuspendLayout();
@@ -99,7 +99,7 @@ namespace ctlXMLEditLib
this.tbZoom.Location = new System.Drawing.Point(24, 16);
this.tbZoom.Multiline = true;
this.tbZoom.Name = "tbZoom";
this.tbZoom.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical; // RO Editor add symbols C2022 - 003
this.tbZoom.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.tbZoom.Size = new System.Drawing.Size(576, 392);
this.tbZoom.TabIndex = 0;
//
@@ -149,4 +149,3 @@ namespace ctlXMLEditLib
}
}
@@ -200,11 +200,7 @@ using System.Xml.Schema;
using System.Text;
using RODBInterface;
using Org.Mentalis.Files;
using System.Windows;
using System.Text.RegularExpressions;
using System.Linq;
using Volian.Base.Library;
//using IniFileIO;
@@ -225,7 +221,6 @@ namespace ctlXMLEditLib
///
///
/// </summary>
public class ctlXMLEdit : System.Windows.Forms.UserControl
{
/// <summary>
@@ -242,12 +237,12 @@ namespace ctlXMLEditLib
private bool dosaveflag;
private VlnXmlElement editelem;
private XmlDocument editdoc;
private roRichTextBox zoomtextbox;
private TextBox zoomtextbox;
// the following is used for handling images. Note that if we want to have more
// than one image defined in an ro, this should be become a list.
private roRichTextBox GraphicsFiletextbox;
private roRichTextBox GraphicsWdtextbox;
private roRichTextBox GraphicsHttextbox;
private TextBox GraphicsFiletextbox;
private TextBox GraphicsWdtextbox;
private TextBox GraphicsHttextbox;
private System.Windows.Forms.Button btnFindFile;
private string GraphicsText;
private ToolTip zmtooltip;
@@ -270,19 +265,6 @@ namespace ctlXMLEditLib
private GroupBox pcGrpBox = null;
/** end C2021-026 **/
public string _RO_IDEN;
public string RO_IDEN
{
get
{
return _RO_IDEN;
}
set
{
_RO_IDEN = value;
}
}
// use this struct to define attributes for the text box fields, storing
// the pattern, radio button association, required field flag, etc.
struct TextBoxAttrTag
@@ -329,19 +311,10 @@ namespace ctlXMLEditLib
public string GetParentHTId { get { return parenthtid; } }
public void SetParentHTId(string id) { this.parenthtid = id; }
}
private roRichTextBox _TextBoxFocus; // RO Editor add symbols C2022 - 003
public roRichTextBox TextBoxFocus
{
get { return _TextBoxFocus; }
set
{
_TextBoxFocus = value;
}
}
public ctlXMLEdit(VlnXmlElement myelem, XmlSchema myschema, ArrayList reqfields, ArrayList fldsWithApplic, string [] pckids)
{
// This call is required by the Windows.Forms Form Designer.
InitializeComponent();
FieldsWithApplic = fldsWithApplic;
PCChildren = pckids; //C2021-026 list of Parent/Child children
@@ -386,12 +359,11 @@ namespace ctlXMLEditLib
// Set required fields based on list. (can add message later).
SetRequiredFields(reqfields);
dosaveflag=true;
RO_IDEN = myelem.GetAccPageIDTemplate();
}
// set the required fields tag on those fields which are included in the passed
// in required fields list.
private void DoSet(roRichTextBox hwnd, string msg) // RO Editor add symbols C2022 - 003
private void DoSet(TextBox hwnd, string msg)
{
if (hwnd == null) return;
if (hwnd.Tag != null)
@@ -406,7 +378,7 @@ namespace ctlXMLEditLib
private void SetRequiredFields(ArrayList reqfields)
{
Object o;
roRichTextBox hwnd;
TextBox hwnd;
string field, msg;
int indx;
foreach (string strfld in reqfields)
@@ -425,15 +397,15 @@ namespace ctlXMLEditLib
o = myHT[field+"a"];
if (o != null) // set all combo types required, the checker
{
DoSet((roRichTextBox)o,msg);
DoSet((roRichTextBox)myHT[field+"b"],msg);
DoSet((roRichTextBox)myHT[field+"c"],msg);
DoSet((roRichTextBox)myHT[field+"d"],msg);
DoSet((TextBox)o,msg);
DoSet((TextBox)myHT[field+"b"],msg);
DoSet((TextBox)myHT[field+"c"],msg);
DoSet((TextBox)myHT[field+"d"],msg);
}
}
else if (o != null)
{
hwnd = (roRichTextBox) o;
hwnd = (TextBox) o;
if (hwnd.Tag != null)
{
TextBoxAttrTag tag = (TextBoxAttrTag) hwnd.Tag;
@@ -447,7 +419,7 @@ namespace ctlXMLEditLib
// C2021-026 If this is a Parent/Child field that has no value saved in the database
// then use the parent's value and display it as grey colored text.
private void GetDefaultParentValue(roRichTextBox tb, XmlNode node, string chldName)
private void GetDefaultParentValue(TextBox tb, XmlNode node, string chldName)
{
XmlNode parentNode = null;
// PCChildren contains a list strings reprenting the Children setup in the current Working Draft Parent/Child property
@@ -491,23 +463,21 @@ namespace ctlXMLEditLib
private void DisplayFieldContents(XmlNode node)
{
Object o;
roRichTextBox hwnd;
TextBox hwnd;
XmlNode nd;
// if we have an image, check it for validity, i.e. file exists, etc.??
foreach (string str in myHT.Keys)
{
o = myHT[str];
hwnd = (roRichTextBox) o;
hwnd = (TextBox) o;
nd = node.SelectSingleNode(str);
// if not found with just the string, search the tree.
if (nd==null)nd = node.SelectSingleNode("*/"+str);
if (nd == null || nd.InnerText.Length==0) // B2024-004 use Parent value if Child text length is zero
GetDefaultParentValue(hwnd, node, str); // C2021-026 Parent/Child Field has no value so use parent's value
else
{
hwnd.Text = Regex.Replace(nd.InnerText, @"\\u([0-9]{1,4})\?", m => Convert.ToChar(int.Parse(m.Groups[1].Value)).ToString()); // set the field's text from XML
Size size = hwnd.Size;
{
hwnd.Text = nd.InnerText; // set the field's text from XML
// check if this window has a button name as part of its tag. If
// so it's a combo type & the radio button/visibility may need to
@@ -576,7 +546,7 @@ namespace ctlXMLEditLib
// height/width data of the image.
if (GraphicsFiletextbox != null && GraphicsFiletextbox.Text != "") UpdateHtWd();
}
public roRichTextBox GetGraphicsFiletextbox()
public TextBox GetGraphicsFiletextbox()
{
return GraphicsFiletextbox;
}
@@ -615,13 +585,13 @@ namespace ctlXMLEditLib
{
dosaveflag=false;
mysavexml=false;
roRichTextBox hwnd;
TextBox hwnd;
// first, clear out all of the text boxes.
foreach (string str in myHT.Keys)
{
object o = myHT[str];
hwnd = (roRichTextBox) o;
hwnd = (TextBox) o;
hwnd.Text = "";
TextBoxAttrTag tag = (TextBoxAttrTag) hwnd.Tag;
RadioButton radio;
@@ -653,7 +623,7 @@ namespace ctlXMLEditLib
// to the parent's value, then clear the child's textbox so that nothing is saved
// to the database. This allow us to know that a specific value was not set
// for this Parent/Child child
private void RemovePCChildTextIfSameAsParent(XmlNode node, roRichTextBox tb, string chldName)
private void RemovePCChildTextIfSameAsParent(XmlNode node, TextBox tb, string chldName)
{
XmlNode parentNode = null;
// if this is a child node get the parent's value
@@ -690,35 +660,18 @@ namespace ctlXMLEditLib
// true if success, false if fail.
// Note that the Parent and Child XML node variables below are not coding for Parent/Child Applicabily Fields
public bool SaveData()
{
if (mysavexml)
{
roRichTextBox hwnd;
TextBox hwnd;
TextBoxAttrTag tag;
string imgdate;
//go thru the hash table to get textboxes. Find the ones that have text.
foreach (string str in myHT.Keys) // RO Editor add symbols C2022 - 003
foreach (string str in myHT.Keys)
{
object o = myHT[str];
hwnd = (roRichTextBox) o;
StringBuilder result1 = new StringBuilder();
char[] chrAry = hwnd.Text.ToCharArray();
foreach (int chr in chrAry)
{
if (chr > 166)
{
result1.Append($"\\u{(int)chr}?");
}
else
{
result1.Append((char)chr);
}
}
hwnd.Text = result1.ToString();
hwnd = (TextBox) o;
imgdate = null;
// if this is a required field and there is no text, put out an error
// message and get out of here.
@@ -835,7 +788,6 @@ namespace ctlXMLEditLib
return (false);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
@@ -906,7 +858,7 @@ namespace ctlXMLEditLib
// 'normalizedString') or a multiline text box(type is 'string'). Also, a radio
// button is passed in if this was called to handle an element within a combo type.
// This button is saved for a given text box so that initialization of these combo types can occur.
private string DisplayXmlSchemaSimpleType(XmlSchemaSimpleType simpleType, roRichTextBox mytextbox, RadioButton radio,
private string DisplayXmlSchemaSimpleType(XmlSchemaSimpleType simpleType, TextBox mytextbox, RadioButton radio,
bool img, string imgname)
{
// set up for text box tag, which stores whether field is required and
@@ -936,17 +888,12 @@ namespace ctlXMLEditLib
if (getannot.IndexOf("Lines")>=0)
{
GraphicsHttextbox = mytextbox;
Size size = GraphicsHttextbox.Size;
mytextbox.LostFocus += new System.EventHandler(this.GraphicsHt_lostfocus);
}
if (getannot.IndexOf("Character")>=0)
{
GraphicsWdtextbox = mytextbox;
mytextbox.LostFocus += new System.EventHandler(this.GraphicsWd_lostfocus);
}
}
}
@@ -957,17 +904,14 @@ namespace ctlXMLEditLib
{
// A Schema Type Restriction is used to define single or multi-line boxes.
XmlSchemaSimpleTypeRestriction myRestrictions = (XmlSchemaSimpleTypeRestriction) simpleType.Content;
if (myRestrictions.BaseTypeName.Name == "normalizedString")
{
if (myRestrictions.BaseTypeName.Name == "normalizedString")
mytextbox.Multiline = false;
mytextbox.Size = new Size(300, 40);
}
else
{
mytextbox.Multiline = true;
mytextbox.AcceptsTab = true;
mytextbox.AcceptsReturn = true;
mytextbox.Height = (int) mytextbox.Font.GetHeight() * 4;
mytextbox.ScrollBars = RichTextBoxScrollBars.Vertical;
mytextbox.ScrollBars = ScrollBars.Vertical;
zmtooltip.SetToolTip(mytextbox, "Press Shift F2 To Zoom");
}
@@ -1048,8 +992,7 @@ namespace ctlXMLEditLib
radio.CheckedChanged += new System.EventHandler(this.radiocheckchg);
gbox.Controls.Add(radio);
roRichTextBox tb = new roRichTextBox();
Size size3 = tb.Size;
TextBox tb = new TextBox();
tb.Location = new Point(boxx+20, y+25);
if (!first) tb.Visible = false;
myHT.Add(element.Name,tb);
@@ -1058,7 +1001,7 @@ namespace ctlXMLEditLib
// the groupbox.
Controls.Add(tb);
tb.TextChanged += new System.EventHandler(this.textbox_change);
tb.GotFocus += new System.EventHandler(this.currentTextBox);
tb.GotFocus += new System.EventHandler(this.textbox_zoombtn);
tb.KeyDown += new KeyEventHandler(MyOnKeyDown);
gbox.Contains(tb);
// the following will set attributes on the text boxes such as maxlength, multiline, etc.
@@ -1201,9 +1144,8 @@ namespace ctlXMLEditLib
}
else
{
roRichTextBox mytextbox;
mytextbox = new roRichTextBox();
Size size3 = mytextbox.Size;
TextBox mytextbox;
mytextbox = new TextBox();
mytextbox.Location = new Point(screenx+indent, screeny);
string tFieldName = (pcChildIdx == 0) ? CvtUserFldToFld(element.Name) : CvtUserFldToFld(pcChildFldName);
mytextbox.Name = tFieldName;
@@ -1213,7 +1155,7 @@ namespace ctlXMLEditLib
screeny = screeny + 10;
mytextbox.TextChanged += new System.EventHandler(this.textbox_change);
mytextbox.Validating += new System.ComponentModel.CancelEventHandler(this.textbox_Validating);
mytextbox.GotFocus += new System.EventHandler(this.currentTextBox);
mytextbox.GotFocus += new System.EventHandler(this.textbox_zoombtn);
mytextbox.KeyDown += new KeyEventHandler(MyOnKeyDown);
if (pcChildIdx > 0)
{
@@ -1250,18 +1192,9 @@ namespace ctlXMLEditLib
// the following is needed to load the control.
private void ctlXMLEdit_Load(object sender, System.EventArgs e)
{
}
public delegate void ctlXMLEditEvent(object sender, ctlXMLEditEventArgs args); // RO Editor add symbols C2022 - 003 for turning off symbols btn for RO ID field.
public event ctlXMLEditEvent EnableDisableSymbolsBtn;
private void OnEnableDisableSymbolsBtn(ctlXMLEditEventArgs args)
{
if (EnableDisableSymbolsBtn != null)
EnableDisableSymbolsBtn(this, args);
}
// when data in a text box has changed, flag it (except for when this
// happens during loading of original data). This flag will be used
// later to know whether to save data.
@@ -1277,7 +1210,7 @@ namespace ctlXMLEditLib
// When leaving the textbox
private void txtBox_Leave(object sender, EventArgs e)
{
roRichTextBox tb = sender as roRichTextBox;
TextBox tb = sender as TextBox;
string dfTxt = "";
try
{
@@ -1286,7 +1219,7 @@ namespace ctlXMLEditLib
{
object o = myHT[parentid];
if (o != null)
dfTxt = (o as roRichTextBox).Text; // set to use the parent's value (default)
dfTxt = (o as TextBox).Text; // set to use the parent's value (default)
}
else
{
@@ -1294,7 +1227,7 @@ namespace ctlXMLEditLib
string parName = pcGrpBox.Name.Substring(5);
object o = myHT[parName];
if (o != null)
dfTxt = (o as roRichTextBox).Text; // set to use the parent's value (default)
dfTxt = (o as TextBox).Text; // set to use the parent's value (default)
}
}
catch
@@ -1302,7 +1235,7 @@ namespace ctlXMLEditLib
string parName = pcGrpBox.Name.Substring(5);
object o = myHT[parName];
if (o != null)
dfTxt = (o as roRichTextBox).Text; // set to use the parent's value (default)
dfTxt = (o as TextBox).Text; // set to use the parent's value (default)
}
if (dosaveflag) mysavexml = true;
@@ -1318,7 +1251,7 @@ namespace ctlXMLEditLib
// so clear the textbox so that user can enter the value for that child
private void txtBox_Enter(object sender, EventArgs e)
{
roRichTextBox tb = sender as roRichTextBox;
TextBox tb = sender as TextBox;
if (tb.ForeColor == SystemColors.GrayText) // currently no value set - using parent's value
{
tb.Text = "";
@@ -1331,7 +1264,7 @@ namespace ctlXMLEditLib
private void radiocheckchg(object sender, System.EventArgs e)
{
RadioButton btnsel = (RadioButton) sender;
roRichTextBox assocbox;
TextBox assocbox;
string btntext, str;
if(dosaveflag)mysavexml = true;
@@ -1344,7 +1277,7 @@ namespace ctlXMLEditLib
str = btnsel.Name.Replace(btntext,"");
object o = myHT[str];
if (o == null) return;
assocbox = (roRichTextBox) o;
assocbox = (TextBox) o;
// make the text box visible if checked, otherwise, invisible
assocbox.Visible = btnsel.Checked;
// C2021-026 show or hide the Parent/Child appicability group box
@@ -1366,7 +1299,7 @@ namespace ctlXMLEditLib
c.Visible = vsblState; // show or hide the lable inside the group box
object oo = myHT[c.Name];
if (oo != null)
(oo as roRichTextBox).Visible = vsblState; // show or hide the associated text box
(oo as TextBox).Visible = vsblState; // show or hide the associated text box
}
}
}
@@ -1458,7 +1391,7 @@ namespace ctlXMLEditLib
// The following can be used to validate the text, i.e. check the text against
// the pattern. this needs written yet (5/16/02)
private void MyValidatingCode(roRichTextBox tb)
private void MyValidatingCode(TextBox tb)
{
//get the text box's tag which contains a flag for whether this is required &
//if it has a pattern. If it has a pattern, validate the field against the pattern.
@@ -1487,33 +1420,20 @@ namespace ctlXMLEditLib
}
// save which box we're on, for zoom processing.
private void currentTextBox(object sender, System.EventArgs e)
private void textbox_zoombtn(object sender, System.EventArgs e)
{
roRichTextBox textbox = (roRichTextBox) sender;
TextBox textbox = (TextBox) sender;
if (textbox.Multiline == true || textbox == GraphicsFiletextbox)
zoomtextbox = textbox;
else
zoomtextbox = null;
TextBoxFocus = textbox;
string RO_IDENDITY = RO_IDEN.Substring(1, RO_IDEN.Length - 2); // RO Editor add symbols C2022 - 003 for turning off symbols btn for RO ID.
if (textbox.Name == RO_IDENDITY)
{
OnEnableDisableSymbolsBtn(new ctlXMLEditEventArgs(DisplaySymBolBtn:false));
}
else
{
OnEnableDisableSymbolsBtn(new ctlXMLEditEventArgs(DisplaySymBolBtn:true));
}
}
private void textbox_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
try
{
MyValidatingCode((roRichTextBox) sender);
MyValidatingCode((TextBox) sender);
}
catch(Exception ex)
@@ -1539,18 +1459,11 @@ namespace ctlXMLEditLib
}
btnZoom_click(null, null);
}
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
if (((kea.Modifiers & Keys.ControlKey) == Keys.ControlKey) && kea.KeyCode == Keys.V)
{
roRichTextBox o = (roRichTextBox)objSender;
o.rchtxtBox_KeyDown(objSender, RO_IDEN);
}
}
}
public void btnZoom_click(object sender, System.EventArgs e)
{
//TextBox tb = (TextBox) sender;
TextBoxAttrTag tag;
bool doimage = false;
if (zoomtextbox.Tag != null)
@@ -1594,7 +1507,7 @@ namespace ctlXMLEditLib
// file local & keep width/height of file proportional.
private void GraphicText_lostfocus(object sender, System.EventArgs e)
{
roRichTextBox fnamebox = (roRichTextBox) sender;
TextBox fnamebox = (TextBox) sender;
if (fnamebox.Text != "" && fnamebox.Modified == true)
{
FileInfo ifi = new FileInfo(fnamebox.Text);
@@ -1803,7 +1716,7 @@ namespace ctlXMLEditLib
// if changed height, calculate associated width
private void GraphicsHt_lostfocus(object sender, System.EventArgs e)
{
roRichTextBox ht = (roRichTextBox) sender;
TextBox ht = (TextBox) sender;
if (ht.Modified == true)
{
try
@@ -1820,7 +1733,7 @@ namespace ctlXMLEditLib
// if changed width, calculate associated height
private void GraphicsWd_lostfocus(object sender, System.EventArgs e)
{
roRichTextBox wd = (roRichTextBox) sender;
TextBox wd = (TextBox) sender;
if (wd.Modified == true)
{
try
@@ -1975,7 +1888,7 @@ namespace ctlXMLEditLib
* and overload a couple of it's functions in order to use it.
* - called in CalculatePromsDate() above.
*/
public class ThisTimeZone : TimeZone
public class ThisTimeZone : TimeZone
{
private TimeZone curTZ;
public TimeSpan SpanTZ;
@@ -2016,31 +1929,5 @@ namespace ctlXMLEditLib
return curTZ.GetDaylightChanges(year);
}
}
public class ctlXMLEditEventArgs : EventArgs // RO Editor add symbols C2022 - 003 for turning off symbols btn for RO ID.
{
public ctlXMLEditEventArgs() {; }
public ctlXMLEditEventArgs(bool DisplaySymBolBtn)
{
_DisplaySymBolBtn = DisplaySymBolBtn;
}
private bool _DisplaySymBolBtn;
public bool DisplaySymBolBtn
{
get { return _DisplaySymBolBtn; }
set { _DisplaySymBolBtn = value; }
}
}
public enum E_FontStyle : byte
{
FS_NONE = 0,
FS_BOLD = 0x01,
FS_UNDERLINE = 0x02,
FS_ITALIC = 0x04,
FS_SUPERSCRIPT = 0x08,
FS_SUBSCRIPT = 0x10
}
}
@@ -62,7 +62,6 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
@@ -87,7 +86,6 @@
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
@@ -95,7 +93,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -106,7 +104,7 @@
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
@@ -126,9 +124,6 @@
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
<Reference Include="Volian.Base.Library">
<HintPath>..\..\..\Volian.Base.Library\bin\Debug\Volian.Base.Library.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs">
@@ -140,12 +135,6 @@
<Compile Include="ImageDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="roRichTextBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="roRichTextBox.Designer.cs">
<DependentUpon>roRichTextBox.cs</DependentUpon>
</Compile>
<Compile Include="ZoomDialog.cs">
<SubType>Form</SubType>
</Compile>
@@ -1,100 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Volian.Base.Library;
namespace ctlXMLEditLib
{
public partial class roRichTextBox : RichTextBox // C2022-003 Symbols in RO Editor. Customized RichTextBox for RO Editor.
{
public roRichTextBox()
{
InitializeComponent();
}
private string _RtfPrefix; // contains Font table and styles (bold/underline/italics) for rtb from step style
public string RtfPrefixForSymbols
{
get
{
//B2020-100 RHM Use SelectionFont rather than the font from the format file.
StringBuilder selectedRtfSB = new StringBuilder();
AddFontTable(selectedRtfSB, FormatFont, true);
_RtfPrefix = selectedRtfSB.ToString();
return _RtfPrefix + @"\f1\fs" + 10 * 2 + " ";
}
}
public void InsertSymbol( int symbcode)
{
int position = this.SelectionStart;
string sym = symbcode < 256 ? ((char)symbcode).ToString() : string.Format(@"\u{0}", symbcode);
this.SelectedRtf = RtfPrefixForSymbols + sym + @"}";
Select(position, -1);
Select(position + 1, 0);
}
public void rchtxtBox_KeyDown(object sender,string RO_IDEN) // C2022-003 code used to prevent a symbol from being inserted into RO ID.
{
bool symFlg = false;
roRichTextBox o = (roRichTextBox)sender;
if (o.Name == RO_IDEN)
{
if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
{
string clpBrd = Clipboard.GetText();
if (clpBrd.Any(c => c > 166))
{
MessageBox.Show("Symbols are not allowed in the field. Clipbroad: '" + clpBrd + "'");
Clipboard.Clear();
}
}
}
}
private static void AddFontTable(StringBuilder selectedRtfSB, Font myFont, bool isFixed)
{
StringBuilder sbbeg = new StringBuilder();
StringBuilder sbend = new StringBuilder();
if (myFont.Bold)
{
sbbeg.Append(@"\b");
sbend.Append(@"\b0");
}
if (myFont.Underline)
{
sbbeg.Append(@"\ul");
sbend.Insert(0, @"\ulnone");
}
if (myFont.Italic)
{
sbbeg.Append(@"\i");
sbend.Insert(0, @"\i0");
}
// RO Editor add symbols C2022-003
selectedRtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + myFont.FontFamily.Name + @";}");
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 FreeMono;}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // FreeMono is now used for symbols display.
selectedRtfSB.Append("\r\n");
selectedRtfSB.Append(@"\viewkind4\uc1\pard" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(myFont.SizeInPoints * 2).ToString() + @" ");
}
private Font _FormatFont;
public Font FormatFont
{
get
{
if (_FormatFont == null)
{
Font formatFont;
formatFont = Font;
_FormatFont = formatFont;
}
return _FormatFont;
}
set { _FormatFont = value; }
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,55 @@
using System.Reflection;
using System.Runtime.CompilerServices;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.1.*")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
//
// Use the attributes below to control which key is used for signing.
//
// Notes:
// (*) If no key is specified, the assembly is not signed.
// (*) KeyName refers to a key that has been installed in the Crypto Service
// Provider (CSP) on your machine. KeyFile refers to a file which contains
// a key.
// (*) If the KeyFile and the KeyName values are both specified, the
// following processing occurs:
// (1) If the KeyName can be found in the CSP, that key is used.
// (2) If the KeyName does not exist and the KeyFile does exist, the key
// in the KeyFile is installed into the CSP and used.
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
// When specifying the KeyFile, the location of the KeyFile should be
// relative to the project output directory which is
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
// located in the project directory, you would specify the AssemblyKeyFile
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
// documentation for more information on this.
//
@@ -0,0 +1,58 @@
using System.Reflection;
using System.Runtime.CompilerServices;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.1.*")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
//
// Use the attributes below to control which key is used for signing.
//
// Notes:
// (*) If no key is specified, the assembly is not signed.
// (*) KeyName refers to a key that has been installed in the Crypto Service
// Provider (CSP) on your machine. KeyFile refers to a file which contains
// a key.
// (*) If the KeyFile and the KeyName values are both specified, the
// following processing occurs:
// (1) If the KeyName can be found in the CSP, that key is used.
// (2) If the KeyName does not exist and the KeyFile does exist, the key
// in the KeyFile is installed into the CSP and used.
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
// When specifying the KeyFile, the location of the KeyFile should be
// relative to the project output directory which is
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
// located in the project directory, you would specify the AssemblyKeyFile
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
// documentation for more information on this.
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("E:\\proms.net\\Public Key\\vlnkey.snk")]
[assembly: AssemblyKeyName("")]
@@ -0,0 +1,206 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: CmpRpt.cs $ $Revision: 3 $
* $Author: Jsj $ $Date: 6/08/05 4:31p $
*
* $History: CmpRpt.cs $
*
* ***************** Version 3 *****************
* User: Jsj Date: 6/08/05 Time: 4:31p
* Updated in $/EXE/RefObj/CmpRpt
* cleanup
*
* ***************** Version 2 *****************
* User: Jsj Date: 1/08/04 Time: 2:51p
* Updated in $/EXE/RefObj/CmpRpt
* constructor of RODB() class changed
*
* ***************** Version 1 *****************
* User: Kathy Date: 11/11/02 Time: 7:17a
* Created in $/EXE/RefObj/CmpRpt
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.IO;
using System.Data;
using RODBInterface;
// CmpRpt reads data for the RO database and puts the data into the
// temporary file, 'print.tmp'. After this, it is sorted and printed.
namespace CmpRpt
{
// Form1 just acts as the container for this app.
public class Form1 : System.Windows.Forms.Form
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (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()
{
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Name = "Form1";
this.Text = "Form1";
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
bool success;
VlnXmlElement rootXml;
VlnXmlDocument myroXmlDoc;
string recid=null;
string tbl=null;
RODB myrodb=null;
// the next two lists contain group headers for the reports.
ArrayList headers = new ArrayList();
ArrayList reversehdrs = new ArrayList();
if (args.Length <= 0) return;
// if an RO directory path was passed in, then change the
// current working directory to it.
// this path will also be used to generate a connection string
// for the Access database.
if (args.Length == 2)
{
// MessageBox.Show(args[1],"args[1]");
string path = args[0];
Directory.SetCurrentDirectory(path);
tbl = args[1].Substring(0,4);
recid = args[1].Substring(4,8);
// myrodb = new RODB(path);
}
else
{
tbl = args[0].Substring(0,4);
recid = args[0].Substring(4,8);
// myrodb = new RODB(Directory.GetCurrentDirectory());
}
myrodb = new RODB(Directory.GetCurrentDirectory());
VlnXmlElement rptele=null;
// Add the root to the tree
myroXmlDoc = myrodb.RODB_GetRoot();
rootXml = (VlnXmlElement) myroXmlDoc.FirstChild;
success = myrodb.RODB_GetRootGroups(rootXml);
if (success == false) return;
// if the table & recid = all zeros, we have a request
// for all ROs, otherwise it's a request for specific RO(s)
if (tbl == "0000" && recid == "00000000")
{
// the report element becomes the root.
rptele = rootXml;
}
else
{
// from the input tbl string, get a table name.
int itbl = System.Convert.ToInt32(tbl,16);
string stbl = System.Convert.ToString(itbl,10);
string pstbl = stbl.PadLeft(6,'0');
string tbname = "RO" + pstbl;
// read in this element from the table.
rptele = myrodb.RODB_ReadRO(tbname, recid);
VlnXmlElement parent;
string parentid;
parentid = rptele.GetAttribute("ParentID");
string rpteleParentid = parentid;
// walk up tree to get the path through the tree.
VlnXmlElement child = rptele;
while (parentid != null && parentid != "00000000")
{
parent = myrodb.RODB_ReadRO(tbname, parentid);
if (parent != null)
{
parentid = parent.GetAttribute("ParentID");
if (parentid == "00000000")
{
reversehdrs.Add(parent.InnerText);
break;
}
parent.AppendChild(child);
child = parent;
reversehdrs.Add(parent.GetAttribute("MenuTitle"));
}
else
parentid = null;
}
// Now hook this into the top part of tree by looking at the table
// names.
VlnXmlElement group = (VlnXmlElement) rootXml.FirstChild;
while (group != null)
{
string curtbname = group.GetAttribute("Table");
// hook it in here.
if (curtbname == tbname)
{
if (rpteleParentid != "00000000")
group.AppendChild(child);
else // if this is a top group, just reset rept ele
rptele = group;
break;
}
group = (VlnXmlElement) group.NextSibling;
}
// Set up the headers array, it's in reverse order since we walked
// up the tree, not down.
int cnt = reversehdrs.Count;
for (int i=cnt-1; i>=0; i--)
headers.Add(reversehdrs[i]);
}
rptele.Show(myrodb,headers);
}
}
}
@@ -0,0 +1,147 @@
<VisualStudioProject>
<CSHARP
ProjectType = "Local"
ProductVersion = "7.10.3077"
SchemaVersion = "2.0"
ProjectGuid = "{C4293263-EA9C-11D6-8515-00A0CC271352}"
>
<Build>
<Settings
ApplicationIcon = "App.ico"
AssemblyKeyContainerName = ""
AssemblyName = "CmpRpt"
AssemblyOriginatorKeyFile = ""
DefaultClientScript = "JScript"
DefaultHTMLPageLayout = "Grid"
DefaultTargetSchema = "IE50"
DelaySign = "false"
OutputType = "WinExe"
PreBuildEvent = ""
PostBuildEvent = ""
RootNamespace = "CmpRpt"
RunPostBuildEvent = "OnBuildSuccess"
StartupObject = ""
>
<Config
Name = "Debug"
AllowUnsafeBlocks = "false"
BaseAddress = "285212672"
CheckForOverflowUnderflow = "false"
ConfigurationOverrideFile = ""
DefineConstants = "DEBUG;TRACE"
DocumentationFile = ""
DebugSymbols = "true"
FileAlignment = "4096"
IncrementalBuild = "true"
NoStdLib = "false"
NoWarn = ""
Optimize = "false"
OutputPath = "..\..\..\..\Ve-proms.net\BIN\"
RegisterForComInterop = "false"
RemoveIntegerChecks = "false"
TreatWarningsAsErrors = "false"
WarningLevel = "4"
/>
<Config
Name = "Release"
AllowUnsafeBlocks = "false"
BaseAddress = "285212672"
CheckForOverflowUnderflow = "false"
ConfigurationOverrideFile = ""
DefineConstants = "TRACE"
DocumentationFile = ""
DebugSymbols = "false"
FileAlignment = "4096"
IncrementalBuild = "false"
NoStdLib = "false"
NoWarn = ""
Optimize = "true"
OutputPath = "..\..\..\..\Ve-proms.net\BIN\"
RegisterForComInterop = "false"
RemoveIntegerChecks = "false"
TreatWarningsAsErrors = "false"
WarningLevel = "4"
/>
</Settings>
<References>
<Reference
Name = "System"
AssemblyName = "System"
HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.0.3705\System.dll"
/>
<Reference
Name = "System.Data"
AssemblyName = "System.Data"
HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.0.3705\System.Data.dll"
/>
<Reference
Name = "System.Drawing"
AssemblyName = "System.Drawing"
HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.0.3705\System.Drawing.dll"
/>
<Reference
Name = "System.Windows.Forms"
AssemblyName = "System.Windows.Forms"
HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.0.3705\System.Windows.Forms.dll"
/>
<Reference
Name = "System.XML"
AssemblyName = "System.Xml"
HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"
/>
<Reference
Name = "ROField"
AssemblyName = "ROField"
HintPath = "..\..\..\..\Ve-proms.net\BIN\ROField.dll"
Private = "False"
/>
<Reference
Name = "VlnStatus"
AssemblyName = "VlnStatus"
HintPath = "..\..\..\..\Ve-proms.net\BIN\VlnStatus.dll"
Private = "False"
/>
<Reference
Name = "RODBInterface"
AssemblyName = "RODBInterface"
HintPath = "..\..\..\..\Ve-proms.net\BIN\RODBInterface.dll"
Private = "False"
/>
<Reference
Name = "DBEncapsulation"
AssemblyName = "DBEncapsulation"
HintPath = "..\..\..\..\Ve-proms.net\BIN\DBEncapsulation.dll"
Private = "False"
/>
</References>
</Build>
<Files>
<Include>
<File
RelPath = "app.config"
BuildAction = "None"
/>
<File
RelPath = "App.ico"
BuildAction = "Content"
/>
<File
RelPath = "AssemblyInfo.cs"
SubType = "Code"
BuildAction = "Compile"
/>
<File
RelPath = "CmpRpt.cs"
SubType = "Form"
BuildAction = "Compile"
/>
<File
RelPath = "CmpRpt.resx"
DependentUpon = "CmpRpt.cs"
BuildAction = "EmbeddedResource"
/>
</Include>
</Files>
</CSHARP>
</VisualStudioProject>
@@ -0,0 +1,102 @@
<?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=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Name">
<value>Form1</value>
</data>
</root>
@@ -0,0 +1,39 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CmpRpt", "CmpRpt.csproj", "{C4293263-EA9C-11D6-8515-00A0CC271352}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DBEncapsulation", "..\..\..\LibSource\DBEncapsulation\DBEncapsulation.csproj", "{6D44F537-879E-11D6-84B8-00A0CC271352}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RODBInterface", "..\..\..\LibSource\RODBInterface\RODBInterface.csproj", "{0C7825FD-AA05-11D6-84D1-00A0CC271352}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ROFields", "..\..\..\LibSource\ROField\ROFields.csproj", "{0C782592-AA05-11D6-84D1-00A0CC271352}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
Release = Release
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{C4293263-EA9C-11D6-8515-00A0CC271352}.Debug.ActiveCfg = Debug|.NET
{C4293263-EA9C-11D6-8515-00A0CC271352}.Debug.Build.0 = Debug|.NET
{C4293263-EA9C-11D6-8515-00A0CC271352}.Release.ActiveCfg = Release|.NET
{C4293263-EA9C-11D6-8515-00A0CC271352}.Release.Build.0 = Release|.NET
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug.ActiveCfg = Debug|.NET
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release.ActiveCfg = Release|.NET
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug.ActiveCfg = Debug|.NET
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release.ActiveCfg = Release|.NET
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug.ActiveCfg = Debug|.NET
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release.ActiveCfg = Release|.NET
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal
@@ -0,0 +1,7 @@
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v1.1.4322"/>
<requiredRuntime version="v1.1.4322" safemode="true"/></startup><runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
</assemblyBinding></runtime></configuration>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,55 @@
using System.Reflection;
using System.Runtime.CompilerServices;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.1.*")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
//
// Use the attributes below to control which key is used for signing.
//
// Notes:
// (*) If no key is specified, the assembly is not signed.
// (*) KeyName refers to a key that has been installed in the Crypto Service
// Provider (CSP) on your machine. KeyFile refers to a file which contains
// a key.
// (*) If the KeyFile and the KeyName values are both specified, the
// following processing occurs:
// (1) If the KeyName can be found in the CSP, that key is used.
// (2) If the KeyName does not exist and the KeyFile does exist, the key
// in the KeyFile is installed into the CSP and used.
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
// When specifying the KeyFile, the location of the KeyFile should be
// relative to the project output directory which is
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
// located in the project directory, you would specify the AssemblyKeyFile
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
// documentation for more information on this.
//
@@ -0,0 +1,58 @@
using System.Reflection;
using System.Runtime.CompilerServices;
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.1.*")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
//
// Use the attributes below to control which key is used for signing.
//
// Notes:
// (*) If no key is specified, the assembly is not signed.
// (*) KeyName refers to a key that has been installed in the Crypto Service
// Provider (CSP) on your machine. KeyFile refers to a file which contains
// a key.
// (*) If the KeyFile and the KeyName values are both specified, the
// following processing occurs:
// (1) If the KeyName can be found in the CSP, that key is used.
// (2) If the KeyName does not exist and the KeyFile does exist, the key
// in the KeyFile is installed into the CSP and used.
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
// When specifying the KeyFile, the location of the KeyFile should be
// relative to the project output directory which is
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
// located in the project directory, you would specify the AssemblyKeyFile
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
// documentation for more information on this.
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("E:\\proms.net\\Public Key\\vlnkey.snk")]
[assembly: AssemblyKeyName("")]
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More