⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reghelpbds3w.js

📁 Delphi的Office 2007风格界面控件
💻 JS
📖 第 1 页 / 共 3 页
字号:
							var dVerFull=dFV.split('.');
							if ( sVerFull.length > 1 && dVerFull.length > 1 && sVerFull != null && dVerFull != null )
								{
								var sVerNum = Math.abs (sVerFull[0] + sVerFull[1]);
								var dVerNum = Math.abs (dVerFull[0] + dVerFull[1]);
								var sVerSku = sVerFull[2]; var dVerSku = dVerFull[2];
								var sVerLng = sVerFull[3]; var dVerLng = dVerFull[3];
								}
							if ( sVerSku != dVerSku )
								{
								qVer = WSHShell.Popup ( 'You are about to overwrite existing Help with Help from a different edition of the product. Proceed?', 0, mbTitle, 33 );
								if ( qVer == 1 )
									{
									q = true;
									xCopy = true;
									}
								else
									{
									WSHShell.Popup ( 'Help maintenance operation concluded.', 0, mbTitle, 64 );
									WScript.Echo ( 'Help maintenance operation concluded.' );
									WSHShell = null; WScript.Quit(); 
									}
								}
							if ( sVerLng != dVerLng )
								{
								qVer = WSHShell.Popup ( 'You are about to overwrite existing Help with a different localized version. Proceed?', 0, mbTitle, 33 );
								if ( qVer == 1 )
									{
									q = true;
									xCopy = true;
									}
								else
									{
									WSHShell.Popup ( 'Help maintenance operation concluded.', 0, mbTitle, 64 );
									WScript.Echo ( 'Help maintenance operation concluded.' );
									WSHShell = null; WScript.Quit(); 
									}
								}
							if ( sVerNum > dVerNum )
								{
								xCopy = true;
								}
							}
						else
							{
							xCopy = true;
							}
						break;
					default: xCopy = true;
					} // end switch
				}
			else
				{
				xCopy = true;
				}

            if ( xCopy == true )
                {
                destDrive = fo.GetDrive(fo.GetDriveName(fo.GetParentFolderName(df)));
                checkDrive ( destDrive, ( fsrc.size * 2 ) - ( fdst.size ) );
                try
                    {
                    if ( fdst.attributes > 0 ) { fdst.attributes = 0; }
                    }
                catch ( err_attrchange )
                    {
                    cpRet = -1;
                    }
                try
                    {
                    fo.copyFile ( sf, df, true );
                    if ( q == true ) { cpRet = 0; } else { cpRet = 1; }
                    }
                catch ( err_copydest )
                    {
                    cpRet = -1;
                    }
                }
            else { cpRet = -1; }
            }
        else
            {
            try
                {
                if ( !fo.folderExists(fo.GetParentFolderName(df)) )
                    {
                    createFoldersFromPath ( df );
                    }
                fo.copyFile ( sf, df, true );
                if ( q == true ) { cpRet = 0; } else { cpRet = 1; }
                }
            catch ( err_copynodest )
                {
                cpRet = -1;
                }
            }
        }
    catch ( err_updatefile )
        {
        cpRet = -1;
        }
    }
else
    {
    cpRet = -1;
    }
return cpRet;
}

/*************************************************
check filter data
*/
function checkFilter(fds)
{
fRet = true;
    if ( fds.indexOf ( '=' ) == -1
        || fds.indexOf ( ',' ) != -1
        || ( ( fds.substr ( 0, 1 ) != '"' || fds.substr ( 0, 1 ) != '(' )
            && ( fds.substr ( fds.length - 1, 1 ) != '"' || fds.substr ( fds.length - 1, 1 ) != ')' ) )
        || ( fds.substr ( 0, 1 ) == '"' && fds.substr ( fds.length - 1, 1 ) != '"' )
        || ( fds.substr ( 0, 1 ) == '(' && fds.substr ( fds.length - 1, 1 ) != ')' )
        || fds.split('(').length != fds.split(')').length )
        { fRet = false; }
    if ( fds.indexOf ( '=' ) != -1 && ( fds.split('=').length-1 ) * 4 != fds.split('"').length-1 )
        { fRet = false; }
return fRet;
}

