Commit for development environment setup

This commit is contained in:
2023-06-19 16:12:33 -04:00
parent be72063a3c
commit bbce2ad0a6
2209 changed files with 1171775 additions and 625 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -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.
//

View File

@@ -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("")]

View File

@@ -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);
}
}
}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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.
//

View File

@@ -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

View File

@@ -0,0 +1,351 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: Form1.cs $ $Revision: 7 $
* $Author: Jsj $ $Date: 1/06/03 12:53p $
*
* $History: Form1.cs $
*
* ***************** Version 7 *****************
* User: Jsj Date: 1/06/03 Time: 12:53p
* Updated in $/EXE/RefObj/ParadoxConversion
* cleanup
*
* ***************** Version 6 *****************
* User: Jsj Date: 1/06/03 Time: 11:35a
* Updated in $/EXE/RefObj/ParadoxConversion
* When called from the RO Editor, hide the Find RO Directory button
*
* ***************** Version 5 *****************
* User: Jsj Date: 12/18/02 Time: 12:47p
* Updated in $/EXE/RefObj/ParadoxConversion
* new icons
*
* ***************** Version 4 *****************
* User: Jsj Date: 12/06/02 Time: 3:21p
* Updated in $/EXE/RefObj/ParadoxConversion
* added command line argument (DEBUG) to turn on writing debug message to
* a file
*
* ***************** Version 3 *****************
* User: Jsj Date: 10/04/02 Time: 2:02p
* Updated in $/EXE/RefObj/ParadoxConversion
* added better user interface
*
* ***************** Version 2 *****************
* User: Jsj Date: 9/25/02 Time: 10:19a
* Updated in $/EXE/RefObj/ParadoxConversion
* added header
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
namespace ParadoxConversion
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
bool DidConvert = false;
bool ShowBtnFndRO = true;
public Form MainForm;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label StatWindow;
private string PassedInDirPath;
private System.Windows.Forms.Button btnFndRO;
private System.Windows.Forms.Button btnExit;
private bool DoDebugFile;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public void StatusWindow(String Message1,String Message2, String Message3)
{
StatWindow.Text = Message1 + Message2 + Message3;
}
public Form1(string Connpath, bool doingDebug)
{
//
// Required for Windows Form Designer support
//
// Icon = new Icon(typeof(Form1),"V.ico");
InitializeComponent();
PassedInDirPath = Connpath;
if (!Connpath.Equals(""))
ShowBtnFndRO = false;
DoDebugFile = doingDebug;
//
// TODO: Add any constructor code after InitializeComponent call
//
}
/// <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()
{
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
this.button1 = new System.Windows.Forms.Button();
this.StatWindow = new System.Windows.Forms.Label();
this.btnFndRO = new System.Windows.Forms.Button();
this.btnExit = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.button1.Location = new System.Drawing.Point(176, 152);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(80, 40);
this.button1.TabIndex = 0;
this.button1.Text = "Convert";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// StatWindow
//
this.StatWindow.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.StatWindow.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.StatWindow.Location = new System.Drawing.Point(8, 16);
this.StatWindow.Name = "StatWindow";
this.StatWindow.Size = new System.Drawing.Size(368, 112);
this.StatWindow.TabIndex = 1;
this.StatWindow.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// btnFndRO
//
this.btnFndRO.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.btnFndRO.Location = new System.Drawing.Point(8, 152);
this.btnFndRO.Name = "btnFndRO";
this.btnFndRO.Size = new System.Drawing.Size(152, 40);
this.btnFndRO.TabIndex = 2;
this.btnFndRO.Text = "Find RO Directory";
this.btnFndRO.Click += new System.EventHandler(this.btnFndRO_Click);
//
// btnExit
//
this.btnExit.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.btnExit.Location = new System.Drawing.Point(288, 152);
this.btnExit.Name = "btnExit";
this.btnExit.Size = new System.Drawing.Size(80, 40);
this.btnExit.TabIndex = 3;
this.btnExit.Text = "Exit";
this.btnExit.Click += new System.EventHandler(this.btnExit_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(384, 197);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.btnExit,
this.btnFndRO,
this.StatWindow,
this.button1});
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Referenced Object Database Conversion";
this.Load += new System.EventHandler(this.Form1_Load);
this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
static bool ValidateConnectionPath(string ConPath)
{
bool validPath = true;
string tmpstr = "";
if (ConPath.Equals(""))
validPath = false;
else
{
// make sure we are in a directory named "RO"
if (ConPath.IndexOf("\\") != -1)
{
tmpstr = ConPath.Substring(ConPath.LastIndexOf("\\"));
tmpstr = tmpstr.ToUpper();
}
else
tmpstr = ConPath;
if (!tmpstr.Equals("\\RO"))
{
string tstr = "This is not an RO directory:\n\n" + ConPath;
MessageBox.Show(tstr,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
// Application.Exit();
validPath = false;
}
// make sure there is at least an ROMASTER file
if (validPath && !File.Exists("ROMASTER.db"))
{
string tstr = "This RO directory is empty:" + ConPath;
MessageBox.Show(tstr,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
// Application.Exit();
validPath = false;
}
}
return validPath;
}
static string GetRODirPath(string ConPath)
{
string rtnstr = "";
string tmpstr = "";
OpenFileDialog ofDlg = new OpenFileDialog();
ofDlg.Title = "Navigate to the Referenced Objects (RO) directory";
ofDlg.Filter = "Referenced Objects|ROMASTER.DB;|All Files|*.*";
if (ConPath.Equals(""))
tmpstr = "c:\\";
ofDlg.CheckPathExists = true;
ofDlg.FileName = "ROMASTER.DB";
ofDlg.InitialDirectory = tmpstr;
if (ofDlg.ShowDialog() == DialogResult.OK)
{
tmpstr = ofDlg.FileName;
rtnstr = Path.GetDirectoryName(tmpstr);
}
else
{
string tstr = "Cannot convert Referenced Objects data.\n\nInvalid RO directory:\n\n" + ConPath;
MessageBox.Show(tstr,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
rtnstr = null;
}
return rtnstr;
}
[STAThread]
static void Main(string[] args)
{
string ConnectionPath = "";
bool DebugFile = false;
// 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
// to the Access database.
if (args.Length > 0)
{
string tmpstr;
for (int i = 0; i<args.Length; i++)
{
tmpstr = args[0];
if (tmpstr.Equals("DEBUG"))
DebugFile = true;
else
{
ConnectionPath = tmpstr;
Directory.SetCurrentDirectory(ConnectionPath);
ConnectionPath = Directory.GetCurrentDirectory();
}
}
}
Form MainForm = new Form1(ConnectionPath,DebugFile);
Application.Run(MainForm);
}
private void button1_Click(object sender, System.EventArgs e)
{
if (!DidConvert)
{
StatWindow.Text = "";
ConvertParadoxROs CvrtROs = new ConvertParadoxROs(StatWindow,DoDebugFile);
CvrtROs.ConvertParadoxRODb(PassedInDirPath);
StatWindow.Text = " *** Conversion Complete ****";
DidConvert = true;
button1.Enabled = false;
this.Refresh();
}
else
{
Application.Exit();
}
}
private void Form1_Load(object sender, System.EventArgs e)
{
}
private void btnFndRO_Click(object sender, System.EventArgs e)
{
while ((PassedInDirPath != null) && !ValidateConnectionPath(PassedInDirPath))
{
PassedInDirPath = GetRODirPath(PassedInDirPath);
}
if (PassedInDirPath == null)
{
Application.Exit();
}
DidConvert = false;
}
private void btnExit_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
string msgtxt = "";
if (!DidConvert)
{
if ((PassedInDirPath == null) || !ValidateConnectionPath(PassedInDirPath))
{
button1.Enabled = false;
btnFndRO.Enabled = true;
msgtxt = "Press the Find RO Directory button to locate the Referened Objects you want to Convert.";
}
else
{
if (PassedInDirPath != null)
button1.Enabled = true;
if (!ShowBtnFndRO)
btnFndRO.Hide();
msgtxt = "Current RO directory selected:\n\n" + PassedInDirPath;
}
StatWindow.Text = msgtxt;
}
}
}
}

View File

@@ -0,0 +1,124 @@
<?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>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAEBAQAAAAAAAoAQAAJgAAACAgEAAAAAAA6AIAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA
AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/
AAAA//8A/wAAAP8A/wD//wAA////AAAAAJmQAAAAAAAAAAAAAAAAAAB3cAAAAAAAAHdwAAAAAAAAd3AA
AAAAAAd3dwAAAAAAd3d3cAAAAAd3d3d3AAAAd3d3d3dwAAAAAAAAAAAAAIeBERGHgAAAAAEREQAAAAAA
ARERAAAAAAABEREAAAAAAAEREQAAAAAAARERAAAA/H8AAPg/AAD4PwAA+D8AAPg/AADwHwAA4A8AAMAH
AACAAwAAAAEAAIADAADABwAA+D8AAPg/AAD4PwAA+D8AACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAA
AAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/
/wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAHcAAMAAAAAAAAAAAAAA
AAd3AAwMAAAAAAAAAAAAAAB3dwDAwAAAAAAAAAAAAAAHd3cMDAAAd3d3d3d3d3d3d3d3AMAAAHFxdxd3
dxdxF3ERdwwAAABxcXFxd3dxd3Fxd3cADAwAcRdxcXERERcXdxd3AMDAAHFxcXF3d3F3cXdxdwwAAABx
F3cXd3cXcRdxEXcAwAAAd3d3dwAAAAAAB3d3DAzAAHd3F3cAiIiIiIB3dwDADAB3cRF3CAiIiIiIB3cA
DAAAdxcXFwiAAAAAAIB3AADAAHd3F3cIgAAAAAAIAAAADAB3dxd3CIAAAAAAAIgAAAAAd3cXdwiAAAAA
AAAIAAAAAHd3d3cIgAAAAAAAAAAAAABxEXcXCIAAAAAAAAAAAAAAdxdxcQiAAAAAAAAAAAAAAHcXcRcI
gAAAAAAAAAAAAABxF3F3CIAAAAAAAAAAAAAAdxd3FwiAAAAAAAAAAAAAAAAAAAAIgAAAAAAAAAAAAACI
iIiICIAAAAAAAAAAAAAACIcAeICAAAAAAAAAAAAAAACEREiIAAAAAAAAAAAAAAAABERAAAAAAAAAAAAA
AAAAAAREQAAAAAAAAAAAAAAAAAAEREAAAAAAAAAAAAAAAAAABERAAAAAAAAAAAAAAAD///8e///+Hf//
/Br///gVgAAAC4AAABeAAAAPgAAAGoAAABWAAAAPgAAAF4AAAAmAAAAWgAAAG4AAAB2AA/wegAP+H4AD
/x+AA/+fgAP//4AD//+AA///gAP//4AD//+AA///gAP//8AD///gA///8AP///h////4f///+H///w==
</value>
</data>
</root>

View File

