This commit is contained in:
John Jenko 2013-03-25 20:33:33 +00:00
parent 2c6fb7abb2
commit 25aff47849
98 changed files with 30794 additions and 0 deletions

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 © {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.
//

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

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,234 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE;Upgrade2005;</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{3A4A3543-2D44-11D6-8452-00A0CC271352}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>App.ico</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>ROEditor</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>WinExe</OutputType>
<RootNamespace>ROEditor</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>ROEditor.Form1</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>true</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>false</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE;Upgrade2005;</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>false</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>true</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\..\..\..\VEPROMS User Interface\bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Drawing">
<Name>System.Drawing</Name>
</Reference>
<Reference Include="System.Windows.Forms">
<Name>System.Windows.Forms</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AboutROEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="AboutROEditor.Designer.cs">
<DependentUpon>AboutROEditor.cs</DependentUpon>
</Compile>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="FieldCombFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FieldTextFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FieldTypeDefFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="GroupDefFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="GroupNewFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="RODefFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ROEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="RO_FST.cs">
<SubType>Code</SubType>
</Compile>
<EmbeddedResource Include="AboutROEditor.resx">
<SubType>Designer</SubType>
<DependentUpon>AboutROEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FieldCombFrm.resx">
<DependentUpon>FieldCombFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="FieldTextFrm.resx">
<DependentUpon>FieldTextFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="FieldTypeDefFrm.resx">
<DependentUpon>FieldTypeDefFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="GroupDefFrm.resx">
<DependentUpon>GroupDefFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="GroupNewFrm.resx">
<DependentUpon>GroupNewFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<SubType>Designer</SubType>
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="RODefFrm.resx">
<DependentUpon>RODefFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ROEditor.ico" />
<EmbeddedResource Include="ROEditor.resx">
<DependentUpon>ROEditor.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<Content Include="App.ico" />
<Content Include="Cert_prt_rgb_70x32.gif" />
<Content Include="Red_V_txt_NB_bur_1984.png" />
<Content Include="ROGROUPYellow.ICO" />
<None Include="app.config" />
<None Include="FixRev.Bat" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\LibSource\ctlXMLEditLib\ctlXMLEditLib.csproj">
<Project>{DECA8343-6351-11D6-8487-00A0CC271352}</Project>
<Name>ctlXMLEditLib</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\DBEncapsulation\DBEncapsulation.csproj">
<Project>{6D44F537-879E-11D6-84B8-00A0CC271352}</Project>
<Name>DBEncapsulation</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\Org.Mentalis.Files\Org.Mentalis.Files.csproj">
<Project>{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}</Project>
<Name>Org.Mentalis.Files</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\RODBInterface\RODBInterface.csproj">
<Project>{0C7825FD-AA05-11D6-84D1-00A0CC271352}</Project>
<Name>RODBInterface</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\ROField\ROFields.csproj">
<Project>{0C782592-AA05-11D6-84D1-00A0CC271352}</Project>
<Name>ROFields</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\ROFST\ROFST.csproj">
<Project>{134D8938-9CDC-4712-9444-D5DCC6638AB6}</Project>
<Name>ROFST</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\LibSource\VlnStatus\VlnStatus.csproj">
<Project>{551CB7B3-00B1-11D7-8590-482B59000000}</Project>
<Name>VlnStatus</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>cmd /c "$(ProjectDir)FixRev.bat"</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:Exe\\RefObj\\ROEditor"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

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>

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

View File

@ -0,0 +1,265 @@
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(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
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}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ROFields", "..\..\..\LibSource\ROField\ROFields.csproj", "{0C782592-AA05-11D6-84D1-00A0CC271352}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DBEncapsulation", "..\..\..\LibSource\DBEncapsulation\DBEncapsulation.csproj", "{6D44F537-879E-11D6-84B8-00A0CC271352}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RODBInterface", "..\..\..\LibSource\RODBInterface\RODBInterface.csproj", "{0C7825FD-AA05-11D6-84D1-00A0CC271352}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
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(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
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}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ROFST", "..\..\..\LibSource\ROFST\ROFST.csproj", "{134D8938-9CDC-4712-9444-D5DCC6638AB6}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Mentalis.Files", "..\..\..\LibSource\Org.Mentalis.Files\Org.Mentalis.Files.csproj", "{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utils", "..\..\..\LibSource\Utils\Utils.csproj", "{680054D3-49C4-40E7-92A5-67B97DCE6308}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
Global
GlobalSection(SourceCodeControl) = preSolution
SccNumberOfProjects = 11
SccProjectName0 = \u0022$/PROMS/ReferencedObjects\u0022,\u0020XCFAAAAA
SccLocalPath0 = ..\\..\\..
SccProvider0 = MSSCCI:Microsoft\u0020Visual\u0020SourceSafe
SccProjectFilePathRelativizedFromConnection0 = Exe\\RefObj\\ROEditor\\
SccProjectUniqueName1 = ROEditor.csproj
SccLocalPath1 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection1 = Exe\\RefObj\\ROEditor\\
SccProjectUniqueName2 = ..\\..\\..\\LibSource\\ctlXMLEditLib\\ctlXMLEditLib.csproj
SccLocalPath2 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection2 = LibSource\\ctlXMLEditLib\\
SccProjectUniqueName3 = ..\\..\\..\\LibSource\\DBEncapsulation\\DBEncapsulation.csproj
SccLocalPath3 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection3 = LibSource\\DBEncapsulation\\
SccProjectUniqueName4 = ..\\..\\..\\LibSource\\Org.Mentalis.Files\\Org.Mentalis.Files.csproj
SccLocalPath4 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection4 = LibSource\\Org.Mentalis.Files\\
SccProjectUniqueName5 = ..\\..\\..\\LibSource\\RODBInterface\\RODBInterface.csproj
SccLocalPath5 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection5 = LibSource\\RODBInterface\\
SccProjectUniqueName6 = ..\\..\\..\\LibSource\\ROField\\ROFields.csproj
SccLocalPath6 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection6 = LibSource\\ROField\\
SccProjectUniqueName7 = ..\\..\\..\\LibSource\\ROFST\\ROFST.csproj
SccLocalPath7 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection7 = LibSource\\ROFST\\
SccProjectUniqueName8 = ..\\..\\..\\LibSource\\Utils\\Utils.csproj
SccLocalPath8 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection8 = LibSource\\Utils\\
SccProjectUniqueName9 = ..\\..\\..\\LibSource\\VlnProfiler\\VlnProfiler.csproj
SccLocalPath9 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection9 = LibSource\\VlnProfiler\\
SccProjectUniqueName10 = ..\\..\\..\\LibSource\\VlnStatus\\VlnStatus.csproj
SccLocalPath10 = ..\\..\\..
SccProjectFilePathRelativizedFromConnection10 = LibSource\\VlnStatus\\
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|Win32.ActiveCfg = Debug|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|Win32.ActiveCfg = Release|Any CPU
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{3A4A3543-2D44-11D6-8452-00A0CC271352}.Release|x86.Build.0 = Release|x86
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|Win32.ActiveCfg = Debug|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|x86.ActiveCfg = Debug|x86
{551CB7B3-00B1-11D7-8590-482B59000000}.Debug|x86.Build.0 = Debug|x86
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Any CPU.Build.0 = Release|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|Win32.ActiveCfg = Release|Any CPU
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|x86.ActiveCfg = Release|x86
{551CB7B3-00B1-11D7-8590-482B59000000}.Release|x86.Build.0 = Release|x86
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|Win32.ActiveCfg = Debug|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{0C782592-AA05-11D6-84D1-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|Win32.ActiveCfg = Release|Any CPU
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{0C782592-AA05-11D6-84D1-00A0CC271352}.Release|x86.Build.0 = Release|x86
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|Win32.ActiveCfg = Debug|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{6D44F537-879E-11D6-84B8-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|Win32.ActiveCfg = Release|Any CPU
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{6D44F537-879E-11D6-84B8-00A0CC271352}.Release|x86.Build.0 = Release|x86
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|Win32.ActiveCfg = Debug|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|Win32.ActiveCfg = Release|Any CPU
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{0C7825FD-AA05-11D6-84D1-00A0CC271352}.Release|x86.Build.0 = Release|x86
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|Win32.ActiveCfg = Debug|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|x86.ActiveCfg = Debug|x86
{DECA8343-6351-11D6-8487-00A0CC271352}.Debug|x86.Build.0 = Debug|x86
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|Any CPU.Build.0 = Release|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|Win32.ActiveCfg = Release|Any CPU
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|x86.ActiveCfg = Release|x86
{DECA8343-6351-11D6-8487-00A0CC271352}.Release|x86.Build.0 = Release|x86
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|Win32.ActiveCfg = Debug|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|x86.ActiveCfg = Debug|x86
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Debug|x86.Build.0 = Debug|x86
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|Any CPU.Build.0 = Release|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|Win32.ActiveCfg = Release|Any CPU
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|x86.ActiveCfg = Release|x86
{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}.Release|x86.Build.0 = Release|x86
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|Win32.ActiveCfg = Debug|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|x86.ActiveCfg = Debug|x86
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Debug|x86.Build.0 = Debug|x86
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|Any CPU.Build.0 = Release|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|Win32.ActiveCfg = Release|Any CPU
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|x86.ActiveCfg = Release|x86
{134D8938-9CDC-4712-9444-D5DCC6638AB6}.Release|x86.Build.0 = Release|x86
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|Win32.ActiveCfg = Debug|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|x86.ActiveCfg = Debug|x86
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Debug|x86.Build.0 = Debug|x86
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|Any CPU.Build.0 = Release|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|Win32.ActiveCfg = Release|Any CPU
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|x86.ActiveCfg = Release|x86
{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}.Release|x86.Build.0 = Release|x86
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|Any CPU.Build.0 = Debug|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|Win32.ActiveCfg = Debug|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|x86.ActiveCfg = Debug|x86
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Debug|x86.Build.0 = Debug|x86
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|Any CPU.ActiveCfg = Release|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|Any CPU.Build.0 = Release|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|Win32.ActiveCfg = Release|Any CPU
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|x86.ActiveCfg = Release|x86
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:Exe\\RefObj\\ROEditor"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT"
}

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>

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,205 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: DBEncap.cs $ $Revision: 5 $
* $Author: Kathy $ $Date: 12/10/02 2:24p $
*
* $History: DBEncap.cs $
*
* ***************** Version 5 *****************
* User: Kathy Date: 12/10/02 Time: 2:24p
* Updated in $/LibSource/DBEncapsulation
* handle dbnull for sql server
*
* ***************** Version 4 *****************
* User: Kathy Date: 10/09/02 Time: 12:36p
* Updated in $/LibSource/DBEncapsulation
* handle null in data
*
* ***************** Version 3 *****************
* User: Jsj Date: 9/05/02 Time: 1:03p
* Updated in $/LibSource/DBEncapsulation
* added ExecuteNonQuery calls
*
* ***************** Version 2 *****************
* User: Jsj Date: 9/05/02 Time: 11:31a
* Updated in $/LibSource/DBEncapsulation
* added Close functions
*
* ***************** Version 1 *****************
* User: Jsj Date: 8/23/02 Time: 3:07p
* Created in $/LibSource/DBEncapsulation
*********************************************************************************************/
using System;
using System.Data;
using System.Data.OleDb;
using Microsoft.Data.Odbc;
namespace DBEncapsulation
{
/// <summary>
/// Summary description for DBEncapsulate: Encapsulate database interface methods &
/// classes. Will encapsulate OLE DB & ODBC connections, commands, readers & other
/// features as required.
/// </summary>
public class DBEncapsulate
{
public virtual void Connection(string strconnect)
{
}
public virtual void OpenConnection()
{
}
public virtual void CloseConnection()
{
}
public virtual void Command(string strCommand)
{
}
public virtual void CommandDispose()
{
}
public virtual bool Reader()
{
return false;
}
public virtual void ReaderClose()
{
}
public virtual bool Read()
{
return false;
}
public virtual string GetString(int num)
{
string tmp = "tmp";
return (tmp);
}
public virtual int GetInt32(int num)
{
return (0);
}
public virtual void NonQuery()
{
}
}
public class OLEDB_DBEncap: DBEncapsulate
{
OleDbConnection myDatabaseConn;
OleDbCommand myCommand;
OleDbDataReader myReader;
public override void Connection(string strconnect)
{
myDatabaseConn = new OleDbConnection(strconnect);
}
public override void OpenConnection()
{
myDatabaseConn.Open();
}
public override void CloseConnection()
{
myDatabaseConn.Close();
}
public override void Command(string strCommand)
{
myCommand = new OleDbCommand(strCommand,myDatabaseConn);
}
public override void CommandDispose()
{
myCommand.Dispose();
}
public override bool Reader()
{
myReader = myCommand.ExecuteReader();
if (myReader == null)
return false;
else
return true;
}
public override void ReaderClose()
{
myReader.Close();
}
public override bool Read()
{
return(myReader.Read());
}
public override string GetString(int num)
{
if (myReader.IsDBNull(num) == false)
return(myReader.GetString(num));
else
return null;
//if (myReader.GetString(num) == null) return null;
//return(myReader.GetString(num));
}
public override int GetInt32(int num)
{
return(myReader.GetInt32(num));
}
public override void NonQuery()
{
myCommand.ExecuteNonQuery();
}
}
public class ODBC_DBEncap: DBEncapsulate
{
OdbcConnection myDatabaseConn;
OdbcCommand myCommand;
OdbcDataReader myReader;
public override void Connection(string strconnect)
{
myDatabaseConn = new OdbcConnection(strconnect);
}
public override void OpenConnection()
{
myDatabaseConn.Open();
}
public override void CloseConnection()
{
myDatabaseConn.Close();
}
public override void Command(string strCommand)
{
myCommand = new OdbcCommand(strCommand,myDatabaseConn);
}
public override void CommandDispose()
{
myCommand.Dispose();
}
public override bool Reader()
{
myReader = myCommand.ExecuteReader();
if (myReader == null)
return false;
else
return true;
}
public override void ReaderClose()
{
myReader.Close();
}
public override bool Read()
{
return(myReader.Read());
}
public override string GetString(int num)
{
if (myReader.IsDBNull(num) == false)
return(myReader.GetString(num));
else
return null;
}
public override int GetInt32(int num)
{
return(myReader.GetInt32(num));
}
public override void NonQuery()
{
myCommand.ExecuteNonQuery();
}
}
}

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>{6D44F537-879E-11D6-84B8-00A0CC271352}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>DBEncapsulation</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<RootNamespace>DBEncapsulation</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</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>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Data.Odbc">
<Name>Microsoft.Data.Odbc</Name>
<HintPath>C:\Program Files\Microsoft.Net\Odbc.Net\Microsoft.Data.Odbc.dll</HintPath>
</Reference>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="DBEncap.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:LibSource\\DBEncapsulation"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

View File

@ -0,0 +1,428 @@
/*
IniReader class for C#
Version: 1.0 Date: 2002/04/24
*/
/*
Copyright © 2002, The KPD-Team
All rights reserved.
http://www.mentalis.org/
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Neither the name of the KPD-Team, nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Text;
using System.Collections;
using System.Runtime.InteropServices;
// The Org.Mentalis.Files contains a number of classes that read from or write to special files.
namespace Org.Mentalis.Files
{
/// <summary>
/// The INIReader class can read keys from and write keys to an INI file.
/// </summary>
/// <remarks>
/// This class uses several Win32 API functions to read from and write to INI files. It will not work on Linux or FreeBSD.
/// </remarks>
public class IniReader
{
// API declarations
/// <summary>
/// The GetPrivateProfileInt function retrieves an integer associated with a key in the specified section of an initialization file.
/// </summary>
/// <param name="lpApplicationName">Pointer to a null-terminated string specifying the name of the section in the initialization file.</param>
/// <param name="lpKeyName">Pointer to the null-terminated string specifying the name of the key whose value is to be retrieved. This value is in the form of a string; the GetPrivateProfileInt function converts the string into an integer and returns the integer.</param>
/// <param name="nDefault">Specifies the default value to return if the key name cannot be found in the initialization file.</param>
/// <param name="lpFileName">Pointer to a null-terminated string that specifies the name of the initialization file. If this parameter does not contain a full path to the file, the system searches for the file in the Windows directory.</param>
/// <returns>The return value is the integer equivalent of the string following the specified key name in the specified initialization file. If the key is not found, the return value is the specified default value. If the value of the key is less than zero, the return value is zero.</returns>
[DllImport("KERNEL32.DLL", EntryPoint = "GetPrivateProfileIntA", CharSet = CharSet.Ansi)]
private static extern int GetPrivateProfileInt(string lpApplicationName, string lpKeyName, int nDefault, string lpFileName);
/// <summary>
/// The WritePrivateProfileString function copies a string into the specified section of an initialization file.
/// </summary>
/// <param name="lpApplicationName">Pointer to a null-terminated string containing the name of the section to which the string will be copied. If the section does not exist, it is created. The name of the section is case-independent; the string can be any combination of uppercase and lowercase letters.</param>
/// <param name="lpKeyName">Pointer to the null-terminated string containing the name of the key to be associated with a string. If the key does not exist in the specified section, it is created. If this parameter is NULL, the entire section, including all entries within the section, is deleted.</param>
/// <param name="lpString">Pointer to a null-terminated string to be written to the file. If this parameter is NULL, the key pointed to by the lpKeyName parameter is deleted.</param>
/// <param name="lpFileName">Pointer to a null-terminated string that specifies the name of the initialization file.</param>
/// <returns>If the function successfully copies the string to the initialization file, the return value is nonzero; if the function fails, or if it flushes the cached version of the most recently accessed initialization file, the return value is zero.</returns>
[DllImport("KERNEL32.DLL", EntryPoint = "WritePrivateProfileStringA", CharSet = CharSet.Ansi)]
private static extern int WritePrivateProfileString(string lpApplicationName, string lpKeyName, string lpString, string lpFileName);
/// <summary>
/// The GetPrivateProfileString function retrieves a string from the specified section in an initialization file.
/// </summary>
/// <param name="lpApplicationName">Pointer to a null-terminated string that specifies the name of the section containing the key name. If this parameter is NULL, the GetPrivateProfileString function copies all section names in the file to the supplied buffer.</param>
/// <param name="lpKeyName">Pointer to the null-terminated string specifying the name of the key whose associated string is to be retrieved. If this parameter is NULL, all key names in the section specified by the lpAppName parameter are copied to the buffer specified by the lpReturnedString parameter.</param>
/// <param name="lpDefault">Pointer to a null-terminated default string. If the lpKeyName key cannot be found in the initialization file, GetPrivateProfileString copies the default string to the lpReturnedString buffer. This parameter cannot be NULL. <br>Avoid specifying a default string with trailing blank characters. The function inserts a null character in the lpReturnedString buffer to strip any trailing blanks.</br></param>
/// <param name="lpReturnedString">Pointer to the buffer that receives the retrieved string.</param>
/// <param name="nSize">Specifies the size, in TCHARs, of the buffer pointed to by the lpReturnedString parameter.</param>
/// <param name="lpFileName">Pointer to a null-terminated string that specifies the name of the initialization file. If this parameter does not contain a full path to the file, the system searches for the file in the Windows directory.</param>
/// <returns>The return value is the number of characters copied to the buffer, not including the terminating null character.</returns>
[DllImport("KERNEL32.DLL", EntryPoint = "GetPrivateProfileStringA", CharSet = CharSet.Ansi)]
private static extern int GetPrivateProfileString(string lpApplicationName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);
/// <summary>
/// The GetPrivateProfileSectionNames function retrieves the names of all sections in an initialization file.
/// </summary>
/// <param name="lpszReturnBuffer">Pointer to a buffer that receives the section names associated with the named file. The buffer is filled with one or more null-terminated strings; the last string is followed by a second null character.</param>
/// <param name="nSize">Specifies the size, in TCHARs, of the buffer pointed to by the lpszReturnBuffer parameter.</param>
/// <param name="lpFileName">Pointer to a null-terminated string that specifies the name of the initialization file. If this parameter is NULL, the function searches the Win.ini file. If this parameter does not contain a full path to the file, the system searches for the file in the Windows directory.</param>
/// <returns>The return value specifies the number of characters copied to the specified buffer, not including the terminating null character. If the buffer is not large enough to contain all the section names associated with the specified initialization file, the return value is equal to the length specified by nSize minus two.</returns>
[DllImport("KERNEL32.DLL", EntryPoint = "GetPrivateProfileSectionNamesA", CharSet = CharSet.Ansi)]
private static extern int GetPrivateProfileSectionNames(byte[] lpszReturnBuffer, int nSize, string lpFileName);
/// <summary>
/// The WritePrivateProfileSection function replaces the keys and values for the specified section in an initialization file.
/// </summary>
/// <param name="lpAppName">Pointer to a null-terminated string specifying the name of the section in which data is written. This section name is typically the name of the calling application.</param>
/// <param name="lpString">Pointer to a buffer containing the new key names and associated values that are to be written to the named section.</param>
/// <param name="lpFileName">Pointer to a null-terminated string containing the name of the initialization file. If this parameter does not contain a full path for the file, the function searches the Windows directory for the file. If the file does not exist and lpFileName does not contain a full path, the function creates the file in the Windows directory. The function does not create a file if lpFileName contains the full path and file name of a file that does not exist.</param>
/// <returns>If the function succeeds, the return value is nonzero.<br>If the function fails, the return value is zero.</br></returns>
[DllImport("KERNEL32.DLL", EntryPoint = "WritePrivateProfileSectionA", CharSet = CharSet.Ansi)]
private static extern int WritePrivateProfileSection(string lpAppName, string lpString, string lpFileName);
/// <summary>Constructs a new IniReader instance.</summary>
/// <param name="file">Specifies the full path to the INI file (the file doesn't have to exist).</param>
public IniReader(string file)
{
Filename = file;
}
/// <summary>Gets or sets the full path to the INI file.</summary>
/// <value>A String representing the full path to the INI file.</value>
public string Filename
{
get
{
return m_Filename;
}
set
{
m_Filename = value;
}
}
/// <summary>Gets or sets the section you're working in. (aka 'the active section')</summary>
/// <value>A String representing the section you're working in.</value>
public string Section
{
get
{
return m_Section;
}
set
{
m_Section = value;
}
}
/// <summary>Reads an Integer from the specified key of the specified section.</summary>
/// <param name="section">The section to search in.</param>
/// <param name="key">The key from which to return the value.</param>
/// <param name="defVal">The value to return if the specified key isn't found.</param>
/// <returns>Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file.</returns>
public int ReadInteger(string section, string key, int defVal)
{
return GetPrivateProfileInt(section, key, defVal, Filename);
}
/// <summary>Reads an Integer from the specified key of the specified section.</summary>
/// <param name="section">The section to search in.</param>
/// <param name="key">The key from which to return the value.</param>
/// <returns>Returns the value of the specified section/key pair, or returns 0 if the specified section/key pair isn't found in the INI file.</returns>
public int ReadInteger(string section, string key)
{
return ReadInteger(section, key, 0);
}
/// <summary>Reads an Integer from the specified key of the active section.</summary>
/// <param name="key">The key from which to return the value.</param>
/// <param name="defVal">The section to search in.</param>
/// <returns>Returns the value of the specified Key, or returns the default value if the specified Key isn't found in the active section of the INI file.</returns>
public int ReadInteger(string key, int defVal)
{
return ReadInteger(Section, key, defVal);
}
/// <summary>Reads an Integer from the specified key of the active section.</summary>
/// <param name="key">The key from which to return the value.</param>
/// <returns>Returns the value of the specified key, or returns 0 if the specified key isn't found in the active section of the INI file.</returns>
public int ReadInteger(string key)
{
return ReadInteger(key, 0);
}
/// <summary>Reads a String from the specified key of the specified section.</summary>
/// <param name="section">The section to search in.</param>
/// <param name="key">The key from which to return the value.</param>
/// <param name="defVal">The value to return if the specified key isn't found.</param>
/// <returns>Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file.</returns>
public string ReadString(string section, string key, string defVal)
{
StringBuilder sb = new StringBuilder(MAX_ENTRY);
int Ret = GetPrivateProfileString(section, key, defVal, sb, MAX_ENTRY, Filename);
return sb.ToString();
}
/// <summary>Reads a String from the specified key of the specified section.</summary>
/// <param name="section">The section to search in.</param>
/// <param name="key">The key from which to return the value.</param>
/// <returns>Returns the value of the specified section/key pair, or returns an empty String if the specified section/key pair isn't found in the INI file.</returns>
public string ReadString(string section, string key)
{
return ReadString(section, key, "");
}
/// <summary>Reads a String from the specified key of the active section.</summary>
/// <param name="key">The key from which to return the value.</param>
/// <returns>Returns the value of the specified key, or returns an empty String if the specified key isn't found in the active section of the INI file.</returns>
public string ReadString(string key)
{
return ReadString(Section, key);
}
/// <summary>Reads a Long from the specified key of the specified section.</summary>
/// <param name="section">The section to search in.</param>
/// <param name="key">The key from which to return the value.</param>
/// <param name="defVal">The value to return if the specified key isn't found.</param>
/// <returns>Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file.</returns>
public long ReadLong(string section, string key, long defVal)
{
return long.Parse(ReadString(section, key, defVal.ToString()));
}
/// <summary>Reads a Long from the specified key of the specified section.</summary>
/// <param name="section">The section to search in.</param>
/// <param name="key">The key from which to return the value.</param>
/// <returns>Returns the value of the specified section/key pair, or returns 0 if the specified section/key pair isn't found in the INI file.</returns>
public long ReadLong(string section, string key)
{
return ReadLong(section, key, 0);
}
/// <summary>Reads a Long from the specified key of the active section.</summary>
/// <param name="key">The key from which to return the value.</param>
/// <param name="defVal">The section to search in.</param>
/// <returns>Returns the value of the specified key, or returns the default value if the specified key isn't found in the active section of the INI file.</returns>
public long ReadLong(string key, long defVal)
{
return ReadLong(Section, key, defVal);
}
/// <summary>Reads a Long from the specified key of the active section.</summary>
/// <param name="key">The key from which to return the value.</param>
/// <returns>Returns the value of the specified Key, or returns 0 if the specified Key isn't found in the active section of the INI file.</returns>
public long ReadLong(string key)
{
return ReadLong(key, 0);
}
/// <summary>Reads a Byte array from the specified key of the specified section.</summary>
/// <param name="section">The section to search in.</param>
/// <param name="key">The key from which to return the value.</param>
/// <returns>Returns the value of the specified section/key pair, or returns null (Nothing in VB.NET) if the specified section/key pair isn't found in the INI file.</returns>
public byte[] ReadByteArray(string section, string key)
{
try
{
return Convert.FromBase64String(ReadString(section, key));
}
catch { }
return null;
}
/// <summary>Reads a Byte array from the specified key of the active section.</summary>
/// <param name="key">The key from which to return the value.</param>
/// <returns>Returns the value of the specified key, or returns null (Nothing in VB.NET) if the specified key pair isn't found in the active section of the INI file.</returns>
public byte[] ReadByteArray(string key)
{
return ReadByteArray(Section, key);
}
/// <summary>Reads a Boolean from the specified key of the specified section.</summary>
/// <param name="section">The section to search in.</param>
/// <param name="key">The key from which to return the value.</param>
/// <param name="defVal">The value to return if the specified key isn't found.</param>
/// <returns>Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file.</returns>
public bool ReadBoolean(string section, string key, bool defVal)
{
return Boolean.Parse(ReadString(section, key, defVal.ToString()));
}
/// <summary>Reads a Boolean from the specified key of the specified section.</summary>
/// <param name="section">The section to search in.</param>
/// <param name="key">The key from which to return the value.</param>
/// <returns>Returns the value of the specified section/key pair, or returns false if the specified section/key pair isn't found in the INI file.</returns>
public bool ReadBoolean(string section, string key)
{
return ReadBoolean(section, key, false);
}
/// <summary>Reads a Boolean from the specified key of the specified section.</summary>
/// <param name="key">The key from which to return the value.</param>
/// <param name="defVal">The value to return if the specified key isn't found.</param>
/// <returns>Returns the value of the specified key pair, or returns the default value if the specified key isn't found in the active section of the INI file.</returns>
public bool ReadBoolean(string key, bool defVal)
{
return ReadBoolean(Section, key, defVal);
}
/// <summary>Reads a Boolean from the specified key of the specified section.</summary>
/// <param name="key">The key from which to return the value.</param>
/// <returns>Returns the value of the specified key, or returns false if the specified key isn't found in the active section of the INI file.</returns>
public bool ReadBoolean(string key)
{
return ReadBoolean(Section, key);
}
/// <summary>Writes an Integer to the specified key in the specified section.</summary>
/// <param name="section">The section to write in.</param>
/// <param name="key">The key to write to.</param>
/// <param name="value">The value to write.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool Write(string section, string key, int value)
{
return Write(section, key, value.ToString());
}
/// <summary>Writes an Integer to the specified key in the active section.</summary>
/// <param name="key">The key to write to.</param>
/// <param name="value">The value to write.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool Write(string key, int value)
{
return Write(Section, key, value);
}
/// <summary>Writes a String to the specified key in the specified section.</summary>
/// <param name="section">Specifies the section to write in.</param>
/// <param name="key">Specifies the key to write to.</param>
/// <param name="value">Specifies the value to write.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool Write(string section, string key, string value)
{
return (WritePrivateProfileString(section, key, value, Filename) != 0);
}
/// <summary>Writes a String to the specified key in the active section.</summary>
/// <param name="key">The key to write to.</param>
/// <param name="value">The value to write.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool Write(string key, string value)
{
return Write(Section, key, value);
}
/// <summary>Writes a Long to the specified key in the specified section.</summary>
/// <param name="section">The section to write in.</param>
/// <param name="key">The key to write to.</param>
/// <param name="value">The value to write.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool Write(string section, string key, long value)
{
return Write(section, key, value.ToString());
}
/// <summary>Writes a Long to the specified key in the active section.</summary>
/// <param name="key">The key to write to.</param>
/// <param name="value">The value to write.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool Write(string key, long value)
{
return Write(Section, key, value);
}
/// <summary>Writes a Byte array to the specified key in the specified section.</summary>
/// <param name="section">The section to write in.</param>
/// <param name="key">The key to write to.</param>
/// <param name="value">The value to write.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool Write(string section, string key, byte[] value)
{
if (value == null)
return Write(section, key, (string)null);
else
return Write(section, key, value, 0, value.Length);
}
/// <summary>Writes a Byte array to the specified key in the active section.</summary>
/// <param name="key">The key to write to.</param>
/// <param name="value">The value to write.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool Write(string key, byte[] value)
{
return Write(Section, key, value);
}
/// <summary>Writes a Byte array to the specified key in the specified section.</summary>
/// <param name="section">The section to write in.</param>
/// <param name="key">The key to write to.</param>
/// <param name="value">The value to write.</param>
/// <param name="offset">An offset in <i>value</i>.</param>
/// <param name="length">The number of elements of <i>value</i> to convert.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool Write(string section, string key, byte[] value, int offset, int length)
{
if (value == null)
return Write(section, key, (string)null);
else
return Write(section, key, Convert.ToBase64String(value, offset, length));
}
/// <summary>Writes a Boolean to the specified key in the specified section.</summary>
/// <param name="section">The section to write in.</param>
/// <param name="key">The key to write to.</param>
/// <param name="value">The value to write.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool Write(string section, string key, bool value)
{
return Write(section, key, value.ToString());
}
/// <summary>Writes a Boolean to the specified key in the active section.</summary>
/// <param name="key">The key to write to.</param>
/// <param name="value">The value to write.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool Write(string key, bool value)
{
return Write(Section, key, value);
}
/// <summary>Deletes a key from the specified section.</summary>
/// <param name="section">The section to delete from.</param>
/// <param name="key">The key to delete.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool DeleteKey(string section, string key)
{
return (WritePrivateProfileString(section, key, null, Filename) != 0);
}
/// <summary>Deletes a key from the active section.</summary>
/// <param name="key">The key to delete.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool DeleteKey(string key)
{
return (WritePrivateProfileString(Section, key, null, Filename) != 0);
}
/// <summary>Deletes a section from an INI file.</summary>
/// <param name="section">The section to delete.</param>
/// <returns>Returns true if the function succeeds, false otherwise.</returns>
public bool DeleteSection(string section)
{
return WritePrivateProfileSection(section, null, Filename) != 0;
}
/// <summary>Retrieves a list of all available sections in the INI file.</summary>
/// <returns>Returns an ArrayList with all available sections.</returns>
public ArrayList GetSectionNames()
{
try
{
byte[] buffer = new byte[MAX_ENTRY];
GetPrivateProfileSectionNames(buffer, MAX_ENTRY, Filename);
string[] parts = Encoding.ASCII.GetString(buffer).Trim('\0').Split('\0');
return new ArrayList(parts);
}
catch { }
return null;
}
//Private variables and constants
/// <summary>
/// Holds the full path to the INI file.
/// </summary>
private string m_Filename;
/// <summary>
/// Holds the active section name
/// </summary>
private string m_Section;
/// <summary>
/// The maximum number of bytes in a section buffer.
/// </summary>
private const int MAX_ENTRY = 32768;
}
}

View File

@ -0,0 +1,67 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Org.Mentalis.Files</RootNamespace>
<AssemblyName>Org.Mentalis.Files</AssemblyName>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="IniReader.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:LibSource\\Org.Mentalis.Files"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

View File

@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 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("Org.Mentalis.Files")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Org.Mentalis.Files")]
[assembly: AssemblyCopyright("Copyright © 2012")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("fd26053d-c25d-46ca-961c-7016c31e8b4b")]
// 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.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,159 @@
<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>{0C7825FD-AA05-11D6-84D1-00A0CC271352}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>RODBInterface</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<RootNamespace>RODBInterface</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</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>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Drawing">
<Name>System.Drawing</Name>
</Reference>
<Reference Include="System.Windows.Forms">
<Name>System.Windows.Forms</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="RODBInterface.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="userpass.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="VlnXml.cs">
<SubType>Code</SubType>
</Compile>
<EmbeddedResource Include="userpass.resx">
<DependentUpon>userpass.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\DBEncapsulation\DBEncapsulation.csproj">
<Project>{6D44F537-879E-11D6-84B8-00A0CC271352}</Project>
<Name>DBEncapsulation</Name>
</ProjectReference>
<ProjectReference Include="..\Org.Mentalis.Files\Org.Mentalis.Files.csproj">
<Project>{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}</Project>
<Name>Org.Mentalis.Files</Name>
</ProjectReference>
<ProjectReference Include="..\ROField\ROFields.csproj">
<Project>{0C782592-AA05-11D6-84D1-00A0CC271352}</Project>
<Name>ROFields</Name>
</ProjectReference>
<ProjectReference Include="..\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>

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:LibSource\\RODBInterface"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,188 @@
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace RODBInterface
{
/// <summary>
/// Summary description for userpass.
/// </summary>
public class userpass : System.Windows.Forms.Form
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
private System.Windows.Forms.Label uidLbl;
private System.Windows.Forms.Label pwLbl;
private System.Windows.Forms.Button OKBtn;
internal System.Windows.Forms.Button CancelBtn;
private System.Windows.Forms.TextBox uidTxtBx;
private System.Windows.Forms.TextBox pwTxtBx;
//public UidPw UIDPW
//{
// get
// {
// UidPw up = new UidPw();
// up.Password = this.pwTxtBx.Text;
// up.UserId = this.uidTxtBx.Text;
// return up;
// }
//}
public string uname=null;
public string pword=null;
public userpass()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
public userpass(string PassedInName)
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
uidTxtBx.Text = PassedInName;
}
/// <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.uidTxtBx = new System.Windows.Forms.TextBox();
this.uidLbl = new System.Windows.Forms.Label();
this.pwLbl = new System.Windows.Forms.Label();
this.pwTxtBx = new System.Windows.Forms.TextBox();
this.OKBtn = new System.Windows.Forms.Button();
this.CancelBtn = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// uidTxtBx
//
this.uidTxtBx.Location = new System.Drawing.Point(8, 40);
this.uidTxtBx.Name = "uidTxtBx";
this.uidTxtBx.Size = new System.Drawing.Size(134, 22);
this.uidTxtBx.TabIndex = 0;
this.uidTxtBx.Text = "";
this.uidTxtBx.KeyUp += new System.Windows.Forms.KeyEventHandler(this.uidTxtBx_KeyUp);
//
// uidLbl
//
this.uidLbl.Location = new System.Drawing.Point(16, 16);
this.uidLbl.Name = "uidLbl";
this.uidLbl.Size = new System.Drawing.Size(115, 18);
this.uidLbl.TabIndex = 1;
this.uidLbl.Text = "User ID";
//
// pwLbl
//
this.pwLbl.Location = new System.Drawing.Point(184, 16);
this.pwLbl.Name = "pwLbl";
this.pwLbl.Size = new System.Drawing.Size(86, 18);
this.pwLbl.TabIndex = 2;
this.pwLbl.Text = "Password";
//
// pwTxtBx
//
this.pwTxtBx.AcceptsTab = true;
this.pwTxtBx.Location = new System.Drawing.Point(176, 40);
this.pwTxtBx.Name = "pwTxtBx";
this.pwTxtBx.PasswordChar = '*';
this.pwTxtBx.Size = new System.Drawing.Size(125, 22);
this.pwTxtBx.TabIndex = 3;
this.pwTxtBx.Text = "";
this.pwTxtBx.KeyUp += new System.Windows.Forms.KeyEventHandler(this.pwTxtBx_KeyUp);
//
// OKBtn
//
this.OKBtn.DialogResult = System.Windows.Forms.DialogResult.OK;
this.OKBtn.Location = new System.Drawing.Point(336, 16);
this.OKBtn.Name = "OKBtn";
this.OKBtn.Size = new System.Drawing.Size(96, 28);
this.OKBtn.TabIndex = 4;
this.OKBtn.Text = "OK";
this.OKBtn.Click += new System.EventHandler(this.OKBtn_Click);
//
// CancelBtn
//
this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.CancelBtn.Location = new System.Drawing.Point(336, 56);
this.CancelBtn.Name = "CancelBtn";
this.CancelBtn.Size = new System.Drawing.Size(96, 28);
this.CancelBtn.TabIndex = 5;
this.CancelBtn.Text = "Cancel";
//
// userpass
//
this.AccessibleRole = System.Windows.Forms.AccessibleRole.None;
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
this.ClientSize = new System.Drawing.Size(448, 96);
this.ControlBox = false;
this.Controls.Add(this.CancelBtn);
this.Controls.Add(this.OKBtn);
this.Controls.Add(this.pwTxtBx);
this.Controls.Add(this.uidTxtBx);
this.Controls.Add(this.pwLbl);
this.Controls.Add(this.uidLbl);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "userpass";
this.Text = " Login";
this.ResumeLayout(false);
}
#endregion
private void OKBtn_Click(object sender, System.EventArgs e)
{
uname = this.uidTxtBx.Text;
pword = this.pwTxtBx.Text;
}
private void pwTxtBx_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
// if key pressed was a return - treat as ok button.
if (e.KeyCode == Keys.Return) this.OKBtn.PerformClick();
}
private void uidTxtBx_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
// if key pressed was a return - treat as ok button.
if (e.KeyCode == Keys.Return) this.OKBtn.PerformClick();
}
}
}

View File

@ -0,0 +1,184 @@
<?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 forserialized 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.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="uidTxtBx.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="uidTxtBx.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="uidTxtBx.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="uidLbl.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="uidLbl.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="uidLbl.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="pwLbl.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="pwLbl.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="pwLbl.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="pwTxtBx.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="pwTxtBx.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="pwTxtBx.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="OKBtn.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="OKBtn.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="OKBtn.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="CancelBtn.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="CancelBtn.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="CancelBtn.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Assembly</value>
</data>
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>(Default)</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>80</value>
</data>
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.Name">
<value>userpass</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,138 @@
<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>{134D8938-9CDC-4712-9444-D5DCC6638AB6}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>ROFST</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<RootNamespace>ROFST</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</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;Upgrade2005;</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>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;Upgrade2005;</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Windows.Forms">
<Name>System.Windows.Forms</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ROFST.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Utils\Utils.csproj">
<Project>{680054D3-49C4-40E7-92A5-67B97DCE6308}</Project>
<Name>Utils</Name>
</ProjectReference>
<ProjectReference Include="..\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>

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:LibSource\\ROFST"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

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,301 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: ROField.cs $ $Revision: 11 $
* $Author: Kathy $ $Date: 4/04/03 9:41a $
*
* $History: ROField.cs $
*
* ***************** Version 11 *****************
* User: Kathy Date: 4/04/03 Time: 9:41a
* Updated in $/LibSource/ROFields
* B2003-030: get correct field type for new image
*
* ***************** Version 10 *****************
* User: Kathy Date: 12/10/02 Time: 2:27p
* Updated in $/LibSource/ROFields
* fieldname special chars
*
* ***************** Version 9 *****************
* User: Kathy Date: 12/02/02 Time: 8:30a
* Updated in $/LibSource/ROFields
* fieldname replace chars
*
* ***************** Version 8 *****************
* User: Kathy Date: 11/11/02 Time: 7:14a
* Updated in $/LibSource/ROFields
* image field type should be 32 not 20
*
* ***************** Version 7 *****************
* User: Kathy Date: 10/15/02 Time: 2:17p
* Updated in $/LibSource/ROFields
* combo field number
*
* ***************** Version 6 *****************
* User: Kathy Date: 9/27/02 Time: 1:11p
* Updated in $/LibSource/ROFields
* fix digit as first char in fieldname
*
* ***************** Version 5 *****************
* User: Kathy Date: 9/25/02 Time: 2:31p
* Updated in $/LibSource/ROFields
* multitxt->variable
*
* ***************** Version 4 *****************
* User: Kathy Date: 9/03/02 Time: 2:53p
* Updated in $/LibSource/ROFields
* missing " on image field def.
*
* ***************** Version 3 *****************
* User: Kathy Date: 8/30/02 Time: 11:56a
* Updated in $/LibSource/ROFields
* image
*
* ***************** Version 2 *****************
* User: Kathy Date: 8/28/02 Time: 10:59a
* Updated in $/LibSource/ROFields
* development
*********************************************************************************************/
using System;
using System.Text;
namespace ROFields
{
public enum FieldTypes: uint
{
Nil=0, SingleTxt=1, VariableTxt=2, FrmtSingleTxt=4, XYPlot=8, Table=10, Image=32,
MultiTxt=40, Combination=128, MultiFld=100
}
/// <summary>
/// Summary description for ROField: This class contains RO Field information. Each ROField
/// contains:
/// string fieldname - the name of the field
/// string recid - its database record id (used to interface to the database - null if
/// not created yet.
/// string masterrecID - its record id in the master if appropriate.
/// uint fieldtype - the field type as defined in the enum FieldTypes (listed above)
/// </summary>
public class ROField
{
string fieldname;
string recID;
string masterrecID;
uint fldtype;
// constuctor
public ROField(string fname, string rID, string mrID, uint fieldtype)
{
fieldname = fname;
recID = rID;
masterrecID = mrID;
fldtype = fieldtype;
}
public string GetFieldname { get {return fieldname;}}
public string GetRecID { get {return recID;}}
public string GetMasterRecID { get {return masterrecID;}}
public uint GetFieldType{ get {return fldtype;}}
public void SetFieldname(string name) {fieldname = name;}
public void SetRecID(string recid) {recID = recid;}
public void SetMasterRecID(string mrecid) {masterrecID = mrecid;}
public void SetFieldType(uint ftype) {fldtype = ftype;}
// Given a schema string, determine which RO Field type it is.
public uint ParseFieldType(string info)
{
int indx;
// formatted single line text has 'pattern' in schema definition)
indx = info.IndexOf("xsd:pattern");
if (indx >= 0) return (uint) FieldTypes.FrmtSingleTxt;
// Combination field has 'choice' in schema definition
indx = info.IndexOf("xsd:choice");
if (indx >= 0) return (uint) FieldTypes.Combination;
// image - search for 'Image_Height', in case Image is in the string from some other mechanism
indx = info.IndexOf("Image_Height");
if (indx >=0) return (uint) FieldTypes.Image;
// single line text has 'normalizedString' (pattern does too, but
// it would be eliminated above.
indx = info.IndexOf("xsd:normalizedString");
if (indx >=0) return (uint) FieldTypes.SingleTxt;
// now look for all of the multi-line fields: multi text, table, & XY Plot
indx = info.IndexOf("xsd:string");
if (indx <0) indx = info.IndexOf("xsd:String");
if (indx >=0)
{
int indxspecific;
indxspecific = info.IndexOf("Variable");
if (indxspecific >= 0) return (uint) FieldTypes.VariableTxt;
indxspecific = info.IndexOf("Table");
if (indxspecific >= 0) return (uint) FieldTypes.Table;
indxspecific = info.IndexOf("XYPlot");
if (indxspecific >= 0) return (uint) FieldTypes.XYPlot;
}
// indx = info.IndexOf("Image");
// if (indx >=0) return (uint) FieldTypes.Image;
return 1000;
}
// Creates a string representing the schema for this field. note that the input
// fieldname will override that which is stored for this ROField (for editting
// purposes).
public string MakeFieldName(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;
}
public string MakeSchemaString(string fieldname, string width, string pattern)
{
uint ftype = this.GetFieldType;
StringBuilder strbld = new StringBuilder();
strbld.Append("<xsd:element name=\"");
strbld.Append(MakeFieldName(fieldname));
strbld.Append("\" minOccurs=\"0\">\n");
if (ftype == (uint)FieldTypes.VariableTxt || ftype == (uint)FieldTypes.Table || ftype == (uint)FieldTypes.XYPlot)
{
strbld.Append("<xsd:annotation>\n<xsd:documentation xml:lang=\"en\">");
if (ftype == (uint)FieldTypes.VariableTxt)
strbld.Append("Variable");
else if (ftype == (uint)FieldTypes.Table)
strbld.Append("Table");
else
strbld.Append("XYPlot");
strbld.Append("</xsd:documentation>\n</xsd:annotation>");
}
strbld.Append("<xsd:simpleType>\n<xsd:restriction base=\"xsd:");
if (ftype == (uint)FieldTypes.FrmtSingleTxt || ftype == (uint)FieldTypes.SingleTxt)
strbld.Append("normalizedString\">\n<xsd:maxLength value=\"");
else
strbld.Append("String\">\n<xsd:maxLength value=\"");
strbld.Append(width);
strbld.Append("\" />\n");
if (ftype == (uint)FieldTypes.FrmtSingleTxt)
{
strbld.Append("<xsd:pattern value=\"");
strbld.Append(pattern);
strbld.Append("\" />\n");
}
strbld.Append("</xsd:restriction>\n</xsd:simpleType>\n</xsd:element>");
return (strbld.ToString());
}
public string MakeComboSchemaString(string fieldname, bool fixd, string fixdwid, bool multi, string multiwid,
bool table, string tablewid, bool xyplot, string xyplotwid)
{
StringBuilder strbld = new StringBuilder();
strbld.Append("<xsd:choice>\n");
if (fixd == true)
{
strbld.Append("<xsd:element name=\"");
strbld.Append(MakeFieldName(fieldname)+"a");
strbld.Append("\" type=\"Fixed\" minOccurs=\"0\">\n");
strbld.Append("<xsd:simpleType>\n<xsd:restriction base=\"xsd:normalizedString\">\n<xsd:maxLength value=\"");
strbld.Append(fixdwid);
strbld.Append("\" />\n</xsd:restriction>\n</xsd:simpleType>\n</xsd:element>\n");
}
if (multi == true)
{
strbld.Append("<xsd:element name=\"");
strbld.Append(MakeFieldName(fieldname)+"b");
strbld.Append("\" type=\"Variable\" minOccurs=\"0\">\n");
strbld.Append("<xsd:annotation>\n<xsd:documentation xml:lang=\"en\">\nVariable\n");
strbld.Append("</xsd:documentation>\n</xsd:annotation>\n<xsd:simpleType name=\"Variable\">\n");
strbld.Append("<xsd:restriction base=\"xsd:string\">\n<xsd:maxLength value=\"");
strbld.Append(multiwid);
strbld.Append("\" />\n</xsd:restriction>\n</xsd:simpleType>\n</xsd:element>\n");
}
if (table == true)
{
strbld.Append("<xsd:element name=\"");
strbld.Append(MakeFieldName(fieldname)+"c");
strbld.Append("\" type=\"Table\" minOccurs=\"0\">\n");
strbld.Append("<xsd:annotation>\n<xsd:documentation xml:lang=\"en\">\nTable\n");
strbld.Append("</xsd:documentation>\n</xsd:annotation>\n<xsd:simpleType name=\"Variable\">\n");
strbld.Append("<xsd:restriction base=\"xsd:string\">\n<xsd:maxLength value=\"");
strbld.Append(tablewid);
strbld.Append("\" />\n</xsd:restriction>\n</xsd:simpleType>\n</xsd:element>");
}
if (xyplot == true)
{
strbld.Append("<xsd:element name=\"");
strbld.Append(MakeFieldName(fieldname)+"d");
strbld.Append("\" type=\"XY_Plot\" minOccurs=\"0\">\n");
strbld.Append("<xsd:annotation>\n<xsd:documentation xml:lang=\"en\">\nXYPlot\n");
strbld.Append("</xsd:documentation>\n</xsd:annotation>\n<xsd:simpleType name=\"Variable\">\n");
strbld.Append("<xsd:restriction base=\"xsd:string\">\n<xsd:maxLength value=\"");
strbld.Append(xyplotwid);
strbld.Append("\" />\n</xsd:restriction>\n</xsd:simpleType>\n</xsd:element>");
}
strbld.Append("</xsd:choice>");
return (strbld.ToString());
}
public string MakeImageSchemaString(string fieldname)
{
StringBuilder strbld = new StringBuilder();
strbld.Append("<xsd:element name=\"");
strbld.Append(MakeFieldName(fieldname));
strbld.Append("\">\n<xsd:complexType>\n<xsd:sequence>");
strbld.Append("<xsd:element name=\"Image_Filename\" minOccurs=\"0\">\n");
strbld.Append("<xsd:simpleType>\n<xsd:annotation>\n");
strbld.Append("<xsd:documentation xml:lang=\"en\">VLN_FINDFILE</xsd:documentation>\n");
strbld.Append("</xsd:annotation>\n<xsd:restriction base=\"xsd:normalizedString\">\n");
strbld.Append("<xsd:maxLength value=\"70\" />\n</xsd:restriction>\n</xsd:simpleType>");
strbld.Append("</xsd:element>\n<xsd:element name=\"Image_Height\" minOccurs=\"0\">\n");
strbld.Append("<xsd:simpleType>\n<xsd:annotation>\n");
strbld.Append("<xsd:documentation xml:lang=\"en\">Lines (6 lines per inch)</xsd:documentation>\n");
strbld.Append("</xsd:annotation>\n<xsd:restriction base=\"xsd:normalizedString\">\n");
strbld.Append("<xsd:maxLength value=\"10\" />\n</xsd:restriction>\n</xsd:simpleType>\n");
strbld.Append("</xsd:element>\n<xsd:element name=\"Image_Width\" minOccurs=\"0\">\n");
strbld.Append("<xsd:simpleType>\n<xsd:annotation>\n");
strbld.Append("<xsd:documentation xml:lang=\"en\">Characters (12 chars. Per inch)</xsd:documentation>\n");
strbld.Append("</xsd:annotation>\n<xsd:restriction base=\"xsd:normalizedString\">\n");
strbld.Append("<xsd:maxLength value=\"10\" />\n</xsd:restriction>\n</xsd:simpleType>\n");
strbld.Append("</xsd:element>\n</xsd:sequence>\n</xsd:complexType>\n</xsd:element>");
return(strbld.ToString());
}
}
}

View File

@ -0,0 +1,125 @@
<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>{0C782592-AA05-11D6-84D1-00A0CC271352}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>ROField</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<RootNamespace>ROField</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</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>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ROField.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:LibSource\\ROField"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

View File

@ -0,0 +1,268 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: About.cs $ $Revision: 5 $
* $Author: Jsj $ $Date: 1/02/08 1:38p $
*
* $History: About.cs $
*
* ***************** Version 5 *****************
* User: Jsj Date: 1/02/08 Time: 1:38p
* Updated in $/LibSource/Utils
* upped copyright to 2008
*
* ***************** Version 4 *****************
* User: Jsj Date: 1/02/07 Time: 1:53p
* Updated in $/LibSource/Utils
* uppped copyright to 2007
*
* ***************** Version 3 *****************
* User: Jsj Date: 7/18/06 Time: 11:40a
* Updated in $/LibSource/Utils
* turned off Microsoft Solution Provider logo.
*
* ***************** Version 2 *****************
* User: Jsj Date: 1/03/06 Time: 9:08a
* Updated in $/LibSource/Utils
* upped copyright to year 2005
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:34a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Utils
{
/// <summary>
/// Summary description for About.
/// </summary>
public class AboutDlg : System.Windows.Forms.Form
{
private System.Windows.Forms.Button btnHlpAbtOK;
private System.Windows.Forms.Label CopyrightMessage;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.Label lblProgName;
private System.Windows.Forms.Label lblVerRelNums;
private System.Windows.Forms.Label lblSerialNumber;
private System.Windows.Forms.Label lblSerialNumTitle;
private System.Windows.Forms.Label lblUserID;
private System.Windows.Forms.LinkLabel VolianWebLink;
private System.Windows.Forms.Label lblLicenseTab;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public AboutDlg(string ProgName, string SerialNoStr, string SnTitleTab, string SerialNoTitle, string VerRel, string cpyrght, string UIDstr)
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
CopyrightMessage.Text = cpyrght;
this.lblProgName.Text = ProgName;
lblVerRelNums.Text = VerRel;
lblSerialNumber.Text = SerialNoStr;
lblSerialNumTitle.Text = SerialNoTitle;
lblUserID.Text = UIDstr;
lblLicenseTab.Text = SnTitleTab;
}
/// <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(AboutDlg));
this.btnHlpAbtOK = new System.Windows.Forms.Button();
this.lblProgName = new System.Windows.Forms.Label();
this.lblVerRelNums = new System.Windows.Forms.Label();
this.lblSerialNumber = new System.Windows.Forms.Label();
this.CopyrightMessage = new System.Windows.Forms.Label();
this.lblUserID = new System.Windows.Forms.Label();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.lblSerialNumTitle = new System.Windows.Forms.Label();
this.VolianWebLink = new System.Windows.Forms.LinkLabel();
this.lblLicenseTab = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// btnHlpAbtOK
//
this.btnHlpAbtOK.BackColor = System.Drawing.Color.YellowGreen;
this.btnHlpAbtOK.Font = new System.Drawing.Font("Tahoma", 10.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.btnHlpAbtOK.Location = new System.Drawing.Point(144, 160);
this.btnHlpAbtOK.Name = "btnHlpAbtOK";
this.btnHlpAbtOK.Size = new System.Drawing.Size(96, 32);
this.btnHlpAbtOK.TabIndex = 0;
this.btnHlpAbtOK.Text = "OK";
this.btnHlpAbtOK.Click += new System.EventHandler(this.btnHlpAbtOK_Click);
//
// lblProgName
//
this.lblProgName.BackColor = System.Drawing.Color.Transparent;
this.lblProgName.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblProgName.Location = new System.Drawing.Point(8, 8);
this.lblProgName.Name = "lblProgName";
this.lblProgName.Size = new System.Drawing.Size(360, 19);
this.lblProgName.TabIndex = 1;
this.lblProgName.Text = "Program Name";
this.lblProgName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// lblVerRelNums
//
this.lblVerRelNums.BackColor = System.Drawing.Color.Transparent;
this.lblVerRelNums.Font = new System.Drawing.Font("Arial", 10.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblVerRelNums.Location = new System.Drawing.Point(8, 40);
this.lblVerRelNums.Name = "lblVerRelNums";
this.lblVerRelNums.Size = new System.Drawing.Size(352, 24);
this.lblVerRelNums.TabIndex = 2;
this.lblVerRelNums.Text = "Version 0 Release 0";
this.lblVerRelNums.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// lblSerialNumber
//
this.lblSerialNumber.BackColor = System.Drawing.Color.Transparent;
this.lblSerialNumber.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblSerialNumber.Location = new System.Drawing.Point(8, 72);
this.lblSerialNumber.Name = "lblSerialNumber";
this.lblSerialNumber.Size = new System.Drawing.Size(360, 16);
this.lblSerialNumber.TabIndex = 3;
this.lblSerialNumber.Text = "Serial Number: xx";
this.lblSerialNumber.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, ((System.Byte)(0)));
this.CopyrightMessage.Location = new System.Drawing.Point(8, 192);
this.CopyrightMessage.Name = "CopyrightMessage";
this.CopyrightMessage.Size = new System.Drawing.Size(232, 16);
this.CopyrightMessage.TabIndex = 4;
this.CopyrightMessage.Text = " Copyright C 1988 - 2008 All Rights Reserved";
this.CopyrightMessage.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// lblUserID
//
this.lblUserID.BackColor = System.Drawing.Color.Transparent;
this.lblUserID.Font = new System.Drawing.Font("Arial", 7.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblUserID.Location = new System.Drawing.Point(8, 136);
this.lblUserID.Name = "lblUserID";
this.lblUserID.Size = new System.Drawing.Size(360, 16);
this.lblUserID.TabIndex = 6;
this.lblUserID.Text = "User ID: xxxxx";
this.lblUserID.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// pictureBox2
//
this.pictureBox2.Enabled = false;
this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
this.pictureBox2.Location = new System.Drawing.Point(272, 160);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(69, 32);
this.pictureBox2.TabIndex = 7;
this.pictureBox2.TabStop = false;
this.pictureBox2.Visible = false;
//
// lblSerialNumTitle
//
this.lblSerialNumTitle.BackColor = System.Drawing.Color.Transparent;
this.lblSerialNumTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblSerialNumTitle.Location = new System.Drawing.Point(112, 96);
this.lblSerialNumTitle.Name = "lblSerialNumTitle";
this.lblSerialNumTitle.Size = new System.Drawing.Size(256, 32);
this.lblSerialNumTitle.TabIndex = 8;
this.lblSerialNumTitle.Text = "Serial Number Title";
//
// VolianWebLink
//
this.VolianWebLink.Location = new System.Drawing.Point(248, 192);
this.VolianWebLink.Name = "VolianWebLink";
this.VolianWebLink.Size = new System.Drawing.Size(112, 16);
this.VolianWebLink.TabIndex = 9;
this.VolianWebLink.TabStop = true;
this.VolianWebLink.Text = "Volian Enterprises Inc.";
this.VolianWebLink.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.VolianWebLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
//
// lblLicenseTab
//
this.lblLicenseTab.BackColor = System.Drawing.Color.Transparent;
this.lblLicenseTab.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblLicenseTab.Location = new System.Drawing.Point(8, 96);
this.lblLicenseTab.Name = "lblLicenseTab";
this.lblLicenseTab.Size = new System.Drawing.Size(104, 24);
this.lblLicenseTab.TabIndex = 10;
this.lblLicenseTab.Text = "Licenced To:";
//
// AboutDlg
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 12);
this.BackColor = System.Drawing.SystemColors.GrayText;
this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
this.ClientSize = new System.Drawing.Size(370, 209);
this.Controls.Add(this.lblLicenseTab);
this.Controls.Add(this.VolianWebLink);
this.Controls.Add(this.lblSerialNumTitle);
this.Controls.Add(this.pictureBox2);
this.Controls.Add(this.lblUserID);
this.Controls.Add(this.CopyrightMessage);
this.Controls.Add(this.lblSerialNumber);
this.Controls.Add(this.lblVerRelNums);
this.Controls.Add(this.lblProgName);
this.Controls.Add(this.btnHlpAbtOK);
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 6F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "AboutDlg";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "About";
this.Load += new System.EventHandler(this.AboutDlg_Load);
this.ResumeLayout(false);
}
#endregion
private void btnHlpAbtOK_Click(object sender, System.EventArgs e)
{
this.Close();
}
private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("www.volian.com");
}
private void AboutDlg_Load(object sender, System.EventArgs e)
{
}
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 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,185 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: CurSet.cs $ $Revision: 2 $
* $Author: Jsj $ $Date: 5/17/05 11:51a $
*
* $History: CurSet.cs $
*
* ***************** Version 2 *****************
* User: Jsj Date: 5/17/05 Time: 11:51a
* Updated in $/LibSource/Utils
* cleanup
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:34a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
using System.IO;
using System.Collections;
using System.Text;
using System.Windows.Forms;
namespace Utils
{
/// <summary>
/// Summary description for CurSet.
/// </summary>
public class CurSet
{
public string PathName;
public string DefaultDestFName; //[MAXPATH]
public string DefaultPlantFmt; //[10];
public string DefaultPrinter; //[4];
public ArrayList DefaultUserCBMsg; //[2][10];
public string DefaultUserFmt; //[3];
public ArrayList DefPenColors; //[8]
public short DefaultChangeBars;
public short DefaultDestination;
public short DefaultOriginals;
public short DefaultPagination;
public short DefaultPaperMacro;
public short DefaultPlotterType,DefaultPlotterPort,DefaultCIEType;
public short DontPrintStatusTree;
public short DisableDuplexPrinting;
private string[] SettingFiles={"..\\procs\\curset.dat", "~curset.dat"};
public CurSet(string pname)
{
PathName = pname;
}
public bool Create(UserRunTime usrRT)
{
// find file to copy from procs or system.
bool found = false;
int i=0;
while(found==false)
{
if (File.Exists(usrRT.ExeAdjust(SettingFiles[i])) == true)
found=true;
else
i++;
}
if (found==false) return false;
File.Copy(usrRT.ExeAdjust(SettingFiles[i]),"curset.dat");
PathName = "curset.dat";
return true;
}
private string ReadTheString(BinaryReader bw, int maxlen)
{
StringBuilder retStr = new StringBuilder(maxlen+1);
// read a series of characters until a null is found.
char ac;
bool done = false;
while(done==false)
{
ac = bw.ReadChar();
if (ac=='\0')
done=true;
else
retStr.Append(ac);
}
return retStr.ToString();
}
public bool Read()
{
BinaryReader br;
ArrayList DefaultUserCBMsg = new ArrayList(2);
ArrayList DefPenColors = new ArrayList(8);
FileStream fs;
FileInfo fi = new FileInfo(PathName);
try
{
fs = fi.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite );
br = new BinaryReader(fs,System.Text.ASCIIEncoding.ASCII);
}
catch (Exception e)
{
MessageBox.Show(e.ToString(),"CURSET.DAT Error");
return false;
}
try
{
DefaultDestination=br.ReadSByte();
DefaultChangeBars= br.ReadSByte();
DefaultOriginals=br.ReadSByte();
DefaultPagination=br.ReadSByte();
DefaultPrinter = ReadTheString(br,4);
DefaultPlantFmt = ReadTheString(br,10);
DefaultDestFName = ReadTheString(br,128);
DefaultPlotterType = br.ReadSByte();
DefaultPlotterPort = br.ReadSByte();
DefaultCIEType = br.ReadSByte();
short tmp;
for (int i=0;i<8;i++)
{
tmp = br.ReadSByte();
DefPenColors.Add(tmp);
}
DefaultPaperMacro = br.ReadSByte();
string stmp;
stmp = ReadTheString(br,10);
DefaultUserCBMsg.Add(stmp);
stmp = ReadTheString(br,10);
DefaultUserCBMsg.Add(stmp);
DontPrintStatusTree = br.ReadSByte();
DefaultUserFmt = ReadTheString(br,10);
DisableDuplexPrinting = br.ReadSByte();
br.Close();
}
catch(Exception e)
{
if(br!=null) br.Close();
}
fs.Close();
return true;
}
public bool Save(string filename)
{
// may be a different pathname, if so, change it.
if (filename.ToUpper() != PathName.ToUpper()) PathName = filename;
FileStream fs = new FileStream(PathName, FileMode.Create);
BinaryWriter w = new BinaryWriter(fs);
w.Write(DefaultDestination);
w.Write(DefaultChangeBars);
w.Write(DefaultOriginals);
w.Write(DefaultPagination);
w.Write(DefaultPrinter);
w.Write(DefaultPlantFmt);
w.Write(DefaultDestFName);
w.Write(DefaultPlotterType);
w.Write(DefaultPlotterPort);
w.Write(DefaultCIEType);
w.Write((short)DefPenColors[0]);
w.Write((short)DefPenColors[1]);
w.Write((short)DefPenColors[2]);
w.Write((short)DefPenColors[3]);
w.Write((short)DefPenColors[4]);
w.Write((short)DefPenColors[5]);
w.Write((short)DefPenColors[6]);
w.Write((short)DefPenColors[7]);
w.Write(DefaultPaperMacro);
w.Write((string)DefaultUserCBMsg[0]);
w.Write((string)DefaultUserCBMsg[1]);
w.Write(DontPrintStatusTree);
w.Write(DefaultUserFmt);
w.Write(DisableDuplexPrinting);
w.Close();
fs.Close();
return true;
}
}
}

View File

@ -0,0 +1,139 @@
/*********************************************************************************************
* Copyright 2005 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: DTI.cs $ $Revision: 1 $
* $Author: Kathy $ $Date: 3/08/05 1:46p $
*
* $History: DTI.cs $
*
* ***************** Version 1 *****************
* User: Kathy Date: 3/08/05 Time: 1:46p
* Created in $/LibSource/Utils
* Approval
*********************************************************************************************/
using System;
using System.Text;
namespace Utils
{
/// <summary>
/// Summary description for DTI.
/// </summary>
public class DTI
{
public static string DateTimeInit;
public static string SetDateTimeInit;
public static string Initials; // set from the user's run time.
public static string CurDate(string delim)
{
DateTime dt = DateTime.Today;
StringBuilder sdt = new StringBuilder(11);
if (delim == null || delim == "") delim = "-";
sdt.Append(dt.Month.ToString("D2"));
sdt.Append(delim);
sdt.Append(dt.Day.ToString("D2"));
sdt.Append(delim);
sdt.Append(dt.Year.ToString("D2"));
return sdt.ToString();
}
public static string CurTime()
{
DateTime dt = DateTime.Now;
StringBuilder sdt = new StringBuilder(11);
sdt.Append(dt.Hour.ToString("D2"));
sdt.Append(":");
sdt.Append(dt.Minute.ToString("D2"));
sdt.Append(":");
sdt.Append(dt.Second.ToString("D2"));
return sdt.ToString();
}
// ovrride == 0 default, don't do anything different
// ovrride == 1 means simply override "super"
// ovrride == 2 means force a reset of the DTI
public static void UpdateDateTimeInit(int ovrride)
{
StringBuilder ldti = new StringBuilder(19);
if (ovrride != 2 && (ovrride!=0 || Initials!="super"))
{
string tptr = CurDate(null);
ldti = new StringBuilder(12);
ldti.Insert(0,tptr.Substring(6,4));
ldti.Insert(4,tptr.Substring(0,2));
ldti.Insert(6,tptr.Substring(3,2));
ldti.Insert(8,CurTime().Substring(0,5));
ldti.Insert(13,Initials.PadRight(5,' ').Substring(0,5));
}
else
ldti.Insert(0,DTI.SetDateTimeInit);
// for dbase, replace spaces with '0' in date/time part & shift any non-number
// in first time field back to end of time field (?not sure why - this was
// done in 16-bit code.
for (int i=0;i<13&&ldti[i]!=0;i++) if (ldti[i]==' ') ldti[i]='0';
char c = ldti[10];
if (!Char.IsDigit(c))
{
ldti[10]=ldti[11];
ldti[11]=ldti[12];
ldti[12]=c;
}
if (ldti.ToString().Substring(0,8).Equals("19800101"))
{
ldti.Insert(0,SetDateTimeInit.Substring(0,13));
}
DateTimeInit = ldti.ToString();
}
// MakeDate is passed a date in the form of YYYYMMDD and translates it
// into MM/DD/YY (if ShortYear is true) or MM/DD/YYYY. condense
// removes any leading ' ' or 0 in month or day.
public static string MakeDate(string src, bool condense, bool ShortYear)
{
int[] DateOffset={4,5,47,6,7,47,2,3}; // 47 = '/'
StringBuilder datebuff = new StringBuilder(12);
for (int i=0; i<DateOffset.Length; i++)
{
if (DateOffset[i]<9)
datebuff.Append(src[DateOffset[i]]);
else
datebuff.Append(System.Convert.ToChar(DateOffset[i]));
}
// for Y2K the year should be four digits. Copy the first
// four characters from the source (i.e. 4 digit year) to
// the 'year part' of the destination.
if (!ShortYear)
{
datebuff.Append(" "); // add the two characters to replace in next stmt
for (int i=0;i<4;i++) datebuff[i+6]=src[i];
}
// if the condense flag is set, remove leading 0 or blank
// from day and month fields.
if(condense)
{
for (int i=0;i<datebuff.Length;i++)
{
bool r1 = (datebuff[0]==' ')?true:false;
bool r2 = (datebuff[3]=='0'||datebuff[3]==' ')?true:false;
int pos = 0;
if (!((r1 && i==0)||(r2 && i==3)))
{
datebuff[pos]=datebuff[i];
pos++;
}
}
}
return(datebuff.ToString());
}
}
}

View File

@ -0,0 +1,73 @@
/*********************************************************************************************
* Copyright 2005 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: DirSpace.cs $ $Revision: 1 $
* $Author: Kathy $ $Date: 3/08/05 1:46p $
*
* $History: DirSpace.cs $
*
* ***************** Version 1 *****************
* User: Kathy Date: 3/08/05 Time: 1:46p
* Created in $/LibSource/Utils
* Approval
*********************************************************************************************/
using System;
using System.IO;
using System.Runtime.InteropServices;
namespace Utils
{
/// <summary>
/// Summary description for DirSpace.
/// </summary>
public class DirSpace
{
static DirSpace()
{
}
[DllImport("kernel32.dll", CharSet=CharSet.Auto, SetLastError=true)]
public static extern bool GetDiskFreeSpaceEx(
[MarshalAs(UnmanagedType.LPTStr)] string lpDirectoryName,
ref long lpFreeBytesAvailable,
ref long lpTotalNumberOfBytes,
ref long lpTotalNumberOfFreeBytes);
public static long Free()
{
string curdir = Environment.CurrentDirectory;
long freeBytes = new long();
long totalFreeBytes = new long();
long totalBytes = new long();
bool x = GetDiskFreeSpaceEx(curdir, ref freeBytes, ref totalFreeBytes, ref
totalBytes);
return totalFreeBytes;
}
private static long DirSize(DirectoryInfo d)
{
long Size = 0;
// Add file sizes.
FileInfo[] fis = d.GetFiles();
foreach (FileInfo fi in fis)
{
Size += fi.Length;
}
// Add subdirectory sizes.
DirectoryInfo[] dis = d.GetDirectories();
foreach (DirectoryInfo di in dis)
{
Size += DirSize(di);
}
return(Size);
}
public static long Get(string TheDirectory)
{
DirectoryInfo d = new DirectoryInfo(TheDirectory);
return DirSize(d);
}
}
}

View File

@ -0,0 +1,75 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: FmtFiles.cs $ $Revision: 2 $
* $Author: Jsj $ $Date: 5/17/05 11:51a $
*
* $History: FmtFiles.cs $
*
* ***************** Version 2 *****************
* User: Jsj Date: 5/17/05 Time: 11:51a
* Updated in $/LibSource/Utils
* cleanup
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:34a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
using System.IO;
using System.Windows.Forms;
namespace Utils
{
/// <summary>
/// Summary description for FmtFiles.
/// </summary>
public class FmtFile
{
public string FmtFileName;
public FmtFile(string fname)
{
if (fname.IndexOf(".fmt",0) > -1)
FmtFileName = fname;
else
FmtFileName = fname + ".fmt";
}
public string GetFormatTitle(UserRunTime usrRT)
{
string fmtpath = usrRT.syspath + "\\format\\" + FmtFileName;
FileStream fs;
FileInfo fi = new FileInfo(fmtpath);
try
{
fs = fi.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite );
}
catch (Exception e)
{
MessageBox.Show(e.ToString(),"Format File Read Error");
return null;
}
BinaryReader bw = new BinaryReader(fs,System.Text.ASCIIEncoding.ASCII);
ushort len;
len = bw.ReadUInt16();
string retTitle = null;
if (len > 1)
retTitle = new string(bw.ReadChars(len-1)); // -1: remove the null
else
retTitle = "Format not found";
return retTitle;
}
}
public class DocFile
{
public DocFile()
{
}
}
}

View File

@ -0,0 +1,58 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: MenuXML.cs $ $Revision: 2 $
* $Author: Jsj $ $Date: 5/17/05 11:52a $
*
* $History: MenuXML.cs $
*
* ***************** Version 2 *****************
* User: Jsj Date: 5/17/05 Time: 11:52a
* Updated in $/LibSource/Utils
* cleanup
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:34a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
using System.Xml;
using System.IO;
using System.Windows.Forms;
namespace Utils
{
/// <summary>
/// This class reads in an xml menu file, as input and creates an XmlDocument from it.
/// </summary>
public class MenuXML
{
private string menuFileName;
private XmlDocument xmlDoc;
public MenuXML(string fn)
{
menuFileName = fn;
try
{
xmlDoc = new XmlDocument();
XmlTextReader reader = new XmlTextReader(fn);
xmlDoc.Load(reader);
reader.Close();
}
catch (Exception e)
{
MessageBox.Show(e.Message.ToString(),"XML Menu Error");
}
}
public XmlDocument GetXmlDoc()
{
return xmlDoc;
}
}
}

View File

@ -0,0 +1,256 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: PrivateProfile.cs $ $Revision: 1 $
* $Author: Kathy $ $Date: 7/27/04 8:34a $
*
* $History: PrivateProfile.cs $
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:34a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
using System.IO;
using System.Xml;
namespace Utils
{
/// <summary>
/// PrivateProfile opens a private profile string and stores it's contents in an xml document.
/// </summary>
public class PrivateProfile
{
private string ppName;
private XmlDocument ppXml;
private XmlNode AddNode(XmlNode xParent, string sName, string sValue )
{
XmlNode nd;
// Add a node
nd=xParent.OwnerDocument.CreateNode(System.Xml.XmlNodeType.Element,sName,"");
xParent.AppendChild(nd);
nd.Value=sValue;
return nd;
}
private XmlNode AddNode(XmlNode xParent, string sName)
{
XmlNode nd;
// Add a node
nd=xParent.OwnerDocument.CreateNode(System.Xml.XmlNodeType.Element,sName,"");
xParent.AppendChild(nd);
return nd;
}
private void AddAttribute(XmlNode xParent, string sName, string sValue )
{
XmlNode xa=xParent.Attributes.GetNamedItem(sName);
// bug fix. 09/15/03
// If there was a space after an equal sign, that space character
// was becomming part of the value string (reading the user.CFG file).
// This was giving us a "Must have semi-colon" error message.
// We now strip spaces before and after any Attribute that is written.
sValue = sValue.Trim(' ');
// Add an attribute
if(sValue=="")
{
if(xa != null)
{
xParent.Attributes.RemoveNamedItem(sName);
}
}
else
{
if(xa == null)
{
xa = xParent.OwnerDocument.CreateNode(System.Xml.XmlNodeType.Attribute ,sName,"");
xParent.Attributes.SetNamedItem(xa);
}
xa.Value=sValue;
}
}
private XmlNode AddSection(XmlNode xParent, string sSection )
{
// Add a section [name]
XmlNode nd =AddNode(xParent,"section");
AddAttribute(nd,"name",sSection.Substring(1,sSection.IndexOf("]")-1));
return nd;
}
private XmlNode AddSection_UC(XmlNode xParent, string sSection )
{
// Add a section [name]
string name_uc = sSection.Substring(1,sSection.IndexOf("]")-1).ToUpper() + "__UC";
XmlNode nd =AddNode(xParent,"sectionUC");
AddAttribute(nd,"name",name_uc);
return nd;
}
private void AddComment(XmlNode xParent, string sComment)
{
if(xParent.ChildNodes.Count > 0)
{
XmlNode ndlast=xParent.ChildNodes.Item(xParent.ChildNodes.Count-1);
if(ndlast.Name=="comment")
{
XmlNode xa = ndlast.Attributes.GetNamedItem("text");
xa.Value=xa.Value + "\r\n" + sComment;
return;
}
}
// Add a comment text
XmlNode nd =AddNode(xParent,"comment");
AddAttribute(nd,"text",sComment);
}
private void AddLine(XmlNode xParent, string sLine)
{
// Add a comment text
XmlNode nd =AddNode(xParent,"line");
AddAttribute(nd,"text",sLine);
}
private void AddParam(XmlNode xParent, string sParam)
{
int i = sParam.IndexOf("=");
// add a param name=value
string sName=sParam.Substring(0,i);
string sValue=sParam.Substring(i+1);
XmlNode nd =AddNode(xParent,"param");
sName = sName.Trim(' ');
AddAttribute(nd,"name",sName);
AddAttribute(nd,"value",sValue);
// AddAttribute(nd,"srchname",sName.ToUpper()+"__UC");
// AddAttribute(nd,"value",sValue);
}
private void AddParam_UC(XmlNode xParent, string sParam)
{
int i = sParam.IndexOf("=");
// add a param name=value
string sName=sParam.Substring(0,i);
string sValue=sParam.Substring(i+1);
XmlNode nd =AddNode(xParent,"paramUC");
sName = sName.Trim(' ');
AddAttribute(nd,"name",sName.ToUpper()+"__UC");
AddAttribute(nd,"value",sValue);
}
private void LoadXML()
{
string sLine;
ppXml.LoadXml("<ini/>");// initialize ppXml
XmlNode xmlTop=ppXml.DocumentElement;
XmlNode xmlNd=ppXml.DocumentElement;
XmlNode xmlNd_UC=ppXml.DocumentElement;
StreamReader myReader = new StreamReader(ppName);// Open file
while( (sLine = myReader.ReadLine())!= null)// read line-by-line
{
// add structure
if(sLine.Length > 0)
{
switch (sLine.Substring(0,1))
{
case "[":
xmlNd=AddSection(xmlTop, sLine);
xmlNd_UC=AddSection_UC(xmlTop, sLine);
break;
case ";":
AddComment(xmlNd, sLine);
break;
default:
if(sLine.IndexOf("=") >= 0)
{
AddParam(xmlNd, sLine);
AddParam_UC(xmlNd_UC, sLine);
}
else
{
AddLine(xmlNd, sLine);
}
break;
}
}
}
myReader.Close();
// close file
}
public PrivateProfile(string sFileName)
{
ppName=sFileName; // Store file name
ppXml= new XmlDocument();// Allocate XML
LoadXML();// Load XML
}
~PrivateProfile()
{
// Clean-up
//
}
public string PrettyNode(XmlNode nd,int level)
{
string retval="";
string prefix=new string(' ',level*2);
if(nd.ChildNodes.Count > 0)
{
retval = prefix + "<" + nd.Name;
for(int i=0;i<nd.Attributes.Count;i++)
{
retval=retval + " " + nd.Attributes.Item(i).Name + "='" + nd.Attributes.Item(i).Value + "'";
}
retval=retval+">";
for(int i=0;i<nd.ChildNodes.Count;i++)
{
retval=retval+"\r\n"+PrettyNode(nd.ChildNodes.Item(i),level+1);
}
retval=retval+"\r\n" + prefix + "</" + nd.Name + ">";
}
else
{
retval = prefix + "<" + nd.Name;
for(int i=0;i<nd.Attributes.Count;i++)
{
retval=retval + " " + nd.Attributes.Item(i).Name + "='" + nd.Attributes.Item(i).Value + "'";
}
retval=retval+"/>";
}
return retval;
}
public string PrettyXML()
{
return PrettyNode(ppXml.DocumentElement,0);
}
public XmlDocument XML()
{
// return XML Document
return ppXml;
}
public override string ToString()
{
// return string
return "";
}
public void Save()
{
SaveAs(ppName);
}
public void SaveAs(string sName)
{
}
public string Attr(string sPath)
{
string retval="";
XmlNode xn = ppXml.SelectSingleNode(sPath);
if(xn != null)
{
string quots = xn.Value;
if (quots.Substring(0,1)=="\"" && quots.Substring(quots.Length-1,1)=="\"")
retval = quots.Substring(1,quots.Length-2);
else
retval=xn.Value;
}
return retval;
}
public string Attr(string sSection, string sParameter)
{
string findstr = "/ini/sectionUC[@name='" + sSection.ToUpper() + "__UC']/paramUC[@name='" + sParameter.ToUpper() + "__UC']/@value";
return Attr(findstr);
}
}
}

View File

@ -0,0 +1,622 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: Security.cs $ $Revision: 4 $
* $Author: Jsj $ $Date: 5/17/05 11:52a $
*
* $History: Security.cs $
*
* ***************** Version 4 *****************
* User: Jsj Date: 5/17/05 Time: 11:52a
* Updated in $/LibSource/Utils
* cleanup
*
* ***************** Version 3 *****************
* User: Kathy Date: 1/24/05 Time: 2:44p
* Updated in $/LibSource/Utils
* B2005-004 fixes
*
* ***************** Version 2 *****************
* User: Kathy Date: 1/14/05 Time: 10:38a
* Updated in $/LibSource/Utils
* B2004-061: fix security options
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:34a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
using System.IO;
using System.Collections;
using System.Windows.Forms;
using System.Text;
namespace Utils
{
/// <summary>
/// Summary description for Security.
/// </summary>
public class Security
{
public const long VIEW =0x00000001L;
public const long PRINT =0x00000002L;
public const long PRINTDRAFT =0x00000004L;
public const long PRINTCHANGES =0x00000008L;
public const long EDIT =0x00000010L;
public const long SEARCH =0x00000020L;
public const long STANDARDSTEPS =0x00000040L;
public const long APPROVE =0x00000080L;
public const long APPROVESINGLE =0x00000100L;
public const long LIBRARYDOCS =0x00000200L;
public const long ADDMODDEL =0x00000400L;
public const long CLEAN =0x00000800L;
public const long LOCKPROC =0x00001000L;
public const long LOCKSET =0x00000001L;
public const long UCF =0x00000002L;
public const long LOCKSYSTEM =0x00000001L;
public const long DOCMAINT =0x00000002L;
public const long ROEDITOR =0x00000004L;
public const long SYSADMIN =0x00000008L;
public const int SUPERUSER =1000;
public const long SUPERACCESS =0xFFFFFFFFL;
// the following four flags are system security options,
// read in for the user from the security file (vesam.opt)
private bool BlockAccessFlag=false;
public bool PermissionToManageFlag=false;
public bool SystemAdminFlag=false;
public bool PermissionToLockFlag=false;
// private string optFileName;
private int numsets = 0;
private long uoptions; // user options
private Int16 blockAccess = 0;
private long oldpos;
public int userid = -1;
// private int plantid = -1;
// private int procid = -1;
private string ident;
public string initials;
private const string samoptname = "vesam.opt";
public string optfilename;
private ArrayList psets; //
public FileStream fs;
public BinaryReader bw;
public bool isDemoMode=false;
public Security(string pathname)
{
if (File.Exists(pathname + "\\" + samoptname) == false)
{
MessageBox.Show("Could not locate the Security Options file:\n\n" + pathname+"\\"+samoptname,"Security Access Error");
optfilename = null;
return;
}
optfilename = pathname + "\\" + samoptname;
psets = new ArrayList();
}
public bool OpenFile()
{
try
{
fs = new FileStream(optfilename,FileMode.Open,FileAccess.Read,FileShare.Read,1,false);
bw = new BinaryReader(fs);
return true;
}
catch (Exception e)
{
MessageBox.Show(e.Message,"Security File");
return false;
}
}
public void CloseFile()
{
bw.Close();
fs.Close();
bw=null;
fs=null;
}
public int CheckUserId(string Name, string Pass)
{
// check for default superuser username/password.
if ((Name=="vlnmsp") && (Pass=="575"))
{
userid = SUPERUSER;
ident = "vlnmsp";
initials = Name;
return userid;
}
if (bw==null)
{
bool op;
if ((op = OpenFile()) == false) return -1;
}
byte x;
// read past some header stuff.
for (int jj=0;jj<16;jj++)
x=bw.ReadByte();
long nxtUs;
uint nmUser;
nxtUs=bw.ReadUInt32();
nmUser=bw.ReadUInt16();
int uid, tmp;
string fName, fPass;
for (int i = 0; i < nmUser; i++)
{
fs.Seek((long)nxtUs,SeekOrigin.Begin);
nxtUs=bw.ReadUInt32();
uid = bw.ReadUInt16();
tmp = bw.ReadUInt16();
byte [] test = new byte[10];
test = bw.ReadBytes(10);
fName = Encoding.ASCII.GetString(test,0,10);
int indx = fName.IndexOf("\0");
string fNameTrim = fName.Substring(0,indx);
if (fNameTrim == Name)
{
test = bw.ReadBytes(10);
fPass = Encoding.ASCII.GetString(test,0,10);
indx = fPass.IndexOf("\0");
string fPassTrim = fPass.Substring(0,indx);
if (fPassTrim == Pass)
{
userid = uid;
ident = Name;
initials = Name;
break;
}
}
}
CloseFile();
return userid;
}
public void SetUserSystemRights()
{
BlockAccessFlag=BlockAccess();
long userAccessFlags=GetUserSecurity();
PermissionToManageFlag=(userAccessFlags&Security.DOCMAINT)==0?false:true;
PermissionToLockFlag=(userAccessFlags&Security.LOCKSYSTEM)==0?false:true;
SystemAdminFlag=(userAccessFlags&Security.SYSADMIN)==0?false:true;
}
public void LoadUserSecurity()
{
//
// get the system level security options for this user here
//
bool op = OpenFile();
if (op==false) return;
if( userid == 1000 )
{ // super user priviledge
uoptions = 0xFFFFFFFFL;
SetUserSystemRights();
CloseFile();
return;
}
fs.Seek(32,SeekOrigin.Begin);
blockAccess=bw.ReadInt16();
fs.Seek(0,SeekOrigin.Begin);
byte x;
// read past some header stuff.
for (int jj=0;jj<16;jj++)
x=bw.ReadByte();
long nxtUs;
uint nmUser;
nxtUs=bw.ReadUInt32();
nmUser=bw.ReadUInt16();
int uid;
for (int i = 0; i < nmUser; i++)
{
oldpos = nxtUs;
fs.Seek((long)nxtUs,SeekOrigin.Begin);
nxtUs=bw.ReadUInt32();
uid = bw.ReadUInt16();
if (uid == userid)
{
string junk = new string (bw.ReadChars(22));
uoptions=bw.ReadUInt16();
break;
}
}
SetUserSystemRights();
CloseFile();
}
public void SetUpDemoMode()
{
userid=Security.SUPERUSER; // super user so that demo data can be anywhere (doesn't check vesamp.opt)
ident="demo";
initials="demo";
isDemoMode = true;
}
public int GetPlantSecurityIndex(string Location)
{
for (int i=0;i<psets.Count;i++)
{
SecurityPlantSets sps = (SecurityPlantSets) psets[i];
if (Location.ToUpper() == sps.GetPath().ToUpper()) return i;
}
return -1;
}
public bool PlantHasSecurity(int idx)
{
if (userid == SUPERUSER) return true;
if (idx<0 || idx>psets.Count-1)return false;
SecurityPlantSets sps = (SecurityPlantSets) psets[idx];
return sps.HasSecurity;
}
public bool ProcSetHasSecurity(int idx, string procset)
{
if (userid == SUPERUSER) return true;
if (idx<0 || idx>psets.Count-1)return false;
SecurityPlantSets sps = (SecurityPlantSets) psets[idx];
return sps.ProcSetHasSecurity(procset);
}
public long GetPlantSecurity(int idx)
{
if(userid == SUPERUSER ) return SUPERACCESS;
if (idx<0 || idx>psets.Count-1) return 0L;
SecurityPlantSets sps = (SecurityPlantSets) psets[idx];
return (sps.GetSecurity());
}
public bool AnyOptionsSet(int idx)
{
if(userid==SUPERUSER) return true;
if (idx<0 || idx>psets.Count-1) return false;
SecurityPlantSets sps = (SecurityPlantSets) psets[idx];
return sps.AnyOptionsSet();
}
public long GetUserSecurity()
{
if(userid == SUPERUSER) return SUPERACCESS;
return(uoptions);
}
public bool BlockAccess()
{
if (userid == SUPERUSER) return false;
if(blockAccess!=0) return true;
return false;
}
public bool IsAllowed(long mask)
{
if(userid == SUPERUSER) return true;
return (uoptions&mask) != 0;
}
public bool IsAllowed(string plantpath, string procpath, long mask)
{
bool retval = false;
if(userid == SUPERUSER) return true;
for(int i=0; i<numsets; i++)
{
SecurityPlantSets sps = (SecurityPlantSets) psets[i];
if(sps.IsAllowed(plantpath,procpath,mask)==true)
{
retval = true;
break;
}
}
return retval;
}
public long GetProcSecurity(string fullpath)
{
long mask=0L;
string plantpath;
string fullprocpath;
string procpath;
string tmpchg=null;
string apr=null;
if(userid == SUPERUSER) return SUPERACCESS;
plantpath = fullpath;
procpath = plantpath.Substring(plantpath.LastIndexOf("\\"),plantpath.Length-plantpath.LastIndexOf("\\"));
if (procpath.Substring(1,procpath.Length-1).ToUpper() == "TMPCHG")
{
// we have a Temporary Change directory, store it
tmpchg=procpath;
// remove the tmpchg text from the plantpath string
plantpath=plantpath.Substring(0,plantpath.Length-tmpchg.Length);
// Get the procedure subdirectory
procpath = plantpath.Substring(plantpath.LastIndexOf("\\"),plantpath.Length-plantpath.LastIndexOf("\\"));
}
if(procpath.Substring(1,procpath.Length-1).ToUpper() == "APPROVED")
{
// we have an approved dir, store it
apr = procpath;
// remove the approved text from the plantpath string
plantpath=plantpath.Substring(0,plantpath.Length-apr.Length);
// Get the procedure subdirectory
procpath = plantpath.Substring(plantpath.LastIndexOf("\\"),plantpath.Length-plantpath.LastIndexOf("\\"));
}
// at this point, tmpchg & apr will be set if we have a tmpchg or approved directory,
// plantpath will contain the plant directory & procedure set subdirectory, and
// procpath will be the procedure set subdirectory name (with the preceeding '\').
// Now set plantpath to be the plant level directory. Make fullprocpath from the
// procedure set subdirectory & any approved/tmpchg directories that were part
// of the path that was passed in.
plantpath=plantpath.Substring(0,plantpath.Length-procpath.Length);
procpath=procpath.Substring(1,procpath.Length-1); // remove '\' prefix
fullprocpath=procpath+apr+tmpchg;
for(int i=0; i<numsets; i++)
{
SecurityPlantSets sps = (SecurityPlantSets) psets[i];
if( sps.GetProcSecurity(plantpath,fullprocpath,ref mask) ) break;
}
return mask;
}
public void AddPlant(int nTab, string path)
{
SecurityPlantSets sps = new SecurityPlantSets(path, oldpos, this);
psets.Insert(nTab,sps);
numsets = psets.Count;
}
}
public class SecurityProcSets
{
private long[] procoptions;
private string path;
public SecurityProcSets(string pth, Security security, long userPos, int procid, int numplants, int pid)
{
procoptions = new long[4];
path = pth;
// read in proc options
if (security.userid == Security.SUPERUSER)
{
for(int i=0;i<4;i++) procoptions[i]=0xff;
return;
}
security.fs.Seek(userPos+38L,SeekOrigin.Begin);
short tpid;
for (int i=0;i<numplants;i++)
{
tpid = security.bw.ReadInt16();
security.fs.Seek(8L,SeekOrigin.Current);
short nProcSets;
nProcSets = security.bw.ReadInt16();
for (int j=0; j<nProcSets;j++)
{
short tprocid;
tprocid = security.bw.ReadInt16();
if (tprocid==procid && tpid==pid)
{
tprocid = security.bw.ReadInt16();
for(int k=0;k<4;k++) procoptions[k]=security.bw.ReadInt32();
return;
}
else
security.fs.Seek(18,SeekOrigin.Current);
}
}
}
public bool AnyOptionsSet()
{
for(int k=0;k<4;k++) if(procoptions[k]!=0L)return true;
return false;
}
public bool IsAllowed(string procpath, long mask)
{
bool retval = false;
if (path==procpath) retval = (procoptions[0]&mask) !=0;
return retval;
}
public string GetPath()
{
return path;
}
public bool GetProcSecurity(string procpath, ref long mask)
{
bool retval = false;
if (path.ToUpper()==procpath.ToUpper())
{
mask = procoptions[0];
retval = true;
}
return retval;
}
}
public class SecurityPlantSets
{
private string path;
private long setoption;
private int numopts;
private ArrayList procs; // SecurityProcSets;
private Security security;
// Flag whether this plant has data in the security options file. (maybe newly
// created since vesam was run).
public bool HasSecurity;
public SecurityPlantSets(string cptr, long userPos, Security sec)
{
string title;
string pth;
int pid=0;
long plantpos;
procs = new ArrayList();
security = sec;
path = cptr;
HasSecurity=false;
security.fs.Seek(8L,SeekOrigin.Begin);
numopts = -1;
plantpos = security.bw.ReadInt32(); // 1st plant set position
short np;
np = security.bw.ReadInt16(); // number of plant sets.
long oldpos=0;
short sz;
for (int i=0;i<np;i++)
{
security.fs.Seek(plantpos,SeekOrigin.Begin);
plantpos = security.bw.ReadInt32();
pid = security.bw.ReadInt16();
sz = security.bw.ReadInt16();
title = new string(security.bw.ReadChars(sz));
sz = security.bw.ReadInt16();
pth=null;
pth = new string(security.bw.ReadChars(sz));
if (pth.ToUpper()==path.ToUpper()) // this is what we're looking for..
{
numopts = security.bw.ReadInt16();
security.fs.Seek(4L,SeekOrigin.Current);
oldpos = security.fs.Position;
HasSecurity=true;
break;
}
}
// get the plant level options
int currentUID = sec.userid;
if (currentUID != Security.SUPERUSER)
{
security.fs.Seek(userPos,SeekOrigin.Begin);
security.fs.Seek(38L,SeekOrigin.Current);
short tpid;
for (int i=0;i<np;i++)
{
tpid = security.bw.ReadInt16();
if (tpid == pid) // correct plant
{
setoption = security.bw.ReadInt32();
break;
}
else
{
setoption = security.bw.ReadInt32(); //skip following data...
setoption = security.bw.ReadInt32();
tpid = security.bw.ReadInt16();
for (int j=0;j<tpid;j++) security.fs.Seek(20L,SeekOrigin.Current);
}
}
}
else
setoption = Security.SUPERACCESS;
if (numopts>0)
procs = new ArrayList(numopts);
else
procs = null;
for(int i=0;i<numopts;i++)
{
security.fs.Seek(oldpos+4L,SeekOrigin.Begin);
short procid;
procid = security.bw.ReadInt16();
sz = security.bw.ReadInt16();
title = new string(security.bw.ReadChars(sz));
sz = security.bw.ReadInt16();
pth = new string(security.bw.ReadChars(sz));
security.fs.Seek(4L,SeekOrigin.Current);
oldpos = security.fs.Position;
SecurityProcSets sps = new SecurityProcSets(pth, security, userPos, procid, np, pid);
procs.Insert(i,sps);
}
}
public string GetPath()
{
return path;
}
public bool ProcSetHasSecurity(string procset)
{
if (procs==null)return false; // if no procs for plant in security file.
//see if this plant has a procedure set that matches the input string
// this will tell us that it is included in the vesam.opt file.
for (int i=0;i<procs.Count;i++)
{
SecurityProcSets sps = (SecurityProcSets) procs[i];
if (sps.GetPath().ToUpper() == procset.ToUpper()) return true;
}
return false;
}
public bool AnyOptionsSet()
{
for (int i=0;i<numopts;i++)
{
SecurityProcSets sps = (SecurityProcSets) procs[i];
if (sps.AnyOptionsSet())return true;
}
return false;
}
public bool IsAllowed(string plantpath, string procpath, long mask)
{
bool retval = false;
if (path==plantpath)
{
for (int i=0;i<numopts;i++)
{
SecurityProcSets sps = (SecurityProcSets) procs[i];
if (sps.IsAllowed(procpath, mask)==true)
{
retval = true;
break;
}
}
}
return retval;
}
public long GetSecurity()
{
return (setoption);
}
public bool GetProcSecurity(string plantpath, string procpath, ref long mask)
{
bool retval = false;
if(path.ToUpper() == plantpath.ToUpper())
{
if (security.userid!=Security.SUPERUSER)
{
for (int i=0; i<numopts; i++)
{
SecurityProcSets sps = (SecurityProcSets) procs[i];
if (sps.GetProcSecurity(procpath,ref mask) == true)
{
retval = true;
break;
}
}
}
else
{
retval = true;
mask = Security.SUPERACCESS;
}
}
return retval;
}
}
}

View File

@ -0,0 +1,295 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: SerialNo.cs $ $Revision: 7 $
* $Author: Jsj $ $Date: 12/06/07 3:32p $
*
* $History: SerialNo.cs $
*
* ***************** Version 7 *****************
* User: Jsj Date: 12/06/07 Time: 3:32p
* Updated in $/LibSource/Utils
* turn on backgrounds for point beach
*
* ***************** Version 6 *****************
* User: Jsj Date: 7/18/06 Time: 11:40a
* Updated in $/LibSource/Utils
* fixed parse of plant name from SERIAL.NO file
*
* ***************** Version 5 *****************
* User: Jsj Date: 6/29/06 Time: 1:38p
* Updated in $/LibSource/Utils
* turned on enhanced backgrounds for byron and braidwood
*
* ***************** Version 4 *****************
* User: Jsj Date: 6/29/06 Time: 1:27p
* Updated in $/LibSource/Utils
* turned on Deviations for byron and braidwood
*
* ***************** Version 3 *****************
* User: Jsj Date: 5/17/05 Time: 11:53a
* Updated in $/LibSource/Utils
* cleanup
*
* ***************** Version 2 *****************
* User: Kathy Date: 4/12/05 Time: 1:00p
* Updated in $/LibSource/Utils
* B2005-019: bad serial num message
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:34a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
using System.IO;
using System.Text;
using System.Windows.Forms;
namespace Utils
{
/// <summary>
/// Summary description for SerialNo.
/// </summary>
public class SerialNo
{
private string sernofile;
public int SerialNum;
private string SerialNumTitle;
private static byte sum =0xcf;// used in serial number code (nextchar)
public enum SN_Flags
{
SN_NETWORK_ON =0x0001,
SN_BACKGROUND_ON =0x0002,
SN_DEVIATION_ON =0x0004,
SN_CHECKLISTEXPORT_ON =0x0008,
SN_REVISIONFUNCTION_ON =0x0010,
SN_ONLYAPPROVEONCE_ON =0x0020,
SN_BGEPLANTWIDEOPT_ON =0x0040,
SN_REVISESTRIPPC_ON =0x0080,
SN_PROCCOMMENT_ON =0x0400,
SN_REMOVECHGID_ON =0x0800,
SN_OPTIONALACCEDIT_ON =0x1000,
SN_TEMPCHANGE_ON =0X2000,
SN_VOLIANONLY_ON =0x8000
};
public SN_Flags[] SerialNumberOptionsByPlant=
{
/* 0 Volian Enterprises, Inc. */ (SN_Flags)0xFFFF,
/* 1 Entergy Nuclear Northeast - Indian Point Unit 2 */ SN_Flags.SN_BACKGROUND_ON|SN_Flags.SN_NETWORK_ON,
/* 2 Virginia Power - Surry (1A) */ SN_Flags.SN_NETWORK_ON,
/* 3 Virginia Power - North Anna */ SN_Flags.SN_DEVIATION_ON|SN_Flags.SN_NETWORK_ON,
/* 4 Northern States Power - Prairie Island */ SN_Flags.SN_DEVIATION_ON,
/* 5 American Electric Power - D. C. Cook - AOPs */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_BACKGROUND_ON,
/* 6 Wisconsin Electric Power - Point Beach */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_BACKGROUND_ON,
/* 7 Rochester Gas and Electric Corp. - Ginna */ SN_Flags.SN_BACKGROUND_ON,
/* 8 TUEC - Comanche Peak */ 0,
/* 9 Entergy Nuclear Northeast - Indian Point Unit 3 */ SN_Flags.SN_BACKGROUND_ON|SN_Flags.SN_NETWORK_ON,
/*10 Maine Yankee Atomic Power Company - Maine Yankee */ 0,
/*11 Yankee Atomic Electric - Yankee Rowe */ 0,
/*12 Wisconsin Public Service Corp.- Kewaunee */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_BACKGROUND_ON,
/*13 Wisconsin Public Service Corp.- Kewaunee Operating Procedures*/ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_BACKGROUND_ON,
/*14 South Carolina Gas and Electric - V.C. Summer */ 0,
/*15 Louisiana Power and Light - Waterford */ 0,
/*16 Pacific Gas and Electric - Diablo Canyon */ SN_Flags.SN_OPTIONALACCEDIT_ON,
/*17 Southern California Edison - San Onofre */ 0,
/*18 Carolina Power and Light - Robinson */ SN_Flags.SN_NETWORK_ON,/*|SN_BACKGROUND_ON|SN_DEVIATION_ON, */
/*19 Arkansas Nuclear One - Unit 1 */ 0,
/*20 Arkansas Nuclear One - Unit 2 */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_ONLYAPPROVEONCE_ON|SN_Flags.SN_REVISIONFUNCTION_ON|SN_Flags.SN_REVISESTRIPPC_ON|SN_Flags.SN_PROCCOMMENT_ON,
/*21 Southern Nuclear Operating Company - Vogtle */ SN_Flags.SN_BACKGROUND_ON|SN_Flags.SN_DEVIATION_ON,
/*22 Florida Power and Light - Turkey Point (Unit 3) */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_DEVIATION_ON|SN_Flags.SN_BACKGROUND_ON,
/*23 Houston Lighting & Power Company - South Texas */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_BACKGROUND_ON,
/*24 Carolina Power & Light - Shearon Harris */ 0,
/*25 Virginia Power - EPIP */ SN_Flags.SN_NETWORK_ON,
/*26 Wolf Creek Nuclear Operating Corp. - Wolf Creek */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_BACKGROUND_ON|SN_Flags.SN_OPTIONALACCEDIT_ON|SN_Flags.SN_TEMPCHANGE_ON|SN_Flags.SN_CHECKLISTEXPORT_ON,
/*27 Duke Power - Catawba */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_BACKGROUND_ON|SN_Flags.SN_DEVIATION_ON,
/*28 Duke Power - McGuire */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_BACKGROUND_ON|SN_Flags.SN_DEVIATION_ON,
/*29 Exelon Nuclear - Braidwood */ SN_Flags.SN_NETWORK_ON | SN_Flags.SN_BACKGROUND_ON | SN_Flags.SN_DEVIATION_ON,
/*30 Exelon Nuclear - Byron */ SN_Flags.SN_NETWORK_ON | SN_Flags.SN_BACKGROUND_ON | SN_Flags.SN_DEVIATION_ON,
/*31 Virginia Power - Innsbrook */ SN_Flags.SN_NETWORK_ON,
/*32 Constellation Energy Group - Calvert Cliffs */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_REVISIONFUNCTION_ON|SN_Flags.SN_ONLYAPPROVEONCE_ON|SN_Flags.SN_BGEPLANTWIDEOPT_ON|SN_Flags.SN_OPTIONALACCEDIT_ON|SN_Flags.SN_REMOVECHGID_ON,
/*33 American Electric Power - D. C. Cook - EOPs */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_BACKGROUND_ON,
/*34 American Electric Power - D. C. Cook - Training */ 0,
/*35 North Atlantic Energy Service Corp. - Seabrook Nuclear Plant */ SN_Flags.SN_TEMPCHANGE_ON,
/*36 Entergy - River Bend Nuclear Station */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_REVISIONFUNCTION_ON,
/*37 Southern Nuclear Operating Company - Farley Nuclear Plant */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_BACKGROUND_ON|SN_Flags.SN_DEVIATION_ON,
/*38 AmerenUE - Callaway Plant */ SN_Flags.SN_NETWORK_ON|SN_Flags.SN_BACKGROUND_ON
};
public SerialNo(string isernofile,string ucfgpath, UserRunTime usrRT, bool DemoMode)
{
sernofile = isernofile;
PrivateProfile ppCfg;
string sn;
// byte xor=0xCF;
ppCfg = new PrivateProfile(ucfgpath);
// sn=ppCfg.Attr("/ini/section[@name='override']/param[@name='SN']/@value");
sn=ppCfg.Attr("override","SN");
if (sn!=null && sn!="")
{
int indx = 0;
if ((indx = sn.IndexOf(";",0,sn.Length))>0)
SerialNum=System.Convert.ToInt32(sn.Substring(0,indx));
else
SerialNum=System.Convert.ToInt32(sn);
if (SerialNum>SerialNumberOptionsByPlant.Length)
{
MessageBox.Show("Serial number in " + ucfgpath + " is invalid. Demo mode will be used","VE-PROMS");
SerialNum=-1;
}
SerialNumTitle="Override";
return;
}
ppCfg=null;
SerialNum = -1;
if (DemoMode || !File.Exists(usrRT.ExeAdjust(sernofile)))
{
// no serial number file, put into demo mode.
SerialNumTitle = "Demo Mode";
// MessageBox.Show("No Serial Number. Defaulting to Working Demo Mode.\n\nTo purchase VE-PROMS, contact Volian Enterorices Inc.\n\nPhone: (724) 335-3744\n\nEmail: VEPROMS@VOLIAN.COM\n\nSerial Number Warning");
if (DemoMode)
{
MessageBox.Show("Thank you for trying our VE-PROMS Working Demo.\n\n"+
"To purchase VE-PROMS, contact Volian Enterprises, Inc.\n\n"+
"Phone: (724) 335-3744\n\n"+
"Email: VolianEnterprises@volian.com",
"VE-PROMS Working Demo");
}
else
{
MessageBox.Show("No Serial Number. Defaulting to Working Demo Mode.\n\n"+
"To purchase VE-PROMS, contact Volian Enterprises, Inc.\n\n"+
"Phone: (724) 335-3744\n\n"+
"Email: VolianEnterprises@volian.com",
"Serial Number Warning");
}
return;
}
// open file & read in serial number
int i;
byte j;
FileStream fssn = null;
BinaryReader brsn = null;
byte xor=0xCF;
// sum=0xcf;
try
{
fssn = new FileStream(usrRT.ExeAdjust(sernofile),FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
brsn = new BinaryReader(fssn);
int length = (int)fssn.Length-1024;
for (i=0;i<1024;i++)
{
j = nextchar(brsn);
xor ^= (byte)j;
if (j==0xCF)
{
if (SerialNum != -1) return;
SerialNum=i;
}
}
if (SerialNum == -1)
{
SerialNumTitle = "Demo Mode";
// MessageBox.Show("No Serial Number. Defaulting to Working Demo Mode.\n\nTo purchase VE-PROMS, contact Volian Enterorices Inc.\n\nPhone: (724) 335-3744\n\nEmail: VEPROMS@VOLIAN.COM\n\nSerial Number Warning","VE-PROMS");
MessageBox.Show("No Serial Number. Defaulting to Working Demo Mode.\n\n"+
"To purchase VE-PROMS, contact Volian Enterprises, Inc.\n\n"+
"Phone: (724) 335-3744\n\n"+
"Email: VolianEnterprises@volian.com",
"Serial Number Warning");
return;
}
// Just read past this byte. At this point we already
// have a serial number. We now just want to get the
// description text (usually plant/utility name) associated
// with the serial number.
j = nextchar(brsn);
//
// This was always failing. Could not find a reason why. Appears that
// the Exclusive OR arithmatic is a little different in .NET. The
// nextchar() funtion seems to be returning the correct values.
//
// if (j!=xor)
// {
// if (brsn!=null) brsn.Close();
// if (fssn!=null) fssn.Close();
// return;
// }
char [] title = new char[length];
i=0;
while((--length) > 0 && (j=nextchar(brsn))!=0xFF)
{
title[i++] = (char)j;
}
SerialNumTitle = new string(title);
// remove the serial number at the beginning of the title
// - we didn't need to do this - jsj 7/18/2006
// SerialNumTitle = SerialNumTitle.Substring(SerialNumTitle.IndexOf(' ')+1);
}
catch(Exception e)
{
MessageBox.Show(e.Message,"Serial Number Error");
return;
}
if (brsn!=null) brsn.Close();
if (fssn!=null) fssn.Close();
}
private byte nextchar(BinaryReader br)
{
byte retval = 0xFF; // unsigned -1
try
{
byte nxt;
retval = br.ReadByte();
if(retval != 0xFF)
{
nxt=retval;
retval=(byte)((nxt-sum) & 0xFF);
sum=(byte)(((nxt<<1) & 0xFE) | ((nxt>>7) & 0x1));
}
}
catch(Exception e)
{
// MessageBox.Show(e.Message);
return retval;
}
return retval;
}
public uint GetSNOption(uint a)
{
if (SerialNum == -1)
return 0;
else
return ((uint)SerialNumberOptionsByPlant[SerialNum]&(uint)a);
}
public string SerialNumberString
{
get
{
string rtnstr = "";
if (SerialNum == -1) // demo
rtnstr = "Thank you for trying VE-PROMS";
else
rtnstr = "Serial Number: " + SerialNum.ToString();
return rtnstr;
}
}
public string SerialNumberTitleString
{
get
{
return SerialNumTitle;
}
}
}
}

View File

@ -0,0 +1,51 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: ShrtNm.cs $ $Revision: 1 $
* $Author: Kathy $ $Date: 7/27/04 8:34a $
*
* $History: ShrtNm.cs $
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:34a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
using System.Text;
using System.Runtime.InteropServices;
using System.ComponentModel;
namespace Utils
{
/// <summary>
/// Summary description for ShrtNm.
/// </summary>
public class ShortName
{
[DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)]
[return:MarshalAs(UnmanagedType.U4)]
public static extern int GetShortPathName(
[MarshalAs(UnmanagedType.LPTStr)] string lpszLongPath,
[MarshalAs(UnmanagedType.LPTStr)] StringBuilder lpszShortPath,
[MarshalAs(UnmanagedType.U4)] int cchBuffer);
private string _LongFileName;
private StringBuilder _ShortFileName;
public ShortName(string longname)
{
_LongFileName = longname;
_ShortFileName = new StringBuilder(256);
int len = GetShortPathName(_LongFileName,_ShortFileName,256);
if (len==256) _ShortFileName=null;
if (len==0) _ShortFileName.Append(longname);
}
[Description("FileName")]public string ShortFileName
{
get{return _ShortFileName.ToString();}
}
}
}

View File

@ -0,0 +1,214 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: SymbDlg.cs $ $Revision: 1 $
* $Author: Kathy $ $Date: 7/27/04 8:34a $
*
* $History: SymbDlg.cs $
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:34a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
using System.Text;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace Utils
{
/// <summary>
/// Summary description for SymbDlg.
/// </summary>
public class SymbDlg : System.Windows.Forms.Form
{
private System.Windows.Forms.TabControl tbctlSymbol;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
private ListBox symlistbox;
public SymbolListB SymList1;
public string ReturnText;
private int NumItems;
private System.Windows.Forms.TextBox tbValue;
private System.Windows.Forms.Button btnOK;
private System.Windows.Forms.Button btnCancel;
public GridItem gridItem;
private string[] SymbolFonts = {"VESymb","Courier New","VolianDraw"};
public SymbDlg(SymbolListB symb, GridItem grditm)
{
//
// Required for Windows Form Designer support
//
ReturnText=null;
gridItem = grditm;
SymList1 = symb;
NumItems = symb.SymbolListStrings.Length;
InitializeComponent();
DoListTabPage();
DoGridTabPage();
if (gridItem!=null)
{
tbValue.Text = (string) gridItem.Value;
tbValue.Visible = true;
}
else
tbValue.Visible = false;
}
private void DoGridTabPage()
{
//TabPage gridTabPage = new TabPage("Grid");
//tbctlSymbol.TabPages.Add(gridTabPage);
}
private void symlistbox_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
{
// Set the DrawMode property to draw fixed sized items.
symlistbox.DrawMode = DrawMode.OwnerDrawFixed;
// Draw the background of the ListBox control for each item.
e.DrawBackground();
// Create a new Brush and initialize to a Black colored brush by default.
Brush myBrush = Brushes.Black;
Font fontVESymb = new Font(SymbolFonts[SymList1.SymbolList[e.Index].CharacterSet],e.Font.SizeInPoints);
Font fontregular = new Font("Courier New",e.Font.SizeInPoints);
float x;
// Draw the current item text based on the current Font and the custom brush settings.
e.Graphics.DrawString(SymList1.SymbolList[e.Index].CharacterCode,fontVESymb,myBrush,e.Bounds.Left,e.Bounds.Top);
x=e.Graphics.MeasureString(SymList1.SymbolList[e.Index].CharacterCode,fontVESymb).Width;
e.Graphics.DrawString(SymList1.SymbolListStrings[e.Index],fontregular,myBrush,e.Bounds.Left+x,e.Bounds.Top);
e.DrawFocusRectangle();
}
private void DoListTabPage()
{
TabPage listTabPage = new TabPage("List");
tbctlSymbol.TabPages.Add(listTabPage);
symlistbox = new ListBox();
symlistbox.Height = 200;
symlistbox.Width = 400;
listTabPage.Controls.Add(symlistbox);
symlistbox.DrawItem += new DrawItemEventHandler(symlistbox_DrawItem);
symlistbox.DoubleClick += new EventHandler(symlistbox_DoubleClick);
symlistbox.DrawMode = DrawMode.OwnerDrawFixed;
// add dummy items, these will be resolved when displayed.
for(int i=0; i<NumItems;i++)
symlistbox.Items.Add(i.ToString());
}
private void symlistbox_DoubleClick(Object sender, EventArgs e)
{
// use encoding for the Microsoft Windows OEM Codepage 437 to get the old
// 'dos' character codes. Also, needed to use the encoding & transfer to/from
// bytes so that the unicode character wouldn't be entered thus causing a
// character conversion. (strings are unicode by default in .net)
int itm = symlistbox.SelectedIndex;
Encoding oem = Encoding.GetEncoding(437);
byte[] oemBytes = oem.GetBytes(tbValue.Text);
byte[] tst = new byte[oemBytes.Length+1];
int indx = tbValue.SelectionStart;
for (int i=0; i<indx; i++) tst[i]=oemBytes[i];
tst[indx]=SymList1.SymbolList[itm].Translation;
for (int i=indx;i<tbValue.Text.Length;i++) tst[i+1]=oemBytes[i];
tbValue.Text = oem.GetString(tst);
tbValue.Refresh();
}
/// <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(SymbDlg));
this.tbctlSymbol = new System.Windows.Forms.TabControl();
this.tbValue = new System.Windows.Forms.TextBox();
this.btnOK = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// tbctlSymbol
//
this.tbctlSymbol.Location = new System.Drawing.Point(8, 0);
this.tbctlSymbol.Name = "tbctlSymbol";
this.tbctlSymbol.SelectedIndex = 0;
this.tbctlSymbol.Size = new System.Drawing.Size(464, 264);
this.tbctlSymbol.TabIndex = 0;
//
// tbValue
//
this.tbValue.Location = new System.Drawing.Point(8, 280);
this.tbValue.Name = "tbValue";
this.tbValue.Size = new System.Drawing.Size(504, 20);
this.tbValue.TabIndex = 1;
this.tbValue.Text = "";
//
// btnOK
//
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOK.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.btnOK.Location = new System.Drawing.Point(72, 320);
this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(104, 24);
this.btnOK.TabIndex = 2;
this.btnOK.Text = "Save Text";
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.btnCancel.Location = new System.Drawing.Point(208, 320);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(72, 23);
this.btnCancel.TabIndex = 3;
this.btnCancel.Text = "Cancel";
//
// SymbDlg
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(672, 350);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnOK);
this.Controls.Add(this.tbValue);
this.Controls.Add(this.tbctlSymbol);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "SymbDlg";
this.Text = "Symbol";
this.ResumeLayout(false);
}
#endregion
private void btnOK_Click(object sender, System.EventArgs e)
{
ReturnText = tbValue.Text;
}
}
}