/*************************************************
check drive readiness and space availability
*/
function checkDrive ( pDrive, spaceReq )
{
if ( !pDrive.IsReady )
    {
    WSHShell.Popup ( 'Drive ' + progDrive + ' is not available for Help installation. Halting setup.', 0, mbTitle, 16 );
    WScript.Echo ( 'Drive ' + progDrive + ' is not available for Help installation. Halting setup.' );
    WSHShell = null; WScript.Quit();
    }
if ( pDrive.FreeSpace <= spaceReq )
    {
    WSHShell.Popup ( 'Drive ' + progDrive + ' does not have sufficient space available for Help installation. Halting setup.', 0, mbTitle, 16 );
    WScript.Echo ( 'Drive ' + progDrive + ' does not have sufficient space available for Help installation. Halting setup.' );
    WSHShell = null; WScript.Quit();
    }
return true;
}

/*************************************************
register or remove plugin (rr 0 = remove)
*/
function rPlugin(rr, ns, nsHXT, ns2, ns2HXT, ns2HXA, longOpts)
{
var r = false;
    try
        {
        var oRegSess = new ActiveXObject('HxDs.HxRegisterSession');
        oRegSess.CreateTransaction('');
        var oRegPlugin = oRegSess.GetRegistrationObject(2);
        if ( rr != 0 )
            {
            oRegPlugin.RegisterHelpPlugIn(ns, nsHXT, ns2, ns2HXT, ns2HXA, longOpts);
            }
        else
            {
            oRegPlugin.RemoveHelpPlugIn(ns, nsHXT, ns2, ns2HXT, ns2HXA);
            }
        oRegSess.CommitTransaction();
        oRegPlugin=null;
        oRegSess=null;
        r = true;
        }
    catch(err_rplugin)
        {
        oRegPlugin=null;
        oRegSess=null;
        r = false;
        }
return r;
}

/*************************************************
register or remove namespace (rr 0 = remove)
*/
function rNamespace(rr,ns,colFile,colDesc)
{
var r = false;
    try
        {
        var oRegSess = new ActiveXObject('HxDs.HxRegisterSession');
        oRegSess.CreateTransaction('');
        var oRegNS = oRegSess.GetRegistrationObject(0);
        if ( rr != 0 ) { oRegNS.RegisterNamespace(ns, colFile, colDesc); }
        else { oRegNS.RemoveNamespace(ns); }
        oRegSess.CommitTransaction();
        oRegNS=null;
        oRegSess=null;
        r = true;
        }
    catch ( err_rnamespace )
        {
        oRegNS=null;
        oRegSess=null;
        r = false;
        }

return r;
}

/*************************************************
register or remove files (rr 0 = remove)
*/
function rFile (rr,ns,bn,li,xs,xi)
{
var r = false;
    try
        {
        var oRegSess = new ActiveXObject('HxDs.HxRegisterSession');
        oRegSess.CreateTransaction('');
        var oRegFiles = oRegSess.GetRegistrationObject(0);
        if ( rr != 0 )
            {
            oRegFiles.RegisterHelpFileSet( ns, bn, li, xs, xi,"","",0,0,0,0);
            }
        else
            {
            oRegFiles.RemoveHelpFile( ns, bn, li );
            }
        oRegSess.CommitTransaction();
        oRegFiles=null;
        oRegSess=null;
        r = true;
        }
    catch ( err_rfile )
        {
        oRegFiles=null;
        oRegSess=null;
        r = false;
        }
return r;
}

/*************************************************
register or remove filters (rr 0 = remove)
*/
function rFilter ( rr, ns, filterName, filterData )
{
    try
    {
        var oRegSess = new ActiveXObject('HxDs.HxRegisterSession');
        oRegSess.CreateTransaction('');
        var oRegFilter = oRegSess.GetRegistrationObject(1);
        oRegFilter.SetNamespace(ns);
        oRegFilter.SetCollectionFiltersFlag(1);
        if ( rr != 0 ) { oRegFilter.RegisterFilter( filterName, filterData ); }
        else { oRegFilter.RemoveFilter( filterName ); }
        oRegSess.CommitTransaction();
        oRegSess=null;
        oRegFilter=null;
        return true;
    }
    catch (err_rfilter)
        {
        oRegFilter=null;
        oRegSess=null;
        r = false;
        }
return r;
}