@@ -0,0 +1,129 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{2FEB12F6-B8F7-11D6-8550-A8738D000000}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>ROConvrt.ico</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>ParadoxConversion</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>WinExe</OutputType>
<RootNamespace>ParadoxConversion</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
</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</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>
<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>
<None Include="app.config" />
<Content Include="App.ico" />
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ConvertParadoxROs.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="RODBRecordInterface.cs">
<SubType>Code</SubType>
</Compile>
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ROConvrt.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\LibSource\DBEncapsulation\DBEncapsulation.csproj">
<Project>{6D44F537-879E-11D6-84B8-00A0CC271352}</Project>
<Name>DBEncapsulation</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\ROField\ROFields.csproj">
<Project>{0C782592-AA05-11D6-84D1-00A0CC271352}</Project>
<Name>ROFields</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,29 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ParadoxConversion", "ParadoxConversion.csproj", "{2FEB12F6-B8F7-11D6-8550-A8738D000000}"
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
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2FEB12F6-B8F7-11D6-8550-A8738D000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2FEB12F6-B8F7-11D6-8550-A8738D000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2FEB12F6-B8F7-11D6-8550-A8738D000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2FEB12F6-B8F7-11D6-8550-A8738D000000}.Release|Any CPU.Build.0 = Release|Any CPU
{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}.Release|Any CPU.ActiveCfg = Release|Any CPU
{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}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,352 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: RODBRecordInterface.cs $ $Revision: 4 $
* $Author: Jsj $ $Date: 1/27/03 2:56p $
*
* $History: RODBRecordInterface.cs $
*
* ***************** Version 4 *****************
* User: Jsj Date: 1/27/03 Time: 2:56p
* Updated in $/EXE/RefObj/ParadoxConversion
* using OLEDB for the connection
*
* ***************** Version 3 *****************
* User: Jsj Date: 10/04/02 Time: 2:02p
* Updated in $/EXE/RefObj/ParadoxConversion
* added better user interface
*
* ***************** Version 2 *****************
* User: Jsj Date: 9/25/02 Time: 10:20a
* Updated in $/EXE/RefObj/ParadoxConversion
* added header
*********************************************************************************************/
using System;
//using System.Collections;
using System.IO;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DBEncapsulation;
namespace ParadoxConversion
{
/// <summary>
/// This class contains a very simple interface to the RO Database.
/// All the database conversion module needs is to create a new table
/// and write a database record.
/// </summary>
public class RODBRecordInterface
{
bool success;
DBEncapsulation.DBEncapsulate DBE;
DBEncapsulation.OLEDB_DBEncap DBE_OLEDB;
DBEncapsulation.ODBC_DBEncap DBE_ODBC;
private string strAccOLEDBconn = "";
private string strSQLOLEDBconn = "";
private string strAccODBCconn = "";
private string strodbcConn = "";
public RODBRecordInterface(int conntype, string connectstring)
{
// Setup the connection string
// if (connectstring.Equals(""))
// GetConnectionStringFromFile();
// else
BuildConnectionString(connectstring);
// Initialize the connection depending on OLE-DB or ODBC:
conntype = 2; // for now - till valid data passed in.
// conntype = 1; // for now - till valid data passed in.
//END OF TEMPORARY
// Either use an OLE-DB or ODBC connection, depending on what was passed in.
if ( conntype == 1)
{
DBE_ODBC = new ODBC_DBEncap();
DBE = DBE_ODBC;
}
else
{
DBE_OLEDB = new OLEDB_DBEncap();
DBE = DBE_OLEDB;
}
try
{
DBE.Connection(strAccOLEDBconn);
// DBE.Connection(strodbcConn);
}
catch (Exception e)
{
Console.WriteLine("error {0}", e.Message);
}
}
public void RODB_OpenConnection()
{
try
{
DBE.OpenConnection();
}
catch (Exception e)
{
Console.WriteLine("Error opening database connection.\n{0}",e.Message);
}
}
public void RODB_CloseConnection()
{
try
{
DBE.CloseConnection();
}
catch (Exception e)
{
Console.WriteLine("Error closing database connection.\n",e.Message);
}
}
/*
* Create a new Referenced Objects table in the current database
*/
public void RODB_AddNewTable(String TblName)
{
string strMkTable = "CREATE TABLE "+ TblName + " (";
// strMkTable = strMkTable + "UID Integer NULL ,";
strMkTable = strMkTable + "RecID Char(8) NULL ,";
strMkTable = strMkTable + "RecType Integer ,";
strMkTable = strMkTable + "ParentID char(8) NULL ,";
strMkTable = strMkTable + "AccPageID char(32) NULL ,";
strMkTable = strMkTable + "ModDateTime char(14) NULL ,";
strMkTable = strMkTable + "Info Memo NULL)";
try
{
DBE.Command(strMkTable);
// DBE.Reader();
}
catch (Exception e)
{
Console.WriteLine("Command error:\n{0}", e.Message);
// bool retval = false;
}
// DBE.ReaderClose();
try
{
DBE.NonQuery();
}
catch (Exception e)
{
Console.WriteLine("NonQuery error:\n{0}", e.Message);
// bool retval = false;
}
DBE.CommandDispose();
}
/*
* Write an RO Database record
*/
public void RODB_WriteDbRecord(String DBTable, String RecID, int RecType, String ParID, String AcPgID, String DateTime, String Info)
{
String DbRecCmd;
// if no RecID provided, then get the next available one.
if (RecID.CompareTo("") == 0)
{
RecID = RODB_GetNextRecid(DBTable);
}
DbRecCmd = "INSERT INTO " + DBTable + " (RecID, RecType, ParentID, AccPageID, ModDateTime, Info) VALUES ('";
DbRecCmd += RecID + "', " + RecType + ", '" + ParID + "', '" + AcPgID + "', '" + DateTime + "', '" + Info + "');";
try
{
DBE.Command(DbRecCmd);
}
catch (Exception e)
{
success = false;
Console.WriteLine("RODB_WriteDbRecord Caught an exception:\n{0}", e.Message);
}
try
{
DBE.NonQuery();
}
catch (Exception e)
{
Console.WriteLine("NonQuery error:\n{0}", e.Message);
// bool retval = false;
}
DBE.CommandDispose();
}
public void GetConnectionStringFromFile()
{
/* This file should contain the connection strings in the followin order:
* AccOLEDBconn, SQLOLEDBconn, AccODBCconn, odbcConn.
*/
// append "ConnectList.txt" to the path of the location of the exe being run
// for example: VE-PROMS.NET\BIN or BIN\DEBUG
// This set in Visual Studio .NET in the properties dialog of the project, select
// Configuration Properties. You will see an option call Output Path.
string FileName = Application.StartupPath + "\\ConnectList.txt";
if (!File.Exists(FileName))
{
// File does not exist
Console.WriteLine("Could not find ConnectList.txt file");
return;
}
/*
* Open the text file for reading
*/
StreamReader sr = File.OpenText(FileName);
/*
* Connection string to MS-access use with oledb directly
*/
strAccOLEDBconn = sr.ReadLine();
/*
* connection string to SQL-server use with oledb
*/
strSQLOLEDBconn = sr.ReadLine();
/*
* connection string to for oledb to odbc dsn
*/
strAccODBCconn = sr.ReadLine();
/*
* ODBC connection:
* ACCESS:
*/
strodbcConn = sr.ReadLine();
sr.Close(); // close ConnectList.txt
}
public void BuildConnectionString(string DataConnectionPath)
{
/*
* Connect to MSAccess using OLEDB directly
*/
// strAccOLEDBconn = "Provider=Microsoft.Jet.OLEDB.4.0;Password=\"\";User ID=Admin;Data Source=I:\\RO Design\\RO\\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";
strAccOLEDBconn = "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";
/*
* Connect to SQL-server using OLEDB
*/
// !!!!! do we need the Workstation ID? if so, we need to pass this in too!
// strSQLOLEDBconn = "Provider=SQLOLEDB;Persist Security Info=False;User ID=sa;Initial Catalog=ROMaster;Data Source=DELL-W2K-SERVER\\SQL2000;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=KATHY;Use Encryption for Data=False;Tag with column collation when possible=False";
strSQLOLEDBconn = "Provider=SQLOLEDB;Persist Security Info=False;User ID=sa;Initial Catalog=ROMaster;Data Source=" + DataConnectionPath +"\\ROMaster.mdb;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=KATHY;Use Encryption for Data=False;Tag with column collation when possible=False";
/*
* Connect to MSAccess using OLEDB and ODBC DSN
*/
// strAccODBCconn = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Access for RO;Extended Properties=\"DSN=Access for RO;DBQ=I:\\RO Design\\RO\\ROMaster.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;\"";
strAccODBCconn = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Access for RO;Extended Properties=\"DSN=Access for RO;DBQ=" + DataConnectionPath + "\\ROMaster.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;\"";
/*
* Connection to MSAccess using an ODBC connection
*/
// strodbcConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=i:\\Ro Design\\RO\\ROMaster.mdb";
strodbcConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" + DataConnectionPath + "\\ROMaster.mdb";
// Connection to SQL Server using an ODBC connection
//strodbcConn = "Driver={SQL Server};Server=DELL-W2K-SERVER\\SQL2000;UID=sa;Database=ROMaster";
//SQL - DSN - worked: string strodbcConn = "DSN=SQL RO;UID=sa";
//Initial odbc tests on strodbcconn
}
/*
* Get the next available RO Database RecID
*/
public String RODB_GetNextRecid(String DBTable)
{
String NextRecID="";
String RtnStr = "";
String SpcStr = " ";
String ZeroStr = "0";
String DbCmd = "SELECT Info FROM " + DBTable + " WHERE RecID = '00000000'";
try
{
DBE.Command(DbCmd);
}
catch (Exception e)
{
success = false;
Console.WriteLine("RODB_GetNextRecid - Read NextRecID Caught an exception:\n{0}", e.Message);
}
if (DBE.Reader())
{
if (DBE.Read())
{
RtnStr = DBE.GetString(0);
DBE.ReaderClose();
}
}
else
{
System.Windows.Forms.MessageBox.Show("Could Not Open Reader");
}
// Create the new next RecID
if (RtnStr.CompareTo("") != 0)
{
uint nxID = Convert.ToUInt32(RtnStr,16);
nxID++;
NextRecID = String.Format("{0,8:X}",nxID);// 8 char field padded on left with blanks
NextRecID = NextRecID.Replace(SpcStr,ZeroStr);
}
else
{
// there is no next RecID
Console.WriteLine("RODB_GetNextRecid No Next RecID!");
}
// Write the new next RecID
DbCmd = "UPDATE " + DBTable + " SET " + DBTable + ".Info = '" + NextRecID + "'";
DbCmd = DbCmd + " WHERE RecID = '00000000';";
try
{
DBE.Command(DbCmd);
}
catch (Exception e)
{
success = false;
Console.WriteLine("RODB_GetNextRecid - Write new NextRecID Caught an exception:\n{0}", e.Message);
}
try
{
DBE.NonQuery();
}
catch (Exception e)
{
Console.WriteLine("NonQuery error:\n{0}", e.Message);
// bool retval = false;
}
DBE.CommandDispose();
return RtnStr;
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<configuration>
<startup>
</startup><runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
</assemblyBinding></runtime></configuration>

View File

@@ -0,0 +1,184 @@
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace ROEditor
{
/// <summary>
/// Summary description for About.
/// </summary>
public class AboutDlg : System.Windows.Forms.Form
{
private System.Windows.Forms.Button btnHlpAbtOK;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label CopyrightMessage;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.LinkLabel VolianWebLink;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public AboutDlg()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
CopyrightMessage.Text = "Copyright \x00A9 1993 - 2008. All Rights Reserved.";
//
// TODO: Add any constructor code after InitializeComponent call
//
}
/// <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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutDlg));
this.btnHlpAbtOK = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.CopyrightMessage = new System.Windows.Forms.Label();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.VolianWebLink = new System.Windows.Forms.LinkLabel();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.SuspendLayout();
//
// btnHlpAbtOK
//
this.btnHlpAbtOK.BackColor = System.Drawing.Color.YellowGreen;
this.btnHlpAbtOK.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnHlpAbtOK.Location = new System.Drawing.Point(120, 118);
this.btnHlpAbtOK.Name = "btnHlpAbtOK";
this.btnHlpAbtOK.Size = new System.Drawing.Size(75, 28);
this.btnHlpAbtOK.TabIndex = 0;
this.btnHlpAbtOK.Text = "OK";
this.btnHlpAbtOK.UseVisualStyleBackColor = false;
this.btnHlpAbtOK.Click += new System.EventHandler(this.btnHlpAbtOK_Click);
//
// label1
//
this.label1.BackColor = System.Drawing.Color.Transparent;
this.label1.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(73, 28);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(216, 14);
this.label1.TabIndex = 1;
this.label1.Text = "Referenced Object Editor";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label2
//
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.Font = new System.Drawing.Font("Arial", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(60, 69);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(216, 23);
this.label2.TabIndex = 2;
this.label2.Text = "Version 4 Release 0";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// CopyrightMessage
//
this.CopyrightMessage.BackColor = System.Drawing.Color.Transparent;
this.CopyrightMessage.Font = new System.Drawing.Font("Arial", 6F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.CopyrightMessage.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.CopyrightMessage.Location = new System.Drawing.Point(0, 159);
this.CopyrightMessage.Name = "CopyrightMessage";
this.CopyrightMessage.Size = new System.Drawing.Size(207, 14);
this.CopyrightMessage.TabIndex = 4;
this.CopyrightMessage.Text = "Copyright C 1993 - 2007. All Rights Reserved.";
this.CopyrightMessage.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pictureBox1
//
this.pictureBox1.BackColor = System.Drawing.Color.Transparent;
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
this.pictureBox1.Location = new System.Drawing.Point(24, 24);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(32, 32);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
this.pictureBox1.TabIndex = 5;
this.pictureBox1.TabStop = false;
//
// pictureBox2
//
this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
this.pictureBox2.Location = new System.Drawing.Point(227, 104);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(70, 32);
this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
this.pictureBox2.TabIndex = 7;
this.pictureBox2.TabStop = false;
this.pictureBox2.Visible = false;
//
// VolianWebLink
//
this.VolianWebLink.BackColor = System.Drawing.SystemColors.GrayText;
this.VolianWebLink.Font = new System.Drawing.Font("Microsoft Sans Serif", 6F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.VolianWebLink.Location = new System.Drawing.Point(207, 159);
this.VolianWebLink.Name = "VolianWebLink";
this.VolianWebLink.Size = new System.Drawing.Size(93, 14);
this.VolianWebLink.TabIndex = 10;
this.VolianWebLink.TabStop = true;
this.VolianWebLink.Text = "Volian Enterprises Inc.";
this.VolianWebLink.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// AboutDlg
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
this.ClientSize = new System.Drawing.Size(363, 204);
this.Controls.Add(this.VolianWebLink);
this.Controls.Add(this.pictureBox2);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.CopyrightMessage);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.btnHlpAbtOK);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "AboutDlg";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "About";
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private void btnHlpAbtOK_Click(object sender, System.EventArgs e)
{
this.Close();
}
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

View File

@@ -0,0 +1,499 @@
namespace ROEditor
{
partial class AboutROEditor
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose(bool disposing)
{
if (disposing && (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()
{
this.logoPictureBox = new System.Windows.Forms.PictureBox();
this.labelProductName = new System.Windows.Forms.Label();
this.labelVersion = new System.Windows.Forms.Label();
this.labelCopyright = new System.Windows.Forms.Label();
this.labelCompanyName = new System.Windows.Forms.LinkLabel();
this.textBoxDescription = new System.Windows.Forms.TextBox();
this.panel1 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.labelVersionDateTime = new System.Windows.Forms.Label();
this.labelServer = new System.Windows.Forms.Label();
this.labelDatabase = new System.Windows.Forms.Label();
this.panel4 = new System.Windows.Forms.Panel();
this.panel5 = new System.Windows.Forms.Panel();
this.panel6 = new System.Windows.Forms.Panel();
this.panel7 = new System.Windows.Forms.Panel();
this.btnEULA = new System.Windows.Forms.Button();
this.btnOK = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
this.panel3.SuspendLayout();
this.panel4.SuspendLayout();
this.panel5.SuspendLayout();
this.panel6.SuspendLayout();
this.panel7.SuspendLayout();
this.SuspendLayout();
//
// logoPictureBox
//
this.logoPictureBox.Cursor = System.Windows.Forms.Cursors.Hand;
this.logoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
this.logoPictureBox.Image = global::ROEditor.Properties.Resources.Red_V_txt_NB_bur_1984;
this.logoPictureBox.Location = new System.Drawing.Point(0, 0);
this.logoPictureBox.Margin = new System.Windows.Forms.Padding(4);
this.logoPictureBox.Name = "logoPictureBox";
this.logoPictureBox.Size = new System.Drawing.Size(577, 174);
this.logoPictureBox.TabIndex = 25;
this.logoPictureBox.TabStop = false;
this.logoPictureBox.Click += new System.EventHandler(this.logoPictureBox_Click);
//
// labelProductName
//
this.labelProductName.Dock = System.Windows.Forms.DockStyle.Top;
this.labelProductName.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelProductName.Location = new System.Drawing.Point(0, 0);
this.labelProductName.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0);
this.labelProductName.MaximumSize = new System.Drawing.Size(0, 21);
this.labelProductName.Name = "labelProductName";
this.labelProductName.Size = new System.Drawing.Size(577, 21);
this.labelProductName.TabIndex = 19;
this.labelProductName.Text = "Referenced Object Editor";
this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelVersion
//
this.labelVersion.Dock = System.Windows.Forms.DockStyle.Top;
this.labelVersion.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelVersion.Location = new System.Drawing.Point(0, 0);
this.labelVersion.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0);
this.labelVersion.MaximumSize = new System.Drawing.Size(0, 21);
this.labelVersion.Name = "labelVersion";
this.labelVersion.Size = new System.Drawing.Size(577, 21);
this.labelVersion.TabIndex = 0;
this.labelVersion.Text = "Version 1 Beta Release";
this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelCopyright
//
this.labelCopyright.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelCopyright.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelCopyright.Location = new System.Drawing.Point(0, 0);
this.labelCopyright.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0);
this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 21);
this.labelCopyright.Name = "labelCopyright";
this.labelCopyright.Size = new System.Drawing.Size(577, 21);
this.labelCopyright.TabIndex = 21;
this.labelCopyright.Text = "Copyright 2008";
this.labelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelCompanyName
//
this.labelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill;
this.labelCompanyName.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelCompanyName.Location = new System.Drawing.Point(0, 0);
this.labelCompanyName.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0);
this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 21);
this.labelCompanyName.Name = "labelCompanyName";
this.labelCompanyName.Size = new System.Drawing.Size(577, 21);
this.labelCompanyName.TabIndex = 22;
this.labelCompanyName.TabStop = true;
this.labelCompanyName.Text = "Volian Enterprises Inc.";
this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.labelCompanyName.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.labelCompanyName_LinkClicked);
//
// textBoxDescription
//
this.textBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBoxDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxDescription.Location = new System.Drawing.Point(0, 0);
this.textBoxDescription.Margin = new System.Windows.Forms.Padding(8, 4, 4, 4);
this.textBoxDescription.Multiline = true;
this.textBoxDescription.Name = "textBoxDescription";
this.textBoxDescription.ReadOnly = true;
this.textBoxDescription.Size = new System.Drawing.Size(577, 119);
this.textBoxDescription.TabIndex = 23;
this.textBoxDescription.TabStop = false;
this.textBoxDescription.Text = "Thank you for choosing PROMS for your procedure maintenance solution.\r\n\r\nPROMS is" +
" protected under the copyright laws.\r\n\r\nPlease refer the the End User Licence Ag" +
"reement (EULA) for the terms of use.\r\n";
//
// panel1
//
this.panel1.Controls.Add(this.logoPictureBox);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(12, 11);
this.panel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(577, 174);
this.panel1.TabIndex = 26;
//
// panel2
//
this.panel2.Controls.Add(this.labelProductName);
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
this.panel2.Location = new System.Drawing.Point(12, 185);
this.panel2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(577, 31);
this.panel2.TabIndex = 27;
//
// panel3
//
this.panel3.Controls.Add(this.labelVersionDateTime);
this.panel3.Controls.Add(this.labelServer);
this.panel3.Controls.Add(this.labelDatabase);
this.panel3.Controls.Add(this.labelVersion);
this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
this.panel3.Location = new System.Drawing.Point(12, 216);
this.panel3.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(577, 82);
this.panel3.TabIndex = 28;
//
// labelVersionDateTime
//
this.labelVersionDateTime.Dock = System.Windows.Forms.DockStyle.Bottom;
this.labelVersionDateTime.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelVersionDateTime.Location = new System.Drawing.Point(0, 19);
this.labelVersionDateTime.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0);
this.labelVersionDateTime.MaximumSize = new System.Drawing.Size(0, 21);
this.labelVersionDateTime.Name = "labelVersionDateTime";
this.labelVersionDateTime.Size = new System.Drawing.Size(577, 21);
this.labelVersionDateTime.TabIndex = 1;
this.labelVersionDateTime.Text = "Version Date/Time";
this.labelVersionDateTime.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelServer
//
this.labelServer.Dock = System.Windows.Forms.DockStyle.Bottom;
this.labelServer.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelServer.Location = new System.Drawing.Point(0, 40);
this.labelServer.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0);
this.labelServer.MaximumSize = new System.Drawing.Size(0, 21);
this.labelServer.Name = "labelServer";
this.labelServer.Size = new System.Drawing.Size(577, 21);
this.labelServer.TabIndex = 3;
this.labelServer.Text = "SQL Server Name";
this.labelServer.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.labelServer.Visible = false;
//
// labelDatabase
//
this.labelDatabase.Dock = System.Windows.Forms.DockStyle.Bottom;
this.labelDatabase.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelDatabase.Location = new System.Drawing.Point(0, 61);
this.labelDatabase.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0);
this.labelDatabase.MaximumSize = new System.Drawing.Size(0, 21);
this.labelDatabase.Name = "labelDatabase";
this.labelDatabase.Size = new System.Drawing.Size(577, 21);
this.labelDatabase.TabIndex = 2;
this.labelDatabase.Text = "Database Name";
this.labelDatabase.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.labelDatabase.Visible = false;
//
// panel4
//
this.panel4.Controls.Add(this.labelCopyright);
this.panel4.Dock = System.Windows.Forms.DockStyle.Top;
this.panel4.Location = new System.Drawing.Point(12, 298);
this.panel4.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(577, 28);
this.panel4.TabIndex = 29;
//
// panel5
//
this.panel5.Controls.Add(this.labelCompanyName);
this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
this.panel5.Location = new System.Drawing.Point(12, 326);
this.panel5.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(577, 28);
this.panel5.TabIndex = 30;
//
// panel6
//
this.panel6.Controls.Add(this.textBoxDescription);
this.panel6.Dock = System.Windows.Forms.DockStyle.Top;
this.panel6.Location = new System.Drawing.Point(12, 354);
this.panel6.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel6.Name = "panel6";
this.panel6.Size = new System.Drawing.Size(577, 119);
this.panel6.TabIndex = 31;
//
// panel7
//
this.panel7.Controls.Add(this.btnEULA);
this.panel7.Controls.Add(this.btnOK);
this.panel7.Dock = System.Windows.Forms.DockStyle.Top;
this.panel7.Location = new System.Drawing.Point(12, 473);
this.panel7.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel7.Name = "panel7";
this.panel7.Size = new System.Drawing.Size(577, 47);
this.panel7.TabIndex = 32;
//
// btnEULA
//
this.btnEULA.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnEULA.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnEULA.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnEULA.Location = new System.Drawing.Point(309, 14);
this.btnEULA.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.btnEULA.Name = "btnEULA";
this.btnEULA.Size = new System.Drawing.Size(91, 30);
this.btnEULA.TabIndex = 27;
this.btnEULA.Text = "&View EULA";
this.btnEULA.Visible = false;
this.btnEULA.Click += new System.EventHandler(this.btnViewEULA_Click);
//
// btnOK
//
this.btnOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnOK.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnOK.Location = new System.Drawing.Point(499, 14);
this.btnOK.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(75, 30);
this.btnOK.TabIndex = 26;
this.btnOK.Text = "&OK";
//
// AboutROEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(601, 529);
this.Controls.Add(this.panel7);
this.Controls.Add(this.panel6);
this.Controls.Add(this.panel5);
this.Controls.Add(this.panel4);
this.Controls.Add(this.panel3);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Margin = new System.Windows.Forms.Padding(4);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "AboutROEditor";
this.Padding = new System.Windows.Forms.Padding(12, 11, 12, 11);
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "About Proms 2010";
((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit();
this.panel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel3.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.panel6.ResumeLayout(false);
this.panel6.PerformLayout();
this.panel7.ResumeLayout(false);
this.ResumeLayout(false);
}
//private void InitializeComponentORG()
//{
// System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutROEditor));
// this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
// this.logoPictureBox = new System.Windows.Forms.PictureBox();
// this.labelProductName = new System.Windows.Forms.Label();
// this.labelVersion = new System.Windows.Forms.Label();
// this.labelCopyright = new System.Windows.Forms.Label();
// this.labelCompanyName = new System.Windows.Forms.Label();
// this.textBoxDescription = new System.Windows.Forms.TextBox();
// this.okButton = new System.Windows.Forms.Button();
// this.tableLayoutPanel.SuspendLayout();
// ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
// this.SuspendLayout();
// //
// // tableLayoutPanel
// //
// this.tableLayoutPanel.ColumnCount = 2;
// this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33F));
// this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67F));
// this.tableLayoutPanel.Controls.Add(this.logoPictureBox, 0, 0);
// this.tableLayoutPanel.Controls.Add(this.labelProductName, 1, 0);
// this.tableLayoutPanel.Controls.Add(this.labelVersion, 1, 1);
// this.tableLayoutPanel.Controls.Add(this.labelCopyright, 1, 2);
// this.tableLayoutPanel.Controls.Add(this.labelCompanyName, 1, 3);
// this.tableLayoutPanel.Controls.Add(this.textBoxDescription, 1, 4);
// this.tableLayoutPanel.Controls.Add(this.okButton, 1, 5);
// this.tableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
// this.tableLayoutPanel.Location = new System.Drawing.Point(12, 11);
// this.tableLayoutPanel.Margin = new System.Windows.Forms.Padding(4);
// this.tableLayoutPanel.Name = "tableLayoutPanel";
// this.tableLayoutPanel.RowCount = 6;
// this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
// this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
// this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
// this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
// this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
// this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
// this.tableLayoutPanel.Size = new System.Drawing.Size(556, 326);
// this.tableLayoutPanel.TabIndex = 0;
// //
// // logoPictureBox
// //
// this.logoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
// this.logoPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("logoPictureBox.Image")));
// this.logoPictureBox.Location = new System.Drawing.Point(4, 4);
// this.logoPictureBox.Margin = new System.Windows.Forms.Padding(4);
// this.logoPictureBox.Name = "logoPictureBox";
// this.tableLayoutPanel.SetRowSpan(this.logoPictureBox, 6);
// this.logoPictureBox.Size = new System.Drawing.Size(175, 318);
// this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
// this.logoPictureBox.TabIndex = 12;
// this.logoPictureBox.TabStop = false;
// //
// // labelProductName
// //
// this.labelProductName.Dock = System.Windows.Forms.DockStyle.Fill;
// this.labelProductName.Location = new System.Drawing.Point(191, 0);
// this.labelProductName.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0);
// this.labelProductName.MaximumSize = new System.Drawing.Size(0, 21);
// this.labelProductName.Name = "labelProductName";
// this.labelProductName.Size = new System.Drawing.Size(361, 21);
// this.labelProductName.TabIndex = 19;
// this.labelProductName.Text = "Product Name";
// this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
// //
// // labelVersion
// //
// this.labelVersion.Dock = System.Windows.Forms.DockStyle.Fill;
// this.labelVersion.Location = new System.Drawing.Point(191, 32);
// this.labelVersion.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0);
// this.labelVersion.MaximumSize = new System.Drawing.Size(0, 21);
// this.labelVersion.Name = "labelVersion";
// this.labelVersion.Size = new System.Drawing.Size(361, 21);
// this.labelVersion.TabIndex = 0;
// this.labelVersion.Text = "Version";
// this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
// //
// // labelCopyright
// //
// this.labelCopyright.Dock = System.Windows.Forms.DockStyle.Fill;
// this.labelCopyright.Location = new System.Drawing.Point(191, 64);
// this.labelCopyright.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0);
// this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 21);
// this.labelCopyright.Name = "labelCopyright";
// this.labelCopyright.Size = new System.Drawing.Size(361, 21);
// this.labelCopyright.TabIndex = 21;
// this.labelCopyright.Text = "Copyright";
// this.labelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
// //
// // labelCompanyName
// //
// this.labelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill;
// this.labelCompanyName.Location = new System.Drawing.Point(191, 96);
// this.labelCompanyName.Margin = new System.Windows.Forms.Padding(8, 0, 4, 0);
// this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 21);
// this.labelCompanyName.Name = "labelCompanyName";
// this.labelCompanyName.Size = new System.Drawing.Size(361, 21);
// this.labelCompanyName.TabIndex = 22;
// this.labelCompanyName.Text = "Company Name";
// this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
// //
// // textBoxDescription
// //
// this.textBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill;
// this.textBoxDescription.Location = new System.Drawing.Point(191, 132);
// this.textBoxDescription.Margin = new System.Windows.Forms.Padding(8, 4, 4, 4);
// this.textBoxDescription.Multiline = true;
// this.textBoxDescription.Name = "textBoxDescription";
// this.textBoxDescription.ReadOnly = true;
// this.textBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both;
// this.textBoxDescription.Size = new System.Drawing.Size(361, 155);
// this.textBoxDescription.TabIndex = 23;
// this.textBoxDescription.TabStop = false;
// this.textBoxDescription.Text = "Description";
// //
// // okButton
// //
// this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
// this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
// this.okButton.Location = new System.Drawing.Point(452, 295);
// this.okButton.Margin = new System.Windows.Forms.Padding(4);
// this.okButton.Name = "okButton";
// this.okButton.Size = new System.Drawing.Size(100, 27);
// this.okButton.TabIndex = 24;
// this.okButton.Text = "&OK";
// //
// // AboutROEditor
// //
// this.AcceptButton = this.okButton;
// this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
// this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
// this.ClientSize = new System.Drawing.Size(580, 348);
// this.Controls.Add(this.tableLayoutPanel);
// this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
// this.Margin = new System.Windows.Forms.Padding(4);
// this.MaximizeBox = false;
// this.MinimizeBox = false;
// this.Name = "AboutROEditor";
// this.Padding = new System.Windows.Forms.Padding(12, 11, 12, 11);
// this.ShowIcon = false;
// this.ShowInTaskbar = false;
// this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
// this.Text = "AboutROEditor";
// this.tableLayoutPanel.ResumeLayout(false);
// this.tableLayoutPanel.PerformLayout();
// ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit();
// this.ResumeLayout(false);
//}
#endregion
//private System.Windows.Forms.TableLayoutPanel tableLayoutPanel;
//private System.Windows.Forms.PictureBox logoPictureBox;
//private System.Windows.Forms.Label labelProductName;
//private System.Windows.Forms.Label labelVersion;
//private System.Windows.Forms.Label labelCopyright;
//private System.Windows.Forms.Label labelCompanyName;
//private System.Windows.Forms.TextBox textBoxDescription;
//private System.Windows.Forms.Button okButton;
private System.Windows.Forms.Label labelProductName;
private System.Windows.Forms.Label labelVersion;
private System.Windows.Forms.Label labelCopyright;
private System.Windows.Forms.LinkLabel labelCompanyName;
private System.Windows.Forms.TextBox textBoxDescription;
private System.Windows.Forms.PictureBox logoPictureBox;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.Panel panel6;
private System.Windows.Forms.Panel panel7;
private System.Windows.Forms.Button btnOK;
private System.Windows.Forms.Button btnEULA;
private System.Windows.Forms.Label labelVersionDateTime;
private System.Windows.Forms.Label labelServer;
private System.Windows.Forms.Label labelDatabase;
}
}