View File

@ -0,0 +1,192 @@
<?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 forserialized 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.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="tbctlSymbol.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="tbctlSymbol.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="tbctlSymbol.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="tbctlSymbol.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="tbctlSymbol.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="tbctlSymbol.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="tbValue.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="tbValue.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="tbValue.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="btnCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="btnCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>(Default)</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>80</value>
</data>
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.Name">
<value>SymbDlg</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAADAAADAAAAAwMAAwAAAAMAAwADAwAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AiIiIiIiIiIiIiIiIiIiIiPF3F3F3F3F3F3d3d3d3d3jxdxdxdxdxdxd3d3d3d3d49xdxdxdx
dxdxd3d3d3d3ePcXcXcXcXcXcXd3d3d3d3jxcXcXcXcXcXcXd3d3d3d48XF3F3F3F3F3F3d3d3d3ePdx
F3F3F3F3F3F3d3d3d3j3cRdxdxdxdxdxd3d3d3d49xdxdxdxdxdxdxd3d3d3ePcXcXcXcXcXcXcXd3d3
d3jxdxcXcXcXcXcXcXd3d3d48XcXF3F3F3F3F3F3d3d3ePdxdxF3F3F3F3F3F3d3d3j3cXcRdxdxdxdx
dxd3d3d49xdxdxdxdxdxdxdxd3d3ePcXcXcXcXcXcXcXcXd3d3jxdxdxcXcXcXcXcXcXd3d48XcXcXF3
F3F3F3F3F3d3ePdxdxd3F3F3F3F3F3F3d3j3cXcXdxdxdxdxdxdxd3d49xdxd3dxdxdxdxdxdxd3ePcX
cXd3cXcXcXcXcXcXd3jxdxd3d3cXcXcXcXcXcXd48XcXd3d3F3F3F3F3F3F3ePdxd3d3d3F3F3F3F3F3
F3j3cXd3d3dxdxdxdxdxdxd49xd3d3d3dxdxdxdxdxdxePcXd3d3d3cXcXcXcXcXcXjxd3d3d3d3cXcX
cXcXcXcY8Xd3d3d3d3F3F3F3F3F3GP////////////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
</value>
</data>
</root>

