Commit for development environment setup
This commit is contained in:
@@ -0,0 +1,549 @@
|
||||
/*********************************************************************************************
|
||||
* Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
|
||||
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
* ------------------------------------------------------------------------------
|
||||
* $Workfile: ARProperties.cs $ $Revision: 2 $
|
||||
* $Author: Jsj $ $Date: 8/20/04 4:45p $
|
||||
*
|
||||
* $History: ARProperties.cs $
|
||||
*
|
||||
* ***************** Version 2 *****************
|
||||
* User: Jsj Date: 8/20/04 Time: 4:45p
|
||||
* Updated in $/LibSource/VEObject
|
||||
* fixed cancel of archive selected procedures
|
||||
*
|
||||
* ***************** Version 1 *****************
|
||||
* User: Kathy Date: 7/27/04 Time: 8:52a
|
||||
* Created in $/LibSource/VEObject
|
||||
*********************************************************************************************/
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.Collections.Specialized;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Text;
|
||||
using System.Data;
|
||||
using VDB_Set;
|
||||
using Utils;
|
||||
|
||||
|
||||
namespace VEObject
|
||||
{
|
||||
/// <summary>
|
||||
/// NOTE: cmbType (the combo box that contains the document types) must match
|
||||
/// the order of document types given in the ArchiveTypeOptions for this dialog
|
||||
/// to work correctly
|
||||
/// </summary>
|
||||
|
||||
|
||||
public class ARProperties : System.Windows.Forms.Form
|
||||
{
|
||||
private System.Windows.Forms.PropertyGrid myPropertyGrid;
|
||||
private System.Windows.Forms.ComboBox cmbType;
|
||||
private System.Windows.Forms.Label lblType;
|
||||
private System.Windows.Forms.Button btnOK;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.Button btnApply;
|
||||
private VEO_Base _ParentObj;
|
||||
private VEO_Base _CurObj;
|
||||
private bool isnew;
|
||||
private bool glbCancel;
|
||||
private bool zipInCurProcSet;
|
||||
private bool hasInvalidEntry;
|
||||
private string strCurZipPath;
|
||||
private string strZipFileName;
|
||||
private string strFilesToArchive;
|
||||
private string strZipFileExcludeList;
|
||||
private string strProcSetDir;
|
||||
|
||||
private ZipFuncs ZipFile;
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.Container components = null;
|
||||
|
||||
public ARProperties(Object parent, Object curobj)
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
_ParentObj = (VEO_Base) parent;
|
||||
_CurObj = (VEO_Base) curobj;
|
||||
VEO_Archive tmpArc = (VEO_Archive)curobj;
|
||||
if (tmpArc.isnew == true)
|
||||
isnew=true;
|
||||
else
|
||||
isnew=false;
|
||||
|
||||
InitializeComponent();
|
||||
this.myPropertyGrid.SelectedObject=curobj;
|
||||
strCurZipPath = _ParentObj._Location;
|
||||
strProcSetDir = _ParentObj._Location;
|
||||
// If new, combo box should have 'Full'
|
||||
this.cmbType.Visible=false;
|
||||
this.btnApply.Enabled=false;
|
||||
glbCancel = false;
|
||||
zipInCurProcSet = true;
|
||||
if (isnew == true)
|
||||
{
|
||||
this.btnApply.Visible = false;
|
||||
SetupNewFileName();
|
||||
ZipFile = new ZipFuncs();
|
||||
// Since this a new Zip File, don't assign ZipFile with the path/name,
|
||||
// Title, or Comment. These values can be changed prior to the
|
||||
// actual creation of the Zip file.
|
||||
}
|
||||
else
|
||||
{
|
||||
VEO_Archive arc = (VEO_Archive)curobj;
|
||||
ZipFile = new ZipFuncs(arc._Location);
|
||||
GetCommentInformation();
|
||||
this.cmbType.SelectedIndex = (int) arc._ArchiveType;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetupNewFileName()
|
||||
{
|
||||
int i=0;
|
||||
StringBuilder newname = new StringBuilder();
|
||||
|
||||
VEO_Archive arc = (VEO_Archive) _CurObj;
|
||||
// The old VE-PROMS logic would create SOURCE.ZIP for
|
||||
// the first archive, then ARCH_xxx.ZIP for the rest.
|
||||
// Now we will just create ARCH_xxx.ZIP
|
||||
while(i==0 || arc.Exists(strCurZipPath + "\\" + newname.ToString()))
|
||||
{
|
||||
newname.Remove(0,newname.Length);
|
||||
newname.Append("ARCH_");
|
||||
newname.Append(i.ToString("d3"));
|
||||
newname.Append(".ZIP");
|
||||
i++;
|
||||
}
|
||||
strZipFileName = newname.ToString();
|
||||
_CurObj._Location = strCurZipPath + "\\" + strZipFileName;
|
||||
_CurObj._Title = "New Archive " + newname.ToString();
|
||||
this.myPropertyGrid.SelectedObject=_CurObj;
|
||||
}
|
||||
|
||||
/// <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(ARProperties));
|
||||
this.myPropertyGrid = new System.Windows.Forms.PropertyGrid();
|
||||
this.cmbType = new System.Windows.Forms.ComboBox();
|
||||
this.lblType = new System.Windows.Forms.Label();
|
||||
this.btnOK = new System.Windows.Forms.Button();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.btnApply = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// myPropertyGrid
|
||||
//
|
||||
this.myPropertyGrid.CommandsVisibleIfAvailable = true;
|
||||
this.myPropertyGrid.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.myPropertyGrid.HelpVisible = false;
|
||||
this.myPropertyGrid.LargeButtons = false;
|
||||
this.myPropertyGrid.LineColor = System.Drawing.SystemColors.ScrollBar;
|
||||
this.myPropertyGrid.Location = new System.Drawing.Point(0, 48);
|
||||
this.myPropertyGrid.Name = "myPropertyGrid";
|
||||
this.myPropertyGrid.Size = new System.Drawing.Size(736, 112);
|
||||
this.myPropertyGrid.TabIndex = 2;
|
||||
this.myPropertyGrid.Text = "Properties";
|
||||
this.myPropertyGrid.ToolbarVisible = false;
|
||||
this.myPropertyGrid.ViewBackColor = System.Drawing.SystemColors.Window;
|
||||
this.myPropertyGrid.ViewForeColor = System.Drawing.SystemColors.WindowText;
|
||||
this.myPropertyGrid.PropertyValueChanged += new System.Windows.Forms.PropertyValueChangedEventHandler(this.myPropertyGrid_PropertyValueChanged);
|
||||
//
|
||||
// cmbType
|
||||
//
|
||||
this.cmbType.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.cmbType.Items.AddRange(new object[] {
|
||||
"Full",
|
||||
"Partial"});
|
||||
this.cmbType.Location = new System.Drawing.Point(104, 0);
|
||||
this.cmbType.Name = "cmbType";
|
||||
this.cmbType.Size = new System.Drawing.Size(208, 24);
|
||||
this.cmbType.TabIndex = 3;
|
||||
this.cmbType.SelectedIndexChanged += new System.EventHandler(this.cmbType_SelectedIndexChanged);
|
||||
//
|
||||
// lblType
|
||||
//
|
||||
this.lblType.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.lblType.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblType.Name = "lblType";
|
||||
this.lblType.Size = new System.Drawing.Size(96, 24);
|
||||
this.lblType.TabIndex = 4;
|
||||
this.lblType.Text = "Archive Type:";
|
||||
this.lblType.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// btnOK
|
||||
//
|
||||
this.btnOK.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.btnOK.Location = new System.Drawing.Point(432, 200);
|
||||
this.btnOK.Name = "btnOK";
|
||||
this.btnOK.Size = new System.Drawing.Size(64, 24);
|
||||
this.btnOK.TabIndex = 8;
|
||||
this.btnOK.Text = "OK";
|
||||
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", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.btnCancel.Location = new System.Drawing.Point(512, 200);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(64, 24);
|
||||
this.btnCancel.TabIndex = 9;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
this.btnCancel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
|
||||
//
|
||||
// btnApply
|
||||
//
|
||||
this.btnApply.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.btnApply.Location = new System.Drawing.Point(592, 200);
|
||||
this.btnApply.Name = "btnApply";
|
||||
this.btnApply.Size = new System.Drawing.Size(56, 24);
|
||||
this.btnApply.TabIndex = 10;
|
||||
this.btnApply.Text = "Apply";
|
||||
this.btnApply.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnApply.Click += new System.EventHandler(this.btnApply_Click);
|
||||
//
|
||||
// ARProperties
|
||||
//
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
||||
this.CausesValidation = false;
|
||||
this.ClientSize = new System.Drawing.Size(736, 246);
|
||||
this.Controls.Add(this.btnApply);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.btnOK);
|
||||
this.Controls.Add(this.lblType);
|
||||
this.Controls.Add(this.cmbType);
|
||||
this.Controls.Add(this.myPropertyGrid);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "ARProperties";
|
||||
this.Text = "Archive Properties";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void cmbType_SelectedIndexChanged(object sender, System.EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
// save was clicked, use the objects save methods.
|
||||
private void btnOK_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
btnApply_Click(sender,e);
|
||||
if (hasInvalidEntry)
|
||||
{
|
||||
DialogResult = DialogResult.None;
|
||||
return; // keep the dialog open
|
||||
}
|
||||
if (!glbCancel)
|
||||
DialogResult=DialogResult.OK;
|
||||
else
|
||||
DialogResult=DialogResult.Cancel;
|
||||
this.Close();
|
||||
}
|
||||
|
||||
// Apply changes
|
||||
private void btnApply_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
bool success = true;
|
||||
|
||||
if (!ValidatePropertyEntries()) // check the entry fields
|
||||
{
|
||||
return; // has invalid data in a property field
|
||||
}
|
||||
|
||||
if (isnew)
|
||||
{
|
||||
if(_ParentObj==null)
|
||||
{
|
||||
DialogResult=DialogResult.Cancel;
|
||||
return;
|
||||
}
|
||||
// generate new zip file
|
||||
success = GenerateArchiveFile();
|
||||
if (success)
|
||||
{
|
||||
// save the property values
|
||||
success=_CurObj.Write();
|
||||
}
|
||||
}
|
||||
else // update existing ZipFile's Comment Field
|
||||
{
|
||||
success=_CurObj.Write();
|
||||
if (success)
|
||||
success = AddCommentInformation();
|
||||
}
|
||||
// if not successful with the archive, set the cancel
|
||||
// flag so that a false tree item does not appear.
|
||||
// Note that when archiving outside of the current directory,
|
||||
// (for example to a floppy disk), success is set to false to
|
||||
// prevent a false tree item.
|
||||
glbCancel = !success;
|
||||
|
||||
btnApply.Enabled=false;
|
||||
}
|
||||
|
||||
|
||||
private bool SelectProcsToArchive()
|
||||
{
|
||||
StringCollection SelectedFilesToArchive;
|
||||
bool isfirst = true;
|
||||
bool rtnval = false;
|
||||
ProcedureSelectionList ProcList = new ProcedureSelectionList();
|
||||
vdb_Set vdbSet=new vdb_Set(strProcSetDir + "\\SET.DBF");
|
||||
// Loop thru the procset (process like a dataset)
|
||||
DataTable tbl = vdbSet.DB_Data.Tables[0];
|
||||
foreach (DataRow row in tbl.Rows)
|
||||
{
|
||||
// skip the first one (it's always a "blank" record)
|
||||
if (isfirst)
|
||||
isfirst = false;
|
||||
else
|
||||
{
|
||||
ProcList.Add(row);
|
||||
}
|
||||
}
|
||||
|
||||
if (ProcList.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
StringBuilder tmpstr = new StringBuilder();
|
||||
string strZipPath = "\"" + strProcSetDir + "\\";
|
||||
// get list of procedures to archive
|
||||
// Note that there is no file extension in this list of dBase files
|
||||
SelectedFilesToArchive = ProcList.GetListOfSelectedProcs_Files();
|
||||
for(int j=0; j<SelectedFilesToArchive.Count; j++)
|
||||
{
|
||||
string tstr = SelectedFilesToArchive[j];
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append(tstr);
|
||||
tmpstr.Append(".*\" ");
|
||||
}
|
||||
// add needed supporing files
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("SET*.*\" ");
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("PROC.INI\" ");
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("CURSET.DAT\" ");
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("USA*.*\" ");
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("TRAN*.*\" ");
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("XT*.*\" ");
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("DOC_*.LIB\" ");
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("RO.FST\" ");
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("TITLE\" ");
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("*.LNK\" ");
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("RTFFILES\\*.*\" ");
|
||||
tmpstr.Append(strZipPath);
|
||||
tmpstr.Append("TEMPS\\*.*\"");
|
||||
|
||||
strFilesToArchive = tmpstr.ToString();
|
||||
if (SelectedFilesToArchive.Count > 0)
|
||||
rtnval = true;
|
||||
}
|
||||
|
||||
return rtnval;
|
||||
}
|
||||
|
||||
|
||||
// This function generates a new zip file
|
||||
private bool GenerateArchiveFile()
|
||||
{
|
||||
bool rtnval = true;
|
||||
StringBuilder cmntTxt = new StringBuilder();
|
||||
VEO_Archive arc = (VEO_Archive) _CurObj;
|
||||
this.glbCancel = false;
|
||||
if (arc._ArchiveType == VEO_Base.ArchiveTypeOptions.Partial)
|
||||
{
|
||||
// get list of selected procedures to archive
|
||||
rtnval = SelectProcsToArchive();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Archive entire procedure directory
|
||||
strFilesToArchive = "\"" + strProcSetDir + "\\*.*\"";
|
||||
}
|
||||
|
||||
if (rtnval)
|
||||
{
|
||||
strZipFileExcludeList = "\"" + strProcSetDir + "\\Approved\\*.*\" \"" + strProcSetDir + "\\Temps\\*.*\" *.zip process.dat ?process.dat *.lck";
|
||||
// Setup DynaZip
|
||||
|
||||
ZipFile.strZipPathAndFile = arc.Location;
|
||||
ZipFile.strZipFileExcludeList = strZipFileExcludeList;
|
||||
ZipFile.strFilesToArchive = strFilesToArchive;
|
||||
ZipFile.strArcTitle = arc.Description;
|
||||
ZipFile.strComment = arc.Comment;
|
||||
ZipFile.ArchiveType = (int)arc._ArchiveType;
|
||||
|
||||
this.Enabled = false;
|
||||
rtnval = ZipFile.CreateNewZipFile();
|
||||
this.Enabled = true;
|
||||
}
|
||||
|
||||
return rtnval;
|
||||
}
|
||||
|
||||
private bool AddCommentInformation()
|
||||
{
|
||||
VEO_Archive arc = (VEO_Archive) _CurObj;
|
||||
// add comment
|
||||
ZipFile.strArcTitle = arc.Description;
|
||||
ZipFile.ArchiveType = (int)arc._ArchiveType;
|
||||
ZipFile.strComment = arc.Comment;
|
||||
return ZipFile.AddZipCommentInformation();
|
||||
}
|
||||
|
||||
private void GetCommentInformation()
|
||||
{
|
||||
this.glbCancel = false;
|
||||
VEO_Archive arc = (VEO_Archive) _CurObj;
|
||||
if (ZipFile.strArcTitle == null)
|
||||
arc.Description = arc._Title;
|
||||
else
|
||||
arc.Description = ZipFile.strArcTitle;
|
||||
arc.Comment = ZipFile.strComment;
|
||||
if (ZipFile.ArchiveType == (int)VEO_Base.ArchiveTypeOptions.Full)
|
||||
arc.ArchiveType = VEO_Base.ArchiveTypeOptions.Full;
|
||||
else
|
||||
arc.ArchiveType = VEO_Base.ArchiveTypeOptions.Partial;
|
||||
arc.Write();
|
||||
return;
|
||||
}
|
||||
|
||||
private void myPropertyGrid_PropertyValueChanged(object s, System.Windows.Forms.PropertyValueChangedEventArgs e)
|
||||
{
|
||||
btnApply.Enabled = true;
|
||||
}
|
||||
|
||||
private void btnCancel_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
this.glbCancel = true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check the property fields for invalid entries
|
||||
* If an invalid entry is found, display a message and
|
||||
* return to the property dialog
|
||||
*/
|
||||
private bool ValidatePropertyEntries()
|
||||
{
|
||||
VEO_Archive arc = (VEO_Archive) _CurObj;
|
||||
hasInvalidEntry = false;
|
||||
|
||||
// Check the zip file path and filename
|
||||
if (!IsAValidZipFileLocation())
|
||||
{
|
||||
hasInvalidEntry = true;
|
||||
return false; // data in fields are not valid
|
||||
}
|
||||
|
||||
if (zipInCurProcSet && (arc.Description == null || arc.Description.Equals("")))
|
||||
{
|
||||
// put in a default title
|
||||
arc.Description = "Archive: " + strZipFileName;
|
||||
}
|
||||
|
||||
return (true); // data in fields are valid
|
||||
}
|
||||
|
||||
/*
|
||||
* Check the zip file name and path.
|
||||
* Display message box to notify user of invalid entry.
|
||||
* Assign local strArchive variables accordingly.
|
||||
*/
|
||||
private bool IsAValidZipFileLocation()
|
||||
{
|
||||
string strArchiveLocation;
|
||||
string strCurDirSave;
|
||||
|
||||
VEO_Archive arc = (VEO_Archive) _CurObj;
|
||||
strArchiveLocation = arc._Location;
|
||||
|
||||
// Check for a cleared out location field
|
||||
if (arc._Location == null || arc._Location.Equals(""))
|
||||
{
|
||||
MessageBox.Show("Need to Enter the Archive Location and File Name","Archive Error");
|
||||
return false;
|
||||
}
|
||||
|
||||
string strTmp = strArchiveLocation.ToUpper();
|
||||
// Check for a zip extension
|
||||
if (!strTmp.EndsWith(".ZIP"))
|
||||
{
|
||||
MessageBox.Show("Need to enter the Archive File Name","Archive Error");
|
||||
return false;
|
||||
}
|
||||
|
||||
// make sure the current working directory is the current procedure set
|
||||
strCurDirSave = Directory.GetCurrentDirectory();
|
||||
Directory.SetCurrentDirectory(strProcSetDir);
|
||||
|
||||
// Get the full path based on the user entry
|
||||
strArchiveLocation = Path.GetFullPath(strArchiveLocation);
|
||||
if (!strArchiveLocation.Equals(arc._Location))
|
||||
{
|
||||
if (strArchiveLocation == null || strArchiveLocation.Equals(""))
|
||||
{
|
||||
MessageBox.Show("Invalid Archive File Name or File Path","Archive Error");
|
||||
// reset the current working directory
|
||||
Directory.SetCurrentDirectory(strCurDirSave);
|
||||
return false;
|
||||
}
|
||||
|
||||
arc._Location = strArchiveLocation;
|
||||
}
|
||||
|
||||
// parse out the file name
|
||||
strZipFileName = Path.GetFileName(strArchiveLocation);
|
||||
|
||||
// parse out the path
|
||||
strCurZipPath = strArchiveLocation.Substring(0,strArchiveLocation.LastIndexOf(strZipFileName)-1);
|
||||
|
||||
// If the zip file path is not the same as the current working directory
|
||||
// then flag the fact we are creating a zip file outside the procedure directory.
|
||||
zipInCurProcSet = Directory.Equals(Directory.GetCurrentDirectory(),strCurZipPath);
|
||||
|
||||
// reset the current working directory
|
||||
Directory.SetCurrentDirectory(strCurDirSave);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user