View File

@@ -0,0 +1,166 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.Reflection;
namespace ROEditor
{
partial class AboutROEditor : Form
{
public AboutROEditor()
{
InitializeComponent();
// Initialize the AboutBox to display the product information from the assembly information.
// Change assembly information settings for your application through either:
// - Project->Properties->Application->Assembly Information
// - AssemblyInfo.cs
//this.Text = String.Format("About {0}", AssemblyTitle);
//this.labelProductName.Text = AssemblyProduct;
//this.labelVersion.Text = String.Format("Version {0}", AssemblyVersion);
//this.labelCopyright.Text = AssemblyCopyright;
//this.labelCompanyName.Text = AssemblyCompany;
//this.textBoxDescription.Text = AssemblyDescription;
// Initialize the AboutBox to display the product information from the assembly information.
// Change assembly information settings for your application through either:
// - Project->Properties->Application->Assembly Information
// - AssemblyInfo.cs
DateTime buildDateTime = new System.IO.FileInfo(Assembly.GetExecutingAssembly().Location).LastWriteTime;
// If the AssemblyConfiguration is "DEMO" then we are running a Demo version
string demoTxt = "";//VlnSettings.ReleaseMode.Equals("DEMO")?"(Demo)": "";
//string connectionString = Database.VEPROMS_Connection;
//Match mServer = Regex.Match(connectionString,".*Data Source=([^;]*).*");
//string server = (mServer.Success)?mServer.Groups[1].Value:"unknown";
//if (server.StartsWith(@".\")) server = @"Local \ " + server.Substring(2);
//string databaseName = Database.SelectedDatabase;
this.Text = String.Format("About {0}", AssemblyTitle + " " + demoTxt);
this.labelProductName.Text = AssemblyProduct;
this.labelVersion.Text = String.Format("Version {0}", (demoTxt.Equals(""))? AssemblyVersion : demoTxt);
this.labelVersionDateTime.Text = String.Format("Build Date: {0}", buildDateTime.ToString());
this.labelCopyright.Text = String.Format("Copyright <20> {0}. All Rights Reserved.", buildDateTime.Year.ToString());
this.labelCompanyName.Text = AssemblyCompany;
// this.textBoxDescription.Text = AssemblyDescription;
this.labelCompanyName.Links[0].LinkData = "Volian Enterprises Inc.";
this.labelCompanyName.Links.Add(0,23,"www.volian.com");
//this.labelServer.Text = string.Format("SQL Server: {0}", server);
//this.labelDatabase.Text = string.Format("Database: {0}", databaseName);
}
#region Assembly Attribute Accessors
public string AssemblyTitle
{
get
{
// Get all Title attributes on this assembly
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
// If there is at least one Title attribute
if (attributes.Length > 0)
{
// Select the first one
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
// If it is not an empty string, return it
if (titleAttribute.Title != "")
return titleAttribute.Title;
}
// If there was no Title attribute, or if the Title attribute was the empty string, return the .exe name
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}
public string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}
public string AssemblyDescription
{
get
{
// Get all Description attributes on this assembly
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
// If there aren't any Description attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Description attribute, return its value
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
}
}
public string AssemblyProduct
{
get
{
// Get all Product attributes on this assembly
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
// If there aren't any Product attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Product attribute, return its value
return ((AssemblyProductAttribute)attributes[0]).Product;
}
}
//public string AssemblyCopyright
//{
// get
// {
// // Get all Copyright attributes on this assembly
// object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
// // If there aren't any Copyright attributes, return an empty string
// if (attributes.Length == 0)
// return "";
// // If there is a Copyright attribute, return its value
// return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
// }
//}
public string AssemblyCompany
{
get
{
// Get all Company attributes on this assembly
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
// If there aren't any Company attributes, return an empty string
if (attributes.Length == 0)
return "";
// If there is a Company attribute, return its value
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
#endregion
private void labelCompanyName_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
// Determine which link was clicked within the LinkLabel.
this.labelCompanyName.Links[0].Visited = true;
// Display the appropriate link based on the value of the
// LinkData property of the Link object.
string target = e.Link.LinkData as string;
System.Diagnostics.Process.Start(target); // this should start the default web browser
}
private void logoPictureBox_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start(labelCompanyName.Links[0].LinkData as string); // this should start the default web browser
}
private void btnViewEULA_Click(object sender, EventArgs e)
{
//string EulaFile = string.Format(@"\{0}", VlnSettings.EULAfile);
//string strEULA = System.Environment.CurrentDirectory + EulaFile;
//frmViewTextFile ViewFile = new frmViewTextFile(strEULA,RichTextBoxStreamType.PlainText);
//ViewFile.Text = "End-User License Agreement";
//ViewFile.ShowDialog();
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
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">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,69 @@
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("RO Editor")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Volian Enterprises Inc.")]
[assembly: AssemblyProduct("Referenced Objects Editor")]
[assembly: AssemblyCopyright("2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build YYMM (two digit year, two digit month)
// Revision DHH (day - no leading zero, two digit hour - military time
//
[assembly: AssemblyVersion("1.0.1303.2513")]
[assembly: AssemblyFileVersion("1.0.1303.2513")]
//
// 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.
//

View File

@@ -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("")]

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

View File

@@ -0,0 +1,588 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: FieldCombFrm.cs $ $Revision: 12 $
* $Author: Kathy $ $Date: 5/21/03 12:45p $
*
* $History: FieldCombFrm.cs $
*
* ***************** Version 12 *****************
* User: Kathy Date: 5/21/03 Time: 12:45p
* Updated in $/EXE/RefObj/ROEditor
* B2003-041: edit field name not always set
*
* ***************** Version 11 *****************
* User: Kathy Date: 12/11/02 Time: 11:22a
* Updated in $/EXE/RefObj/ROEditor
* fixed - was always putting up Variable field, even if not defined
*
* ***************** Version 10 *****************
* User: Kathy Date: 12/10/02 Time: 2:25p
* Updated in $/EXE/RefObj/ROEditor
* fieldname special chars
*
* ***************** Version 9 *****************
* User: Kathy Date: 12/02/02 Time: 8:29a
* Updated in $/EXE/RefObj/ROEditor
* fieldname replace chars
*
* ***************** Version 8 *****************
* User: Kathy Date: 12/02/02 Time: 6:13a
* Updated in $/EXE/RefObj/ROEditor
* combo field fix
*
* ***************** Version 7 *****************
* User: Kathy Date: 10/15/02 Time: 2:17p
* Updated in $/EXE/RefObj/ROEditor
* wasn't finding variable text
*
* ***************** Version 6 *****************
* User: Kathy Date: 9/27/02 Time: 1:13p
* Updated in $/EXE/RefObj/ROEditor
* fix digit as first char in fieldname
*
* ***************** Version 5 *****************
* User: Kathy Date: 9/25/02 Time: 2:30p
* Updated in $/EXE/RefObj/ROEditor
* multitxt->variabletxt
*
* ***************** Version 4 *****************
* User: Kathy Date: 9/25/02 Time: 9:56a
* Updated in $/EXE/RefObj/ROEditor
* dev
*
* ***************** Version 3 *****************
* User: Kathy Date: 9/11/02 Time: 1:15p
* Updated in $/EXE/RefObj/ROEditor
* vlnxml
*
* ***************** Version 2 *****************
* User: Kathy Date: 9/05/02 Time: 12:41p
* Updated in $/EXE/RefObj/ROEditor
* dev
*
* ***************** Version 1 *****************
* User: Jsj Date: 8/23/02 Time: 3:33p
* Created in $/EXE/RefObj/ROEditor
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Schema;
using System.Text;
using ROFields;
using RODBInterface;
namespace ROEditor
{
/// <summary>
/// Summary description for FieldCombFrm.
/// </summary>
public class FieldCombFrm : System.Windows.Forms.Form
{
private System.Windows.Forms.Label lblFieldName;
private System.Windows.Forms.TextBox tbFieldName;
private System.Windows.Forms.GroupBox gbAlternatives;
private System.Windows.Forms.CheckBox cbSingleTxt;
private System.Windows.Forms.CheckBox cbVariableTxt;
private System.Windows.Forms.CheckBox cbTable;
private System.Windows.Forms.CheckBox cbXYPlot;
private System.Windows.Forms.Label lblW1;
private System.Windows.Forms.Label lblW2;
private System.Windows.Forms.Label lblW3;
private System.Windows.Forms.Label lblW4;
private System.Windows.Forms.TextBox tbSingleTxtWid;
private System.Windows.Forms.TextBox tbVariableTxtWid;
private System.Windows.Forms.TextBox tbTableWid;
private System.Windows.Forms.TextBox tbXYPlotWid;
private System.Windows.Forms.Button btnOK;
private System.Windows.Forms.Button btnCancel;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
private ROField myrof;
private RODB myrodb;
private VlnXmlElement myelem;
private string origname;
private int origFixedLength=0;
private int origVariableTxtLength = 0;
private int origTableLength = 0;
private int origXYPlotLength = 0;
private ArrayList avail_list;
private ArrayList inuse_list;
private uint editlevel;
private bool exists = false;
public FieldCombFrm(ROField rof, RODB rodb, VlnXmlElement elem, uint elevel, string oname, ArrayList alist, ArrayList ilist)
{
int idx;
string strlen;
string fielddef;
//
// Required for Windows Form Designer support
//
myrof = rof;
myrodb = rodb;
myelem = elem;
editlevel = elevel;
avail_list = alist;
inuse_list = ilist;
InitializeComponent();
this.tbFieldName.Text = rof.GetFieldname;
origname = oname;
if (rof.GetRecID != null) // it's new if it's null
{
exists = true;
string recid = rof.GetMasterRecID;
if (recid != null && recid != "")
fielddef = myrodb.RODB_GetSchemaPiece(recid,"ROMaster");
else
fielddef = myrodb.RODB_GetSchemaPiece(rof.GetRecID,myelem.GetAttribute("Table"));
// search for combination items included & their original length.
idx = fielddef.IndexOf("Fixed");
if (idx >= 0)
{
idx=fielddef.IndexOf("xsd:maxLength value=\"",idx);
strlen = fielddef.Substring(idx+21,2);
origFixedLength = System.Convert.ToInt32(strlen);
this.tbSingleTxtWid.Text = strlen;
this.cbSingleTxt.Checked = true;
}
else
this.cbSingleTxt.Checked = false;
idx = fielddef.IndexOf("type=\"Variable");
if (idx >= 0)
{
idx=fielddef.IndexOf("xsd:maxLength value=\"",idx);
strlen = fielddef.Substring(idx+21,2);
origVariableTxtLength = System.Convert.ToInt32(strlen);
this.tbVariableTxtWid.Text = strlen;
this.cbVariableTxt.Checked = true;
}
else
this.cbVariableTxt.Checked = false;
idx = fielddef.IndexOf("Table");
if (idx >= 0)
{
idx=fielddef.IndexOf("xsd:maxLength value=\"",idx);
strlen = fielddef.Substring(idx+21,2);
origTableLength = System.Convert.ToInt32(strlen);
this.tbTableWid.Text = strlen;
this.cbTable.Checked = true;
}
else
this.cbTable.Checked = false;
idx = fielddef.IndexOf("XYPlot");
if (idx >= 0)
{
idx=fielddef.IndexOf("xsd:maxLength value=\"",idx);
strlen = fielddef.Substring(idx+21,2);
origXYPlotLength = System.Convert.ToInt32(strlen);
this.tbXYPlotWid.Text = strlen;
this.cbXYPlot.Checked = true;
}
else
this.cbXYPlot.Checked = false;
}
}
/// <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()
{
this.lblFieldName = new System.Windows.Forms.Label();
this.tbFieldName = new System.Windows.Forms.TextBox();
this.gbAlternatives = new System.Windows.Forms.GroupBox();
this.tbXYPlotWid = new System.Windows.Forms.TextBox();
this.tbTableWid = new System.Windows.Forms.TextBox();
this.tbVariableTxtWid = new System.Windows.Forms.TextBox();
this.tbSingleTxtWid = new System.Windows.Forms.TextBox();
this.lblW4 = new System.Windows.Forms.Label();
this.lblW3 = new System.Windows.Forms.Label();
this.lblW2 = new System.Windows.Forms.Label();
this.lblW1 = new System.Windows.Forms.Label();
this.cbXYPlot = new System.Windows.Forms.CheckBox();
this.cbTable = new System.Windows.Forms.CheckBox();
this.cbVariableTxt = new System.Windows.Forms.CheckBox();
this.cbSingleTxt = new System.Windows.Forms.CheckBox();
this.btnOK = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.gbAlternatives.SuspendLayout();
this.SuspendLayout();
//
// lblFieldName
//
this.lblFieldName.Location = new System.Drawing.Point(16, 8);
this.lblFieldName.Name = "lblFieldName";
this.lblFieldName.Size = new System.Drawing.Size(72, 16);
this.lblFieldName.TabIndex = 0;
this.lblFieldName.Text = "Field Name:";
//
// tbFieldName
//
this.tbFieldName.Location = new System.Drawing.Point(96, 8);
this.tbFieldName.Name = "tbFieldName";
this.tbFieldName.Size = new System.Drawing.Size(384, 22);
this.tbFieldName.TabIndex = 1;
this.tbFieldName.Text = "";
//
// gbAlternatives
//
this.gbAlternatives.Controls.AddRange(new System.Windows.Forms.Control[] {
this.tbXYPlotWid,
this.tbTableWid,
this.tbVariableTxtWid,
this.tbSingleTxtWid,
this.lblW4,
this.lblW3,
this.lblW2,
this.lblW1,
this.cbXYPlot,
this.cbTable,
this.cbVariableTxt,
this.cbSingleTxt});
this.gbAlternatives.Location = new System.Drawing.Point(16, 48);
this.gbAlternatives.Name = "gbAlternatives";
this.gbAlternatives.Size = new System.Drawing.Size(464, 152);
this.gbAlternatives.TabIndex = 2;
this.gbAlternatives.TabStop = false;
this.gbAlternatives.Text = "Alternatives";
//
// tbXYPlotWid
//
this.tbXYPlotWid.Location = new System.Drawing.Point(320, 120);
this.tbXYPlotWid.Name = "tbXYPlotWid";
this.tbXYPlotWid.Size = new System.Drawing.Size(40, 22);
this.tbXYPlotWid.TabIndex = 11;
this.tbXYPlotWid.Text = "";
//
// tbTableWid
//
this.tbTableWid.Location = new System.Drawing.Point(320, 88);
this.tbTableWid.Name = "tbTableWid";
this.tbTableWid.Size = new System.Drawing.Size(40, 22);
this.tbTableWid.TabIndex = 10;
this.tbTableWid.Text = "";
//
// tbVariableTxtWid
//
this.tbVariableTxtWid.Location = new System.Drawing.Point(320, 56);
this.tbVariableTxtWid.Name = "tbVariableTxtWid";
this.tbVariableTxtWid.Size = new System.Drawing.Size(40, 22);
this.tbVariableTxtWid.TabIndex = 9;
this.tbVariableTxtWid.Text = "";
//
// tbSingleTxtWid
//
this.tbSingleTxtWid.Location = new System.Drawing.Point(320, 24);
this.tbSingleTxtWid.Name = "tbSingleTxtWid";
this.tbSingleTxtWid.Size = new System.Drawing.Size(40, 22);
this.tbSingleTxtWid.TabIndex = 8;
this.tbSingleTxtWid.Text = "";
//
// lblW4
//
this.lblW4.Location = new System.Drawing.Point(264, 120);
this.lblW4.Name = "lblW4";
this.lblW4.Size = new System.Drawing.Size(56, 16);
this.lblW4.TabIndex = 7;
this.lblW4.Text = "Width:";
//
// lblW3
//
this.lblW3.Location = new System.Drawing.Point(264, 96);
this.lblW3.Name = "lblW3";
this.lblW3.Size = new System.Drawing.Size(56, 16);
this.lblW3.TabIndex = 6;
this.lblW3.Text = "Width:";
//
// lblW2
//
this.lblW2.Location = new System.Drawing.Point(264, 64);
this.lblW2.Name = "lblW2";
this.lblW2.Size = new System.Drawing.Size(56, 16);
this.lblW2.TabIndex = 5;
this.lblW2.Text = "Width:";
//
// lblW1
//
this.lblW1.Location = new System.Drawing.Point(264, 32);
this.lblW1.Name = "lblW1";
this.lblW1.Size = new System.Drawing.Size(56, 16);
this.lblW1.TabIndex = 4;
this.lblW1.Text = "Width:";
//
// cbXYPlot
//
this.cbXYPlot.Location = new System.Drawing.Point(16, 120);
this.cbXYPlot.Name = "cbXYPlot";
this.cbXYPlot.Size = new System.Drawing.Size(144, 24);
this.cbXYPlot.TabIndex = 3;
this.cbXYPlot.Text = "X/Y Plot";
//
// cbTable
//
this.cbTable.Location = new System.Drawing.Point(16, 88);
this.cbTable.Name = "cbTable";
this.cbTable.Size = new System.Drawing.Size(144, 24);
this.cbTable.TabIndex = 2;
this.cbTable.Text = "Table";
//
// cbVariableTxt
//
this.cbVariableTxt.Location = new System.Drawing.Point(16, 56);
this.cbVariableTxt.Name = "cbVariableTxt";
this.cbVariableTxt.Size = new System.Drawing.Size(144, 24);
this.cbVariableTxt.TabIndex = 1;
this.cbVariableTxt.Text = "Variable Line Text";
//
// cbSingleTxt
//
this.cbSingleTxt.Location = new System.Drawing.Point(16, 24);
this.cbSingleTxt.Name = "cbSingleTxt";
this.cbSingleTxt.Size = new System.Drawing.Size(144, 24);
this.cbSingleTxt.TabIndex = 0;
this.cbSingleTxt.Text = "Single Line Text";
//
// btnOK
//
this.btnOK.Location = new System.Drawing.Point(264, 216);
this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(88, 24);
this.btnOK.TabIndex = 3;
this.btnOK.Text = "OK";
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Location = new System.Drawing.Point(392, 216);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(88, 24);
this.btnCancel.TabIndex = 4;
this.btnCancel.Text = "Cancel";
//
// FieldCombFrm
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
this.ClientSize = new System.Drawing.Size(504, 253);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.btnCancel,
this.btnOK,
this.gbAlternatives,
this.tbFieldName,
this.lblFieldName});
this.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.Name = "FieldCombFrm";
this.Text = "Combination Field Definition";
this.gbAlternatives.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private string CvtUserFldToFld(string fldname)
{
if (fldname.Length < 2)
return fldname;
// a digit cannot start an xml fieldname, prepend a "__" to it.
string tmp0;
if (char.IsDigit(fldname,0))
tmp0 = "__" + fldname;
else
tmp0 = fldname;
// an xml fieldname cannot have a space, change it to a "__"
string tmpstr = tmp0.Replace(" ","__");
int len = tmpstr.Length;
int cnt = 0;
// this is also our sequence that tells us the follow 3 digits is the ascii number (base 10)
// of the character we replaced.
string OKpunch = "-._";
string outstr = "";
int decval;
while (cnt < len)
{
char tmpchr = tmpstr[cnt];
if(!char.IsLetterOrDigit(tmpchr)&& (OKpunch.IndexOf(tmpchr) == -1) )
{
decval = tmpchr;
outstr += OKpunch + decval.ToString("D3");
}
else
{
outstr += tmpchr.ToString();
}
cnt++;
}
return outstr;
}
private bool CheckValidWidth(string wid)
{
long val;
try
{
// Attempt to convert to long, if it fails, there are problems in the text
val = System.Convert.ToInt64(wid);
}
catch
{
MessageBox.Show("The field width is not a valid number. Please re-enter");
return false;
}
return true;
}
private void btnOK_Click(object sender, System.EventArgs e)
{
string savschemapiece;
bool success=false;
// check for field validity
if (this.tbFieldName.Text == null)
{
MessageBox.Show("Cannot have empty field definition name.");
return;
}
if (this.cbSingleTxt.Checked == true && this.tbSingleTxtWid.Text == null)
{
MessageBox.Show("Cannot have empty width for Single Line Text");
return;
}
if (this.cbSingleTxt.Checked == true)
{
success=CheckValidWidth(this.tbSingleTxtWid.Text);
if (success == false) return;
}
if (this.cbVariableTxt.Checked == true && this.tbVariableTxtWid.Text == null)
{
MessageBox.Show("Cannot have empty width for Variable Length Text");
return;
}
if (this.cbVariableTxt.Checked == true)
{
success=CheckValidWidth(this.tbSingleTxtWid.Text);
if (success == false) return;
}
if (this.cbTable.Checked == true && this.tbTableWid.Text == null)
{
MessageBox.Show("Cannot have empty width for Table Text");
return;
}
if (this.cbTable.Checked == true)
{
success=CheckValidWidth(this.tbTableWid.Text);
if (success == false) return;
}
if (this.cbXYPlot.Checked == true && this.tbXYPlotWid.Text == null)
{
MessageBox.Show("Cannot have empty width for XYPlot Text");
return;
}
if (this.cbXYPlot.Checked == true)
{
success=CheckValidWidth(this.tbXYPlotWid.Text);
if (success == false) return;
}
// check that it is not duplicate name.
ROField rof;
for (int i=0; i< avail_list.Count; i++)
{
rof = (ROField) avail_list[i];
if (rof.GetFieldname == this.tbFieldName.Text && rof.GetRecID != myrof.GetRecID)
{
MessageBox.Show("The field name is not unique. Please re-enter");
return;
}
}
for (int i=0; i< inuse_list.Count; i++)
{
rof = (ROField) inuse_list[i];
if (rof.GetFieldname == this.tbFieldName.Text && rof.GetRecID != myrof.GetRecID)
{
MessageBox.Show("The field name is not unique. Please re-enter");
return;
}
}
// generate the new schema string based on text box input.
string fname=CvtUserFldToFld(this.tbFieldName.Text);
savschemapiece = myrof.MakeComboSchemaString(fname, this.cbSingleTxt.Checked,
this.tbSingleTxtWid.Text, this.cbVariableTxt.Checked, this.tbVariableTxtWid.Text,
this.cbTable.Checked, this.tbTableWid.Text, this.cbXYPlot.Checked, this.tbXYPlotWid.Text);
myrof.SetFieldname(fname);
// if this is 'new'. create a new element and do an insert to database
if (exists == false)
success = myrodb.RODB_NewFieldRecord(myrof, myelem, savschemapiece, editlevel, "a");
else // modification of existing...
success = myrodb.RODB_UpdateFieldRecord(myrof, myelem, savschemapiece, CvtUserFldToFld(origname), fname, editlevel, true);
// update the local/internal copy of the schema.
if (success != true)
{
return; // DO YET process an error.
}
else
{
// if this is a RRO schema, reload. We're not reloading the group schema
// because it is rarely used and is only loaded as needed.
if (editlevel == (uint) RecordType.Schema)
{
XmlSchema myschema;
VlnXmlElement parent;
parent = myelem;
while (parent != null)
{
if (parent.HasAttribute("Schema") == true) break;
if (parent.HasAttribute("FieldsInUse") == true) break;
parent = (VlnXmlElement) parent.ParentNode;
}
// if a schema has been read in, delete it and reread it.
if (parent.HasAttribute("Schema"))
{
// delete this attribute because we'll reread it in.
parent.RemoveAttribute("Schema");
myschema = myrodb.RODB_GetSchema(myelem);
}
}
}
this.Close();
}
}
}

View File

@@ -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>FieldCombFrm</value>
</data>
</root>

View File

@@ -0,0 +1,425 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: FieldTextFrm.cs $ $Revision: 12 $
* $Author: Kathy $ $Date: 7/15/04 11:11a $
*
* $History: FieldTextFrm.cs $
*
* ***************** Version 12 *****************
* User: Kathy Date: 7/15/04 Time: 11:11a
* Updated in $/EXE/RefObj/ROEditor
* Fix B2004-015
*
* ***************** Version 11 *****************
* User: Kathy Date: 12/09/03 Time: 9:29a
* Updated in $/EXE/RefObj/ROEditor
* B2003-066 fix - add new fieldname crash
*
* ***************** Version 10 *****************
* User: Kathy Date: 5/21/03 Time: 12:46p
* Updated in $/EXE/RefObj/ROEditor
* B2003-041: edit of field name didn't always save
*
* ***************** Version 9 *****************
* User: Kathy Date: 12/10/02 Time: 2:25p
* Updated in $/EXE/RefObj/ROEditor
* fieldname special chars
*
* ***************** Version 8 *****************
* User: Kathy Date: 12/02/02 Time: 8:29a
* Updated in $/EXE/RefObj/ROEditor
* fieldname replace chars
*
* ***************** Version 7 *****************
* User: Kathy Date: 12/02/02 Time: 6:13a
* Updated in $/EXE/RefObj/ROEditor
* added arg on db call
*
* ***************** Version 6 *****************
* User: Kathy Date: 11/19/02 Time: 11:31a
* Updated in $/EXE/RefObj/ROEditor
* add wait cursor for long op
*
* ***************** Version 5 *****************
* User: Kathy Date: 9/27/02 Time: 1:13p
* Updated in $/EXE/RefObj/ROEditor
* fix digit as first char in fieldname
*
* ***************** Version 4 *****************
* User: Kathy Date: 9/25/02 Time: 9:56a
* Updated in $/EXE/RefObj/ROEditor
* dev
*
* ***************** Version 3 *****************
* User: Kathy Date: 9/11/02 Time: 1:15p
* Updated in $/EXE/RefObj/ROEditor
* vlnxml
*
* ***************** Version 2 *****************
* User: Kathy Date: 9/05/02 Time: 12:41p
* Updated in $/EXE/RefObj/ROEditor
* dev
*
* ***************** Version 1 *****************
* User: Jsj Date: 8/23/02 Time: 3:33p
* Created in $/EXE/RefObj/ROEditor
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Schema;
using System.Text;
using ROFields;
using RODBInterface;
namespace ROEditor
{
/// <summary>
/// Summary description for FieldText.
/// </summary>
public class FieldTextFrm : System.Windows.Forms.Form
{
private System.Windows.Forms.Label lblFName;
private System.Windows.Forms.Label lblWidth;
private System.Windows.Forms.TextBox tbFieldName;
private System.Windows.Forms.TextBox tbWidth;
private System.Windows.Forms.Button btnOK;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.Label lblPattern;
private System.Windows.Forms.TextBox tbPattern;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
private ROField myrof;
private RODB myrodb;
private VlnXmlElement myelem;
private string schemapiece;
private string origname;
private bool exists=false;
private uint original_type;
private uint editlevel;
private ArrayList avail_list;
private ArrayList inuse_list;
public FieldTextFrm(ROField rof, RODB rodb, VlnXmlElement elem, uint otype, uint elevel, string oname, ArrayList alist, ArrayList ilist)
{
//
// Required for Windows Form Designer support
//
myrodb = rodb;
myelem = elem;
myrof = rof;
original_type = otype;
editlevel = elevel;
avail_list = alist;
inuse_list = ilist;
uint ftype = rof.GetFieldType;
// origname is the original name if this is a modification of a fieldname
// if it's new, it will be null
if(oname!=null)origname=CvtUserFldToFld(oname);
InitializeComponent();
if (ftype == (uint)FieldTypes.FrmtSingleTxt)
{
this.tbPattern.Visible = true;
this.lblPattern.Visible = true;
}
else
{
this.tbPattern.Visible = false;
this.lblPattern.Visible = false;
}
// put name out. and if it's an existing field get current data to
// put out.
this.tbFieldName.Text = rof.GetFieldname;
if (rof.GetRecID != null)
{
exists = true;
if (rof.GetMasterRecID != null)
// get it from the master, else read in the definition from
// the local table
schemapiece = myrodb.RODB_GetSchemaPiece(rof.GetMasterRecID,"ROMaster");
else
schemapiece = myrodb.RODB_GetSchemaPiece(rof.GetRecID,myelem.GetAttribute("Table"));
int indxs = schemapiece.IndexOf("maxLength value=");
int indxe = schemapiece.IndexOf("\"",indxs+17); // +17, get past maxLength value ="
this.tbWidth.Text = schemapiece.Substring(indxs+17,indxe-(indxs+17));
// get pattern too.
if (ftype == (uint)FieldTypes.FrmtSingleTxt)
{
indxs = schemapiece.IndexOf("pattern value=");
indxe = schemapiece.IndexOf("\"",indxs+15);
this.tbPattern.Text = schemapiece.Substring(indxs+15,indxe-(indxs+15));
}
}
}
private string CvtUserFldToFld(string fldname)
{
if (fldname.Length < 2)
return fldname;
// a digit cannot start an xml fieldname, prepend a "__" to it.
string tmp0;
if (char.IsDigit(fldname,0))
tmp0 = "__" + fldname;
else
tmp0 = fldname;
// an xml fieldname cannot have a space, change it to a "__"
string tmpstr = tmp0.Replace(" ","__");
int len = tmpstr.Length;
int cnt = 0;
// this is also our sequence that tells us the follow 3 digits is the ascii number (base 10)
// of the character we replaced.
string OKpunch = "-._";
string outstr = "";
int decval;
while (cnt < len)
{
char tmpchr = tmpstr[cnt];
if(!char.IsLetterOrDigit(tmpchr)&& (OKpunch.IndexOf(tmpchr) == -1) )
{
decval = tmpchr;
outstr += OKpunch + decval.ToString("D3");
}
else
{
outstr += tmpchr.ToString();
}
cnt++;
}
return outstr;
}
private bool CheckValidWidth(string wid)
{
long val;
try {
// Attempt to convert to long, if it fails, there are problems in the text
val = System.Convert.ToInt64(wid);
}
catch {
MessageBox.Show("The field width is not a valid number. Please re-enter");
return false;
}
return true;
}
private void btnOK_Click(object sender, System.EventArgs e)
{
string savschemapiece;
bool success=false;
// check for field validity
if (this.tbFieldName.Text == null || this.tbWidth.Text == null)
{
MessageBox.Show("Cannot have empty field defintion name or width");
return;
}
success=CheckValidWidth(this.tbWidth.Text);
if (success == false) return;
// check that it is not duplicate name.
ROField rof;
for (int i=0; i< avail_list.Count; i++)
{
rof = (ROField) avail_list[i];
if (rof.GetFieldname == this.tbFieldName.Text && rof.GetRecID != myrof.GetRecID)
{
MessageBox.Show("The field name is not unique. Please re-enter");
return;
}
}
for (int i=0; i< inuse_list.Count; i++)
{
rof = (ROField) inuse_list[i];
if (rof.GetFieldname == this.tbFieldName.Text && rof.GetRecID != myrof.GetRecID)
{
MessageBox.Show("The field name is not unique. Please re-enter");
return;
}
}
// generate the new schema string based on text box input.
string fname=CvtUserFldToFld(this.tbFieldName.Text);
savschemapiece = myrof.MakeSchemaString(fname, this.tbWidth.Text, this.tbPattern.Text);
myrof.SetFieldname(fname);
// if this is 'new'. create a new element and do an insert to Master database
if (exists == false)
success = myrodb.RODB_NewFieldRecord(myrof, myelem, savschemapiece, editlevel, null);
else // modification of existing....
{
Cursor.Current = Cursors.WaitCursor;
success = myrodb.RODB_UpdateFieldRecord(myrof, myelem, savschemapiece, origname, fname, editlevel, false);
Cursor.Current = Cursors.Default;
}
if (success != true)
{
return; // DO YET process an error.
}
else
{
// if this is a RRO schema, reload. We're not reloading the group schema
// because it is rarely used and is only loaded as needed.
if (editlevel == (uint) RecordType.Schema)
{
XmlSchema myschema;
VlnXmlElement parent;
parent = myelem;
while (parent != null)
{
if (parent.HasAttribute("Schema") == true) break;
if (parent.HasAttribute("FieldsInUse") == true) break;
// If loop to top, fields haven't been defined yet, don't
// crash on caste - just set to return null (B2004-015)
if (parent.ParentNode is VlnXmlElement)
parent = (VlnXmlElement) parent.ParentNode;
else
parent = null;
}
// if a schema has been read in, delete it and reread it.
if (parent !=null && parent.HasAttribute("Schema"))
{
// delete this attribute because we'll reread it in.
parent.RemoveAttribute("Schema");
myschema = myrodb.RODB_GetSchema(myelem);
}
}
}
this.Close();
}
/// <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()
{
this.lblFName = new System.Windows.Forms.Label();
this.lblWidth = new System.Windows.Forms.Label();
this.tbFieldName = new System.Windows.Forms.TextBox();
this.tbWidth = new System.Windows.Forms.TextBox();
this.btnOK = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.lblPattern = new System.Windows.Forms.Label();
this.tbPattern = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// lblFName
//
this.lblFName.Location = new System.Drawing.Point(16, 16);
this.lblFName.Name = "lblFName";
this.lblFName.Size = new System.Drawing.Size(80, 16);
this.lblFName.TabIndex = 0;
this.lblFName.Text = "Field Name:";
//
// lblWidth
//
this.lblWidth.Location = new System.Drawing.Point(16, 40);
this.lblWidth.Name = "lblWidth";
this.lblWidth.Size = new System.Drawing.Size(72, 16);
this.lblWidth.TabIndex = 1;
this.lblWidth.Text = "Width:";
//
// tbFieldName
//
this.tbFieldName.Location = new System.Drawing.Point(104, 8);
this.tbFieldName.Name = "tbFieldName";
this.tbFieldName.Size = new System.Drawing.Size(320, 22);
this.tbFieldName.TabIndex = 2;
this.tbFieldName.Text = "";
//
// tbWidth
//
this.tbWidth.Location = new System.Drawing.Point(104, 40);
this.tbWidth.Name = "tbWidth";
this.tbWidth.Size = new System.Drawing.Size(32, 22);
this.tbWidth.TabIndex = 3;
this.tbWidth.Text = "";
//
// btnOK
//
this.btnOK.Location = new System.Drawing.Point(216, 72);
this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(88, 24);
this.btnOK.TabIndex = 4;
this.btnOK.Text = "OK";
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Location = new System.Drawing.Point(336, 72);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(88, 24);
this.btnCancel.TabIndex = 5;
this.btnCancel.Text = "Cancel";
//
// lblPattern
//
this.lblPattern.Location = new System.Drawing.Point(160, 40);
this.lblPattern.Name = "lblPattern";
this.lblPattern.Size = new System.Drawing.Size(48, 16);
this.lblPattern.TabIndex = 6;
this.lblPattern.Text = "Pattern:";
this.lblPattern.Visible = false;
//
// tbPattern
//
this.tbPattern.Location = new System.Drawing.Point(224, 40);
this.tbPattern.Name = "tbPattern";
this.tbPattern.Size = new System.Drawing.Size(176, 22);
this.tbPattern.TabIndex = 7;
this.tbPattern.Text = "";
this.tbPattern.Visible = false;
//
// FieldTextFrm
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
this.ClientSize = new System.Drawing.Size(464, 101);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.tbPattern,
this.lblPattern,
this.btnCancel,
this.btnOK,
this.tbWidth,
this.tbFieldName,
this.lblWidth,
this.lblFName});
this.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.Name = "FieldTextFrm";
this.Text = "Text Field Definition";
this.ResumeLayout(false);
}
#endregion
}
}

View File

@@ -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>FieldTextFrm</value>
</data>
</root>

View File

@@ -0,0 +1,435 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: FieldTypeDefFrm.cs $ $Revision: 11 $
* $Author: Kathy $ $Date: 5/21/03 12:49p $
*
* $History: FieldTypeDefFrm.cs $
*
* ***************** Version 11 *****************
* User: Kathy Date: 5/21/03 Time: 12:49p
* Updated in $/EXE/RefObj/ROEditor
* B2003-041: edit of fieldname didn't always save
*
* ***************** Version 10 *****************
* User: Kathy Date: 12/10/02 Time: 2:25p
* Updated in $/EXE/RefObj/ROEditor
* fieldname special chars
*
* ***************** Version 9 *****************
* User: Kathy Date: 12/02/02 Time: 8:29a
* Updated in $/EXE/RefObj/ROEditor
* fieldname replace chars
*
* ***************** Version 8 *****************
* User: Kathy Date: 12/02/02 Time: 6:17a
* Updated in $/EXE/RefObj/ROEditor
* added arg and close form
*
* ***************** Version 7 *****************
* User: Kathy Date: 9/27/02 Time: 1:13p
* Updated in $/EXE/RefObj/ROEditor
* fix digit as first char in fieldname
*
* ***************** Version 6 *****************
* User: Kathy Date: 9/25/02 Time: 2:30p
* Updated in $/EXE/RefObj/ROEditor
* multitxt->variable
*
* ***************** Version 5 *****************
* User: Kathy Date: 9/25/02 Time: 9:56a
* Updated in $/EXE/RefObj/ROEditor
* dev
*
* ***************** Version 4 *****************
* User: Kathy Date: 9/11/02 Time: 1:15p
* Updated in $/EXE/RefObj/ROEditor
* vlnxml
*
* ***************** Version 3 *****************
* User: Kathy Date: 9/05/02 Time: 12:41p
* Updated in $/EXE/RefObj/ROEditor
* dev
*
* ***************** Version 2 *****************
* User: Kathy Date: 8/30/02 Time: 9:43a
* Updated in $/EXE/RefObj/ROEditor
* image def
*
* ***************** Version 1 *****************
* User: Jsj Date: 8/23/02 Time: 3:34p
* Created in $/EXE/RefObj/ROEditor
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Xml;
using System.Text;
using RODBInterface;
using ROFields;
namespace ROEditor
{
/// <summary>
/// Summary description for FieldType.
/// </summary>
///
public class FieldTypeDefFrm : System.Windows.Forms.Form
{
private System.Windows.Forms.Label lblFldName;
private System.Windows.Forms.TextBox tbFieldName;
private System.Windows.Forms.GroupBox gbFldType;
private System.Windows.Forms.RadioButton rbSingleLine;
private System.Windows.Forms.RadioButton rbFormSingleLine;
private System.Windows.Forms.RadioButton rbVariableTxt;
private System.Windows.Forms.RadioButton rbTable;
private System.Windows.Forms.RadioButton rbXYPlot;
private System.Windows.Forms.RadioButton rbImage;
private System.Windows.Forms.RadioButton rbCombination;
private System.Windows.Forms.RadioButton rbMultiple;
private System.Windows.Forms.Button btnContinue;
private System.Windows.Forms.Button btnCancel;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
private ROField myrof;
private RODB myrodb;
private VlnXmlElement myelem;
private uint original_type=0;
private string origname;
private uint editlevel;
private ArrayList avlist; // available list from rodef form
private ArrayList iulist; // inuse list from rodef form
public FieldTypeDefFrm(ROField rof, RODB rodb, VlnXmlElement elem, uint elevel, ArrayList alist, ArrayList ilist)
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
myrof = rof;
myrodb = rodb;
myelem = elem;
editlevel = elevel;
avlist = alist;
iulist = ilist;
origname = null;
if (rof.GetFieldname != null) // initialize some values.
{
origname = CvtUserFldToFld(rof.GetFieldname);
original_type = rof.GetFieldType;
uint ftype = rof.GetFieldType;
this.tbFieldName.Text = rof.GetFieldname;
// disable image, because it's only enabled for image type.
this.rbImage.Enabled = false;
if (ftype == (uint)FieldTypes.Combination)
this.rbCombination.Checked = true;
else if (ftype == (uint)FieldTypes.FrmtSingleTxt)
this.rbFormSingleLine.Checked = true;
else if (ftype == (uint)FieldTypes.Image)
{
this.rbImage.Enabled = true;
this.rbImage.Checked = true;
// for image - you can't change it's type.
this.rbCombination.Enabled = false;
this.rbFormSingleLine.Enabled = false;
this.rbVariableTxt.Enabled = false;
this.rbSingleLine.Enabled = false;
this.rbTable.Enabled = false;
this.rbXYPlot.Enabled = false;
}
else if (ftype == (uint)FieldTypes.VariableTxt)
this.rbVariableTxt.Checked = true;
else if (ftype == (uint)FieldTypes.SingleTxt)
this.rbSingleLine.Checked = true;
else if (ftype == (uint)FieldTypes.Table)
this.rbTable.Checked = true;
else if (ftype == (uint)FieldTypes.XYPlot)
this.rbXYPlot.Checked = true;
else
return;
}
}
private string CvtUserFldToFld(string fldname)
{
if (fldname.Length < 2)
return fldname;
// a digit cannot start an xml fieldname, prepend a "__" to it.
string tmp0;
if (char.IsDigit(fldname,0))
tmp0 = "__" + fldname;
else
tmp0 = fldname;
// an xml fieldname cannot have a space, change it to a "__"
string tmpstr = tmp0.Replace(" ","__");
int len = tmpstr.Length;
int cnt = 0;
// this is also our sequence that tells us the follow 3 digits is the ascii number (base 10)
// of the character we replaced.
string OKpunch = "-._";
string outstr = "";
int decval;
while (cnt < len)
{
char tmpchr = tmpstr[cnt];
if(!char.IsLetterOrDigit(tmpchr)&& (OKpunch.IndexOf(tmpchr) == -1) )
{
decval = tmpchr;
outstr += OKpunch + decval.ToString("D3");
}
else
{
outstr += tmpchr.ToString();
}
cnt++;
}
return outstr;
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
private void btnContinue_Click(object sender, System.EventArgs e)
{
if (this.tbFieldName.Text == "")
{
MessageBox.Show("Cannot have empty field name.");
return;
}
myrof.SetFieldname(this.tbFieldName.Text);
uint ftype=0;
if (this.rbSingleLine.Checked == true)
ftype = (uint)FieldTypes.SingleTxt;
else if (this.rbFormSingleLine.Checked == true)
ftype = (uint)FieldTypes.FrmtSingleTxt;
else if (this.rbVariableTxt.Checked == true)
ftype = (uint)FieldTypes.VariableTxt;
else if (this.rbTable.Checked == true)
ftype = (uint)FieldTypes.Table;
else if (this.rbXYPlot.Checked == true)
ftype = (uint)FieldTypes.XYPlot;
else if (this.rbImage.Checked == true)
{
bool success;
string savschemapiece;
string fname=CvtUserFldToFld(this.tbFieldName.Text);
myrof.SetFieldType((uint)FieldTypes.Image);
myrof.SetFieldname(fname);
savschemapiece = myrof.MakeImageSchemaString(this.tbFieldName.Text);
if (original_type == (uint)FieldTypes.Nil) // new one.
success = myrodb.RODB_NewFieldRecord(myrof, myelem, savschemapiece, editlevel, null);
else // modification of existing....
success = myrodb.RODB_UpdateFieldRecord(myrof, myelem, savschemapiece, origname, fname, editlevel, false);
if (success != true)
{
return; // DO YET process an error.
}
return;
}
else if (this.rbCombination.Checked == true)
{
ftype = (uint)FieldTypes.Combination;
myrof.SetFieldType(ftype);
FieldCombFrm comb = new FieldCombFrm(myrof, myrodb, myelem, editlevel, origname, avlist, iulist);
comb.ShowDialog();
if (comb.DialogResult == DialogResult.OK)
{
}
return;
}
else
{
MessageBox.Show("Must define a field type.");
return;
}
myrof.SetFieldType(ftype);
FieldTextFrm ftxt = new FieldTextFrm(myrof, myrodb, myelem, original_type, editlevel, origname, avlist, iulist);
ftxt.ShowDialog();
this.Close();
}
#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()
{
this.lblFldName = new System.Windows.Forms.Label();
this.tbFieldName = new System.Windows.Forms.TextBox();
this.gbFldType = new System.Windows.Forms.GroupBox();
this.rbMultiple = new System.Windows.Forms.RadioButton();
this.rbCombination = new System.Windows.Forms.RadioButton();
this.rbImage = new System.Windows.Forms.RadioButton();
this.rbXYPlot = new System.Windows.Forms.RadioButton();
this.rbTable = new System.Windows.Forms.RadioButton();
this.rbVariableTxt = new System.Windows.Forms.RadioButton();
this.rbFormSingleLine = new System.Windows.Forms.RadioButton();
this.rbSingleLine = new System.Windows.Forms.RadioButton();
this.btnContinue = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.gbFldType.SuspendLayout();
this.SuspendLayout();
//
// lblFldName
//
this.lblFldName.Location = new System.Drawing.Point(16, 8);
this.lblFldName.Name = "lblFldName";
this.lblFldName.Size = new System.Drawing.Size(88, 16);
this.lblFldName.TabIndex = 0;
this.lblFldName.Text = "Field Name:";
//
// tbFieldName
//
this.tbFieldName.Location = new System.Drawing.Point(120, 8);
this.tbFieldName.Name = "tbFieldName";
this.tbFieldName.Size = new System.Drawing.Size(368, 22);
this.tbFieldName.TabIndex = 1;
this.tbFieldName.Text = "";
//
// gbFldType
//
this.gbFldType.Controls.AddRange(new System.Windows.Forms.Control[] {
this.rbMultiple,
this.rbCombination,
this.rbImage,
this.rbXYPlot,
this.rbTable,
this.rbVariableTxt,
this.rbFormSingleLine,
this.rbSingleLine});
this.gbFldType.Location = new System.Drawing.Point(24, 40);
this.gbFldType.Name = "gbFldType";
this.gbFldType.Size = new System.Drawing.Size(464, 120);
this.gbFldType.TabIndex = 2;
this.gbFldType.TabStop = false;
this.gbFldType.Text = "Field Type";
//
// rbMultiple
//
this.rbMultiple.Enabled = false;
this.rbMultiple.Location = new System.Drawing.Point(248, 96);
this.rbMultiple.Name = "rbMultiple";
this.rbMultiple.Size = new System.Drawing.Size(128, 16);
this.rbMultiple.TabIndex = 7;
this.rbMultiple.Text = "Multiple Field";
//
// rbCombination
//
this.rbCombination.Location = new System.Drawing.Point(248, 72);
this.rbCombination.Name = "rbCombination";
this.rbCombination.Size = new System.Drawing.Size(128, 16);
this.rbCombination.TabIndex = 6;
this.rbCombination.Text = "Combination Field";
//
// rbImage
//
this.rbImage.Location = new System.Drawing.Point(248, 48);
this.rbImage.Name = "rbImage";
this.rbImage.Size = new System.Drawing.Size(128, 16);
this.rbImage.TabIndex = 5;
this.rbImage.Text = "Image";
//
// rbXYPlot
//
this.rbXYPlot.Location = new System.Drawing.Point(248, 24);
this.rbXYPlot.Name = "rbXYPlot";
this.rbXYPlot.Size = new System.Drawing.Size(128, 16);
this.rbXYPlot.TabIndex = 4;
this.rbXYPlot.Text = "X/Y Plot";
//
// rbTable
//
this.rbTable.Location = new System.Drawing.Point(24, 96);
this.rbTable.Name = "rbTable";
this.rbTable.Size = new System.Drawing.Size(128, 16);
this.rbTable.TabIndex = 3;
this.rbTable.Text = "Table";
//
// rbVariableTxt
//
this.rbVariableTxt.Location = new System.Drawing.Point(24, 72);
this.rbVariableTxt.Name = "rbVariableTxt";
this.rbVariableTxt.Size = new System.Drawing.Size(160, 16);
this.rbVariableTxt.TabIndex = 2;
this.rbVariableTxt.Text = "Variable Length Text";
//
// rbFormSingleLine
//
this.rbFormSingleLine.Location = new System.Drawing.Point(24, 48);
this.rbFormSingleLine.Name = "rbFormSingleLine";
this.rbFormSingleLine.Size = new System.Drawing.Size(184, 16);
this.rbFormSingleLine.TabIndex = 1;
this.rbFormSingleLine.Text = "Formatted Single Line Text";
//
// rbSingleLine
//
this.rbSingleLine.Location = new System.Drawing.Point(24, 24);
this.rbSingleLine.Name = "rbSingleLine";
this.rbSingleLine.Size = new System.Drawing.Size(128, 16);
this.rbSingleLine.TabIndex = 0;
this.rbSingleLine.Text = "Single Line Text";
//
// btnContinue
//
this.btnContinue.Location = new System.Drawing.Point(248, 176);
this.btnContinue.Name = "btnContinue";
this.btnContinue.Size = new System.Drawing.Size(104, 24);
this.btnContinue.TabIndex = 3;
this.btnContinue.Text = "Continue ...";
this.btnContinue.Click += new System.EventHandler(this.btnContinue_Click);
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Location = new System.Drawing.Point(384, 176);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(104, 24);
this.btnCancel.TabIndex = 4;
this.btnCancel.Text = "Cancel";
//
// FieldTypeDefFrm
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
this.ClientSize = new System.Drawing.Size(512, 221);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.btnCancel,
this.btnContinue,
this.gbFldType,
this.tbFieldName,
this.lblFldName});
this.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.Name = "FieldTypeDefFrm";
this.Text = " Field Type Selection";
this.gbFldType.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
}
}