View File

@ -0,0 +1,142 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: SymbLst.cs $ $Revision: 2 $
* $Author: Kathy $ $Date: 11/15/04 10:54a $
*
* $History: SymbLst.cs $
*
* ***************** Version 2 *****************
* User: Kathy Date: 11/15/04 Time: 10:54a
* Updated in $/LibSource/Utils
* B2004-057: crash on scroll fixed & rest of PSI/Title symbols added
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:34a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
namespace Utils
{
/// <summary>
/// Summary description for SymbLst.
/// </summary>
///
public class SymbolListItem
{
public string CharacterCode;
public byte Translation;
public short CharacterSet;
public SymbolListItem(string cc, byte trans, short cs)
{
CharacterCode = cc;
Translation = trans;
CharacterSet = cs;
}
}
public class SymbolListB
{
public string[] SymbolListStrings;
public SymbolListItem[] SymbolList;
public SymbolListB()
{
}
}
public class SymbolListSteps : SymbolListB // for steps
{
public SymbolListSteps()
{
SymbolListStrings = new string[]
{
"Degree",
"Delta",
"Greater Than or Equal To",
"Less Than Or Equal To",
"Plus or Minus",
"Sigma",
"Gamma",
"One Half",
"ACCUM Character",
"Solid Bullet",
"Approximatly Equal",
"Similar or Equal",
"Division Symbol",
"Square Root",
"Rho",
"PI",
"Micro",
"Lower Case Delta",
"Lower Case Sigma",
"One Fourth",
"Distinguished Zero",
"Average Disintegration Energy",
"Grave",
"Vertical Line",
"Epsilon",
"Theta",
"Dot in Oval",
"Tau",
"Hard Space",
"Diamond",
"Turn On Bold",
"Turn Off Bold",
"Turn On Underline",
"Turn Off Underline",
"Turn On Italics",
"Turn Off Italics",
"Turn On Superscript",
"Turn Off Superscript",
"Turn On Subscript",
"Turn Off Subscript"
};
SymbolList = new SymbolListItem[] {
new SymbolListItem("\xB0",0xF8,0), /* ř - Degree */
new SymbolListItem("\x44",0x7F,0), /*  - Delta */
new SymbolListItem("\xB3",0xF2,0), /* ň - Greater Than or Equal */
new SymbolListItem("\xA3",0xF3,0), /* ó - Less Than or Equal */
new SymbolListItem("\xB1",0xF1,0), /* ń - Plus or Minus */
new SymbolListItem("\x53",0xE4,0), /* ä - Sigma */
new SymbolListItem("\x67",0xE7,0), /* ç - (Printed as a Gamma) */
new SymbolListItem("\xBD",0xAB,1), /* Ť - One Half */
new SymbolListItem("\xFE",0xFE,0), /* ţ - ACCUM Character */
new SymbolListItem("\xB7",0x07,0), /*  - Solid Bullet */
new SymbolListItem("\xBB",0xF7,0), /* Similar */
new SymbolListItem("\x40",0xF0,0), /* ÷ - Approximately equal */
new SymbolListItem("\xB8",0xF6,0), /* ö - Division symbol */
new SymbolListItem("\xD6",0xFB,0), /* ű - Square Root */
new SymbolListItem("\x72",0xE2,0), /* â - (Printed as a rho) */
new SymbolListItem("\x70",0xE3,0), /* ă - (Printed as pi) */
new SymbolListItem("\x6D",0xE6,0), /* ć - micro */
new SymbolListItem("\x64",0xEB,0), /* ë - Lower Case Delta */
new SymbolListItem("\x73",0xE5,0), /* ĺ - Lower Case Sigma */
new SymbolListItem("\xBC",0xAC,1), /* Ź - One Fourth */
new SymbolListItem("\xC6",0xED,0), /* í - Distinguished Zero */
new SymbolListItem("\x9F",0x90,0), // Average Deintegration Energy
new SymbolListItem("\xEC",0x8D,1), // Grave
new SymbolListItem("\xBD",0xB3,0), // Vertical Bar
new SymbolListItem("\x65",0xEE,0), // Epsilon
new SymbolListItem("\x71",0xE9,0), // Theta
new SymbolListItem("\x9E",0xEC,0), // Dot With Oval
new SymbolListItem("\x74",0xA8,0), // Tau
new SymbolListItem("\xA0",0xFF,1), // Hard Space
new SymbolListItem("\xA8",0xA9,0), // Diamond
new SymbolListItem("\xD5",0xD5,1), // Bold on
new SymbolListItem("\xD6",0xD6,1), // Bold off
new SymbolListItem("\xAE",0xAE,1), // Underline on
new SymbolListItem("\xAF",0xAF,1), // Underline off
new SymbolListItem("\xB2",0xB2,1), // Italics on
new SymbolListItem("\xDD",0xDD,1), // Italics off
new SymbolListItem("\xC6",0xC6,1), // Superscript on
new SymbolListItem("\xC7",0xC7,1), // Superscript off
new SymbolListItem("\xD1",0xD1,1), // Subscript on
new SymbolListItem("\xA6",0xA6,1) // Subscript off
};
}
}
}

View File

@ -0,0 +1,624 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: UsrRunTime.cs $ $Revision: 9 $
* $Author: Jsj $ $Date: 10/31/07 10:11a $
*
* $History: UsrRunTime.cs $
*
* ***************** Version 9 *****************
* User: Jsj Date: 10/31/07 Time: 10:11a
* Updated in $/LibSource/Utils
* Bug fix to ExeAdjust()
*
* ***************** Version 8 *****************
* User: Jsj Date: 7/21/06 Time: 2:57p
* Updated in $/LibSource/Utils
* added comment of logic that might be needed in future.
*
* ***************** Version 7 *****************
* User: Jsj Date: 5/17/05 Time: 11:54a
* Updated in $/LibSource/Utils
* cleanup
*
* ***************** Version 6 *****************
* User: Kathy Date: 4/21/05 Time: 10:17a
* Updated in $/LibSource/Utils
* issingleuser
*
* ***************** Version 5 *****************
* User: Kathy Date: 4/12/05 Time: 1:00p
* Updated in $/LibSource/Utils
* B2004-050: single user needed network info
*
* ***************** Version 4 *****************
* User: Kathy Date: 1/24/05 Time: 2:44p
* Updated in $/LibSource/Utils
* B2005-004 fixes
*
* ***************** Version 3 *****************
* User: Kathy Date: 1/10/05 Time: 12:57p
* Updated in $/LibSource/Utils
* B2004-063 fix
*
* ***************** Version 2 *****************
* User: Jsj Date: 11/12/04 Time: 10:32a
* Updated in $/LibSource/Utils
* Save the user's TEMP dir path ExeAjust() handles TEMP dir and Data Dir
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:34a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
using System.IO;
using System.Windows.Forms;
using System.Text;
using Org.Mentalis.Files;
namespace Utils
{
public enum UserCStatus
{
PRINACTIVE=0, PRACTIVE=1 // process record is NOT active, active respectively
};
public class UserData
{
public byte UserStatus;
public string UserNetworkID;
public string UserName;
public string UserPhone1;
public string UserPhone2;
public string UserLoc1;
public string UserLoc2;
public string UserShell; // 1 - vfw; 2 - browser; 3 - 32-bit browser
public string UserProcess;
// the first constructor loads data from a user's cfg file
public UserData(string ucfgpath)
{
if (File.Exists(ucfgpath)==false) return;
// create an xml node from the [User Data] in the cfg file & transfer
// to this. Note that the UserNetworkID is not set until the serial
// number is read to determine whether in multi-user-mode (B2004-050)
PrivateProfile ppUserData = new PrivateProfile(ucfgpath);
UserName=ppUserData.Attr("User Data","UserName");
UserPhone1=ppUserData.Attr("User Data","UserPhone1");
UserPhone2=ppUserData.Attr("User Data","UserPhone2");
UserLoc1=ppUserData.Attr("User Data","UserLoc1");
UserLoc2=ppUserData.Attr("User Data","UserLoc2");
char tmp = '\x03';
UserShell = tmp.ToString(); // 1 - vfw; 2 - browser; 3 - 32-bit browser
UserProcess="";
ppUserData=null;
}
public void SetNetworkID(string ucfgpath, bool inmultiuser)
{
// create an xml node from the [User Data] in the cfg file & transfer
// to this.
PrivateProfile ppUserData = new PrivateProfile(ucfgpath);
UserNetworkID=ppUserData.Attr("User Data","UserNetworkID");
if (inmultiuser && (UserNetworkID == "" || UserNetworkID==null))
{
MessageBox.Show("Invalid UserNetworkID from " + ucfgpath +", set before reexecuting VE-PROMS.","VE-PROMS Error");
Environment.Exit(-1);
}
ppUserData=null;
}
// the next constructor gets the input 'nth' record from the dat file (dat file is
// passed in via a FileStream
public UserData(FileStream dfs, int n)
{
// seek to the position as defined by n.
long skpos = (long)(n * 140); // 140 is the size of the record from old proms.
dfs.Seek(skpos,SeekOrigin.Begin);
byte [] test = new byte[140];
dfs.Read(test,0,140);
UserStatus = test[0];
string tmp = Encoding.ASCII.GetString(test,0,140);
UserNetworkID = tmp.Substring(1,9).Replace('\0',' ').Trim();
UserName = tmp.Substring(10,31).Replace('\0',' ').Trim();
UserPhone1 = tmp.Substring(41,16).Replace('\0',' ').Trim();
UserPhone2 = tmp.Substring(57,16).Replace('\0',' ').Trim();
UserLoc1 = tmp.Substring(73,31).Replace('\0',' ').Trim();
UserLoc2 = tmp.Substring(104,31).Replace('\0',' ').Trim();
UserShell = tmp.Substring(135,2).Replace('\0',' ').Trim();
UserProcess = tmp.Substring(137,3).Replace('\0',' ').Trim();
}
// write this user data out to the filestream at the current position in file
// defined in dfs
public void Write(FileStream dfs)
{
dfs.WriteByte(UserStatus);
byte[] btmp = Encoding.ASCII.GetBytes(UserNetworkID.PadRight(9,'\0'));
dfs.Write(btmp,0,9);
btmp = Encoding.ASCII.GetBytes(UserName.PadRight(31,'\0'));
dfs.Write(btmp,0,31);
btmp = Encoding.ASCII.GetBytes(UserPhone1.PadRight(16,'\0'));
dfs.Write(btmp,0,16);
btmp = Encoding.ASCII.GetBytes(UserPhone2.PadRight(16,'\0'));
dfs.Write(btmp,0,16);
btmp = Encoding.ASCII.GetBytes(UserLoc1.PadRight(31,'\0'));
dfs.Write(btmp,0,31);
btmp = Encoding.ASCII.GetBytes(UserLoc2.PadRight(31,'\0'));
dfs.Write(btmp,0,31);
btmp = Encoding.ASCII.GetBytes(UserShell.PadRight(2,'\0'));
dfs.Write(btmp,0,2);
btmp = Encoding.ASCII.GetBytes(UserProcess.PadRight(3,'\0'));
dfs.Write(btmp,0,3);
}
};
/// <summary>
/// Summary description for UserRunTime. This class contains all pertinent information
/// for the runtime for this instance of the program, including cfg, paths, menu file,
/// security, serial number, options, etc.
/// </summary>
public class UserRunTime
{
public string exepath;
public string syspath;
public string netsyspath;
public string TempDirPath;
public string ucfgpath; // user config file name
public string appcfgpath; // app config file name
public Security sec;
public SerialNo SerialNumber;
public string OptionsFile;
public string initials; // user login name
public string UserID; // cfg name and/or login
public MenuXML menuwinXML;
public MenuXML menuwin2XML;
public string myUserNetworkID;
public UserData myUserData;
public bool InMultiUserMode;
// make some form properties here, such as color. - make need it's own class,
//
public UserRunTime()
{
menuwin2XML = null;
SetExeName();
// load in xml list of plants. Then do exist tests to see if they
// exist on the datapath.
menuwinXML = new MenuXML(syspath + "\\menuwin.xml");
}
public void SetSecurity(Security isec)
{
// set the user's run time security settings. also, flag whether this user is
// running in multi user mode (just so we don't have to keep making this check
// later)
sec = isec;
// Do this separate (SetUserMode()) to remove interdependent logic path between
// security(vesam), user CFG file, and the serial number
// InMultiUserMode = (SerialNumber.GetSNOption((uint)Utils.SerialNo.SN_Flags.SN_NETWORK_ON)>0)?true:false;
}
public void SetUserMode()
{
if (SerialNumber.SerialNum != -1)
InMultiUserMode = (SerialNumber.GetSNOption((uint)Utils.SerialNo.SN_Flags.SN_NETWORK_ON)>0)?true:false;
if (InMultiUserMode) myUserData.SetNetworkID(ucfgpath, InMultiUserMode);
}
private bool IsSingleUserMode()
{
// Need to do:
// This needs to check if a lock is currently set as well
// - jsj 7/20/06
return !InMultiUserMode;
}
// Adjust the input file with the required pathname as follows:
// '~': (system path) i.e. c:\VE-PROMS
// '@': (executable path) i.e. c:\VE-PROMS\BIN
// '\342': current data directory i.e. c:\VEHPR1B\PROCS
// '\347': resolve for single user mode, append tempdir onto data dir i.e. TEMPS\JOHN____.D00
public string ExeAdjust(string str)
{
if (exepath==null)SetExeName();
// This logic will allow me to combine the use of our special
// tokens. For example, I needed a user temp directory in the
// VE-PROMS root for the Search Across Procedure Sets option:
// "~\374results" --> C:\VE-PROMS\TEMPS\JOHN____.D00\RESUTLS
StringBuilder exebuff = new StringBuilder();
StringBuilder exetkn = new StringBuilder(str);
string exetkn_str = exetkn.ToString();
int pos = 0;
char[] tchar = "~@\xE7\xE2".ToCharArray();
/** Bug Fix: B2007-015
* If a short file/directory name contained a ~ character, it was
* being processed, when it should not have.
* i.e. we were getting the current directory, then looping back up
* and searching the directory string (finding a ~ char)
*
* I added logic to use a starting position in the IndexOfAny() function
* so that we can skip past the portions already processes.
*/
while ((pos=exetkn_str.IndexOfAny(tchar,pos))>-1)
{
char[] chr;
string curdir = Directory.GetCurrentDirectory(); // for use with '\xE2'
chr = new char[exetkn_str.Length];
chr = exetkn_str.ToCharArray();
exetkn.Remove(pos,1);
switch (chr[0])
{
case '~': exetkn.Insert(pos,syspath+"\\"); // i.e. c:\VE-PROMS
pos += syspath.Length +1;
break;
case '@': exetkn.Insert(pos,exepath+"\\"); // i.e. c:\VE-PROMS\BIN
pos += exepath.Length + 1;
break;
case '\xE2': // case '\342':
exetkn.Insert(pos,curdir+"\\"); // i.e. c:\VEHPR1B\PROCS
pos += curdir.Length + 1;
break;
case '\xE7': // case '\347':
if (!IsSingleUserMode()&& TempDirPath!=null)
{
exetkn.Insert(pos,TempDirPath+"\\"); // i.e. TEMPS\JOHN____.D00
pos += TempDirPath.Length + 1;
}
break;
}
exetkn_str = exetkn.ToString();
}
return exetkn.ToString();
}
private void SetExeName()
{
ShortName sname = new ShortName(System.Environment.CommandLine);
string cmdlinepath = sname.ShortFileName;
string upbuff = cmdlinepath.ToUpper();
string tmp = upbuff.Substring(1,upbuff.LastIndexOf("\\")-1);
int idx = tmp.IndexOf("VE-PROMS.NET");
if (idx > 0)
{
exepath = tmp.Substring(0,idx+8) + tmp.Substring(idx+12);
syspath = exepath.Substring(0,exepath.IndexOf("\\BIN"));
netsyspath = syspath + ".NET";
}
else
{
exepath = tmp;
syspath = exepath.Substring(0,exepath.IndexOf("\\BIN"));
netsyspath = syspath + ".NET";
}
}
public void SetAppConfig(string pth)
{
appcfgpath = pth;
}
public bool SetUserConfig()
{
bool Rtnval = true;
PrivateProfile Veproms_ini = new PrivateProfile(ExeAdjust("~veproms.ini"));
// Find the UserId (not the number, he name/initials)
if (UserID==null || UserID.Equals(""))
{
// see if it's defined via an environment variable
UserID = System.Environment.GetEnvironmentVariable("userid");
if (UserID == null)
{
// Check the VEPROMS.INI file
// UserID = Veproms_ini.Attr("/ini/section[@name='veconfig']/param[@name='userid']/@value");
UserID = Veproms_ini.Attr("veconfig","userid");
}
if (UserID == null || UserID.Equals(""))
{
if (sec.initials != null && !sec.initials.Equals(""))
{
// default to the user's login name
UserID = sec.initials;
}
else
{
// default to VEPROMS.CFG
UserID = "VEPROMS";
}
}
}
// Fing the VECONFIG path
ucfgpath=System.Environment.GetEnvironmentVariable("veconfig");
// If VECONFIG environment variable not set then check the
// VEPROMS.INI file for VECONFIG settings.
if (ucfgpath == null || ucfgpath.Equals(""))
{
// ucfgpath = Veproms_ini.Attr("/ini/section[@name='veconfig']/param[@name='file']/@value");
ucfgpath = Veproms_ini.Attr("veconfig","file");
if (ucfgpath==null || ucfgpath.Equals(""))
{
// still no path, use default cfg file path
ucfgpath = ExeAdjust("~CONFIG");
}
}
if (ucfgpath != null)
{
string tmp_UID="";
// See it the VECONFIG path includes a CFG file name.
// if no CFG file name, then build one based on userid
bool atroot = ucfgpath.EndsWith(":\\");
if (!atroot)
{
if (ucfgpath.EndsWith("\\"))
{
// trim the ending backslash
ucfgpath = ucfgpath.Substring(0,ucfgpath.Length-1);
}
}
//See if we need to build a CFG file name
if (atroot || Directory.Exists(ucfgpath))
{
// use the no more than the first 8 chars of the userid
tmp_UID = (UserID.Length > 8)?UserID.Substring(0,8) : UserID;
// Build the CFG file name and append to the VECONFIG path
ucfgpath = ucfgpath + "\\" + tmp_UID + ".CFG";
}
}
if (File.Exists(ucfgpath))
myUserData = new UserData(ucfgpath);
else
{
// error - cfg file does not exist
Rtnval = false;
MessageBox.Show("Configuration file:\n\n" + ucfgpath + "\n\nDoes not exist","Missing CFG file");
}
return Rtnval;
}
public void FreeMenuWinXML()
{
menuwinXML=null;
}
public void LoadMenuWin2()
{
if (menuwin2XML == null)
menuwin2XML = new MenuXML(syspath + "\\menuwin2.xml");
// menuwin2XML = new MenuXML("e:\\ve-proms\\menuwin2.xml");
}
public void FreeMenuWin2XML()
{
menuwin2XML=null;
}
// The following methods update the cfg file (delete item, add item & mod)
//public bool DeletePathFromCfg(string delpth)
//{
// IniReader in1 = new IniReader(ucfgpath);
// string curpath = in1.ReadString("Menu","DataPath","");
// string modpath = curpath.Replace(delpth,"");
// inifile.WriteINIKeyValueStr("Menu","DataPath",modpath,ucfgpath);
// return true;
//}
//public void AddPathToCfg(string pth)
//{
// string newpath=null;
// INIFile inifile = new INIFile();
// string curpath = inifile.GetINIKeyValueStr("Menu","DataPath","",132,ucfgpath);
// string tmp = curpath.TrimEnd(" \t".ToCharArray());
// // If none exists, just add that entered, if it ends with ';', don't add another
// if (tmp==null||tmp=="")
// newpath = pth;
// else if (tmp.Substring(tmp.Length-1,1)==";")
// newpath = tmp + pth;
// else
// newpath = tmp+";"+pth;
// inifile.WriteINIKeyValueStr("Menu","DataPath",newpath,ucfgpath);
//}
//public void ModTitleToCfg(string oldtitle, string newtitle)
//{
// INIFile inifile = new INIFile();
// string curpath = inifile.GetINIKeyValueStr("Menu","DataPath","",132,ucfgpath);
// string newpath=curpath.Replace(oldtitle,newtitle);
// inifile.WriteINIKeyValueStr("Menu","DataPath",newpath,ucfgpath);
//}
// Check if plant (defined by location) is in the menuwin file. Return 0 if not,
// 1 if in file and -1 if error reading file.
public int IsInMenuWin(string location)
{
// see if this plant is already in the file, check menuwin
// and if there, assume in both.
try
{
// Create an instance of StreamReader to read from a file.
// The using statement also closes the StreamReader.
using (StreamReader sr = new StreamReader(syspath+"\\menuwin"))
{
string line;
while ((line = sr.ReadLine()) != null)
{
int indx;
indx = line.ToUpper().IndexOf(location.ToUpper());
if (indx>-1)
{
sr.Close();
return 1;
}
}
}
}
catch (Exception e)
{
// Let the user know what went wrong.
Console.WriteLine("Could not test " + e.Message + " for plant existence in menuwin file");
return -1;
}
return 0;
}
public bool AddToMenuWin(string title,string location)
{
int inmenufile = IsInMenuWin(location);
if (inmenufile==-1)return false; // error checking for it
if (inmenufile==1)return true; // already there.
// make backup files in case of failure.
FileInfo menuwinbak = new FileInfo(syspath+"\\menuwin");
menuwinbak.CopyTo(syspath+"\\menuwin.BAK",true);
menuwinbak=null;
// add the title and location to the menuwin menuwin.xml files.
// menuwin first.
FileStream fs = new FileStream(syspath+"\\menuwin",
FileMode.Open, FileAccess.ReadWrite, FileShare.None);
// if the file couldn't open, give an error.
if (fs == null)
{
MessageBox.Show("Could not add plant to menuwin file.","VE-PROMS");
menuwinbak = new FileInfo(syspath+"\\menuwin.BAK");
menuwinbak.Delete();
return false;
}
// go to last character of file & see if we have a /r/n. There
// needs to be a single newline between plants in the menuwin file
// or an error will occur.
fs.Seek(-2,SeekOrigin.End);
StreamReader tmpReader = new StreamReader(fs);
int tmpi1 = tmpReader.Peek();
bool hasnewline=false;
if (tmpi1==0xD)hasnewline=true;
fs.Seek(0,SeekOrigin.End);
StreamWriter swFromFileStream = new StreamWriter(fs);
if (hasnewline)
swFromFileStream.Write(title);
else
swFromFileStream.Write("\r\n"+title);
string tmpl = "\r\n{t}" + location + " menu ~menu1a\r\n";
swFromFileStream.Write(tmpl);
swFromFileStream.Flush();
swFromFileStream.Close();
fs.Close();
// now add menuwin.xml text, add this before the end tags for
// system attach & menuwin (i.e. that's the seek part of this
// subtracting from end of file the number of characters for
// these two tags.
// make backup files in case of failure.
FileInfo menuwinxbak = new FileInfo(syspath+"\\menuwin");
menuwinxbak.CopyTo(syspath+"\\menuwinx.BAK",true);
menuwinxbak=null;
fs = new FileStream(syspath+"\\menuwin.xml",
FileMode.Open, FileAccess.Write, FileShare.None);
if (fs == null)
{
MessageBox.Show("Could not add plant to menuwin.xml file.","VE-PROMS");
//delete menuwin & rename the bak file.
menuwinbak = new FileInfo(syspath+"\\menuwin");
menuwinbak.Delete();
menuwinbak = null;
menuwinbak = new FileInfo(syspath+"\\menuwin.BAK");
menuwinbak.CopyTo(syspath+"\\menuwin");
menuwinbak.Delete();
menuwinxbak = new FileInfo(syspath+"\\menuwinx.BAK");
menuwinxbak.Delete();
return false;
}
long flen = fs.Length;
fs.SetLength(flen-27); //remove tags.
fs.Seek(0,SeekOrigin.End);
swFromFileStream = new StreamWriter(fs);
swFromFileStream.Write("<Plant>\r\n<MenuName>");
swFromFileStream.Write(title);
swFromFileStream.Write("</MenuName>\r\n<TemplateName>{t}");
swFromFileStream.Write(location);
swFromFileStream.Write(" menu menu1a</TemplateName>\r\n</Plant>\r\n");
swFromFileStream.Write("</SystemAttach>\r\n</MenuWin>");
swFromFileStream.Flush();
swFromFileStream.Close();
fs.Close();
menuwinbak = new FileInfo(syspath+"\\menuwin.BAK");
menuwinbak.Delete();
menuwinxbak = new FileInfo(syspath+"\\menuwinx.BAK");
menuwinxbak.Delete();
// reload so that the new plant node gets added to the xml tree.
menuwinXML = null;
menuwinXML = new MenuXML(syspath + "\\menuwin.xml");
MessageBox.Show("Please send \\ve-proms\\menuwin & \\ve-proms\\menuwin.xml files to Volian.","VE-PROMS");
return true;
}
public bool ModMenuWin(string newtitle, string oldtitle)
{
// replace the oldtitle with the new in both the menuwin file
// and the menuwin.xml file.
FileInfo menuwinbak = new FileInfo(syspath+"\\menuwin");
menuwinbak.CopyTo(syspath+"\\menuwin.BAK",true);
menuwinbak=null;
// read the whole file, replace the plant title string & save the file.
StreamReader sr = File.OpenText(syspath+"\\menuwin");
string input;
if ((input=sr.ReadToEnd())!=null)
{
sr.Close();
string output = input.Replace(oldtitle,newtitle);
StreamWriter sw = new StreamWriter(syspath+"\\menuwin",false);
sw.Write(output);
sw.Close();
}
else
{
sr.Close();
MessageBox.Show("Could not update menuwin file with new plant title","VE-PROMS");
menuwinbak = new FileInfo(syspath+"\\menuwin.BAK");
menuwinbak.CopyTo(syspath+"\\menuwin",true);
menuwinbak.Delete();
return false;
}
// now do the xml file.
menuwinbak = new FileInfo(syspath+"\\menuwin.xml");
menuwinbak.CopyTo(syspath+"\\menuwinx.BAK",true);
menuwinbak=null;
// read the whole file, replace the plant title string & save the file.
sr = File.OpenText(syspath+"\\menuwin.xml");
if ((input=sr.ReadToEnd())!=null)
{
sr.Close();
string output = input.Replace(oldtitle,newtitle);
StreamWriter sw = new StreamWriter(syspath+"\\menuwin.xml",false);
sw.Write(output);
sw.Close();
}
else
{
sr.Close();
MessageBox.Show("Could not update menuwin.xml file with new plant title","VE-PROMS");
menuwinbak = new FileInfo(syspath+"\\menuwin.BAK");
menuwinbak.CopyTo(syspath+"\\menuwin",true);
menuwinbak.Delete();
menuwinbak = new FileInfo(syspath+"\\menuwinx.BAK");
menuwinbak.CopyTo(syspath+"\\menuwin.xml",true);
menuwinbak.Delete();
return false;
}
return true;
}
}
}

