Index of Functions ------------------ 1: aEXEnum Function Name ( 1): aEXEnum -------------------------------------------------------------------------------- 'Date Created: 04-May-2003 10:26:28 PM 'Last Updated: 15-Jul-2008 03:43:31 PM 'Created By : Ira J. Perlow 'Updated By : Ira J. Perlow FUNCTION AEXEnum AS C (AEXName as C,Flags="" as C) 'DESCRIPTION: Enumerate an AEX Functions and scripts '========================================================================= ' Created by Computer Systems Design & Associates ' Copyright 2008 Computer Systems Design & Associates, All Rights Reserved ' http://www.csda1.com ' You may use this code at your own risk in whole or as a part. ' Use in full or part is permitted with proper attributions to the source, ' except it may not be sold as part of any software package that is a ' library of functions '========================================================================= ' AEXEnum - Version 1.00 Release Date: 20080715 ' ' Syntax: C AEXEnum([C AEXName,] C Flags]]) ' ' Purpose: Enumerate an AEX Functions and scripts ' ' Input: AEXName - AEX name ' Flags = If blank, returns scripts and functions ' "U" - Return UDFs ' "S" - Return Scripts ' ' Output: Function and Script names ' ' Errors: Returns null if AEX not found ' ' Typical Usage: ' ' Examples: ' ?AEXEnum("C:\Program Files\a5v9\addins_installed\CSDA_codeutility.aex") ' ?AEXEnum("C:\Program Files\a5v9\addins_installed\CSDA_codeutility.aex","U") ' ?AEXEnum("C:\Program Files\a5v9\addins_installed\CSDA_codeutility.aex","S") ' ' Notes: '====================================================================== ' Returns 0 if no tab exists dim AEXnam as C AEXnam=AEXname IF file.filename_parse(AEXnam,"E")=="" AEXnam=AEXnam+".AEX" END IF IF .not.(file.exists(AEXnam)) AEXEnum="" EXIT FUNCTION END IF ' Creater temporary AEX name that doesn't interfere with a real one dim tmpAEXnam as C tmpAEXnam=file.temp_path_get()+"tempaex.aex" ' Create library number that doesn't interfere with anything dim tmpnum as N tmpnum=200 ' If loaded, then unload library IF .not.(get_loaded_library(tmpnum)=="") unload_library(tmpnum) END IF ' Add AEX into temporary library combine_library(tmpAEXnam,AEXnam,tmpnum) ' Load the library load_library(tmpAEXnam,.f.) dim tmp as C tmp="" ' Enumerate the UDF's IF ("U" $ UT(Flags)).or.(UT(Flags)=="") tmp=tmp+*for_each(x,x+"()",addin.udf_enum("",tmpnum)) END IF ' Enumerate the Scripts IF ("S" $ UT(Flags)).or.(UT(Flags)=="") tmp=tmp+*for_each(x,x,addin.script_enum("",tmpnum)) END IF ' Unload the library unload_library(tmpnum) AEXEnum=tmp END FUNCTION End Function ( 1)---------------------------------------------------------------