View File

@@ -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>FieldTypeDefFrm</value>
</data>
</root>

View File

@@ -0,0 +1,4 @@
PUSHD ..\..\..\ReferencedObjects\Exe\RefObj\ROEditor"
"..\..\..\..\AdjustBuildRevision\bin\Debug\AdjustBuildRevision" "%CD%\AssemblyInfo.cs"
POPD
pause

View File

@@ -0,0 +1,667 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: GroupDefFrm.cs $ $Revision: 17 $
* $Author: Jsj $ $Date: 7/02/03 9:25a $
*
* $History: GroupDefFrm.cs $
*
* ***************** Version 17 *****************
* User: Jsj Date: 7/02/03 Time: 9:25a
* Updated in $/EXE/RefObj/ROEditor
* made messagebox calls modal by removing the parent window reference
*
* ***************** Version 16 *****************
* User: Kathy Date: 5/21/03 Time: 12:50p
* Updated in $/EXE/RefObj/ROEditor
* B2003-034: process if only one field. Also, check for all data on okay
* button select.
*
* ***************** Version 15 *****************
* User: Kathy Date: 5/07/03 Time: 1:58p
* Updated in $/EXE/RefObj/ROEditor
* B2003-033 fixed
*
* ***************** Version 14 *****************
* User: Jsj Date: 4/14/03 Time: 3:01p
* Updated in $/EXE/RefObj/ROEditor
* changes resulting from speeding up RO FST file creation
*
* ***************** Version 13 *****************
* User: Kathy Date: 3/11/03 Time: 11:25a
* Updated in $/EXE/RefObj/ROEditor
* allow extra text on accpageid template
*
* ***************** Version 12 *****************
* User: Kathy Date: 12/10/02 Time: 2:26p
* Updated in $/EXE/RefObj/ROEditor
* fieldname special char
*
* ***************** Version 11 *****************
* User: Kathy Date: 12/02/02 Time: 8:29a
* Updated in $/EXE/RefObj/ROEditor
* fieldname replace chars
*
* ***************** Version 10 *****************
* User: Kathy Date: 12/02/02 Time: 6:18a
* Updated in $/EXE/RefObj/ROEditor
* added status on long ops & check for fieldname change for textbox
*
* ***************** Version 9 *****************
* User: Kathy Date: 10/15/02 Time: 2:18p
* Updated in $/EXE/RefObj/ROEditor
* mods for new group (toplevel)
*
* ***************** Version 8 *****************
* User: Kathy Date: 10/10/02 Time: 10:02a
* Updated in $/EXE/RefObj/ROEditor
* accessory page id
*
* ***************** Version 7 *****************
* User: Kathy Date: 10/02/02 Time: 1:40p
* Updated in $/EXE/RefObj/ROEditor
* clean up
*
* ***************** Version 6 *****************
* User: Kathy Date: 9/27/02 Time: 1:14p
* Updated in $/EXE/RefObj/ROEditor
* fix digit as first char in fieldname
*
* ***************** Version 5 *****************
* User: Kathy Date: 9/25/02 Time: 9:57a
* Updated in $/EXE/RefObj/ROEditor
* dev
*
* ***************** Version 4 *****************
* User: Kathy Date: 9/19/02 Time: 10:03a
* Updated in $/EXE/RefObj/ROEditor
* only allow mods at root
*
* ***************** Version 3 *****************
* User: Kathy Date: 9/11/02 Time: 1:15p
* Updated in $/EXE/RefObj/ROEditor
* vlnxml
*
* ***************** Version 2 *****************
* User: Kathy Date: 8/28/02 Time: 10:56a
* Updated in $/EXE/RefObj/ROEditor
* development
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Xml;
using System.Text;
using RODBInterface;
using ROFields;
using VlnStatus;
namespace ROEditor
{
/// <summary>
/// Summary description for GroupDefinition.
/// </summary>
public class GroupDefFrm : System.Windows.Forms.Form
{
private System.Windows.Forms.Label lblGroup;
private System.Windows.Forms.TextBox tbGroup;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label lblPrefix;
private System.Windows.Forms.Label lblValue;
private System.Windows.Forms.TextBox tbPrefix;
private System.Windows.Forms.TextBox tbValue;
private System.Windows.Forms.Button btnRODef;
private System.Windows.Forms.Button btnSubDef;
private System.Windows.Forms.Button btnOK;
private System.Windows.Forms.Button btnCancel;
private RODB myrodb;
private VlnXmlElement elem;
private string origGroup;
private string origPrefix;
private string origValue;
private int dbtype;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public GroupDefFrm(VlnXmlElement pelem, RODB rodb, string gpname,int idbtype)
{
myrodb = rodb;
elem = pelem;
origGroup = gpname;
dbtype=idbtype; // if new, 3 = user define, must define fields before save.
//
// Required for Windows Form Designer support
//
InitializeComponent();
FillInData();
}
private string CvtUserFldToFld(string fldname)
{
if (fldname.Length < 2)
return fldname;
// a digit cannot start an xml fieldname, prepend a "__" to it.
string tmp0;
if (char.IsDigit(fldname,0))
tmp0 = "__" + fldname;
else
tmp0 = fldname;
// an xml fieldname cannot have a space, change it to a "__"
string tmpstr = tmp0.Replace(" ","__");
int len = tmpstr.Length;
int cnt = 0;
// this is also our sequence that tells us the follow 3 digits is the ascii number (base 10)
// of the character we replaced.
string OKpunch = "-._";
string outstr = "";
int decval;
while (cnt < len)
{
char tmpchr = tmpstr[cnt];
if(!char.IsLetterOrDigit(tmpchr)&& (OKpunch.IndexOf(tmpchr) == -1) )
{
decval = tmpchr;
outstr += OKpunch + decval.ToString("D3");
}
else
{
outstr += tmpchr.ToString();
}
cnt++;
}
return outstr;
}
private string CvtFldToUserFld(string fldname)
{
string tmpstr0;
if (fldname.Length < 2) return fldname;
// an xml element name cannot begin with a digit. we had prepended a "__"
if (fldname.Substring(0,2) == "__" && char.IsDigit(fldname,2))
tmpstr0 = fldname.Substring(2,fldname.Length-2);
else
tmpstr0 = fldname;
// an xml element name cannot have a space, we converted to a "__"
string tmpstr = tmpstr0.Replace("__"," ");
int len = tmpstr.Length;
int cur = 0;
// this is also our sequence that tells us the follow 3 digits is the ascii number (base 10)
// of the character we replaced.
string OKpunch = "-._";
string outstr = "";
int decval, indx;
if (len <6)
indx = -1;
else
indx=tmpstr.IndexOf(OKpunch,cur);
string asc_spchar;
while (indx>=0)
{
outstr += tmpstr.Substring(cur,indx-cur);
asc_spchar = tmpstr.Substring(indx+3,3);
decval = System.Convert.ToInt16(asc_spchar,10);
outstr += System.Convert.ToChar(decval).ToString();
cur = indx+6;
if (cur+6 > len)
indx = -1;
else
indx = tmpstr.IndexOf(OKpunch,cur);
}
if (cur<len) outstr += tmpstr.Substring(cur,len-cur);
return outstr;
}
private string DetermineGroupName()
{
// if group immediately below root, just use text at this node & it can be editted
// otherwise, parse it according to GroupMenuItem and it's not editable (it
// gets editted by editting the data of the group).
if (elem.ParentNode.Name == "RO_Root")
{
this.tbGroup.Enabled = true;
this.tbPrefix.Enabled = true;
this.tbValue.Enabled = true;
return CvtFldToUserFld(origGroup);
}
else
{
this.tbGroup.Enabled = false;
this.tbPrefix.Enabled = false;
this.tbValue.Enabled = false;
return CvtFldToUserFld(origGroup);
}
}
private void FillInData()
{
this.tbGroup.Text = DetermineGroupName();
// get the accessory prefix & accessory vale. May need to walk up the tree for this.
// and for a new group, it needs to get it from the parent.
string accpref, accvalue;
accpref = elem.GetAttribute("AccPageIDPrefix");
accvalue = elem.GetAttribute("AccPageID");
VlnXmlElement parent;
parent = (VlnXmlElement) elem.ParentNode;
while (parent != null && (accpref == "" || accvalue==""))
{
// walk up tree to get parent.
if (accpref == "") accpref = parent.GetAttribute("AccPageIDPrefix");
if (accvalue == "") accvalue = parent.GetAttribute("AccPageID");
if (parent.Name != "RO_Root")
parent = (VlnXmlElement) parent.ParentNode;
else
parent = null;
}
if (accpref != "")
this.tbPrefix.Text = accpref;
else
this.tbPrefix.Text = "";
if (accvalue != "")
this.tbValue.Text = CvtFldToUserFld(accvalue);
else
this.tbValue.Text = "";
origGroup = this.tbGroup.Text;
origPrefix = this.tbPrefix.Text;
origValue = this.tbValue.Text;
}
/// <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()
{
this.lblGroup = new System.Windows.Forms.Label();
this.tbGroup = new System.Windows.Forms.TextBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.tbValue = new System.Windows.Forms.TextBox();
this.tbPrefix = new System.Windows.Forms.TextBox();
this.lblValue = new System.Windows.Forms.Label();
this.lblPrefix = new System.Windows.Forms.Label();
this.btnRODef = new System.Windows.Forms.Button();
this.btnSubDef = new System.Windows.Forms.Button();
this.btnOK = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// lblGroup
//
this.lblGroup.Location = new System.Drawing.Point(24, 8);
this.lblGroup.Name = "lblGroup";
this.lblGroup.Size = new System.Drawing.Size(56, 16);
this.lblGroup.TabIndex = 0;
this.lblGroup.Text = "Group:";
//
// tbGroup
//
this.tbGroup.Location = new System.Drawing.Point(88, 8);
this.tbGroup.Name = "tbGroup";
this.tbGroup.Size = new System.Drawing.Size(248, 22);
this.tbGroup.TabIndex = 1;
this.tbGroup.Text = "textBox1";
//
// groupBox1
//
this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
this.tbValue,
this.tbPrefix,
this.lblValue,
this.lblPrefix});
this.groupBox1.Location = new System.Drawing.Point(24, 56);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(312, 96);
this.groupBox1.TabIndex = 2;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Accessory Page Access";
//
// tbValue
//
this.tbValue.Location = new System.Drawing.Point(72, 56);
this.tbValue.Name = "tbValue";
this.tbValue.Size = new System.Drawing.Size(216, 22);
this.tbValue.TabIndex = 3;
this.tbValue.Text = "textBox1";
// tbPrefix
//
this.tbPrefix.Location = new System.Drawing.Point(72, 24);
this.tbPrefix.Name = "tbPrefix";
this.tbPrefix.Size = new System.Drawing.Size(216, 22);
this.tbPrefix.TabIndex = 2;
this.tbPrefix.Text = "textBox1";
//
// lblValue
//
this.lblValue.Location = new System.Drawing.Point(16, 56);
this.lblValue.Name = "lblValue";
this.lblValue.Size = new System.Drawing.Size(48, 16);
this.lblValue.TabIndex = 1;
this.lblValue.Text = "Value:";
//
// lblPrefix
//
this.lblPrefix.ForeColor = System.Drawing.SystemColors.ControlText;
this.lblPrefix.Location = new System.Drawing.Point(16, 24);
this.lblPrefix.Name = "lblPrefix";
this.lblPrefix.Size = new System.Drawing.Size(48, 16);
this.lblPrefix.TabIndex = 0;
this.lblPrefix.Text = "Prefix:";
//
// btnRODef
//
this.btnRODef.Location = new System.Drawing.Point(24, 168);
this.btnRODef.Name = "btnRODef";
this.btnRODef.Size = new System.Drawing.Size(312, 24);
this.btnRODef.TabIndex = 3;
this.btnRODef.Text = "Referenced Object Definition...";
this.btnRODef.Click += new System.EventHandler(this.btnRODef_Click);
//
// btnSubDef
//
this.btnSubDef.Location = new System.Drawing.Point(24, 208);
this.btnSubDef.Name = "btnSubDef";
this.btnSubDef.Size = new System.Drawing.Size(312, 24);
this.btnSubDef.TabIndex = 4;
this.btnSubDef.Text = "Subgroup Definition ...";
this.btnSubDef.Click += new System.EventHandler(this.btnSubDef_Click);
//
// btnOK
//
this.btnOK.Location = new System.Drawing.Point(24, 248);
this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(144, 24);
this.btnOK.TabIndex = 5;
this.btnOK.Text = "OK";
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Location = new System.Drawing.Point(192, 248);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(144, 24);
this.btnCancel.TabIndex = 6;
this.btnCancel.Text = "Cancel";
//
// GroupDefFrm
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
this.ClientSize = new System.Drawing.Size(368, 293);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.btnCancel,
this.btnOK,
this.btnSubDef,
this.btnRODef,
this.groupBox1,
this.tbGroup,
this.lblGroup});
this.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.Name = "GroupDefFrm";
this.Text = "Group Definition";
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private bool ProcessRROAccPageIDChange(VlnXmlElement mnuele, string newtmpl)
{
bool success;
XmlNode chldnode = (XmlNode) mnuele.FirstChild;
VlnXmlElement echild;
while (chldnode != null)
{
if (chldnode is VlnXmlElement)
{
echild = (VlnXmlElement) chldnode;
if (echild.Name != "vlnGroup")
{
// If this is a group defintion subtree it will only have one
// child, which is the text definition for the subgroup. Don't
// include these in the tree.
int levelCnt = chldnode.ChildNodes.Count;
string TheMenuTitle = echild.GetAttribute("MenuTitle");
if ((levelCnt > 1) || (levelCnt==1 && !TheMenuTitle.Equals("")))
{
string accid = echild.GetAccPageIDString(newtmpl);
echild.SetAttribute("AccPageID",accid);
success = myrodb.RODB_WriteRO(echild);
if (success==false) return false;
}
}
}
chldnode = chldnode.NextSibling;
}
return true;
}
private bool UpdateAccPageID(VlnXmlElement grp, string newtmpl, VlnStatusMessage StatMsgWindow)
{
// For this group and below in the xml tree, update Accessory Page ID using the new
// template.
bool success;
string haskids;
string kidsloaded;
XmlNode node = (XmlNode) grp.FirstChild;
VlnXmlElement child;
while (node != null)
{
if (node is VlnXmlElement)
{
child = (VlnXmlElement) node;
// If this is a group menu edit, process group nodes, otherwise
// process rros.
if (child.Name == "vlnGroup")
{
haskids = child.GetAttribute("HasChild");
kidsloaded = child.GetAttribute("ChildLoaded");
if (haskids == "True" && kidsloaded == "False" )
{
elem.SetAttribute("TreeNotData","True");
myrodb.RODB_GetChildData(child,true);
child.SetAttribute("ChildLoaded","True");
}
StatMsgWindow.StatusMessage = child.GetAttribute("MenuTitle");
success = UpdateAccPageID(child, newtmpl, StatMsgWindow);
if (success == false) return false;
success = ProcessRROAccPageIDChange(grp, newtmpl);
if (success==false)return false;
}
}
node = node.NextSibling;
}
success = ProcessRROAccPageIDChange(grp, newtmpl);
if (success==false) return false;
return true;
}
private void btnOK_Click(object sender, System.EventArgs e)
{
// if the fields were disabled, just return. (Only need to check one of them)
if(this.tbGroup.Enabled == false)
{
this.Close();
return;
}
// is this is a database level group, and is a user defined type, the
// accessory page value, fields in use & group fields in use must all be set.
// (doesn't need a prefix.
if (elem.ParentNode.Name == "RO_Root" && dbtype==3) //3 is user defined.
{
string strattr;
strattr = elem.GetAttribute("FieldsInUse");
if (strattr == null || strattr=="")
{
MessageBox.Show("No fields defined for Referenced Objects","Group Definition Error");
return;
}
strattr = this.tbValue.Text;
if (strattr == null || strattr=="")
{
MessageBox.Show("No Value defined for this group","Group Definition Error");
return;
}
strattr = elem.GetAttribute("GroupFieldsInUse");
if (strattr == null || strattr=="")
{
MessageBox.Show("No fields defined for subgroup","Group Definition Error");
return;
}
}
bool modaccpageid=false;
bool modified=false;
if ((elem.HasAttribute("AccPageID")&&this.tbValue.Text!=origValue) || this.tbValue.Modified)
{
string dummy = ""; // need for RODB_GetFIeldsInUse call, won't be used.
ArrayList AvailList, InUseList;
//first see if it is a valid 'InUse' Field.
AvailList = myrodb.RODB_GetFields(elem, (uint) RecordType.Schema);
InUseList = myrodb.RODB_GetFieldsInUse(elem, AvailList,"FieldsInUse", ref dummy, true);
int chkbracketo, chkbracketc; // open & close bracket indexes
chkbracketo = this.tbValue.Text.IndexOf("<");
chkbracketc = this.tbValue.Text.IndexOf(">");
if (chkbracketo == -1 || chkbracketc == -1)
{
MessageBox.Show("Missing bracket (<or>) in value definition.");
return;
}
//if (chkbracketo != 0 || chkbracketc != this.tbValue.Text.Length-1)
//{
// MessageBox.Show("Value definition contains extraneous text.");
// return;
//}
// check for more than one field, don't allow this,
int twobrk = this.tbValue.Text.IndexOf("<",chkbracketo+1);
if (twobrk != -1)
{
MessageBox.Show("Cannot have two fields in accessory page id.");
return;
}
string val = this.tbValue.Text.Substring(chkbracketo+1,chkbracketc-chkbracketo-1);
// loop thru inuse list and see if it's there.
bool found = false;
for(int i=0; i<InUseList.Count; i++)
{
ROField rof = (ROField) InUseList[i];
string inusename = rof.GetFieldname;
if (inusename == val)
{
found = true;
break;
}
}
if (found == false)
{
MessageBox.Show(this.tbValue.Text+" not in InUse field list");
return;
}
modified = true;
modaccpageid=true;
StringBuilder accidattr = new StringBuilder();
if (chkbracketo>0)
accidattr.Append(this.tbValue.Text.Substring(0,chkbracketo+1)); // +1 include the "<"
else
accidattr.Append("<");
accidattr.Append(CvtUserFldToFld(this.tbValue.Text.Substring(chkbracketo+1,chkbracketc-chkbracketo-1)));
if (chkbracketc>this.tbValue.Text.Length)
accidattr.Append(this.tbValue.Text.Substring(chkbracketc+1,this.tbValue.Text.Length-chkbracketc+1));
else
accidattr.Append(">");
elem.SetAttribute("AccPageID",accidattr.ToString());
// elem.SetAttribute("AccPageID",CvtUserFldToFld(this.tbValue.Text));
}
if (this.tbGroup.Text != origGroup)
{
XmlNode tmpn = (XmlNode) elem;
tmpn.FirstChild.Value = tmpn.FirstChild.Value.Replace(origGroup, this.tbGroup.Text);
modified=true;
}
if ((elem.HasAttribute("AccPageIDPrefix")&&this.tbPrefix.Text != origPrefix) || this.tbPrefix.Modified==true)
{
elem.SetAttribute("AccPageIDPrefix",this.tbPrefix.Text);
modified=true;
}
bool success=true;
if (modified==true) success = myrodb.RODB_WriteRO(elem);
if (modified == true && success == true && modaccpageid==true)
{
Cursor.Current = Cursors.WaitCursor;
VlnStatusMessage StatMsgWindow = new VlnStatusMessage("Status of Accessory Page ID Change");
success = UpdateAccPageID(elem, this.tbValue.Text,StatMsgWindow);
Cursor.Current = Cursors.Default;
StatMsgWindow.Dispose();
}
if (success == false)
MessageBox.Show("Could not save data.");
this.Close();
}
private void btnRODef_Click(object sender, System.EventArgs e)
{
RODefFrm rodef = new RODefFrm(elem,myrodb,"FieldsInUse", this.tbGroup.Text, dbtype);
rodef.ShowDialog();
// get accpageid, in case field name changed.
string accvalue = elem.GetAttribute("AccPageID");
VlnXmlElement parent;
parent = (VlnXmlElement) elem.ParentNode;
while (parent != null && accvalue=="")
{
// walk up tree to get parent.
if (accvalue == "") accvalue = parent.GetAttribute("AccPageID");
if (parent.Name != "RO_Root")
parent = (VlnXmlElement) parent.ParentNode;
else
parent = null;
}
if (accvalue != "")
this.tbValue.Text = CvtFldToUserFld(accvalue);
else
this.tbValue.Text = "";
}
private void btnSubDef_Click(object sender, System.EventArgs e)
{
RODefFrm rodef = new RODefFrm(elem,myrodb,"GroupFieldsInUse", this.tbGroup.Text, dbtype);
rodef.ShowDialog();
}
}
}