View File

@ -0,0 +1,218 @@
<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{680054D3-49C4-40E7-92A5-67B97DCE6308}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>Utils</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<RootNamespace>Utils</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>0.0</OldToolsVersion>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</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>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Drawing">
<Name>System.Drawing</Name>
</Reference>
<Reference Include="System.Windows.Forms">
<Name>System.Windows.Forms</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="About.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="CurSet.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="DirSpace.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="DTI.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="FmtFiles.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="MenuXML.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="PrivateProfile.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Security.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="SerialNo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ShrtNm.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="SymbDlg.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SymbLst.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="UsrRunTime.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="VEdt.cs">
<SubType>Code</SubType>
</Compile>
<EmbeddedResource Include="About.resx">
<DependentUpon>About.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SymbDlg.resx">
<DependentUpon>SymbDlg.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<Content Include="AboutBckgnd_370x209.bmp" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
<Visible>False</Visible>
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
<Visible>False</Visible>
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Org.Mentalis.Files\Org.Mentalis.Files.csproj">
<Project>{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}</Project>
<Name>Org.Mentalis.Files</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:LibSource\\Utils"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

View File

@ -0,0 +1,98 @@
/*********************************************************************************************
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: VEdt.cs $ $Revision: 1 $
* $Author: Kathy $ $Date: 7/27/04 8:35a $
*
* $History: VEdt.cs $
*
* ***************** Version 1 *****************
* User: Kathy Date: 7/27/04 Time: 8:35a
* Created in $/LibSource/Utils
*********************************************************************************************/
using System;
namespace Utils
{
/// <summary>
/// Summary description for VEdt.
/// </summary>
public class VEDateTime
{
public DateTime dt;
public string dtstr;
public VEDateTime(long tm)
{
System.Globalization.CultureInfo info =
new System.Globalization.CultureInfo("en-US", false);
System.Globalization.Calendar calendar = info.Calendar;
// do some conversion so that proms will be able to use this
// date/time. Proms had it in seconds since 00:00:00 1/1/1970.
// .NET has it in ticks since 00:00:00 1/1/1
DateTime promsdt = new DateTime(1970,1,1,0,0,0,0); // Jan 1, 1970
//
// Get the offset time between this time zone and UTC (GMT) time.
// Convert the offset to seconds.
// Subtract the offset from the UTC time gotten for Jan 1, 1970
ThisTimeZone TZ = new ThisTimeZone();
TimeSpan TimeZoneSpan = TZ.GetUtcOffset(promsdt); // Time Zone offset from UTC
long TimeZoneAdj = Math.Abs(TimeZoneSpan.Ticks / 10000000); // convert to seconds
DateTime cnv = promsdt.AddSeconds(tm-TimeZoneAdj);
dtstr = cnv.ToLongDateString() + " " + cnv.ToLongTimeString();
}
}
/*
* TimeZone is an Abstract Class. You need to inherit the TimeZone Class
* and overload a couple of it's functions in order to use it.
* - called in CalculatePromsDate() above.
*/
public class ThisTimeZone : TimeZone
{
private TimeZone curTZ;
public TimeSpan SpanTZ;
public ThisTimeZone()
{
curTZ = CurrentTimeZone; // local timezone
}
// get the UTC (GMT) value for the given date/time
public override TimeSpan GetUtcOffset(DateTime ForThisDate)
{
SpanTZ = curTZ.GetUtcOffset(ForThisDate);
return SpanTZ;
}
// Name of the local Daylight savings time zone
public override string DaylightName
{
get
{
return curTZ.DaylightName;
}
}
// Name of the local standard time zone
public override string StandardName
{
get
{
return curTZ.StandardName;
}
}
// Get the start and end dates for daylight savings
public override System.Globalization.DaylightTime GetDaylightChanges(int year)
{
return curTZ.GetDaylightChanges(year);
}
}
}

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,71 @@
using System;
using System.Collections.Specialized;
namespace VlnProfiler
{
/// <summary>
/// Summary description for Profiler.
/// </summary>
public class Profiler
{
static HybridDictionary dicTiming;
static HybridDictionary dicDuration;
static Profiler()
{
Reset();
}
public static void Reset()
{
dicTiming = new HybridDictionary();
dicTiming[" Total"]=DateTime.Now;
dicDuration = new HybridDictionary();
}
public static void Start(string sName)
{
dicTiming[sName]=DateTime.Now;
}
public static void End(string sName)
{
if( dicDuration.Contains(sName))
dicDuration[sName]=((TimeSpan) dicDuration[sName]) + (DateTime.Now - ((DateTime) dicTiming[sName]));
else
dicDuration[sName]=DateTime.Now - ((DateTime) dicTiming[sName]);
}
public static string ToString(string Format)
{
string str="";
string sep="";
if(Format.IndexOf("%")>=0)
{
double ttl = Convert.ToDouble(((TimeSpan) (DateTime.Now - ((DateTime) dicTiming[" Total"]))).Ticks);
double ttlOther=ttl;
foreach(string strKey in dicDuration.Keys)
{
ttlOther-=((TimeSpan) dicDuration[strKey]).Ticks;
double dt = Convert.ToDouble(((TimeSpan) dicDuration[strKey]).Ticks)/ttl;
//TODO: If Percent - Convert to Percent of Total
str+=sep+dt.ToString(Format) + " " + strKey;
sep="\r\n";
}
ttlOther = ttlOther/ttl;
str+=sep+ttlOther.ToString(Format) + " Other";
}
else
{
foreach(string strKey in dicDuration.Keys)
{
str+=sep+((TimeSpan)dicDuration[strKey]).ToString(/*Format*/) + " " + strKey;
sep="\r\n";
}
}
str+=sep + "".PadRight(20,'-');
str+=sep + ((TimeSpan) (DateTime.Now - ((DateTime) dicTiming[" Total"]))).ToString(/*Format*/) + " Total";
return str;
}
}
}

