aboutsummaryrefslogtreecommitdiff
path: root/cvs/cvsweb.cgi/code/tool/visual_studio_macros/nevrax_macros.dsm?rev=1.19&content-type=text/x-cvsweb-markup/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'cvs/cvsweb.cgi/code/tool/visual_studio_macros/nevrax_macros.dsm?rev=1.19&content-type=text/x-cvsweb-markup/index.html')
-rw-r--r--cvs/cvsweb.cgi/code/tool/visual_studio_macros/nevrax_macros.dsm?rev=1.19&content-type=text/x-cvsweb-markup/index.html422
1 files changed, 422 insertions, 0 deletions
diff --git a/cvs/cvsweb.cgi/code/tool/visual_studio_macros/nevrax_macros.dsm?rev=1.19&content-type=text/x-cvsweb-markup/index.html b/cvs/cvsweb.cgi/code/tool/visual_studio_macros/nevrax_macros.dsm?rev=1.19&content-type=text/x-cvsweb-markup/index.html
new file mode 100644
index 00000000..1b911c7b
--- /dev/null
+++ b/cvs/cvsweb.cgi/code/tool/visual_studio_macros/nevrax_macros.dsm?rev=1.19&content-type=text/x-cvsweb-markup/index.html
@@ -0,0 +1,422 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML>
+<HEAD><style> A { color:black }</style>
+<!-- hennerik CVSweb $Revision: 1.93 $ -->
+<TITLE>code/tool/visual_studio_macros/nevrax_macros.dsm - view - 1.19</TITLE></HEAD>
+<BODY BGCOLOR="#eeeeee">
+<table width="100%" border=0 cellspacing=0 cellpadding=1 bgcolor="#aaaaaa"><tr valign=bottom><td><a href="nevrax_macros.dsm"><IMG SRC="http://www.nevrax.org/inc/img/picto-up.gif" ALT="[BACK]" BORDER="0" WIDTH="14" HEIGHT="13"></a> <b>Return to <A HREF="nevrax_macros.dsm">nevrax_macros.dsm</A>
+ CVS log</b> <IMG SRC="http://www.nevrax.org/inc/img/picto-news.gif" ALT="[TXT]" BORDER="0" WIDTH="13" HEIGHT="15"></td><td align=right><IMG SRC="http://www.nevrax.org/inc/img/picto-dir.gif" ALT="[DIR]" BORDER="0" WIDTH="15" HEIGHT="13"> <b>Up to <a href="/cvs/cvsweb.cgi/">Nevrax</a> / <a href="/cvs/cvsweb.cgi/code/">code</a> / <a href="/cvs/cvsweb.cgi/code/tool/">tool</a> / <a href="/cvs/cvsweb.cgi/code/tool/visual_studio_macros/">visual_studio_macros</a></b></td></tr></table><HR noshade><table width="100%"><tr><td bgcolor="#ffffff">File: <a href="/cvs/cvsweb.cgi/">Nevrax</a> / <a href="/cvs/cvsweb.cgi/code/">code</a> / <a href="/cvs/cvsweb.cgi/code/tool/">tool</a> / <a href="/cvs/cvsweb.cgi/code/tool/visual_studio_macros/">visual_studio_macros</a> / <a href="/cvs/cvsweb.cgi/code/tool/visual_studio_macros/nevrax_macros.dsm">nevrax_macros.dsm</a>&nbsp;(<A HREF="/cvs/cvsweb.cgi/~checkout~/code/tool/visual_studio_macros/nevrax_macros.dsm?rev=1.19" target="cvs_checkout" onClick="window.open('/cvs/cvsweb.cgi/~checkout~/code/tool/visual_studio_macros/nevrax_macros.dsm?rev=1.19','cvs_checkout','resizeable,scrollbars');"><b>download</b></A>)<BR>
+Revision <B>1.19</B>, <i>Thu Jan 10 14:41:48 2002 UTC</i> (5 months, 3 weeks ago) by <i>cado</i>
+<BR>Branch: <b>MAIN</b>
+<BR>CVS Tags: <b>HEAD</b><BR>Changes since <b>1.18: +3 -3
+ lines</b><PRE>
+ADDED 2002
+</PRE>
+</td></tr></table><HR noshade><PRE>' nevrax_macros.dsm
+'
+' Copyright (C) 2000-2002 Nevrax. All rights reserved.
+'
+' The redistribution, use and modification in source or binary forms of
+' this software is subject to the conditions set forth in the copyright
+' document (&quot;Copyright&quot;) included with this distribution.
+'
+'------------------------------------------------------------------------------
+' FILE DESCRIPTION: Nevrax Visual Studio macro file
+' $Id: nevrax_macros.dsm,v 1.19 2002/01/10 14:41:48 cado Exp $
+'------------------------------------------------------------------------------
+
+
+' *** NevraxNewClass ***
+
+
+' NevraxInsertFileHeader
+' Utility Sub for NevraxNewClass()
+' Author : Olivier Cado
+Sub NevraxInsertFileHeader( filename, productname )
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection.StartOfDocument
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;/** \file &quot; + filename + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * &lt;File description&gt;&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; *&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * $Id: nevrax_macros.dsm,v 1.19 2002/01/10 14:41:48 cado Exp $&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; */&quot; + vbLf + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;/* Copyright, 2000-2002 Nevrax Ltd.&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; *&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * This file is part of NEVRAX &quot; + productname + &quot;.&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * NEVRAX &quot; + productname + &quot; is free software; you can redistribute it and/or modify&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * it under the terms of the GNU General Public License as published by&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * the Free Software Foundation; either version 2, or (at your option)&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * any later version.&quot; + vbLf + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * NEVRAX &quot; + productname + &quot; is distributed in the hope that it will be useful, but&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * WITHOUT ANY WARRANTY; without even the implied warranty of&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * General Public License for more details.&quot; + vbLf + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * You should have received a copy of the GNU General Public License&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * along with NEVRAX &quot; + productname + &quot;; see the file COPYING. If not, write to the&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * MA 02111-1307, USA.&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; */&quot; + vbLf
+End Sub
+
+
+Function IsUpCase( str )
+ &nbsp; &nbsp; &nbsp; &nbsp;IsUpcase = ( str = Ucase(str) )
+End Function
+
+
+' NevraxClassNameToFileName
+' Utility Function for NevraxNewClass()
+' 1/08/2000 : now analyses the first character
+' Author : Olivier Cado
+Function NevraxClassNameToFileName( classname )
+ &nbsp; &nbsp; &nbsp; &nbsp;beginningpos = 1
+ &nbsp; &nbsp; &nbsp; &nbsp;first = left(classname,1)
+ &nbsp; &nbsp; &nbsp; &nbsp;if ((first=&quot;C&quot;) or (first=&quot;E&quot;) or (first=&quot;I&quot;)) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if len(classname)&gt;1 then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if IsUpCase( mid(classname,2,1) ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;beginningpos = 2
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;filename = lcase(mid(classname,beginningpos,1))
+ &nbsp; &nbsp; &nbsp; &nbsp;for i = beginningpos+1 to len( classname )
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;charact = mid(classname,i,1 )
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if IsUpCase( charact ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if i+1 &lt;= len( classname ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if not IsUpCase( mid(classname,i+1,1) ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;filename = filename + &quot;_&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;filename = filename + &quot;_&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;filename = filename + lcase(charact)
+ &nbsp; &nbsp; &nbsp; &nbsp;next
+ &nbsp; &nbsp; &nbsp; &nbsp;NevraxClassNameToFileName = filename
+End Function
+
+
+' NevraxProjectOpen
+' Utility Function for NevraxNewClass()
+' Author : Olivier Cado
+Function NevraxProjectOpen( projname )
+ &nbsp; &nbsp; &nbsp; &nbsp;found = 0
+ &nbsp; &nbsp; &nbsp; &nbsp;dim proj
+ &nbsp; &nbsp; &nbsp; &nbsp;for i = 1 to Projects.Count
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if Projects(i).Name = projname then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;found = i
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit for
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;next
+ &nbsp; &nbsp; &nbsp; &nbsp;NevraxProjectOpen = found
+End Function
+
+
+' Global variable
+Dim CurrentDirectoryName
+Dim CurrentProgrammerName
+
+
+' NevraxNewClass
+' DESCRIPTION: Wizard for new class creation
+' 1/08/2000 : added input boxes for directories
+' 7/09/2000 : added programmer's name dialog and test for file existence (dirs &amp; files)
+' 18/09/2000 : namespace, programmer's name saved in a file, file added to the right project
+' 12/10/2000 : modified output
+' Weird things :
+' - CreateObject( Scripting.FileSystemObject ) doesn't work on Win 98, but on 2000
+' - Projects.Item( string ) doesn't work. Using number instead
+' Author : Olivier Cado
+Sub NevraxNewClass()
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' ** Input class name and file name
+ &nbsp; &nbsp; &nbsp; &nbsp;ClassName = InputBox( &quot;Bienvenue dans l'assistant de création de classe.&quot; + vbLf + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;Nom de la nouvelle classe :&quot;, &quot;Nouvelle classe (1)&quot; )
+ &nbsp; &nbsp; &nbsp; &nbsp;if ClassName = &quot;&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Sub
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;Filename = NevraxClassNameToFileName( ClassName )
+ &nbsp; &nbsp; &nbsp; &nbsp;' Warning: do not enter an existing filename, or MsDev will crash when attempting to save
+ &nbsp; &nbsp; &nbsp; &nbsp;Filename = InputBox( &quot;Nom de fichier sans l'extension:&quot;, &quot;Nouvelle classe (2)&quot;, Filename )
+ &nbsp; &nbsp; &nbsp; &nbsp;if Filename = &quot;&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Sub
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;UniqueName = &quot;NL_&quot; + UCase( Filename ) + &quot;_H&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;HFilename = Filename + &quot;.h&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;CppFilename = Filename + &quot;.cpp&quot;
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' Load configuration
+ &nbsp; &nbsp; &nbsp; &nbsp;dim fso
+ &nbsp; &nbsp; &nbsp; &nbsp;set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)
+ &nbsp; &nbsp; &nbsp; &nbsp;ConfigFileName = &quot;R:\code\tool\visual_studio_macros\nevrax_new_class.cfg&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;if fso.FileExists( ConfigFileName ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;set f = fso.OpenTextFile( ConfigFileName, 1 ) ' 1 = ForReading
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'if CurrentProgrammerName = &quot;&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CurrentProgrammerName = f.ReadLine
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;' &nbsp; &nbsp; &nbsp; &nbsp;CurrentProgrammerName = &quot;Richard Stallman&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'end if
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SrcDirectory = f.ReadLine
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IncDirectory = f.ReadLine
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;f.Close
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' ** Directories (NB: input boxes cannot be canceled in this part)
+ &nbsp; &nbsp; &nbsp; &nbsp;SrcDirectory = InputBox( &quot;Répertoire racine (existant) des sources (.cpp)&quot; + vbLf + &quot;(ex: R:\code\nel\src pour NeL) :&quot;,&quot;Nouvelle classe (3)&quot;, SrcDirectory )
+ &nbsp; &nbsp; &nbsp; &nbsp;if SrcDirectory &lt;&gt; &quot;&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if right(SrcDirectory,1)&lt;&gt;&quot;\&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SrcDirectory = SrcDirectory + &quot;\&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IncDirectory = &quot;&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;IncDirectory = InputBox( &quot;Répertoire racine (existant) des include (.h)&quot; + vbLf + &quot;(ex: R:\code\nel\include\nel pour NeL ; chaîne vide pour le même répertoire que les fichiers source ) :&quot;,&quot;Nouvelle classe (4)&quot;, IncDirectory )
+ &nbsp; &nbsp; &nbsp; &nbsp;if IncDirectory = &quot;&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IncDirectory = SrcDirectory
+ &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (right(IncDirectory,1)&lt;&gt;&quot;\&quot;) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IncDirectory = IncDirectory + &quot;\&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;CurrentDirectoryName = InputBox( &quot;Nom du répertoire de travail (ex: misc)&quot; + vbLf + &quot;(existant dans &quot; + SrcDirectory + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; et dans &quot; + IncDirectory + &quot;)&quot; + vbLf + &quot;Ce nom restera mémorisé&quot; + vbLf + &quot;(chaîne vide pour pour un projet hors-NeL).&quot;, &quot;Nouvelle classe (5)&quot;, CurrentDirectoryName )
+ &nbsp; &nbsp; &nbsp; &nbsp;if CurrentDirectoryName&lt;&gt;&quot;&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CurrentDirectoryDir = CurrentDirectoryName + &quot;\&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Namesp = &quot;NL&quot; + ucase(CurrentDirectoryName)
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;If InStr( IncDirectory, &quot;nel&quot; ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ProdName = &quot;NEL&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ShortIncDir = &quot;nel/&quot; + CurrentDirectoryName + &quot;/&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ProdName = &quot;NeL Network Services&quot; ' not Distributed Toolkit Components System anymore
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' ** Check for file existence
+ &nbsp; &nbsp; &nbsp; &nbsp;FinalCPPdir = SrcDirectory + CurrentDirectoryDir
+ &nbsp; &nbsp; &nbsp; &nbsp;FinalHdir = IncDirectory + CurrentDirectoryDir
+ &nbsp; &nbsp; &nbsp; &nbsp;if not fso.FolderExists( FinalHdir ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MsgBox &quot;Erreur : le répertoire &quot; + FinalHdir + &quot; n'existe pas !&quot;, vbExclamation
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Sub
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;if not fso.FolderExists( FinalCPPdir ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MsgBox &quot;Erreur : le répertoire &quot; + FinalCPPdir + &quot; n'existe pas !&quot;, vbExclamation
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Sub
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;FinalCPPfilename = FinalCPPdir + CppFilename
+ &nbsp; &nbsp; &nbsp; &nbsp;FinalHfilename = FinalHdir + HFilename
+ &nbsp; &nbsp; &nbsp; &nbsp;if fso.FileExists( FinalHfilename ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MsgBox &quot;Erreur : le fichier &quot; + FinalHfilename + &quot; existe déjà !&quot;, vbExclamation
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Sub
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;if fso.FileExists( FinalCPPfilename ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MsgBox &quot;Erreur : le fichier &quot; + FinalCPPfilename + &quot; existe déjà !&quot;, vbExclamation
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Sub
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' ** Check for open project
+ &nbsp; &nbsp; &nbsp; &nbsp;if CurrentDirectoryName=&quot;&quot; &nbsp; &nbsp; &nbsp; &nbsp;then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AddToProject = 0
+ &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AddToProject = NevraxProjectOpen( CurrentDirectoryName )
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' ** Programmer's name
+ &nbsp; &nbsp; &nbsp; &nbsp;CurrentProgrammerName = InputBox( &quot;Votre prénom et votre nom (qui restera mémorisé dans un fichier) :&quot;, &quot;Nouvelle classe (6)&quot;, CurrentProgrammerName )
+ &nbsp; &nbsp; &nbsp; &nbsp;if CurrentProgrammerName = &quot;&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Sub
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' Save configuration
+ &nbsp; &nbsp; &nbsp; &nbsp;set f = fso.OpenTextFile( ConfigFileName, 2, true ) ' 2 = ForWriting
+ &nbsp; &nbsp; &nbsp; &nbsp;f.WriteLine CurrentProgrammerName
+ &nbsp; &nbsp; &nbsp; &nbsp;f.WriteLine SrcDirectory
+ &nbsp; &nbsp; &nbsp; &nbsp;f.WriteLine IncDirectory
+ &nbsp; &nbsp; &nbsp; &nbsp;f.Close
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' ** Input ancestor class name and file name
+ &nbsp; &nbsp; &nbsp; &nbsp;NoAncestor = &quot;NO BASE CLASS&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;AncClassName = InputBox( &quot;Nom de la classe de base :&quot;, &quot;Nouvelle classe (7)&quot;, NoAncestor )
+ &nbsp; &nbsp; &nbsp; &nbsp;if AncClassName = &quot;&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Sub
+ &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if AncClassName = NoAncestor then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AncClassName = &quot;&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AncFilename = InputBox( &quot;Nom de fichier (avec chemin) sans l'extension (ex: nel/misc/toto) :&quot;, &quot;Nouvelle classe (8)&quot; )
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if AncFileName = &quot;&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Sub
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AncHFilename = AncFilename + &quot;.h&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'if not fso.FileExists( AncHFilename ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;' &nbsp; &nbsp; &nbsp; &nbsp;MsgBox &quot;Attention : le fichier &quot; + AncHFilename + &quot; n'existe pas encore.&quot;, vbInformation
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'end if
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' ** Now write .cpp
+ &nbsp; &nbsp; &nbsp; &nbsp;Documents.Add( &quot;Text&quot; )
+ &nbsp; &nbsp; &nbsp; &nbsp;NevraxInsertFileHeader CppFilename, ProdName
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = vbLf + &quot;#include &quot;&quot;&quot; + ShortIncDir + HFilename + &quot;&quot;&quot;&quot; + vbLf + vbLf + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;if ( CurrentDirectoryName&lt;&gt;&quot;&quot; ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = &quot;namespace &quot; + Namesp + &quot; {&quot; + vbLf + vbLf + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = &quot;/*&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * Constructor&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; */&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ClassName + &quot;::&quot; + ClassName + &quot;()&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;{&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;}&quot; + vbLf + vbLf + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;if ( CurrentDirectoryName&lt;&gt;&quot;&quot; ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = &quot;} // &quot; + Namesp + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;' Warning: ActiveDocument.Save raises an &quot;Unknown error&quot; if the directory does not exist&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Save( FinalCPPfilename )
+ &nbsp; &nbsp; &nbsp; &nbsp;if AddToProject=0 then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ActiveProject.AddFile( FinalCPPfilename )
+ &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Projects(AddToProject).AddFile( FinalCPPfilename )
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' ** Now write .h
+ &nbsp; &nbsp; &nbsp; &nbsp;Documents.Add( &quot;Text&quot; )
+ &nbsp; &nbsp; &nbsp; &nbsp;NevraxInsertFileHeader HFilename, ProdName
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = vbLf + &quot;#ifndef &quot; + UniqueName + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;#define &quot; + UniqueName + vbLf + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = &quot;#include &quot;&quot;nel/misc/types_nl.h&quot;&quot;&quot; + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;if AncClassName &lt;&gt; &quot;&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = &quot;#include &quot;&quot;&quot; + AncHFilename + &quot;&quot;&quot;&quot; + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;if ( CurrentDirectoryName&lt;&gt;&quot;&quot; ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = vbLf + vbLf + &quot;namespace &quot; + Namesp + &quot; {&quot; + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = vbLf + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;/**&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * &lt;Class description&gt;&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * \author &quot; + CurrentProgrammerName + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * \author Nevrax France&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; * \date 2002&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; */&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;class &quot; + ClassName
+ &nbsp; &nbsp; &nbsp; &nbsp;if AncClassName &lt;&gt; &quot;&quot; then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = &quot; : public &quot; + AncClassName
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;{&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;public:&quot; + vbLf + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; &nbsp; &nbsp; &nbsp; &nbsp;/// Constructor&quot; + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot; &nbsp; &nbsp; &nbsp; &nbsp;&quot; + ClassName + &quot;();&quot; + vbLf + vbLf + _
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;};&quot; + vbLf + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;if ( CurrentDirectoryName&lt;&gt;&quot;&quot; ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = vbLf + &quot;} // &quot; + Namesp + vbLf + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = vbLf + &quot;#endif // &quot; + UniqueName + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = vbLf + &quot;/* End of &quot; + HFilename + &quot; */&quot; + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;' Warning: ActiveDocument.Save raises an &quot;Unknown error&quot; if the directory does not exist&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Save( FinalHfilename )
+ &nbsp; &nbsp; &nbsp; &nbsp;if AddToProject=0 then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ActiveProject.AddFile( FinalHfilename )
+ &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Projects(AddToProject).AddFile( FinalHfilename )
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+
+End Sub
+
+' *** End of NevraxNewClass ***
+
+
+' ** NevraxToggleHCPP
+
+' NevraxToggleHCPP
+' DESCRIPTION: Opens the .cpp or .h file (toggles) for the current document.
+' TIP: Bind this macro to Ctrl+&lt;
+' Last modification : 22/05/2001
+' Author : Olivier Cado
+Sub NevraxToggleHCPP()
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' ** Get filename extension and ensure it is .h or .cpp
+ &nbsp; &nbsp; &nbsp; &nbsp;ActFilename = ActiveDocument.FullName
+ &nbsp; &nbsp; &nbsp; &nbsp;pos = InstrRev( ActFilename, &quot;.&quot; )
+ &nbsp; &nbsp; &nbsp; &nbsp;if ( pos &lt;&gt; 0 ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Ext = mid(ActFilename,pos) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (Ext&lt;&gt;&quot;.h&quot; and Ext&lt;&gt;&quot;.cpp&quot;) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgbox( &quot;Error : Active document is not a .cpp or .h file&quot; )
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit sub
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit sub
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;
+ &nbsp; &nbsp; &nbsp; &nbsp;' ** Build the alternative filename
+
+ &nbsp; &nbsp; &nbsp; &nbsp;' The module name is the word between the two last backslashes of the path\filename
+ &nbsp; &nbsp; &nbsp; &nbsp;ModuleDir = left( ActFilename, InstrRev(ActFilename,&quot;\&quot;)-1 )
+ &nbsp; &nbsp; &nbsp; &nbsp;ModuleDir = mid( ModuleDir, InstrRev(ModuleDir, &quot;\&quot;)+1 ) + &quot;\&quot;
+
+ &nbsp; &nbsp; &nbsp; &nbsp;dim SearchDirs (4)
+ &nbsp; &nbsp; &nbsp; &nbsp;if ( Ext = &quot;.cpp&quot; ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SearchDirs(1) = &quot;R:\code\nel\include\nel\&quot; + ModuleDir
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SearchDirs(2) = &quot;R:\code\nel\include_private\nel\&quot; + ModuleDir
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SearchDirs(3) = left( ActFilename, InstrRev(ActFilename,&quot;\&quot;) ) 'dir of the current file
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NbDirs = 3
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Ext = &quot;h&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SearchDirs(1) = &quot;R:\code\nel\src\&quot; + ModuleDir
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SearchDirs(2) = left( ActFilename, InstrRev(ActFilename,&quot;\&quot;) ) 'dir of the current file
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NbDirs = 2
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Ext = &quot;cpp&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;DirIndex = 1
+ &nbsp; &nbsp; &nbsp; &nbsp;FileFound = False
+ &nbsp; &nbsp; &nbsp; &nbsp;Dirs = &quot;&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;while (DirIndex &lt;= NbDirs) and (FileFound = False)
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;' NeL directory scheme
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if InStr(ActFilename,&quot;nel&quot;)&lt;&gt;0 then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;' Add the search path and the filename
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NewFilename = SearchDirs(DirIndex)
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ShortFilenameDot = mid( ActFilename, InstrRev(ActFilename,&quot;\&quot;)+1 )
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;' The complete filename
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ShortFilenameDot = ActFilename
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ShortFilenameDot = left( ShortFilenameDot, Instr(ShortFilenameDot,&quot;.&quot;) )
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NewFilename = NewFilename + ShortFilenameDot + Ext
+
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;' ** Open the alternative file
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dim fso
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if fso.FileExists( NewFilename ) then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Documents.Open( NewFilename )
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FileFound = True
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Dirs = Dirs + SearchDirs(DirIndex) + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DirIndex = DirIndex + 1
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;end if
+ &nbsp; &nbsp; &nbsp; &nbsp;wend
+ &nbsp; &nbsp; &nbsp; &nbsp;if FileFound &lt;&gt; True then
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MsgBox &quot;There is no file &quot; + ShortFilenameDot + Ext + &quot; in &quot; + vbLf + Dirs
+ &nbsp; &nbsp; &nbsp; &nbsp;end if
+End Sub
+
+
+' ** NevraxToggleHCPP
+
+
+' NevraxFormatMethodHeader
+' DESCRIPTION: Edit a Doxygen .h style method header for a .cpp file.
+' The caret must be a the beginning of the first line of the header.
+' Author : Olivier Cado
+Sub NevraxFormatMethodHeader()
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection.Delete
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection.CharRight
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection.Delete 2
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = &quot;*&quot; + vbLf + &quot; *&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection.EndOfLine
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = vbLf + &quot; */&quot;
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection.LineDown
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection.Delete
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection.EndOfLine
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection.Backspace
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection = vbLf + &quot;{&quot; + vbLf + vbLf + &quot;}&quot; + vbLf
+ &nbsp; &nbsp; &nbsp; &nbsp;ActiveDocument.Selection.LineDown dsMove,2
+End Sub
+</PRE> \ No newline at end of file