- Changed code to use entire (16 Character) ROID to get the Multiple Return Values
- Added code to eliminate duplicate entries for Appedix Page IDs for Multiple Return Values Trim whitespace from beginning and end of Plot Text.
This commit is contained in:
@@ -250,9 +250,11 @@ namespace XYPlots
|
||||
{
|
||||
string rtnval;
|
||||
int ptr;
|
||||
while (BuffPtr >= 0 && Buff[BuffPtr] != 0 && isWhiteSpace(Buff[BuffPtr])) BuffPtr++;
|
||||
while (BuffPtr >= 0 && BuffPtr < Buff.Length && Buff[BuffPtr] != 0 && isWhiteSpace(Buff[BuffPtr]))
|
||||
BuffPtr++;
|
||||
ptr = BuffPtr;
|
||||
while (BuffPtr >= 0 && Buff[BuffPtr] != 0 && !isWhiteSpace(Buff[BuffPtr])) BuffPtr++;
|
||||
while (BuffPtr >= 0 && BuffPtr < Buff.Length && Buff[BuffPtr] != 0 && !isWhiteSpace(Buff[BuffPtr]))
|
||||
BuffPtr++;
|
||||
if (EndOfCommand()) EndFlag = 1;
|
||||
rtnval = Buff.Substring(ptr, BuffPtr - ptr);
|
||||
BuffPtr++;
|
||||
@@ -261,13 +263,17 @@ namespace XYPlots
|
||||
private bool EndOfCommand()
|
||||
{
|
||||
int tmpPtr = BuffPtr;
|
||||
while (!Buff[tmpPtr].Equals('\0') && Buff[tmpPtr].Equals(' ')) tmpPtr++;
|
||||
while (tmpPtr < Buff.Length && !Buff[tmpPtr].Equals('\0') && Buff[tmpPtr].Equals(' '))
|
||||
tmpPtr++;
|
||||
if (tmpPtr >= Buff.Length)
|
||||
return true;
|
||||
if (!Buff[tmpPtr].Equals('\0') && !isWhiteSpace(Buff[tmpPtr]))
|
||||
return false;
|
||||
else if (Buff[tmpPtr] == '\r' || Buff[tmpPtr] == '\n' || Buff[tmpPtr] == '\0')
|
||||
if (Buff[tmpPtr] == '\r' || Buff[tmpPtr] == '\n' )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
if(Buff[tmpPtr] == '\0')
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
private bool LoadBuff(string FileName)
|
||||
{
|
||||
@@ -358,7 +364,14 @@ namespace XYPlots
|
||||
double x, y;
|
||||
char[] sepchar = { ',' };
|
||||
string[] xystr = NextPiece().Split(sepchar);
|
||||
x = double.Parse(xystr[0]);
|
||||
try
|
||||
{
|
||||
x = double.Parse(xystr[0]);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception("Error Parsing XYPlot", ex);
|
||||
}
|
||||
y = double.Parse(xystr[1]);
|
||||
if (doLOG10[flag, X])
|
||||
retval.xyValue[X] = (int)(Offset[flag, X] + Scale[flag, X] * Math.Log10(x) + .5);
|
||||
@@ -410,6 +423,7 @@ namespace XYPlots
|
||||
private void FixBuffIfNeeded()
|
||||
{
|
||||
int ptr = 0;
|
||||
Buff = Buff.Trim(" \r\n".ToCharArray());
|
||||
if (Buff.StartsWith("<<G "))
|
||||
{
|
||||
Buff = Buff.Substring(4);
|
||||
@@ -426,14 +440,18 @@ namespace XYPlots
|
||||
if (Buff[ptr + 3] == ' ')
|
||||
Buff = Buff.Remove(ptr, 3);
|
||||
}
|
||||
ptr = Buff.Length - 5; // back up past >>\r\n
|
||||
if (Buff.IndexOf(">>\r\n", ptr) > 0)
|
||||
{
|
||||
Buff = Buff.Remove(ptr, 2);
|
||||
Buff = Buff.Insert(ptr, " ");
|
||||
}
|
||||
else if (Buff.EndsWith(">>")) // doesn't end with return chars...
|
||||
//ptr = Buff.IndexOf(">>\r\n", Buff.Length - 5); // back up past >>\r\n
|
||||
//if (ptr > 0)
|
||||
//{
|
||||
// Buff = Buff.Remove(ptr, 2);
|
||||
// Buff = Buff.Insert(ptr, " ");
|
||||
// Buff += "\0x00";
|
||||
//}
|
||||
//else
|
||||
if (Buff.EndsWith(">>")) // doesn't end with return chars...
|
||||
Buff = Buff.Substring(0, Buff.Length - 2) + " \r\n\0x00"; // needs to end with null
|
||||
else
|
||||
Console.WriteLine("Oopsie!");
|
||||
}
|
||||
private void CloseGraph()
|
||||
{
|
||||
@@ -1795,8 +1813,15 @@ namespace XYPlots
|
||||
/// <param name="PlotCommands">Plot Commands</param>
|
||||
public XYPlot(string PlotCommands)
|
||||
{
|
||||
LoadBuffFromString(PlotCommands);
|
||||
Setup();
|
||||
try
|
||||
{
|
||||
LoadBuffFromString(PlotCommands);
|
||||
Setup();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("{0}\r\n{1}", ex.Message, ex.StackTrace);
|
||||
}
|
||||
//#if DEBUG
|
||||
//VG.VG_Arc.iColor = 0;
|
||||
//#endif
|
||||
|
Reference in New Issue
Block a user