View File

@ -0,0 +1,125 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{38044313-1E5E-4F20-A9E7-3CBDDDCADCDC}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>VlnProfiler</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<RootNamespace>VlnProfiler</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</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>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="VlnProfiler.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:LibSource\\VlnProfiler"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

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,232 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: StatusBarFrm.cs $ $Revision: 3 $
* $Author: Jsj $ $Date: 4/08/04 9:50a $
*
* $History: StatusBarFrm.cs $
*
* ***************** Version 3 *****************
* User: Jsj Date: 4/08/04 Time: 9:50a
* Updated in $/LibSource/VlnStatus
* added profile code and try to optimize
*
* ***************** Version 2 *****************
* User: Jsj Date: 11/26/02 Time: 3:38p
* Updated in $/LibSource/VlnStatus
* Added overbounds check
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
//using ROProfiler; //don't forget to add VlnProfiler to the reference list
namespace VlnStatus
{
/// <summary>
/// Create a status window with a progress bar
/// </summary>
public class StatusBarFrm : System.Windows.Forms.Form
{
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.Label lblBar;
private System.Windows.Forms.Label StatMsg;
// private string strLblLast="";
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public StatusBarFrm()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
Text = "Status";
}
public StatusBarFrm(string StatusBoxTitle)
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
Text = StatusBoxTitle;
}
/// <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.progressBar1 = new System.Windows.Forms.ProgressBar();
this.lblBar = new System.Windows.Forms.Label();
this.StatMsg = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(29, 83);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(297, 27);
this.progressBar1.TabIndex = 0;
//
// lblBar
//
this.lblBar.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.lblBar.Location = new System.Drawing.Point(29, 136);
this.lblBar.Name = "lblBar";
this.lblBar.Size = new System.Drawing.Size(297, 16);
this.lblBar.TabIndex = 1;
this.lblBar.Text = "% Complete";
this.lblBar.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// StatMsg
//
this.StatMsg.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.StatMsg.Location = new System.Drawing.Point(29, 18);
this.StatMsg.Name = "StatMsg";
this.StatMsg.Size = new System.Drawing.Size(307, 56);
this.StatMsg.TabIndex = 2;
this.StatMsg.Text = "Progress Bar";
this.StatMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// StatusBarFrm
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
this.ClientSize = new System.Drawing.Size(350, 171);
this.ControlBox = false;
this.Controls.Add(this.StatMsg);
this.Controls.Add(this.lblBar);
this.Controls.Add(this.progressBar1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "StatusBarFrm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Status";
this.TopMost = true;
this.Load += new System.EventHandler(this.StatusBarFrm_Load);
this.ResumeLayout(false);
}
#endregion
private void StatusBarFrm_Load(object sender, System.EventArgs e)
{
}
public int Value
{
get
{
return progressBar1.Value;
}
set
{
if (value >= progressBar1.Maximum)
progressBar1.Value = progressBar1.Maximum;
else
progressBar1.Value = value;
UpateLabel();
}
}
public int Maximum
{
get
{
return progressBar1.Maximum;
}
set
{
progressBar1.Maximum = value;
}
}
public int Step
{
get
{
return progressBar1.Step;
}
set
{
progressBar1.Step = value;
}
}
public void PerformStep()
{
progressBar1.PerformStep();
}
private void UpateLabel()
{
lblBar.Text = (Math.Round((decimal)(progressBar1.Value * 100) / progressBar1.Maximum)).ToString();
lblBar.Text += "% Complete";
// if( lblBar.Text != strLblLast)
// {
// Profiler.Start("UpdateLabel");
lblBar.Refresh();
// lblBar.Update();
// Profiler.End("UpdateLabel");
// }
// strLblLast = lblBar.Text;
}
public string StatusMessage
{
get
{
return StatMsg.Text;
}
set
{
StatMsg.Text = value;
// Profiler.Start("StatusMessage");
StatMsg.Refresh();
// StatMsg.Update();
// Profiler.End("StatusMessage");
}
}
public string StatusBoxTitle
{
get
{
return Text;
}
set
{
Text = value;
}
}
}
}