/*************************************************
create a shortcut to namespace
*/
function createHelpShortcut( ns, scLoc, dxLoc )
{
var scRet = false;
    try
        {
        var sFile = scLoc //+ '.lnk';
        if ( fo.fileExists ( sFile ) ) { fo.deleteFile ( sFile, true ); }
        var osl = WSHShell.CreateShortcut( sFile );
        osl.TargetPath = dxLoc + 'dexplore.exe';
        osl.Arguments = ' /helpcol ms-help://' + ns;
        osl.WindowStyle = 1;
        osl.IconLocation = dxLoc + "dexplore.exe, 0";
        osl.Description = ns + ' Help';
        osl.WorkingDirectory = dxLoc;
        osl.Save();
        scRet = true;
        }
    catch (err_createhelpshortcut)
        {
        scRet = false;
        }
return scRet;
}

/*************************************************
creates folders for file copy operations
*/
function createFoldersFromPath ( fp )
{
cpr = false;
var fpx = fo.GetParentFolderName(fo.GetAbsolutePathName ( fp ));
fps = fpx.split ( '\\' );
var i, cPath=fps[0] + '\\';
for ( i=1; i<fps.length; i++ )
    {
    cPath += fps[i] + '\\';
    if ( !fo.FolderExists ( cPath ) )
    try
        {
        fo.CreateFolder ( cPath );
        }
    catch ( err_createfoldersfrompath )
        {
        WSHShell.Popup ( 'ERROR: Failed to create folder:\n' + cPath, 0, WScript.ScriptName, 16 ) ;
        WScript.Echo ( 'ERROR: Failed to create folder:\n' + cPath );
        WSHShell = '' ; WScript.Quit() ;
        }
    }
if ( fo.FolderExists ( cPath ) ) { cpr = true; }
return cpr;
}

/**************************************************/
function getVersionAttrib(f)
{
var fx = fo.OpenTextFile ( f, 1, false );
var fxs = '', fv = '', fvStart = -1, fvEnd = -1, tagEnd = -1;
    while ( !fx.AtEndOfStream )
        {
		fxs = trimit(fx.readline());
		if ( fxs.indexOf ( 'FileVersion' ) != -1 )
			{
			fvStart = fxs.indexOf ( 'FileVersion' ) + 11;
			tagEnd = fxs.indexOf ( '>', fvStart );
			if ( tagEnd == -1 )
				{
				while ( !fx.AtEndOfStream && tagEnd == -1 )
					{
					fxs += trimit(fx.readline());
					tagEnd = fxs.indexOf ( '>' );
					}
				}
			fv = fxs.substr ( fvStart, tagEnd - fvStart );
			break;
			}
		}
fx.close();

if ( fv != '' && fv.indexOf ('"') != -1 && fv.indexOf ( '=' ) != -1 )
	{
	fvStart = fv.indexOf ( '"' );
	fvEnd = fv.indexOf ( '"', fvStart + 1 );
	if ( fvEnd != -1 )
		{
		fv = trimit(fv.substr ( fvStart + 1, fvEnd - fvStart - 1 ));
		}
	if ( fv.indexOf ( ' ' ) != -1 || fv.indexOf ( '=' ) != -1 || fv.indexOf ( '"' ) != -1 )
		{
		fv = '';
		}
	}
else
	{
	//no ver info found
	fv = '';
	}

return fv;

}

/**************************************************/
function trimit( s )
{
//trims leading and trailing spaces, removes any tabs from string
    var re = /\t/g; //rem tabs as well
    while ( s.charAt ( 0 ) == ' ' ) { s = s.substr ( 1 ) }
    while ( s.charAt ( s.length - 1 ) == ' ' ) { s = s.substr ( 0, s.length - 1 ) }
    s = s.replace ( re, '' );
    return s;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -