Commit for development environment setup
This commit is contained in:
268
PROMS/ReferencedObjectsOld/LibSource/Utils/About.cs
Normal file
268
PROMS/ReferencedObjectsOld/LibSource/Utils/About.cs
Normal 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)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
4144
PROMS/ReferencedObjectsOld/LibSource/Utils/About.resx
Normal file
4144
PROMS/ReferencedObjectsOld/LibSource/Utils/About.resx
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
After Width: | Height: | Size: 227 KiB |
55
PROMS/ReferencedObjectsOld/LibSource/Utils/AssemblyInfo.cs
Normal file
55
PROMS/ReferencedObjectsOld/LibSource/Utils/AssemblyInfo.cs
Normal 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.
|
||||
//
|
@@ -0,0 +1,57 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly: AssemblyTitle("")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
//
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.1.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||
//
|
||||
// Use the attributes below to control which key is used for signing.
|
||||
//
|
||||
// Notes:
|
||||
// (*) If no key is specified, the assembly is not signed.
|
||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||
// a key.
|
||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||
// following processing occurs:
|
||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||
// in the KeyFile is installed into the CSP and used.
|
||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||
// When specifying the KeyFile, the location of the KeyFile should be
|
||||
// relative to the project output directory which is
|
||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||
// located in the project directory, you would specify the AssemblyKeyFile
|
||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||
// documentation for more information on this.
|
||||
//
|
||||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyName("")]
|
185
PROMS/ReferencedObjectsOld/LibSource/Utils/CurSet.cs
Normal file
185
PROMS/ReferencedObjectsOld/LibSource/Utils/CurSet.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
139
PROMS/ReferencedObjectsOld/LibSource/Utils/DTI.cs
Normal file
139
PROMS/ReferencedObjectsOld/LibSource/Utils/DTI.cs
Normal 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());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
73
PROMS/ReferencedObjectsOld/LibSource/Utils/DirSpace.cs
Normal file
73
PROMS/ReferencedObjectsOld/LibSource/Utils/DirSpace.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
75
PROMS/ReferencedObjectsOld/LibSource/Utils/FmtFiles.cs
Normal file
75
PROMS/ReferencedObjectsOld/LibSource/Utils/FmtFiles.cs
Normal 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()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
58
PROMS/ReferencedObjectsOld/LibSource/Utils/MenuXML.cs
Normal file
58
PROMS/ReferencedObjectsOld/LibSource/Utils/MenuXML.cs
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
256
PROMS/ReferencedObjectsOld/LibSource/Utils/PrivateProfile.cs
Normal file
256
PROMS/ReferencedObjectsOld/LibSource/Utils/PrivateProfile.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
622
PROMS/ReferencedObjectsOld/LibSource/Utils/Security.cs
Normal file
622
PROMS/ReferencedObjectsOld/LibSource/Utils/Security.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
295
PROMS/ReferencedObjectsOld/LibSource/Utils/SerialNo.cs
Normal file
295
PROMS/ReferencedObjectsOld/LibSource/Utils/SerialNo.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
51
PROMS/ReferencedObjectsOld/LibSource/Utils/ShrtNm.cs
Normal file
51
PROMS/ReferencedObjectsOld/LibSource/Utils/ShrtNm.cs
Normal 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();}
|
||||
}
|
||||
}
|
||||
}
|
214
PROMS/ReferencedObjectsOld/LibSource/Utils/SymbDlg.cs
Normal file
214
PROMS/ReferencedObjectsOld/LibSource/Utils/SymbDlg.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
192
PROMS/ReferencedObjectsOld/LibSource/Utils/SymbDlg.resx
Normal file
192
PROMS/ReferencedObjectsOld/LibSource/Utils/SymbDlg.resx
Normal 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>
|
142
PROMS/ReferencedObjectsOld/LibSource/Utils/SymbLst.cs
Normal file
142
PROMS/ReferencedObjectsOld/LibSource/Utils/SymbLst.cs
Normal 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), /* <20> - Degree */
|
||||
new SymbolListItem("\x44",0x7F,0), /* - Delta */
|
||||
new SymbolListItem("\xB3",0xF2,0), /* <20> - Greater Than or Equal */
|
||||
new SymbolListItem("\xA3",0xF3,0), /* <20> - Less Than or Equal */
|
||||
new SymbolListItem("\xB1",0xF1,0), /* <20> - Plus or Minus */
|
||||
new SymbolListItem("\x53",0xE4,0), /* <20> - Sigma */
|
||||
new SymbolListItem("\x67",0xE7,0), /* <20> - (Printed as a Gamma) */
|
||||
new SymbolListItem("\xBD",0xAB,1), /* <20> - One Half */
|
||||
new SymbolListItem("\xFE",0xFE,0), /* <20> - ACCUM Character */
|
||||
new SymbolListItem("\xB7",0x07,0), /* - Solid Bullet */
|
||||
new SymbolListItem("\xBB",0xF7,0), /* Similar */
|
||||
new SymbolListItem("\x40",0xF0,0), /* <20> - Approximately equal */
|
||||
new SymbolListItem("\xB8",0xF6,0), /* <20> - Division symbol */
|
||||
new SymbolListItem("\xD6",0xFB,0), /* <20> - Square Root */
|
||||
new SymbolListItem("\x72",0xE2,0), /* <20> - (Printed as a rho) */
|
||||
new SymbolListItem("\x70",0xE3,0), /* <20> - (Printed as pi) */
|
||||
new SymbolListItem("\x6D",0xE6,0), /* <20> - micro */
|
||||
new SymbolListItem("\x64",0xEB,0), /* <20> - Lower Case Delta */
|
||||
new SymbolListItem("\x73",0xE5,0), /* <20> - Lower Case Sigma */
|
||||
new SymbolListItem("\xBC",0xAC,1), /* <20> - One Fourth */
|
||||
new SymbolListItem("\xC6",0xED,0), /* <20> - 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
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
624
PROMS/ReferencedObjectsOld/LibSource/Utils/UsrRunTime.cs
Normal file
624
PROMS/ReferencedObjectsOld/LibSource/Utils/UsrRunTime.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
207
PROMS/ReferencedObjectsOld/LibSource/Utils/Utils.csproj
Normal file
207
PROMS/ReferencedObjectsOld/LibSource/Utils/Utils.csproj
Normal file
@@ -0,0 +1,207 @@
|
||||
<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>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<NoStdLib>false</NoStdLib>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
<Optimize>false</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DebugType>full</DebugType>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<NoStdLib>false</NoStdLib>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
<Optimize>true</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DebugType>none</DebugType>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="dznet">
|
||||
<Name>dznet</Name>
|
||||
<HintPath>f:\DynaZip Max\Redist\dznet.dll</HintPath>
|
||||
<AssemblyFolderKey>hklm\dn\dynazip for .net</AssemblyFolderKey>
|
||||
</Reference>
|
||||
<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>
|
||||
<Compile Include="ZipFuncs.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ZipFuncsDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="About.resx">
|
||||
<DependentUpon>About.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SymbDlg.resx">
|
||||
<DependentUpon>SymbDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ZipFuncsDlg.resx">
|
||||
<DependentUpon>ZipFuncsDlg.cs</DependentUpon>
|
||||
</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>
|
19
PROMS/ReferencedObjectsOld/LibSource/Utils/Utils.sln
Normal file
19
PROMS/ReferencedObjectsOld/LibSource/Utils/Utils.sln
Normal file
@@ -0,0 +1,19 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utils", "Utils.csproj", "{680054D3-49C4-40E7-92A5-67B97DCE6308}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{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}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{680054D3-49C4-40E7-92A5-67B97DCE6308}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
98
PROMS/ReferencedObjectsOld/LibSource/Utils/VEdt.cs
Normal file
98
PROMS/ReferencedObjectsOld/LibSource/Utils/VEdt.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
647
PROMS/ReferencedObjectsOld/LibSource/Utils/ZipFuncs.cs
Normal file
647
PROMS/ReferencedObjectsOld/LibSource/Utils/ZipFuncs.cs
Normal file
@@ -0,0 +1,647 @@
|
||||
/*********************************************************************************************
|
||||
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
|
||||
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
* ------------------------------------------------------------------------------
|
||||
* $Workfile: ZipFuncs.cs $ $Revision: 2 $
|
||||
* $Author: Kathy $ $Date: 8/10/04 9:12a $
|
||||
*
|
||||
* $History: ZipFuncs.cs $
|
||||
*
|
||||
* ***************** Version 2 *****************
|
||||
* User: Kathy Date: 8/10/04 Time: 9:12a
|
||||
* Updated in $/LibSource/Utils
|
||||
* force copy for backup of zip file on checks (was crashing)
|
||||
*
|
||||
* ***************** Version 1 *****************
|
||||
* User: Kathy Date: 7/27/04 Time: 8:35a
|
||||
* Created in $/LibSource/Utils
|
||||
*********************************************************************************************/
|
||||
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
namespace Utils
|
||||
{
|
||||
/// <summary>
|
||||
/// Zip and UnZip functions.
|
||||
/// </summary>
|
||||
public class ZipFuncs
|
||||
{
|
||||
[DllImport("Kernel32.DLL")] public static extern uint GetDriveType(char[] lpRootPathName);
|
||||
private CDZipNET dzip;
|
||||
private CDUnZipNET duzip;
|
||||
|
||||
private string _strZipPathAndFile; // full path and zip file name
|
||||
private bool _CancelZip;
|
||||
|
||||
private bool _zipOnRemovable; // i.e. floppy disk
|
||||
|
||||
private int _ArchiveType; // Full or Partial
|
||||
|
||||
private string _strZipFileExcludeList; // what not to zip
|
||||
|
||||
private string _strComment; // user's zip comment
|
||||
private string _strFilesToArchive; // what to zip up
|
||||
|
||||
private string _strArcTitle; // user's archive title
|
||||
|
||||
private string _strDestPath; // place to unzip to
|
||||
|
||||
//#define DRIVE_UNKNOWN 0
|
||||
//#define DRIVE_NO_ROOT_DIR 1
|
||||
//#define DRIVE_REMOVABLE 2
|
||||
//#define DRIVE_FIXED 3
|
||||
//#define DRIVE_REMOTE 4
|
||||
//#define DRIVE_CDROM 5
|
||||
//#define DRIVE_RAMDISK 6
|
||||
|
||||
private enum DriveType
|
||||
{
|
||||
DRIVE_UNKNOWN=0,
|
||||
DRIVE_NO_ROOT_DIR,
|
||||
DRIVE_REMOVABLE,
|
||||
DRIVE_FIXED,
|
||||
DRIVE_REMOTE,
|
||||
DRIVE_CDROM,
|
||||
DRIVE_RAMDISK
|
||||
}
|
||||
|
||||
private enum ZipTypes
|
||||
{
|
||||
Full=0,
|
||||
Partial=1
|
||||
}
|
||||
|
||||
// Contstructor for an existing Zip file
|
||||
public ZipFuncs(string iZipFile)
|
||||
{
|
||||
_strZipPathAndFile = iZipFile;
|
||||
SetupDestinationPath();
|
||||
_CancelZip = false;
|
||||
// populate local variables with Zip file's
|
||||
// Title, Archive type, and Comment
|
||||
GetZipCommentInformation();
|
||||
}
|
||||
|
||||
// Constructor for a new Zip file
|
||||
public ZipFuncs()
|
||||
{
|
||||
_strZipPathAndFile = "";
|
||||
_CancelZip = false;
|
||||
}
|
||||
|
||||
//public properties
|
||||
public string strArcTitle
|
||||
{
|
||||
get { return _strArcTitle; }
|
||||
set {_strArcTitle = value.ToString(); }
|
||||
}
|
||||
|
||||
public string strZipPathAndFile
|
||||
{
|
||||
get { return _strZipPathAndFile;}
|
||||
set
|
||||
{
|
||||
_strZipPathAndFile = value.ToString();
|
||||
SetupDestinationPath();
|
||||
// populate local variables with Zip file's
|
||||
// Title, Archive type, and Comment
|
||||
GetZipCommentInformation();
|
||||
}
|
||||
}
|
||||
|
||||
public string strUnZipDestPath
|
||||
{
|
||||
get { return _strDestPath; }
|
||||
set
|
||||
{
|
||||
_strDestPath = value.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public bool CancelZip
|
||||
{
|
||||
get { return _CancelZip;}
|
||||
set { _CancelZip = value; }
|
||||
}
|
||||
|
||||
public bool zipOnRemovable
|
||||
{
|
||||
get { return _zipOnRemovable;}
|
||||
set { _zipOnRemovable = value;}
|
||||
}
|
||||
|
||||
public int ArchiveType
|
||||
{
|
||||
get { return _ArchiveType;}
|
||||
set { _ArchiveType = value; }
|
||||
}
|
||||
|
||||
public string strFilesToArchive
|
||||
{
|
||||
get { return _strFilesToArchive; }
|
||||
set { _strFilesToArchive = value.ToString(); }
|
||||
}
|
||||
|
||||
public string strZipFileExcludeList
|
||||
{
|
||||
get { return _strZipFileExcludeList; }
|
||||
set { _strZipFileExcludeList = value.ToString(); }
|
||||
}
|
||||
|
||||
public string strComment
|
||||
{
|
||||
get {return _strComment;}
|
||||
set
|
||||
{
|
||||
// if (value == null)
|
||||
// _strComment = "";
|
||||
// else
|
||||
_strComment = (value == null)?"":value.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public bool CreateNewZipFile()
|
||||
{
|
||||
return _GenerateZipFile(true);
|
||||
}
|
||||
|
||||
public bool UpdateZipFile()
|
||||
{
|
||||
return _GenerateZipFile(false);
|
||||
}
|
||||
|
||||
|
||||
private bool _GenerateZipFile(bool NewFileFile)
|
||||
{
|
||||
StringBuilder cmntTxt = new StringBuilder();
|
||||
bool rtnval;
|
||||
ZipFuncsDlg zpDlg = new ZipFuncsDlg();
|
||||
|
||||
dzip = new CDZipNET();
|
||||
_CancelZip = false;
|
||||
_zipOnRemovable = IsARemovableDisk();
|
||||
|
||||
// Setup DynaZip
|
||||
|
||||
// build comment field text
|
||||
cmntTxt.Append(_strArcTitle);
|
||||
cmntTxt.Append("\n");
|
||||
if (_ArchiveType == (int)ZipFuncs.ZipTypes.Partial)
|
||||
{
|
||||
// Do not recurse the sub directories when doing a partial archive
|
||||
cmntTxt.Append("PARTIAL\n");
|
||||
dzip.RecurseFlag = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
cmntTxt.Append("FULL\n");
|
||||
dzip.RecurseFlag = true;
|
||||
}
|
||||
cmntTxt.Append(_strComment);
|
||||
dzip.AddCommentFlag = true;
|
||||
dzip.Comment = cmntTxt.ToString(); // zip file comment string
|
||||
|
||||
// CompressionFactors 10 - 19 are not compatable with older zip programs
|
||||
// (i.e WinZip 7.0)
|
||||
dzip.CompressionFactor = 9; // maxium compression
|
||||
dzip.ExcludeFollowingFlag = true;
|
||||
dzip.ExcludeFollowing = _strZipFileExcludeList;
|
||||
dzip.ItemList = _strFilesToArchive;
|
||||
dzip.LargeZIPFilesFlag = true;
|
||||
dzip.ZIPFile = _strZipPathAndFile; // zip file name with full path
|
||||
|
||||
// Is the target zip path on a removable dirve?
|
||||
if (_zipOnRemovable)
|
||||
{
|
||||
dzip.MultiVolumeControl = CDZipNET.MULTIVOLCONTROL.MV_USEMULTI;
|
||||
}
|
||||
else
|
||||
{
|
||||
dzip.MultiVolumeControl = CDZipNET.MULTIVOLCONTROL.MV_NONE;
|
||||
}
|
||||
|
||||
// setup status bars
|
||||
dzip.MajorStatusFlag = true;
|
||||
dzip.MinorStatusFlag = true;
|
||||
dzip.ZipMajorStatus += new CDZipNET.OnZipMajorStatus(zpDlg.ZipMajorStatus_event);
|
||||
dzip.ZipMinorStatus += new CDZipNET.OnZipMinorStatus(zpDlg.ZipMinorStatus_event);
|
||||
_CancelZip = false;
|
||||
|
||||
zpDlg.Show();
|
||||
|
||||
// Do the Zip function
|
||||
if (!NewFileFile)
|
||||
dzip.ActionDZ = CDZipNET.DZACTION.ZIP_UPDATE; //update existing zip file
|
||||
else
|
||||
dzip.ActionDZ = CDZipNET.DZACTION.ZIP_ADD; // create new zip file
|
||||
|
||||
rtnval = (zpDlg.DialogResult == System.Windows.Forms.DialogResult.OK);
|
||||
zpDlg.Dispose();
|
||||
|
||||
// check for errors during the zip function.
|
||||
if (rtnval)
|
||||
rtnval = CheckZipErrorCode();
|
||||
|
||||
// if we are zipping to a different location than the current procedure
|
||||
// set directory, we always want to return false so that this newly
|
||||
// created zip file is not placed in the VE-PROMS tree.
|
||||
if (_zipOnRemovable || ZipFileNotInCurrentDirectory())
|
||||
rtnval = false;
|
||||
|
||||
return rtnval;
|
||||
}
|
||||
|
||||
// If there is a problem with the Zip file header, try to fix it.
|
||||
private bool FixZipFile()
|
||||
{
|
||||
bool rtnval;
|
||||
string ZipFileName = _strZipPathAndFile;
|
||||
string backupName = ZipFileName.Substring(0,ZipFileName.LastIndexOf(".")) + ".bku";
|
||||
_CancelZip = false;
|
||||
// save a copy of the zip file
|
||||
File.Copy(ZipFileName,backupName,true);
|
||||
dzip.FixFlag = true;
|
||||
dzip.ActionDZ = CDZipNET.DZACTION.ZIP_UPDATE;
|
||||
if (dzip.ErrorCode == CDZipNET.ZIPRESPONSE.ZE_FORM )
|
||||
{
|
||||
dzip.FixFlag = false;
|
||||
dzip.FixHarderFlag = true;
|
||||
dzip.ActionDZ = CDZipNET.DZACTION.ZIP_UPDATE;
|
||||
dzip.FixHarderFlag = false;
|
||||
}
|
||||
rtnval = (dzip.ErrorCode == 0); // 0 = success
|
||||
|
||||
if (!rtnval)
|
||||
{
|
||||
// not successful, so restore from the backup file
|
||||
File.Copy(backupName,ZipFileName,true);
|
||||
}
|
||||
File.Delete(backupName); // delete the backup file
|
||||
return rtnval;
|
||||
}
|
||||
|
||||
private bool CheckZipErrorCode()
|
||||
{
|
||||
bool rtnval;
|
||||
|
||||
switch (dzip.ErrorCode)
|
||||
{
|
||||
case CDZipNET.ZIPRESPONSE.ZE_OK: // ZE_OK
|
||||
rtnval = true;
|
||||
break;
|
||||
case CDZipNET.ZIPRESPONSE.ZE_FORM: // ZE_FORM
|
||||
case CDZipNET.ZIPRESPONSE.ZE_TEST: // ZE_TEST
|
||||
// Internal organization of ZIP file is dammaged.
|
||||
// Try using the Fix function
|
||||
// note that you cannot do the fix on removable media
|
||||
if (!zipOnRemovable)
|
||||
rtnval = FixZipFile();
|
||||
else
|
||||
rtnval = false;
|
||||
break;
|
||||
case CDZipNET.ZIPRESPONSE.ZE_ABORT: // ZE_ABORT
|
||||
rtnval = false;
|
||||
break;
|
||||
default:
|
||||
rtnval = false;
|
||||
break;
|
||||
}
|
||||
return rtnval;
|
||||
}
|
||||
|
||||
// If there is a problem with the Zip file header, try to fix it.
|
||||
private bool FixUnZipFile()
|
||||
{
|
||||
bool rtnval;
|
||||
string ZipFileName = _strZipPathAndFile;
|
||||
string backupName = ZipFileName.Substring(0,ZipFileName.LastIndexOf(".")) + ".bku";
|
||||
_CancelZip = false;
|
||||
dzip = new CDZipNET();
|
||||
dzip.ZIPFile = duzip.ZIPFile;
|
||||
// save a copy of the zip file
|
||||
File.Copy(ZipFileName,backupName,true);
|
||||
dzip.FixFlag = true;
|
||||
dzip.ActionDZ = CDZipNET.DZACTION.ZIP_UPDATE;
|
||||
if (dzip.ErrorCode == CDZipNET.ZIPRESPONSE.ZE_FORM)
|
||||
{
|
||||
dzip.FixFlag = false;
|
||||
dzip.FixHarderFlag = true;
|
||||
dzip.ActionDZ = CDZipNET.DZACTION.ZIP_UPDATE;
|
||||
dzip.FixHarderFlag = false;
|
||||
}
|
||||
rtnval = (dzip.ErrorCode == CDZipNET.ZIPRESPONSE.ZE_OK); // 0 = success
|
||||
dzip.Dispose();
|
||||
|
||||
if (!rtnval)
|
||||
{
|
||||
// not successful, so restore from the backup file
|
||||
File.Copy(backupName,ZipFileName,true);
|
||||
}
|
||||
File.Delete(backupName); // delete the backup file
|
||||
return rtnval;
|
||||
}
|
||||
|
||||
private bool CheckUnZipErrorCode()
|
||||
{
|
||||
bool rtnval;
|
||||
switch (duzip.ErrorCode)
|
||||
{
|
||||
case CDUnZipNET.UNZIPRESPONSE.UE_OK: // UE_OK
|
||||
rtnval = true;
|
||||
break;
|
||||
case CDUnZipNET.UNZIPRESPONSE.UE_STRUCT: // UE_STRUCT
|
||||
// Internal organization of ZIP file is dammaged.
|
||||
// Try using the Fix function
|
||||
rtnval = FixUnZipFile();
|
||||
break;
|
||||
case CDUnZipNET.UNZIPRESPONSE.UE_ABORT: // UE_ABORT
|
||||
case CDUnZipNET.UNZIPRESPONSE.UE_CANCEL: // UE_CANCEL
|
||||
rtnval = false;
|
||||
break;
|
||||
default:
|
||||
rtnval = false;
|
||||
break;
|
||||
}
|
||||
return rtnval;
|
||||
}
|
||||
|
||||
public bool AddZipCommentInformation()
|
||||
{
|
||||
StringBuilder cmntTxt = new StringBuilder();
|
||||
dzip = new CDZipNET();
|
||||
_CancelZip = false;
|
||||
// Save the current attributes of the zip file, update zip file
|
||||
// and then restore attributes
|
||||
// - the zip file might be readonly
|
||||
System.IO.FileAttributes saveAttribs = File.GetAttributes(_strZipPathAndFile);
|
||||
File.SetAttributes(_strZipPathAndFile,FileAttributes.Normal);
|
||||
// add comment
|
||||
cmntTxt.Append(_strArcTitle);
|
||||
cmntTxt.Append("\n");
|
||||
if (_ArchiveType == (int)ZipTypes.Partial)
|
||||
cmntTxt.Append("PARTIAL\n");
|
||||
else
|
||||
cmntTxt.Append("FULL\n");
|
||||
cmntTxt.Append(_strComment);
|
||||
dzip.AddCommentFlag = true;
|
||||
dzip.Comment = cmntTxt.ToString();
|
||||
dzip.ZIPFile = _strZipPathAndFile; // zip file name with full path
|
||||
dzip.ActionDZ = CDZipNET.DZACTION.ZIP_ADD;
|
||||
File.SetAttributes(_strZipPathAndFile,saveAttribs);
|
||||
return CheckZipErrorCode();
|
||||
}
|
||||
|
||||
public bool GetZipCommentInformation()
|
||||
{
|
||||
int x;
|
||||
string ZipComment;
|
||||
string strArcType;
|
||||
_CancelZip = false;
|
||||
if (!(File.Exists(_strZipPathAndFile)))
|
||||
return false; // !!! no zip file
|
||||
duzip = new CDUnZipNET();
|
||||
duzip.ZIPFile = _strZipPathAndFile; // zip file name with full path
|
||||
duzip.ActionDZ = CDUnZipNET.DUZACTION.UNZIP_GETCOMMENTSIZE;
|
||||
if (!CheckUnZipErrorCode())
|
||||
return false; // error
|
||||
if (duzip.ReturnCount <= 0)
|
||||
return false; // no comment informat
|
||||
duzip.ActionDZ = CDUnZipNET.DUZACTION.UNZIP_GETCOMMENT;
|
||||
ZipComment = duzip.ReturnString;
|
||||
x = ZipComment.IndexOf("\n");
|
||||
if (x < 0) return false; // nothing in comment
|
||||
_strArcTitle = ZipComment.Substring(0,x);
|
||||
ZipComment = ZipComment.Substring(x+1);
|
||||
x = ZipComment.IndexOf("\n");
|
||||
if (x > 0)
|
||||
{
|
||||
strArcType = ZipComment.Substring(0,x);
|
||||
if (strArcType.Equals("FULL"))
|
||||
_ArchiveType = (int)ZipTypes.Full;
|
||||
else
|
||||
_ArchiveType = (int)ZipTypes.Partial;
|
||||
_strComment = ZipComment.Substring(x+1);
|
||||
}
|
||||
else
|
||||
{
|
||||
// at this point, default to a full archive
|
||||
_ArchiveType = (int)ZipTypes.Full;
|
||||
// default to path and filename for the comment
|
||||
_strComment = _strZipPathAndFile;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool IsARemovableDisk()
|
||||
{
|
||||
uint DrvType;
|
||||
string tmp = _strZipPathAndFile.Substring(0,2);
|
||||
DrvType = GetDriveType(tmp.ToCharArray());
|
||||
return (DrvType.Equals((uint)DriveType.DRIVE_REMOVABLE));
|
||||
}
|
||||
|
||||
private bool ZipFileNotInCurrentDirectory()
|
||||
{
|
||||
string curdir = Directory.GetCurrentDirectory();
|
||||
string tmpstr = _strZipPathAndFile.ToUpper();
|
||||
if (tmpstr.EndsWith(".ZIP"))
|
||||
tmpstr = tmpstr.Substring(0,tmpstr.LastIndexOf("."));
|
||||
return tmpstr.Equals(curdir);
|
||||
}
|
||||
|
||||
public bool UnzipFromZipFile()
|
||||
{
|
||||
return _UnzipFromZipFile(true); // unzip from the archive
|
||||
}
|
||||
|
||||
public bool TestTheZipFile()
|
||||
{
|
||||
return _UnzipFromZipFile(false); // test the archive
|
||||
}
|
||||
|
||||
private bool _UnzipFromZipFile(bool ExtractFiles)
|
||||
{
|
||||
StringBuilder cmntTxt = new StringBuilder();
|
||||
bool rtnval;
|
||||
ZipFuncsDlg zpDlg = new ZipFuncsDlg();
|
||||
// StringBuilder cmntTxt = new StringBuilder();
|
||||
// VEO_Archive arc = (VEO_Archive) _CurObj;
|
||||
duzip = new CDUnZipNET();
|
||||
_zipOnRemovable = IsARemovableDisk();
|
||||
|
||||
// Setup DynaZip
|
||||
|
||||
// zip file name with full path
|
||||
duzip.ZIPFile = _strZipPathAndFile;
|
||||
|
||||
//root of drive letter
|
||||
// duzip.Destination = Path.GetPathRoot(_strZipPathAndFile);
|
||||
duzip.Destination = _strDestPath;
|
||||
|
||||
// what files to get from the zip file
|
||||
duzip.Filespec = "*.*"; // get all files
|
||||
|
||||
//Replace - this combination of flags results in unzipping all files whether
|
||||
// they were changed or not.
|
||||
duzip.FreshenFlag = false;
|
||||
duzip.UpdateFlag = false;
|
||||
|
||||
// Make a reference to a single byte to avoid null access
|
||||
duzip.MemoryBlock = new Byte[1];
|
||||
|
||||
// true = Overwrite non-read only files without asking
|
||||
duzip.OverwriteFlag = true;
|
||||
|
||||
// true = proceed to unzip by traversing into folders
|
||||
duzip.RecurseFlag = true;
|
||||
|
||||
duzip.UnzipSubOptions = CDUnZipNET.UNZIPSUBOPTION.USO_NONE;
|
||||
|
||||
// set this option to allow the overwriting of ReadOnly Files.
|
||||
// this option only has meaning when the OverwriteFlag property
|
||||
// is set to true
|
||||
duzip.UnzipSubOptions |= CDUnZipNET.UNZIPSUBOPTION.USO_OVERWRITE_RO;
|
||||
|
||||
// allow the MinorCancel event to respond to cancel requests
|
||||
duzip.UnzipSubOptions |= CDUnZipNET.UNZIPSUBOPTION.USO_MINORCANCEL;
|
||||
|
||||
// debug
|
||||
// duzip.DiagnosticFlag = true;
|
||||
// duzip.UnzipSubOptions |= CDUnZipNET.UNZIPSUBOPTION.USO_LOGZIPRESULTS;
|
||||
|
||||
// setup status bars
|
||||
duzip.MajorStatusFlag = true;
|
||||
duzip.MinorStatusFlag = true;
|
||||
duzip.MessageCallbackFlag = true;
|
||||
duzip.UnZipMajorStatus += new CDUnZipNET.OnUnZipMajorStatus(zpDlg.ZipMajorStatus_event);
|
||||
duzip.UnZipMinorStatus += new CDUnZipNET.OnUnZipMinorStatus(zpDlg.ZipMinorStatus_event);
|
||||
|
||||
_CancelZip = false;
|
||||
|
||||
zpDlg.Show(); // display the status dialog
|
||||
|
||||
if (!ExtractFiles)
|
||||
duzip.TestFlag = true; // don't extract, only test each item in zip file
|
||||
|
||||
// Do the UnZip function
|
||||
duzip.ActionDZ = CDUnZipNET.DUZACTION.UNZIP_EXTRACT;
|
||||
rtnval = (zpDlg.DialogResult == System.Windows.Forms.DialogResult.OK);
|
||||
zpDlg.Dispose();
|
||||
|
||||
// check for errors during the unzip function.
|
||||
if (!CheckUnZipErrorCode())
|
||||
return false; // error
|
||||
if (duzip.ReturnCount <= 0)
|
||||
return false; // nothing unzipped
|
||||
|
||||
return rtnval;
|
||||
}
|
||||
|
||||
public StringCollection ZipFileContents()
|
||||
{
|
||||
StringCollection ZipFileList = new StringCollection();
|
||||
StringBuilder cmntTxt = new StringBuilder();
|
||||
duzip = new CDUnZipNET();
|
||||
_zipOnRemovable = false;
|
||||
|
||||
// Setup DynaZip
|
||||
|
||||
// zip file name with full path
|
||||
duzip.ZIPFile = _strZipPathAndFile;
|
||||
|
||||
// what files to get from the zip file
|
||||
duzip.Filespec = "*.*"; // get all files
|
||||
|
||||
//Replace - this combination of flags results in unzipping all files whether
|
||||
// they were changed or not.
|
||||
duzip.FreshenFlag = false;
|
||||
duzip.UpdateFlag = false;
|
||||
|
||||
// Make a reference to a single byte to avoid null access
|
||||
duzip.MemoryBlock = new Byte[1];
|
||||
|
||||
_CancelZip = false;
|
||||
|
||||
// Do the UnZip function
|
||||
duzip.ActionDZ = CDUnZipNET.DUZACTION.UNZIP_COUNTALLZIPMEMBERS;
|
||||
int numItems = duzip.ReturnCount;
|
||||
string str_tmpDate;
|
||||
string str_tmpFileName;
|
||||
for (int i=0;i<numItems;i++)
|
||||
{
|
||||
duzip.ActionDZ = CDUnZipNET.DUZACTION.UNZIP_GETNEXTZIPINFO;
|
||||
str_tmpDate = duzip.zi_DateTime;
|
||||
str_tmpFileName = duzip.zi_FileName;
|
||||
ZipFileList.Add(str_tmpDate + "!" + str_tmpFileName);
|
||||
}
|
||||
|
||||
return ZipFileList;
|
||||
}
|
||||
|
||||
private void SetupDestinationPath()
|
||||
{
|
||||
string strDestPath = "";
|
||||
duzip = new CDUnZipNET();
|
||||
_zipOnRemovable = false;
|
||||
|
||||
// Setup DynaZip
|
||||
|
||||
// zip file name with full path
|
||||
duzip.ZIPFile = _strZipPathAndFile;
|
||||
|
||||
strDestPath = Path.GetDirectoryName(_strZipPathAndFile);
|
||||
strDestPath = strDestPath.ToUpper();
|
||||
|
||||
// what files to get from the zip file
|
||||
duzip.Filespec = "proc.ini"; // get proc.ini file
|
||||
|
||||
//Replace - this combination of flags results in unzipping all files whether
|
||||
// they were changed or not.
|
||||
duzip.FreshenFlag = false;
|
||||
duzip.UpdateFlag = false;
|
||||
duzip.RecurseFlag = true; // so that it can get with or without path
|
||||
|
||||
// Make a reference to a single byte to avoid null access
|
||||
duzip.MemoryBlock = new Byte[1];
|
||||
|
||||
_CancelZip = false;
|
||||
|
||||
// Do the UnZip function
|
||||
int numItems = 0;
|
||||
if (File.Exists(_strZipPathAndFile))
|
||||
{
|
||||
duzip.ActionDZ = CDUnZipNET.DUZACTION.UNZIP_COUNTNAMEDZIPMEMBERS;
|
||||
// See if we found the file
|
||||
numItems = duzip.ReturnCount;
|
||||
}
|
||||
string str_tmpFileName = "";
|
||||
// string curdir = Directory.GetCurrentDirectory();
|
||||
// DestPath = curdir.ToUpper();
|
||||
if (numItems > 0)
|
||||
{
|
||||
// Adjust the destination path based on the full or partial
|
||||
// path in the zip file
|
||||
char [] trmchar = {'\\'};
|
||||
duzip.ActionDZ = CDUnZipNET.DUZACTION.UNZIP_GETNEXTNAMEDZIPINFO;
|
||||
str_tmpFileName = duzip.zi_FileName;
|
||||
// trim off the file name
|
||||
str_tmpFileName = str_tmpFileName.ToUpper();
|
||||
str_tmpFileName = str_tmpFileName.Substring(0,str_tmpFileName.LastIndexOf("PROC.INI"));
|
||||
// trim off any backslash
|
||||
str_tmpFileName = str_tmpFileName.TrimEnd(trmchar);
|
||||
str_tmpFileName = str_tmpFileName.ToUpper();
|
||||
if (str_tmpFileName.Length > 0)
|
||||
{
|
||||
if (strDestPath.LastIndexOf(str_tmpFileName) > 0)
|
||||
strDestPath = strDestPath.Substring(0,strDestPath.Length - str_tmpFileName.Length);
|
||||
}
|
||||
}
|
||||
_strDestPath = strDestPath;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
164
PROMS/ReferencedObjectsOld/LibSource/Utils/ZipFuncsDlg.cs
Normal file
164
PROMS/ReferencedObjectsOld/LibSource/Utils/ZipFuncsDlg.cs
Normal file
@@ -0,0 +1,164 @@
|
||||
/*********************************************************************************************
|
||||
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
|
||||
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
* ------------------------------------------------------------------------------
|
||||
* $Workfile: ZipFuncsDlg.cs $ $Revision: 1 $
|
||||
* $Author: Kathy $ $Date: 7/27/04 8:35a $
|
||||
*
|
||||
* $History: ZipFuncsDlg.cs $
|
||||
*
|
||||
* ***************** Version 1 *****************
|
||||
* User: Kathy Date: 7/27/04 Time: 8:35a
|
||||
* Created in $/LibSource/Utils
|
||||
*********************************************************************************************/
|
||||
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
|
||||
|
||||
namespace Utils
|
||||
{
|
||||
/// <summary>
|
||||
/// Dialog used to display the zip/unzip function status
|
||||
/// </summary>
|
||||
public class ZipFuncsDlg : System.Windows.Forms.Form
|
||||
{
|
||||
private System.Windows.Forms.ProgressBar progressBar1;
|
||||
private System.Windows.Forms.ProgressBar progressBar2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Button button1;
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.Container components = null;
|
||||
|
||||
private bool _CancelZip;
|
||||
|
||||
public ZipFuncsDlg()
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
_CancelZip = false;
|
||||
this.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
}
|
||||
|
||||
|
||||
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.progressBar2 = new System.Windows.Forms.ProgressBar();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// progressBar1
|
||||
//
|
||||
this.progressBar1.Location = new System.Drawing.Point(16, 40);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(360, 23);
|
||||
this.progressBar1.TabIndex = 0;
|
||||
//
|
||||
// progressBar2
|
||||
//
|
||||
this.progressBar2.Location = new System.Drawing.Point(16, 104);
|
||||
this.progressBar2.Name = "progressBar2";
|
||||
this.progressBar2.Size = new System.Drawing.Size(360, 23);
|
||||
this.progressBar2.TabIndex = 1;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(24, 16);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(352, 16);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "label1";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(16, 80);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(360, 16);
|
||||
this.label2.TabIndex = 3;
|
||||
this.label2.Text = "label2";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(144, 144);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(104, 32);
|
||||
this.button1.TabIndex = 4;
|
||||
this.button1.Text = "Cancel";
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// ZipFuncs
|
||||
//
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
||||
this.ClientSize = new System.Drawing.Size(400, 190);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.progressBar2);
|
||||
this.Controls.Add(this.progressBar1);
|
||||
this.Name = "ZipFuncs";
|
||||
this.Text = "ZipFuncs";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void button1_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
_CancelZip = true;
|
||||
this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
}
|
||||
|
||||
public void ZipMajorStatus_event(String lpstrItem, int percent, ref int rc)
|
||||
{
|
||||
progressBar1.Value = percent;
|
||||
label1.Text = lpstrItem;
|
||||
|
||||
if (_CancelZip)
|
||||
rc = 1;
|
||||
else
|
||||
rc = 0;
|
||||
}
|
||||
|
||||
public void ZipMinorStatus_event(String lpstrItem, int percent, ref int rc)
|
||||
{
|
||||
progressBar2.Value = percent;
|
||||
label2.Text = lpstrItem;
|
||||
|
||||
if (_CancelZip)
|
||||
rc = 1;
|
||||
else
|
||||
rc = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
175
PROMS/ReferencedObjectsOld/LibSource/Utils/ZipFuncsDlg.resx
Normal file
175
PROMS/ReferencedObjectsOld/LibSource/Utils/ZipFuncsDlg.resx
Normal file
@@ -0,0 +1,175 @@
|
||||
<?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.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</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="progressBar2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="progressBar2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="progressBar2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="button1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="button1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="button1.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.Name">
|
||||
<value>ZipFuncs</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>
|
Reference in New Issue
Block a user