View File

@ -0,0 +1,157 @@
<?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 forserialized 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.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="progressBar1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="progressBar1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="progressBar1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBar.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblBar.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblBar.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="StatMsg.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="StatMsg.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="StatMsg.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>(Default)</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>80</value>
</data>
<data name="$this.Name">
<value>StatusBarFrm</value>
</data>
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>

View File

@ -0,0 +1,140 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: StatusMessageFrm.cs $ $Revision: 3 $
* $Author: Jsj $ $Date: 5/11/04 9:30a $
*
* $History: StatusMessageFrm.cs $
*
* ***************** Version 3 *****************
* User: Jsj Date: 5/11/04 Time: 9:30a
* Updated in $/LibSource/VlnStatus
*
* ***************** Version 2 *****************
* User: Jsj Date: 11/26/02 Time: 3:38p
* Updated in $/LibSource/VlnStatus
* Added overbounds check
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace VlnStatus
{
/// <summary>
/// Create status message window.
/// </summary>
public class StatusMessageFrm : System.Windows.Forms.Form
{
private System.Windows.Forms.Label lblStatMsg;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public StatusMessageFrm()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
}
public StatusMessageFrm(string StatTitle)
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
Text = StatTitle;
}
/// <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.lblStatMsg = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// lblStatMsg
//
this.lblStatMsg.Location = new System.Drawing.Point(19, 20);
this.lblStatMsg.Name = "lblStatMsg";
this.lblStatMsg.Size = new System.Drawing.Size(420, 81);
this.lblStatMsg.TabIndex = 0;
this.lblStatMsg.Text = "Put Satus Message Here";
this.lblStatMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// StatusMessageFrm
//
this.AutoScaleBaseSize = new System.Drawing.Size(7, 19);
this.ClientSize = new System.Drawing.Size(457, 117);
this.ControlBox = false;
this.Controls.Add(this.lblStatMsg);
this.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "StatusMessageFrm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Status";
this.TopMost = true;
this.Load += new System.EventHandler(this.StatusMessageFrm_Load);
this.ResumeLayout(false);
}
#endregion
private void StatusMessageFrm_Load(object sender, System.EventArgs e)
{
}
public string StatusMessage
{
get
{
return lblStatMsg.Text;
}
set
{
lblStatMsg.Text = value;
lblStatMsg.Refresh();
}
}
public string StatusBoxTitle
{
get
{
return Text;
}
set
{
Text = value;
}
}
}
}