View File

@@ -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>GroupDefFrm</value>
</data>
</root>

View File

@@ -0,0 +1,425 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: GroupNewFrm.cs $ $Revision: 7 $
* $Author: Kathy $ $Date: 5/07/03 1:58p $
*
* $History: GroupNewFrm.cs $
*
* ***************** Version 7 *****************
* User: Kathy Date: 5/07/03 Time: 1:58p
* Updated in $/EXE/RefObj/ROEditor
* B2003-033
*
* ***************** Version 6 *****************
* User: Kathy Date: 4/04/03 Time: 9:40a
* Updated in $/EXE/RefObj/ROEditor
* B2003-030: set HasChild Attribute for new group
*
* ***************** Version 5 *****************
* User: Kathy Date: 12/10/02 Time: 2:26p
* Updated in $/EXE/RefObj/ROEditor
* fieldname special char
*
* ***************** Version 4 *****************
* User: Kathy Date: 12/06/02 Time: 11:58a
* Updated in $/EXE/RefObj/ROEditor
* fix new table can't delete without exiting program
*
* ***************** Version 3 *****************
* User: Kathy Date: 12/02/02 Time: 8:30a
* Updated in $/EXE/RefObj/ROEditor
* fieldname replace chars
*
* ***************** Version 2 *****************
* User: Kathy Date: 10/17/02 Time: 11:35a
* Updated in $/EXE/RefObj/ROEditor
* don't save twice if continue selected to close
*
* ***************** Version 1 *****************
* User: Kathy Date: 10/15/02 Time: 2:24p
* Created in $/EXE/RefObj/ROEditor
* new hi level group, form & code
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Xml;
using System.Text;
using ROFields;
using RODBInterface;
namespace ROEditor
{
/// <summary>
/// Summary description for GroupNewFrm.
/// </summary>
public class GroupNewFrm : System.Windows.Forms.Form
{
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.TextBox tbGroup;
private System.Windows.Forms.Label lblGroup;
private System.Windows.Forms.Button btnContinue;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.RadioButton rbbtnUserDef;
private System.Windows.Forms.RadioButton rbbtnGraphics;
private System.Windows.Forms.RadioButton rbbtnSetpoint;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
private RODB myrodb;
private VlnXmlElement elem;
private string lastSavedGroup;
private VlnXmlElement nelem; // new group element
private string tbname; // new group table name
private string toprecid; // new group master rec id
public GroupNewFrm(RODB rodb, VlnXmlElement topelem)
{
elem = topelem;
myrodb = rodb;
nelem = null;
toprecid = null;
tbname = null;
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
/// <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()
{
this.btnCancel = new System.Windows.Forms.Button();
this.btnContinue = new System.Windows.Forms.Button();
this.tbGroup = new System.Windows.Forms.TextBox();
this.lblGroup = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.rbbtnSetpoint = new System.Windows.Forms.RadioButton();
this.rbbtnGraphics = new System.Windows.Forms.RadioButton();
this.rbbtnUserDef = new System.Windows.Forms.RadioButton();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Location = new System.Drawing.Point(176, 244);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(120, 24);
this.btnCancel.TabIndex = 10;
this.btnCancel.Text = "Cancel";
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// btnContinue
//
this.btnContinue.Location = new System.Drawing.Point(40, 244);
this.btnContinue.Name = "btnContinue";
this.btnContinue.Size = new System.Drawing.Size(106, 24);
this.btnContinue.TabIndex = 9;
this.btnContinue.Text = "Continue";
this.btnContinue.Click += new System.EventHandler(this.btnContinue_Click);
//
// tbGroup
//
this.tbGroup.Location = new System.Drawing.Point(72, 8);
this.tbGroup.Name = "tbGroup";
this.tbGroup.Size = new System.Drawing.Size(248, 22);
this.tbGroup.TabIndex = 8;
this.tbGroup.Text = "";
//
// lblGroup
//
this.lblGroup.Location = new System.Drawing.Point(8, 8);
this.lblGroup.Name = "lblGroup";
this.lblGroup.Size = new System.Drawing.Size(56, 16);
this.lblGroup.TabIndex = 7;
this.lblGroup.Text = "Group:";
//
// groupBox1
//
this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
this.rbbtnSetpoint,
this.rbbtnGraphics,
this.rbbtnUserDef});
this.groupBox1.Location = new System.Drawing.Point(24, 56);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(288, 152);
this.groupBox1.TabIndex = 11;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Group Type";
//
// rbbtnSetpoint
//
this.rbbtnSetpoint.Location = new System.Drawing.Point(48, 64);
this.rbbtnSetpoint.Name = "rbbtnSetpoint";
this.rbbtnSetpoint.Size = new System.Drawing.Size(184, 24);
this.rbbtnSetpoint.TabIndex = 2;
this.rbbtnSetpoint.Text = "Setpoint Database";
//
// rbbtnGraphics
//
this.rbbtnGraphics.Location = new System.Drawing.Point(48, 96);
this.rbbtnGraphics.Name = "rbbtnGraphics";
this.rbbtnGraphics.Size = new System.Drawing.Size(184, 24);
this.rbbtnGraphics.TabIndex = 1;
this.rbbtnGraphics.TabStop = true;
this.rbbtnGraphics.Text = "Graphics Database";
//
// rbbtnUserDef
//
this.rbbtnUserDef.Location = new System.Drawing.Point(48, 32);
this.rbbtnUserDef.Name = "rbbtnUserDef";
this.rbbtnUserDef.Size = new System.Drawing.Size(184, 24);
this.rbbtnUserDef.TabIndex = 0;
this.rbbtnUserDef.Text = "User Defined Database";
//
// GroupNewFrm
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
this.ClientSize = new System.Drawing.Size(376, 273);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.groupBox1,
this.btnCancel,
this.btnContinue,
this.tbGroup,
this.lblGroup});
this.Font = new System.Drawing.Font("Tahoma", 9F);
this.Name = "GroupNewFrm";
this.Text = "New Group (Database)";
this.Load += new System.EventHandler(this.GroupNewFrm_Load);
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private void GroupNewFrm_Load(object sender, System.EventArgs e)
{
}
private string CvtUserFldToFld(string fldname)
{
if (fldname.Length < 2)
return fldname;
// a digit cannot start an xml fieldname, prepend a "__" to it.
string tmp0;
if (char.IsDigit(fldname,0))
tmp0 = "__" + fldname;
else
tmp0 = fldname;
// an xml fieldname cannot have a space, change it to a "__"
string tmpstr = tmp0.Replace(" ","__");
int len = tmpstr.Length;
int cnt = 0;
// this is also our sequence that tells us the follow 3 digits is the ascii number (base 10)
// of the character we replaced.
string OKpunch = "-._";
string outstr = "";
int decval;
while (cnt < len)
{
char tmpchr = tmpstr[cnt];
if(!char.IsLetterOrDigit(tmpchr)&& (OKpunch.IndexOf(tmpchr) == -1) )
{
decval = tmpchr;
outstr += OKpunch + decval.ToString("D3");
}
else
{
outstr += tmpchr.ToString();
}
cnt++;
}
return outstr;
}
private void btnCancel_Click(object sender, System.EventArgs e)
{
if (toprecid != null)
{
myrodb.RODB_DeleteGroup((XmlNode)nelem,tbname,toprecid);
}
if(nelem!=null)
{
XmlNode par = (XmlNode)nelem.ParentNode;
par.RemoveChild((XmlNode)nelem);
}
}
private void btnContinue_Click(object sender, System.EventArgs e)
{
bool success;
if (this.tbGroup.Text == null || this.tbGroup.Text == "")
{
MessageBox.Show("Need to specify group name.");
return;
}
// if this was already saved, i.e. user hit continue button already,
// just return;
if (this.tbGroup.Text == lastSavedGroup)
{
this.Close();
return;
}
lastSavedGroup = this.tbGroup.Text;
int dbtype=-1;
if (this.rbbtnGraphics.Checked == true) dbtype = 1;
else if (this.rbbtnSetpoint.Checked == true) dbtype = 2;
else if (this.rbbtnUserDef.Checked == true) dbtype = 3;
if (dbtype<0)
{
MessageBox.Show("Need to define type of group.");
return;
}
Cursor.Current = Cursors.WaitCursor;
// make a new table with the next table name id
tbname = myrodb.RODB_GetNextGroupTable();
if (tbname == null)
{
Cursor.Current = Cursors.Default;
return;
}
toprecid = myrodb.RODB_AddNewTable(tbname, this.tbGroup.Text);
if (toprecid == null)
{
Cursor.Current = Cursors.Default;
return;
}
// for the given type, copy over the required fields.
success = myrodb.RODB_CopyFieldDefs("ROMaster",tbname,dbtype);
if (success == false)
{
Cursor.Current = Cursors.Default;
return;
}
// create top level group node with input name.
nelem = (VlnXmlElement) elem.OwnerDocument.CreateElement("vlnGroup");
nelem.InnerText = CvtUserFldToFld(this.tbGroup.Text);
nelem.SetAttribute("Table",tbname);
nelem.SetAttribute("ParentID", "00000000");
string nrecid = myrodb.RODB_GetNextRecId(tbname);
nelem.SetAttribute("RecID", nrecid);
elem.AppendChild((XmlNode) nelem);
success = myrodb.RODB_InsertGroup(nelem);
Cursor.Current = Cursors.Default;
if (success == false) return;
nelem.SetAttribute("TreeNotData", "True");
nelem.SetAttribute("MenuTitle", this.tbGroup.Text);
nelem.SetAttribute("MasterRecID",toprecid);
nelem.SetAttribute("HasChild", "False");
// if this is a setpoint db or image db, get fields and find those fields needed
// to define ro & group. This is hardcoded, yuk.
if(dbtype == 1 || dbtype == 2)
{
ArrayList FieldList = myrodb.RODB_GetFields(nelem, (uint) RecordType.Schema);
string[] fldlist=null, grplist=null;
ROField rof;
string curfld;
StringBuilder Inuse = new StringBuilder();
// Get list of inuse fields for the rro.
if (dbtype == 1)
fldlist = new string[] {"Name", "Image ID", "Image"};
else
fldlist = new string[] {"Setpoint ID", "Setpoint Value", "Associated System Component", "Applicability", "Revision", "Short Description",
"Description", "Key Assumptions", "Basis", "References"};
for (int i=0; i< fldlist.Length; i++)
{
curfld = fldlist[i];
for (int j=0; j<FieldList.Count; j++)
{
rof = (ROField) FieldList[j];
if (rof.GetFieldname == curfld)
{
if (i==fldlist.Length-1) // last one don't add ' '
Inuse.Append(rof.GetRecID);
else
Inuse.Append(rof.GetRecID+" ");
break;
}
}
}
nelem.SetAttribute("FieldsInUse", Inuse.ToString());
// Get list of group inuse fields.
Inuse.Remove(0,Inuse.Length);
if (dbtype == 1)
grplist = new string[] {"Group"};
else
grplist = new string[] {"Parameter"};
for (int i=0; i< grplist.Length; i++)
{
curfld = grplist[i];
for (int j=0; j<FieldList.Count; j++)
{
rof = (ROField) FieldList[j];
if (rof.GetFieldname == curfld)
{
if (i == grplist.Length-1) // last, don't add ' '
Inuse.Append(rof.GetRecID);
else
Inuse.Append(rof.GetRecID+" ");
break;
}
}
}
nelem.SetAttribute("GroupFieldsInUse", Inuse.ToString());
if (dbtype == 2) // Setpoint
{
nelem.SetAttribute("RetVal","<Setpoint__Value>");
nelem.SetAttribute("MenuItem","<Setpoint__Value,5,17> <Short__Description>");
nelem.SetAttribute("GroupMenuItem","<Parameter>");
nelem.SetAttribute("AccPageIDPrefix","SP2");
nelem.SetAttribute("AccPageID","<Setpoint__ID>");
}
else if (dbtype == 1) // image
{
nelem.SetAttribute("RetVal","<Image>");
nelem.SetAttribute("MenuItem","<Name>");
nelem.SetAttribute("GroupMenuItem","<Group>");
nelem.SetAttribute("AccPageIDPrefix","IG2");
nelem.SetAttribute("AccPageID","<Image__ID>");
}
success = myrodb.RODB_WriteRO(nelem);
if (success == false) return;
}
// now let the user specify the group name, etc to define the group.
GroupDefFrm grdef = new GroupDefFrm(nelem,myrodb,nelem.InnerText,dbtype);
grdef.ShowDialog();
}
}
}