View File

@ -0,0 +1,139 @@
<?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 forserialized 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.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblStatMsg.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="lblStatMsg.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="lblStatMsg.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>(Default)</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>8, 8</value>
</data>
<data name="$this.Name">
<value>StatusMessageFrm</value>
</data>
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>80</value>
</data>
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>

View File

@ -0,0 +1,148 @@
<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>{551CB7B3-00B1-11D7-8590-482B59000000}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>VlnStatus</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<RootNamespace>VlnStatus</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</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>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Drawing">
<Name>System.Drawing</Name>
</Reference>
<Reference Include="System.Windows.Forms">
<Name>System.Windows.Forms</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="StatusBarFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="StatusMessageFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="VlnStatusBar.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="VlnStatusMessage.cs">
<SubType>Code</SubType>
</Compile>
<EmbeddedResource Include="StatusBarFrm.resx">
<DependentUpon>StatusBarFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="StatusMessageFrm.resx">
<DependentUpon>StatusMessageFrm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:LibSource\\VlnStatus"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

View File

@ -0,0 +1,148 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: VlnStatusBar.cs $ $Revision: 4 $
* $Author: Jsj $ $Date: 11/26/02 4:25p $
*
* $History: VlnStatusBar.cs $
*
* ***************** Version 4 *****************
* User: Jsj Date: 11/26/02 Time: 4:25p
* Updated in $/LibSource/VlnStatus
* fixed problem with counter
*
* ***************** Version 3 *****************
* User: Jsj Date: 11/26/02 Time: 3:38p
* Updated in $/LibSource/VlnStatus
* Added overbounds check
*********************************************************************************************/
using System;
namespace VlnStatus
{
/// <summary>
/// Creates a Status Window with a progression bar control.
///
/// This class has two constructors. One allows you to pass in the title
/// of the Status Box. The Other provides a default title of "Status".
/// The Status Box Title can also be set/changed via the StatusBoxTitle
/// property.
///
///
/// </summary>
public class VlnStatusBar
{
StatusBarFrm StatBar;
private int Cnt;
// Create a status window with the default title of "Status"
public VlnStatusBar()
{
StatBar = new StatusBarFrm();
StatBar.Show();
}
// Create a status window with the passed in title
public VlnStatusBar(string Title)
{
StatBar = new StatusBarFrm(Title);
StatBar.Show();
}
// Increament the the status bar by the passed in value.
public void PerformStep(int val)
{
// StatBar.Value = val;
// Cnt = val;
BarValue = val;
StatBar.PerformStep();
}
// Increament the the status bar by one
public void PerformStep()
{
// StatBar.Value = StatBar.Value + 1;
Cnt++;
BarValue = Cnt;
StatBar.PerformStep();
}
// This property gets or sets the current status bar value.
public int BarValue
{
get
{
return StatBar.Value;
}
set
{
StatBar.Value = value;
Cnt = value;
}
}
// This property sets or gets the maximum value that the
// BarValue property can be. i.e. when BarValue reaches this
// number, the status bar is completely displayed.
public int BarMax
{
get
{
return StatBar.Maximum;
}
set
{
StatBar.Maximum = value;
}
}
// This property sets or gets the increamenting value used to
// move the status bar. For example, if set to 5, each tick of
// the status bar represents a value of 5.
public int BarStepValue
{
get
{
return StatBar.Step;
}
set
{
StatBar.Step = value;
}
}
// This property sets or gets the message above the status bar.
public string StatMsg
{
get
{
return StatBar.StatusMessage;
}
set
{
StatBar.StatusMessage = value;
}
}
// This property sets or gets the Status Window Title
public string StatusBoxTitle
{
get
{
return StatBar.StatusBoxTitle;
}
set
{
StatBar.StatusBoxTitle = value;
}
}
public void Dispose()
{
StatBar.Dispose();
}
}
}

View File

@ -0,0 +1,79 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: VlnStatusMessage.cs $ $Revision: 3 $
* $Author: Jsj $ $Date: 11/26/02 3:38p $
*
* $History: VlnStatusMessage.cs $
*
* ***************** Version 3 *****************
* User: Jsj Date: 11/26/02 Time: 3:38p
* Updated in $/LibSource/VlnStatus
* Added overbounds check
*********************************************************************************************/
using System;
namespace VlnStatus
{
/// <summary>
/// Creates a Status Window to display a status message.
///
/// This class has two constructors. One allows you to pass in the title
/// of the Status Box. The Other provides a default title of "Status".
/// The Status Box Title can also be set/changed via the StatusBoxTitle
/// property.
///
/// </summary>
public class VlnStatusMessage
{
StatusMessageFrm StatusMessageBox;
// Create a status window with the default title of "Status"
public VlnStatusMessage()
{
StatusMessageBox = new StatusMessageFrm();
StatusMessageBox.Show();
}
// Create a status window with the passed in title.
public VlnStatusMessage(string StatusBoxTitle)
{
StatusMessageBox = new StatusMessageFrm(StatusBoxTitle);
StatusMessageBox.Show();
}
// This property gets or sets the current status message
public string StatusMessage
{
get
{
return StatusMessageBox.StatusMessage;
}
set
{
StatusMessageBox.StatusMessage = value;
}
}
// This property gets or sets the status box title
public string StatusBoxTitle
{
get
{
return StatusMessageBox.StatusBoxTitle;
}
set
{
StatusMessageBox.StatusBoxTitle = value;
}
}
public void Dispose()
{
StatusMessageBox.Dispose();
}
}
}

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,119 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: ImageDialog.cs $ $Revision: 2 $
* $Author: Kathy $ $Date: 1/08/03 10:24a $
*
* $History: ImageDialog.cs $
*
* ***************** Version 2 *****************
* User: Kathy Date: 1/08/03 Time: 10:24a
* Updated in $/LibSource/ctlXMLEditLib
* added header
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace ctlXMLEditLib
{
/// <summary>
/// Summary description for ViewImage - View Image pops up a dialog
/// which contains a display of the image file.
/// </summary>
public class ImageDialog : System.Windows.Forms.Form
{
private System.Windows.Forms.PictureBox roImage;
private System.Windows.Forms.Button btnClose;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public ImageDialog(string filename)
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
Image.GetThumbnailImageAbort myCallback =
new Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap bm = new Bitmap(filename);
SizeF sizef = new SizeF(bm.Width/bm.HorizontalResolution,
bm.Height/bm.VerticalResolution);
// 504 & 384 is the size of the image window (roImage).
float fscale = Math.Min(504/sizef.Width,384/sizef.Height);
sizef.Width *= fscale;
sizef.Height *= fscale;
Image thmb = bm.GetThumbnailImage((int)sizef.Width, (int)sizef.Height, myCallback, IntPtr.Zero );
this.roImage.Image = thmb;
}
public bool ThumbnailCallback()
{
return 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.roImage = new System.Windows.Forms.PictureBox();
this.btnClose = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// roImage
//
this.roImage.Location = new System.Drawing.Point(32, 8);
this.roImage.Name = "roImage";
this.roImage.Size = new System.Drawing.Size(504, 384);
this.roImage.TabIndex = 0;
this.roImage.TabStop = false;
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.btnClose.Location = new System.Drawing.Point(240, 432);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(112, 24);
this.btnClose.TabIndex = 1;
this.btnClose.Text = "Close";
//
// ImageDialog
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(568, 477);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.btnClose,
this.roImage});
this.Name = "ImageDialog";
this.Text = "View Image";
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>ImageDialog</value>
</data>
</root>

View File

@ -0,0 +1,151 @@
/*********************************************************************************************
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: ZoomDialog.cs $ $Revision: 3 $
* $Author: Kathy $ $Date: 12/06/02 11:56a $
*
* $History: ZoomDialog.cs $
*
* ***************** Version 3 *****************
* User: Kathy Date: 12/06/02 Time: 11:56a
* Updated in $/LibSource/ctlXMLEditLib
* change font for zoom
*
* ***************** Version 2 *****************
* User: Kathy Date: 11/04/02 Time: 1:38p
* Updated in $/LibSource/ctlXMLEditLib
* wasn't displaying text & make text fixed font for alignment
*
* ***************** Version 1 *****************
* User: Jsj Date: 8/23/02 Time: 3:03p
* Created in $/LibSource/ctlXMLEditLib
*********************************************************************************************/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace ctlXMLEditLib
{
/// <summary>
/// Summary description for ZoomDialog.
/// </summary>
///
public class ZoomDialog : System.Windows.Forms.Form
{
private System.Windows.Forms.Button btnSave;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.TextBox tbZoom;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
private string edittext;
public string ZoomText
{
get
{
return tbZoom.Text;
}
}
public ZoomDialog(string zmtext)
{
//
// Required for Windows Form Designer support
//
edittext = zmtext;
InitializeComponent();
tbZoom.Text = zmtext;
//
// 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.tbZoom = new System.Windows.Forms.TextBox();
this.btnSave = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// tbZoom
//
this.tbZoom.Font = new System.Drawing.Font("Letter Gothic", 8.249999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tbZoom.Location = new System.Drawing.Point(24, 16);
this.tbZoom.Multiline = true;
this.tbZoom.Name = "tbZoom";
this.tbZoom.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.tbZoom.Size = new System.Drawing.Size(576, 392);
this.tbZoom.TabIndex = 0;
//
// btnSave
//
this.btnSave.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnSave.Location = new System.Drawing.Point(80, 440);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(80, 32);
this.btnSave.TabIndex = 1;
this.btnSave.Text = "Save";
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Location = new System.Drawing.Point(192, 440);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(80, 32);
this.btnCancel.TabIndex = 2;
this.btnCancel.Text = "Cancel";
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// ZoomDialog
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(616, 485);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnSave);
this.Controls.Add(this.tbZoom);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "ZoomDialog";
this.Text = "Zoom";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private void btnSave_Click(object sender, System.EventArgs e)
{
this.Close();
}
private void btnCancel_Click(object sender, System.EventArgs e)
{
this.Close();
}
}
}

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>

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

View File

@ -0,0 +1,159 @@
<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>{DECA8343-6351-11D6-8487-00A0CC271352}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>ctlXMLEditLib</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<RootNamespace>ctlXMLEditLib</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</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>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<Optimize>true</Optimize>
<DebugType>
</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Drawing">
<Name>System.Drawing</Name>
</Reference>
<Reference Include="System.Windows.Forms">
<Name>System.Windows.Forms</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ctlXMLEdit.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="ImageDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ZoomDialog.cs">
<SubType>Form</SubType>
</Compile>
<EmbeddedResource Include="ctlXMLEdit.resx">
<DependentUpon>ctlXMLEdit.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ImageDialog.resx">
<DependentUpon>ImageDialog.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ZoomDialog.resx">
<DependentUpon>ZoomDialog.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Org.Mentalis.Files\Org.Mentalis.Files.csproj">
<Project>{A46428FC-1E35-4B8D-8B06-A1DF8BAC7A04}</Project>
<Name>Org.Mentalis.Files</Name>
</ProjectReference>
<ProjectReference Include="..\RODBInterface\RODBInterface.csproj">
<Project>{0C7825FD-AA05-11D6-84D1-00A0CC271352}</Project>
<Name>RODBInterface</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:LibSource\\ctlXMLEditLib"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}