View File

@@ -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>GroupNewFrm</value>
</data>
</root>

View File

@@ -0,0 +1,70 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.4234
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ROEditor.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ROEditor.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
internal static System.Drawing.Bitmap Red_V_txt_NB_bur_1984 {
get {
object obj = ResourceManager.GetObject("Red_V_txt_NB_bur_1984", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
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">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Red_V_txt_NB_bur_1984" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Red_V_txt_NB_bur_1984.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -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>RODefFrm</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,198 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<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>
</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>
<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="About.cs">
<SubType>Form</SubType>
</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="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="About.resx">
<DependentUpon>About.cs</DependentUpon>
<SubType>Designer</SubType>
</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="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="AboutBckgnd_370x209.bmp" />
<Content Include="App.ico" />
<Content Include="Cert_prt_rgb_70x32.gif" />
<Content Include="ROGROUPYellow.ICO" />
<None Include="app.config" />
</ItemGroup>
<ItemGroup>
<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>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

View File

@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
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">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="imageListRoTree.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>124, 17</value>
</metadata>
<data name="imageListRoTree.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACE
CAAAAk1TRnQBSQFMAgEBAgEAAQQBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/xIAAv8CAAT5KAAPegEA
Av8I+SYAA3oCAAF6AwAGegEAAv8D+QMAA/klAAJ6AQAC/wX5AQAEegEAAv8B+QEACPkkAAJ6AQAC/wb5
AQADegEAAv8BAAT5AwAC+SQAAnoBAAL/AQADegP5A3oBAAL/A/kGAAL5AewiAAJ6AQAC/wR6AQAC+QN6
AQAC/wL5BwAC+QLsIQACegEAAv8EegEAAvkDegEAAv8BBwH5BwAC+QLsIQACegEAAv8EegEAAvkDegEA
Av8BAAEHBgAD+QLsIQACegEAA/8DAAL/AfkDegEAA/8BBwYAAvkBAALsIQACegEACP8EegEABP8FAAL/
AfkD7CEAAnoBAAH/AgAE/wV6AQAL/wEHAfkB7CIAD3oBAAL/AQAH/wMHAfkiAA96AwAB7AUABQciAAH/
BnoBAAj/AgACBwHsAQAHByMAAv8FAAn/MAABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGA
FwAD/wMAARABHwcAAQ8HAAEHBwABAwcAAQEGAAEBAeAGAAEDAeAGAAEHAeAGAAEHAeAGAAEHAcAGAAED
AYAPAAEBBwABAwYAAYABBwYAAcYBHwQACw==
</value>
</data>
<metadata name="mainMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="imageListToolBar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>256, 17</value>
</metadata>
<data name="imageListToolBar.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAe
CwAAAk1TRnQBSQFMAgEBBgEAAQwBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wEAIAcgACAHIAAHBwkE
CwcB/wIAAgcgAAcHAQQH/wEECgcB/wMAAgcgAAcHAQQB/wUAAf8BBAkHAf8DAAMHIAABBwYAAQQH/wEE
BAcEAAH/AwAEByAAAQcBAAX/AQQB/wUAAf8BBAMHAQAE/wMABQcgAAEHAQAB/wQAAQQH/wEEAgcBAAH/
Af4DBwH/AQAGByAAAQcBAAX/AQQB/wIAAf8EBAEHAQAB/wEHAf8B/gMHAf8BAAUHIAABBwEAAf8EAAEE
BP8BBAH/AQQCBwEAAf8B/gEHAf8B/gIHAf8BAAUHIAABBwEABf8BBAT/AgQDBwEAAf8BBwH+AQcB/wH+
AQcB/wEABQcgAAEHAQAB/wIAAf8BAAYEBAcBAAH/AgcB/gEHAf8BBwH/AQAFByAAAQcBAAT/AQAB/wEA
CQcBAAH/AgcB/gEHAf8BAAYHIAABBwEABP8CAAsHAQAE/wEABwcgAAEHBgANBwQACAcgACAHIAABBw//
MAcC/w0AAf8FBwf/CgcF/xUHAf8BAAIDBgAC/wEAAQMBAAH/AwcC/wf5Af8JBwH/BPoC/woHCQQB/wEA
AgMGAAL/AQABAwEAAf8DBwH/AvkFBwL5Af8IBwH/BfoBAgH/CQcBBAf/AQQB/wEAAgMGAAL/AQABAwEA
Af8DBwH/AvkGBwH5Af8IBwH/BPoBAgH6AQIB7AgHAQQB/wUAAf8BBAH/AQACAwkAAQMBAAH/AgcB/wH5
Af8C+QYHAfkB/wcHBf8B+gICAf8CBwYAAQQH/wEEAf8BAAwDAQAB/wIHAf8B+QEHAf8C+QUHAfkB/wsH
AewC/wECAf8CBwEABf8BBAH/BQAB/wEEAf8BAAIDCAACAwEAAf8CBwH/AfkCBwH/AvkEBwH5Af8FBwH/
BgcC7AL/AgcBAAH/BAABBAf/AQQB/wEAAQMBAAj/AQABAwEAAf8CBwH/AfkDBwH/AvkDBwH5Af8EBwL/
BQcB7AL/AQIB/wIHAQAF/wEEAf8CAAH/BAQB/wEAAQMBAAH/BgcB/wEAAQMBAAH/AgcB/wH5BAcB/wL5
AgcB+QH/AwcB/wH6B/8B+gICAf8CBwEAAf8EAAEEBP8BBAH/AQQBBwH/AQABAwEAAf8GBwH/AQABAwEA
Af8CBwH/AfkFBwH/AvkBBwH5Af8CBwH/CfoBAgH6AQIB7AIHAQAF/wEEBP8CBAIHAf8BAAEDAQAB/wYH
Af8BAAEDAQAB/wMHAf8B+QUHAf8C+QH/AgcB/wv6AQIB/wMHAQAB/wIAAf8BAAYEAwcB/wEAAQMBAAj/
AwAB/wMHAf8C+QUHAf8B+QH/AwcB/wf6BP8EBwEABP8BAAH/AQAHBwH/AQABAwoAAQcBAAH/BAcB/wf5
Af8FBwH/AfoH/wYHAQAE/wIACAcB/w4AAf8FBwf/BwcC/wwHBgAJBxD/FAcB/xsHAUIBTQE+BwABPgMA
ASgDAAFAAwABIAMAAQEBAAEBBgABARYAA///AAIACw==
</value>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>36</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAEAAAABAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAAAAAAAAAAAAAAAAAAA//8AAAmZmZmQAAAAAAAAAP//AJmZmZmZmZkAAAAAAAD//wmZmZ
mZmZmZkAAAAAAA//8JmZmZmZmZmZkAAAAAAP//CZmZAAAAmZmZkAAAAAD//wmZAJeXlwCZmZkAAAAA//
8JkHl5eXl5CZmZkAAAAP//CQeXl5eXl5CZmZAAAAD//wB5eXl5AAAACZmQkAAA//8Hl5eXAAAAAAmZmQ
kAAP//CXl5AAAAAAAAmZkHkAD//weXkAAAAAAAAJmZCXAA//8JeXAAAAAAAACZmQeXAP//B5eQAAAAAA
AAmZkJeQD//wh5AAAAAAAAAJmZB5cA//8HhwAAAAAAAACZmQl5AP//8HgAAAAAAAAJmZkHlwD///CHAA
AAAAAACZmQeXkA////CAAAAAAAAPmZkJeXAP////AAAAAAAA//mZB5eQD/////AAAAAAD///kHl5cA//
////8AAAD////wmXlwAP//////////////CHmXkAD//w//////////8IeHmXAA//8A/////////wh4eH
kAAP//CAAP////8ACHh4eAAAAAAAeAcAAAAAh4eHh4AAAAB4eAeAeHh4eHh4eHgAAAAAB4eAcAeHh4eH
h4eAAAAAAAB4eAAACHh4eHgAAAAAAAAAAAAAAAAAAAAAAAAAAAADwD//AgAH/wAAA/8AAAH/AAAA/wAA
AH8AAAA/AAAAHwAAAA8AAAAHAAH4AwAH/AEAD/wBAB/8AAAf/AAAP/wAAD/8AAA/+AAAP/gAAD/wAAA/
4AAAH4AAAAAAAQAAAAEAAAABAAAAAwAAAAcAAAAPgAAAH8AAAD/gIAB/8DgD/w==
</value>
</data>
</root>

View File

@@ -0,0 +1,146 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
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
Release|Any CPU = Release|Any CPU
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
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}.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
{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}.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
{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}.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
{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}.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
{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}.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
{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}.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
{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}.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
{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}.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
{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}.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
{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}.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
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

View File

@@ -0,0 +1,876 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: RO_FST.cs $ $Revision: 15 $
* $Author: Jsj $ $Date: 8/23/06 11:33a $
*
* $History: RO_FST.cs $
*
* ***************** Version 15 *****************
* User: Jsj Date: 8/23/06 Time: 11:33a
* Updated in $/EXE/RefObj/ROEditor
* debug statements commented out
*
* ***************** Version 14 *****************
* User: Jsj Date: 5/03/05 Time: 11:48a
* Updated in $/EXE/RefObj/ROEditor
* 2005 upgrade, move some ROFST logic to ROFST library
*
* ***************** Version 13 *****************
* User: Jsj Date: 5/11/04 Time: 9:29a
* Updated in $/EXE/RefObj/ROEditor
* Bug fix B2004-011, could not create FST file if user opened nodes on
* tree.
*
* ***************** Version 12 *****************
* User: Jsj Date: 4/08/04 Time: 9:48a
* Updated in $/EXE/RefObj/ROEditor
* Modified code to speed up the creation of the RO.FST file
*
* ***************** Version 11 *****************
* User: Jsj Date: 6/30/03 Time: 1:20p
* Updated in $/EXE/RefObj/ROEditor
* a NULL Accessory Page ID was giving problems in creating a new RO.FST
* file.
*
* ***************** Version 10 *****************
* User: Kathy Date: 6/11/03 Time: 2:01p
* Updated in $/EXE/RefObj/ROEditor
* Fix bug B2003-045
*
* ***************** Version 9 *****************
* User: Kathy Date: 5/30/03 Time: 12:48p
* Updated in $/EXE/RefObj/ROEditor
* B2003-044: sync up xml with UI tree view
*
* ***************** Version 8 *****************
* User: Kathy Date: 5/21/03 Time: 12:51p
* Updated in $/EXE/RefObj/ROEditor
* B2003-034: process data if only one field for RO & also, convert return
* value for xml save
*
* ***************** Version 7 *****************
* User: Jsj Date: 4/14/03 Time: 3:02p
* Updated in $/EXE/RefObj/ROEditor
* Speed up the creation of the RO.FST file
*
* ***************** Version 6 *****************
* User: Kathy Date: 4/04/03 Time: 9:41a
* Updated in $/EXE/RefObj/ROEditor
* B2003-030 convert new top group name to user readable for ro.fst
*
* ***************** Version 5 *****************
* User: Jsj Date: 2/21/03 Time: 9:51a
* Updated in $/EXE/RefObj/ROEditor
* added RO FST completed message
*
* ***************** Version 4 *****************
* User: Jsj Date: 1/02/03 Time: 9:31a
* Updated in $/EXE/RefObj/ROEditor
* Save Graphics file date in RO.FST file
*
* ***************** Version 3 *****************
* User: Jsj Date: 12/17/02 Time: 4:54p
* Updated in $/EXE/RefObj/ROEditor
* save real date for graphic files
*
* ***************** Version 2 *****************
* User: Jsj Date: 12/06/02 Time: 3:26p
* Updated in $/EXE/RefObj/ROEditor
* parameter display data fix (ingoring this data for now)
*
* ***************** Version 1 *****************
* User: Jsj Date: 11/27/02 Time: 12:53p
* Created in $/EXE/RefObj/ROEditor
* Modification to create the RO.FST file
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Xml;
using System.Xml.Schema;
using System.Text;
using System.IO;
using RODBInterface;
using System.Runtime.InteropServices;
using VlnStatus;
using System.Collections.Specialized;
using ROFST_FILE;
//using VlnProfiler; //don't forget to add VlnProfiler to the reference list
namespace ROEditor
{
/// <summary>
/// This creates an RO.FST file
/// </summary>
class FstTmpSTRC
{
public ushort thistype;
public uint thisoff;
public string title;
public FstTmpSTRC(ushort type, uint offset, string tl)
{
thistype = type;
thisoff = offset;
title = tl;
}
void WriteString(BinaryWriter bw, string str)
{
int n=str.Length;
byte [] b = new byte[n+1];
for(int i =0; i < n; i++)
{
b[i] = (byte)str[i];
}
bw.Write(b,0,n+1); // +1 to include null
/**
byte nullbyte = 0;
int i;
for(i =0; i < str.Length; i++)
{
byte WrByte;
WrByte = (byte)str[i];
bw.Write(WrByte);
}
bw.Write(nullbyte);
***/
}
public void Write(BinaryWriter bw)
{
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.
// This sorting function compares two strings by doing a character by character comparison.
public class MyComparer : IComparer
{
public int Compare (object x, object y)
{
int rtnval = 0;
int xcnt=0,ycnt=0;
int xlen,ylen;
byte xbyte, ybyte;
string xbuff = x.ToString();
string ybuff = y.ToString();
xlen = xbuff.Length;
ylen = ybuff.Length;
if (xbuff[0] == '<')
rtnval = 0;
if (ybuff[0] == '<')
rtnval = 0;
while ((rtnval==0) && ((xcnt < xlen) || (ycnt < ylen)))
{
xbyte = (xcnt == xlen)? (byte)0 : (byte)xbuff[xcnt++];
ybyte = (ycnt == ylen)? (byte)0 : (byte)ybuff[ycnt++];
rtnval = xbyte - ybyte;
}
return rtnval;
}
}
public class RO_FST
{
private FST_FileHeader FstHeader;
private string FstDir; // path to the RO directory
private string FstPath; // RO directory Path and RO.FST file name
private string FstOld; // ROFST.Old file name (backup of previous fst file)
private string FstNew; // ROFST.New hold the RO.FST info during creation
private BinaryWriter fhFST; // write handle to FST file being created
private VlnStatusBar StatusWin;
private RODB ROdatabase;
private XmlDocument FSTroXmlDoc;
// private HybridDictionary dicTiming;
// private HybridDictionary dicDuration;
ushort widestAcPgId;
SortedList IdsAndAccPgIds;
SortedList IdsAndOffsets;
ushort AllTypesUsed;
private Stack InUseListStack;
private Stack RtnValTmplateStack;
// private DateTime dtLast=DateTime.Now;
public RO_FST(RODB TheROdb, XmlDocument TheXmlDoc)
{
ROdatabase = TheROdb; // point to the RO database
FSTroXmlDoc = TheXmlDoc;
}
public bool Create()
{
bool RtnStat = true;
// dicDuration=new HybridDictionary();
// dicTiming=new HybridDictionary();
// Profiler.Reset();
// position to the top of the tree
// CurrentNode = roTree.TopNode;
// Setup the paths to the FST files
FstDir = Directory.GetCurrentDirectory();
FstPath = FstDir + "\\RO.FST";
FstOld = FstDir + "\\ROFST.Old";
FstNew = FstDir + "\\ROFST.New";
// open a temporary file for building the RO.FST
try
{
fhFST = new BinaryWriter(File.Open(FstNew,System.IO.FileMode.Create,System.IO.FileAccess.ReadWrite));
}
catch (Exception fhExc)
{
string errmsg = fhExc.Message;
MessageBox.Show(errmsg,"Error Creating RO.FST file",System.Windows.Forms.MessageBoxButtons.OK);
RtnStat = false;
}
// If we were able to open a new ROFST.NEW file then go ahead and put the
// new FST information into it.
if (RtnStat)
RtnStat = BuildNewRoFST();
if (RtnStat) // successful in creating new RO FST file?
{
//If an RO.FST file already exists,
// rename the existing file for safe keeping
if (File.Exists(FstPath))
{
// copy the existing RO.FST to ROFST.OLD
// - overrite ROFST.OLD if it already exists
File.Copy(FstPath,FstOld,true); // save RO.FST as ROFST.OLD
File.Delete(FstPath); // remove RO.FST
}
File.Copy(FstNew,FstPath,true); // save ROFST.NEW as RO.fST
File.Delete(FstNew); // remove ROFST.NEW
MessageBox.Show("New RO.FST file created successfully.","Create RO.FST file",System.Windows.Forms.MessageBoxButtons.OK);
}
// MessageBox.Show(Profiler.ToString("000.00%"),"Timings");
// dicDuration=null;
// dicTiming=null;
return RtnStat;
}
private bool BuildNewRoFST()
{
bool RtnVal = true;
int i;
int numDatabases;
// write the empty header - save space for the header info
FstHeader = new FST_FileHeader();
FstHeader.Write(fhFST);
// point to the ROMASTER and get the number of databases it has
VlnXmlElement ROdbtables = (VlnXmlElement) FSTroXmlDoc.FirstChild;
numDatabases = ROdbtables.ChildNodes.Count;
// Allocate a list of database info structures
ROFST_DbInfo[] dbinfo = new ROFST_DbInfo[numDatabases];
//For each RO database, process each group
XmlNode ROtableNode = ROdbtables;
ROtableNode = ROtableNode.FirstChild;
StatusWin = new VlnStatusBar("Creating RO.FST file");
for (i=0; i < numDatabases && RtnVal; i++)
{
dbinfo[i] = new ROFST_DbInfo();
RtnVal = SaveToFSTFile(ROtableNode,dbinfo[i]);
dbinfo[i].dbiType = AllTypesUsed;
ROtableNode = ROtableNode.NextSibling;
}
if (RtnVal)
{
VlnXmlElement tblnode = (VlnXmlElement) ROdbtables.FirstChild;
StatusWin.BarMax = numDatabases * 2;
StatusWin.BarStepValue = 1;
StatusWin.BarValue = 0;
// All of the RO database, group, and return value information
// was saved to the FST file. Now save the information needed
// to read the FST file.
// Save DB list
uint lngbuf = 0;
uint dblength = (uint)fhFST.BaseStream.Position;
fhFST.Write(lngbuf);
ushort intbuf = Convert.ToUInt16(numDatabases);
fhFST.Write(intbuf);
// The old code did a sizeof() on a structure containing the ROFSTDatabaseInfo (dbi)
// You cannot read/write a Struct type in C# like you can with C++. The C# books suggest
// creating a Class to replace the Struct, then create methods that perform the binary
// read/write. So I created a method that calculates the "struct" size to simulate the
// sizeof(struct dbi)
uint lngval = (dbinfo[0].GetStructSize()) * (uint)numDatabases;
for (i=0; i<numDatabases; i++)
{
StatusWin.PerformStep();
dbinfo[i].WriteUntAndShort(fhFST);
fhFST.Write(lngval);
lngval += (uint)dbinfo[i].dbiTitle.Length+1;
fhFST.Write(lngval);
lngval += (uint)dbinfo[i].dbiAP.Length+1;
}
// write the titles and accessory page ids
for (i=0; i<numDatabases;i++)
{
tblnode.SetAttribute("TreeNotData","True");
StatusWin.PerformStep();
dbinfo[i].WriteStrings(fhFST);
tblnode = (VlnXmlElement) tblnode.NextSibling;
}
int dbend = (int)fhFST.BaseStream.Position;
fhFST.Seek((int)dblength,System.IO.SeekOrigin.Begin);
lngbuf = (uint)(dbend-dblength-4);//sizeof(dblength);
fhFST.Write(lngbuf);
fhFST.Seek(0,System.IO.SeekOrigin.Begin);
// save the header information
FstHeader.SetHeader(dblength);
FstHeader.Write(fhFST);
// Close the status window
StatusWin.Dispose();
// close tmporary FST file
fhFST.Close();
}
return RtnVal;
}
private string CvtFldToUserFld(string fldname)
{
string tmpstr0;
if (fldname.Length < 2) return fldname;
// an xml element name cannot begin with a digit. we had prepended a "__"
if (fldname.Substring(0,2) == "__" && char.IsDigit(fldname,2))
tmpstr0 = fldname.Substring(2,fldname.Length-2);
else
tmpstr0 = fldname;
// an xml element name cannot have a space, we converted to a "__"
string tmpstr = tmpstr0.Replace("__"," ");
int len = tmpstr.Length;
int cur = 0;
// this is also our sequence that tells us the follow 3 digits is the ascii number (base 10)
// of the character we replaced.
string OKpunch = "-._";
string outstr = "";
int decval, indx;
if (tmpstr.Length <6)
indx = -1;
else
indx=tmpstr.IndexOf(OKpunch,cur);
string asc_spchar;
while (indx>=0)
{
outstr += tmpstr.Substring(cur,indx-cur);
asc_spchar = tmpstr.Substring(indx+3,3);
decval = System.Convert.ToInt16(asc_spchar,10);
outstr += System.Convert.ToChar(decval).ToString();
cur = indx+6;
if (cur+6 > len)
indx = -1;
else
indx = tmpstr.IndexOf(OKpunch,cur);
}
if (cur<len) outstr += tmpstr.Substring(cur,len-cur);
return outstr;
}
// If any of the nodes on the user interface tree were open,
// the group info for those nodes were aleady read.
// To speed up the RO.FST file creation, remove these read in
// child nodes so the the code can do one big database read
// to get all of the child info for a high level group, instead
// of many database reads (one for each lower level group).
private void RemoveGroupChildNodes(XmlNode TheROtableNode)
{
VlnXmlElement elem = (VlnXmlElement) TheROtableNode;
string strHasChild = elem.GetAttribute("HasChild");
string strChildLoaded = elem.GetAttribute("ChildLoaded");
if (strHasChild.Equals("True") && strChildLoaded.Equals("True"))
{
VlnXmlElement kid, delkid;
XmlNode chldNode = TheROtableNode.FirstChild;
while (chldNode != null)
{
delkid = null;
if (chldNode is VlnXmlElement)
{
kid = (VlnXmlElement) chldNode;
if (kid.HasAttribute("RecID"))delkid = kid;
}
chldNode = chldNode.NextSibling;
if (delkid != null) elem.RemoveChild(delkid);
}
elem.SetAttribute("ChildLoaded","False");
}
}
private bool SaveToFSTFile(XmlNode TheROtableNode,ROFST_DbInfo Thedbinfo)
{
// Profiler.Start("Startup");
bool RtnVal = false;
IComparer StrCompare = new MyComparer();
IdsAndAccPgIds = new SortedList(StrCompare);
IdsAndOffsets = new SortedList();
VlnXmlElement elem = (VlnXmlElement) TheROtableNode;
// Save The Database Filename NUMBER (EX 02 FOR RO000002)
// note that the number part of the filename is in base 10, NOT base 16!
string tablename = elem.GetAttribute("Table");
ushort shorttmp = System.Convert.ToUInt16(tablename.Substring(2),10);
Thedbinfo.dbiID = shorttmp;
// Save the database title
Thedbinfo.dbiTitle = CvtFldToUserFld(elem.FirstChild.InnerText);
StatusWin.StatusBoxTitle = "Processing " + Thedbinfo.dbiTitle;
// Save the Accessory Page ID Prefix
Thedbinfo.dbiAP = elem.GetAttribute("AccPageIDPrefix");
// Get the Accessory Page ID Template
string AccPageIDTplate = elem.GetAccPageIDTemplate();
// Get the list of available fields
ArrayList AvailList;
AvailList = ROdatabase.RODB_GetFields(elem, (uint) RecordType.Schema);
// Initialize a stack for the FieldsInUse lists
InUseListStack = new Stack();
//Initialize a stack for the return value template
RtnValTmplateStack = new Stack();
widestAcPgId = 0;
AllTypesUsed = 0;
// for each group..
// ... save to the FST file and get widestAcPgId
// .... also save a RECID/ACCPGID to a sorted list
// ... also save a RECID/FSToffset to a sorted list
// XmlNode GroupNode = TheROtableNode;
StatusWin.BarMax = ROdatabase.RODB_GetNumberOfROValueRecords(tablename)+1;
StatusWin.BarStepValue = 1;
StatusWin.BarValue = 0;
StatusWin.StatMsg = "Saving To RO.FST File";
// Profiler.End("Startup");
RemoveGroupChildNodes(TheROtableNode);
Thedbinfo.dbiGL = SaveFstGroup(TheROtableNode,0,ref AllTypesUsed,AvailList,AccPageIDTplate);
// Profiler.Start("Finish");
Thedbinfo.dbiIL = (uint)fhFST.BaseStream.Position;
StatusWin.StatMsg = "Saving RO References";
StatusWin.BarMax = IdsAndOffsets.Count + IdsAndAccPgIds.Count;
StatusWin.BarStepValue = 1;
StatusWin.BarValue = 0;
// save the IdsAndOffsets list
for (int i=0; i<IdsAndOffsets.Count; i++)
{
uint buf1;
uint buf2;
// IDsAndOffsetMemBlock tbuf = new IDsAndOffsetMemBlock();
StatusWin.PerformStep();
buf1 = System.Convert.ToUInt32(IdsAndOffsets.GetKey(i));
// buf1 = SwapBytes(buf1);
buf2 = System.Convert.ToUInt32(IdsAndOffsets.GetByIndex(i));
fhFST.Write(buf1);
fhFST.Write(buf2);
RtnVal = true;
}
IdsAndOffsets.Clear();
// write ACCPageIDs and offsets
Thedbinfo.dbiAL = (uint)fhFST.BaseStream.Position;
Thedbinfo.dbiAW = widestAcPgId;
// spin through the children nodes and look for AccPageIds
for (int i=0; i<IdsAndAccPgIds.Count; i++)
{
string ACCPageIDstr;
uint RecIDint;
StatusWin.PerformStep();
ACCPageIDstr = Convert.ToString(IdsAndAccPgIds.GetKey(i));
ACCPageIDstr = ACCPageIDstr.PadRight(widestAcPgId,(char)0);
RecIDint = Convert.ToUInt32(IdsAndAccPgIds.GetByIndex(i));
fhFST.Write(RecIDint);
WriteString(ACCPageIDstr,false);
}
IdsAndAccPgIds.Clear();
// Save the end offset for this database (table)
Thedbinfo.dbiEND = (uint)fhFST.BaseStream.Position;
// Profiler.End("Finish");
return RtnVal;
}
private uint SaveFstGroup(XmlNode GroupNode, uint parentID,ref ushort typ,ArrayList AvailList,string AccPageIDTplate)
{
uint RtnVal;
uint curRecID;
ushort curType = 0;
ushort numgroups;
uint elemParentID;
ArrayList FstTmp;
FstTmpSTRC tmpfststrc;
bool PopInUseStack = false;
bool PopRtnValStack = false;
// FstTmp is an array that stores record type, menu title,
// and offset into the FST file for each RO (non group) record
FstTmp = new ArrayList();
VlnXmlElement elem;
elem = (VlnXmlElement) GroupNode;
// Get the current node's record id
string RecIdStr = elem.GetAttribute("RecID");
curRecID = System.Convert.ToUInt32(RecIdStr,16);
// Get the current node's parent id
string ParIdStr = elem.GetAttribute("ParentID");
elemParentID = Convert.ToUInt32(ParIdStr,16);
string HasKids = elem.GetAttribute("HasChild");
string KidsLoaded = elem.GetAttribute("ChildLoaded");
numgroups = 0;
if (KidsLoaded != "True" && HasKids.Equals("True"))
{
// Profiler.Start("GetChildData");
// ROdatabase.RODB_GetChildData(elem,true);
ROdatabase.RODB_GetGroupAndSubgroups(elem);
// Profiler.End("GetChildData");
}
XmlNode tmpnode = GroupNode;
XmlNode chldnode;
VlnXmlElement ChildElem;
// Process the children. If the child is a subgroup,
// call this function (SaveFstGroup) again. If the
// child is a RO record, save the RO information to
// the FST file.
chldnode = tmpnode.FirstChild;
if (chldnode != null)
{
string dummy = ""; // need for RODB_GetFIeldsInUse call, won't be used.
// ArrayList AvailList, InUseList;
ArrayList InUseList;
// ArrayList tmpAvailList;
string RtnValTmplate;
// if the current group has a "FieldInUse" list, go get it.
if (elem.HasAttribute("FieldsInUse") == true)
{
// Profiler.Start("GetFieldsInUse");
InUseList = ROdatabase.RODB_GetFieldsInUse(elem, AvailList,"FieldsInUse", ref dummy, false);
// save the InUseList on a stack for children to use if they don't have one of their own
InUseListStack.Push(InUseList);
// Profiler.End("GetFieldsInUse");
PopInUseStack = true;
}
else
{
// Use the InUseList from this group's parent
InUseList = (ArrayList)InUseListStack.Peek();
PopInUseStack = false;
}
// if the current group has a "RetVal", go get it
if (elem.HasAttribute("RetVal") == true)
{
RtnValTmplate = elem.GetReturnValueTemplate();
// save the RtnValTmplate on a stack for children to use if they don't have one
RtnValTmplateStack.Push(RtnValTmplate);
PopRtnValStack = true;
}
else
{
// use the parent's RtnValTmplate
RtnValTmplate = (string) RtnValTmplateStack.Peek();
PopRtnValStack = false;
}
while (chldnode != null)
{
uint curOffset =0;
bool SkipThisOne;
if (chldnode is VlnXmlElement)
{
SkipThisOne = false;
ChildElem = (VlnXmlElement) chldnode;
if (ChildElem.Name == "vlnGroup") // is a subgroup?
{
curType=0;
curOffset = SaveFstGroup(chldnode,curRecID,ref curType,AvailList,AccPageIDTplate); // process subgroup
}
else // save RO info.
{
int levelCnt = chldnode.ChildNodes.Count;
string TheMenuTitle = ChildElem.GetAttribute("MenuTitle");
if ((levelCnt >= 1) && !TheMenuTitle.Equals(""))
{
curOffset = (uint)fhFST.BaseStream.Position;
curType = SaveROToFST(chldnode,InUseList,RtnValTmplate,AccPageIDTplate);
}
else
{
SkipThisOne = true;
}
}
if (!SkipThisOne)
{
string tmpstr = ChildElem.GetAttribute("MenuTitle");
tmpfststrc = new FstTmpSTRC(curType,curOffset,tmpstr);
FstTmp.Add(tmpfststrc);
typ |= curType;
numgroups++;
}
} // end if VlnXmlElement
// Get next child
chldnode = chldnode.NextSibling;
}// end while
} // if child is not null
// pop the InUseList stack
if (PopInUseStack)
InUseListStack.Pop();
// pop the return valuse template stack
if (PopRtnValStack)
RtnValTmplateStack.Pop();
// save the current position of the FST file for the return value
RtnVal = (uint)fhFST.BaseStream.Position;
// Save the ID and offset entry for the current ID
IdsAndOffsets.Add(curRecID,RtnVal);
fhFST.Write(curRecID);
fhFST.Write(elemParentID);
fhFST.Write(numgroups);
// write the FstTmp
for (int i=0; i < FstTmp.Count; i++)
{
tmpfststrc = (FstTmpSTRC)FstTmp[i];
tmpfststrc.Write(fhFST);
}
FstTmp.Clear();
return RtnVal;
}
public void WriteGraphicsReturnValue(string OrigStr)
{
string text, tmptext, hgttxt, widtxt, imgdateStr;
int idx;
int hgt, wid;
int imgdateInt;
byte newline = 10;
char[] tmpbuf = OrigStr.ToCharArray();
// remove the trailing "\r\n"
tmptext = OrigStr.Substring(0,OrigStr.Length-2);
// parse out the image width
idx = tmptext.LastIndexOf("\r\n");
widtxt = tmptext.Substring(idx+2,tmptext.Length-(idx+2));
wid = Convert.ToInt32(widtxt,10);
widtxt = wid.ToString("x4");
tmptext = tmptext.Substring(0,idx);
// parse out the image height
idx = tmptext.LastIndexOf("\r\n");
hgttxt = tmptext.Substring(idx+2,tmptext.Length-(idx+2));
hgt = Convert.ToInt32(hgttxt,10);
hgttxt = hgt.ToString("x4");
tmptext = tmptext.Substring(0,idx);
// parse out the image file name and image date
idx = tmptext.IndexOf(" ");
text = tmptext.Substring(idx+1);
if (tmptext.StartsWith("\r\n"))
imgdateStr = tmptext.Substring(2,idx-2); // first 2 chars are "\r\n"
else
{
if(idx < 1)
imgdateStr=null;
else
imgdateStr = tmptext.Substring(0,idx);
}
if (imgdateStr == null|| imgdateStr=="")
imgdateInt = 0;
else
imgdateInt = Convert.ToInt32(imgdateStr,10);
// write graphics file name
WriteString(text,false);
fhFST.Write(newline);
// write dummy date (old FST file had only zeros!
// WriteString("00000000",false);
WriteString(imgdateInt.ToString("x8"),false);
fhFST.Write(newline);
// write the image height
WriteString(hgttxt,false);
fhFST.Write(newline);
//write the image width
WriteString(widtxt,true);
}
private ushort SaveROToFST(XmlNode RONode,ArrayList InUseList,string RtnValTmplate, string AccPageIDTplate)
{
ushort RtnVal;
uint startFST = (uint)fhFST.BaseStream.Position;
uint RORecID;
uint ParID;
byte nullbyte=0;
VlnXmlElement elem;
elem = (VlnXmlElement) RONode;
// string dummy = ""; // need for RODB_GetFIeldsInUse call, won't be used.
// ArrayList AvailList, InUseList;
// //Get the "In Use" field list
// AvailList = ROdatabase.RODB_GetFields(elem, (uint) RecordType.Schema);
// InUseList = ROdatabase.RODB_GetFieldsInUse(elem, AvailList,"FieldsInUse", ref dummy);
//Write the RO's record ID
string RecIdStr = elem.GetAttribute("RecID");
RORecID = System.Convert.ToUInt16(RecIdStr,16);
fhFST.Write(RORecID);
// **** Debug
// if (RecIdStr.Equals("000000a6"))
// nullbyte=0;
// ***
// Get the Accessory Page ID
// string AccPageIDTplate = elem.GetAccPageIDTemplate();
string AccPageID = elem.GetAccPageIDString(AccPageIDTplate);
// **** Debug
// if (AccPageID.Equals("S:1"))
// nullbyte=0;
// *****
//Write the parent ID
string ParIDstr = elem.GetAttribute("ParentID");
ParID = System.Convert.ToUInt16(ParIDstr,16);
fhFST.Write(ParID);
// not sure why, was in old FST code but no comment!
// I assume that it's some sort of separater
short none = -1;
fhFST.Write(none);
//Get the RO Return value and return type
// string RtnValTmplate = elem.GetReturnValueTemplate();
RtnVal = 0;
string tablename = elem.GetAttribute("Table");
// if (RtnValTmplate.Equals("<Setpoint__Value>"))
// {
// int i;
// i =0;
// }
string cvttmp= CvtFldToUserFld(RtnValTmplate);
string RORtnVal = elem.GetReturnValue(ROdatabase,tablename,cvttmp,InUseList,ref RtnVal);
// Write the field type to the FST
fhFST.Write(RtnVal);
if (RtnVal == 8) // is this an Image (graphics) record?
WriteGraphicsReturnValue(RORtnVal);
else
WriteString(RORtnVal);
// Write the Accessory Page ID
// Fix for Bug B2003-039. Added check for a NULL AccPageID
// If is null, then assign a blank string
if (AccPageID != null)
AccPageID = AccPageID.Trim();
else
AccPageID = " ";
WriteString(AccPageID);
// Save the ID and offset entry for the current ID
IdsAndOffsets.Add(RORecID,startFST);
// Save the RecID and Accessory Page id
IdsAndAccPgIds[AccPageID] = RORecID;
// Save the widest AccPageID width
int acclen = AccPageID.Length;
if (acclen > widestAcPgId)
widestAcPgId = (ushort)acclen;
// if(dtLast.AddSeconds(.3) < DateTime.Now)
// {
StatusWin.StatMsg = AccPageID;
StatusWin.PerformStep();
// dtLast=DateTime.Now;
// }
return RtnVal;
}
public void WriteString(string str)
{
WriteString(str,true);
}
public void WriteString(string str,bool AddNull)
{
int n=str.Length;
if (AddNull)
n++;
byte [] b = new byte[n];
for(int i =0; i < str.Length; i++)
{
b[i] = (byte)str[i];
}
fhFST.Write(b,0,n);
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

View File

@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<configuration>
<startup>
</startup><runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
</assemblyBinding></runtime>
<appSettings>
<!-- User application and configured property settings go here.-->
<!-- Example: <add key="settingName" value="settingValue"/> -->
<add key="AboutDlg.AutoScale" value="True"/>
</appSettings>
</configuration>