Purpose
Extract Function Definition Names in Directory Tree.
Operation
This function processes every file in the directory tree that matches a
user-supplied file definition. This file definition can (and usually will)
contain wildcards.
This function scans each file. It scans for the macro or function name on
each line of the Routines( ) output.
When one is found the macro or function name, file name, and line number are
copied to the output file ("tlaNames.xls" by default) that is a tab-delimited
Excel-compatable file format.
The output filet is then optionally sorted using Sort Version 3.0 from
Scott Gartner. (It can be obtained from www.pingbot.com.) The sort performed
against the file is:
- Primary key - function name
- Secondary key - file name
At termination, the output file is optionally left visible with tabs
appropriately set. Columns of this file can then be easily accessed using the
column-select feature of CodeWright or VisualStudio. In addition, the file can
be loaded into Microsoft Excel for further manipulation.
The output file generate will look something like ...
0001: AbortProc ~\CWDIALOG\print.c 2916
0002: ActivateObjBrowser... ~\CWSTART\browse.c 5651
0003: AddBufferRootNode ~\CWSTART\outline.c 2599
0004: AddNullString ~\CWDIALOG\utilmenu.c 8150
0005: AddSymbol ~\CWSTART\outline.c 3038
0006: AddToolbarControls ~\CWSTART\cwstart.c 2625
0007: AddWordCompletionWord ~\CWSTART\util.c 5101
0008: AppBasic_add_controlS ~\CWSTART\cwstart.c 3071
.
.
.
4015: writeSection ~\CWDIALOG\utilmenu.c 4789
4016: writeSection ~\CWSTART\project.c 1867
4017: xferFileValue ~\CWDDE\cwdde.c 3042
4018: xferFormatList ~\CWDDE\cwdde.c 880
4019: xferItemList ~\CWDDE\cwdde.c 1017
4020: xferSysValue ~\CWDDE\cwdde.c 1066
4021: xferTopicList ~\CWDDE\cwdde.c 1122
4022: zeroColumn ~\CUA\cua.c 1170
Example
tlaNames( );
tlaNames( ,"*.cs" );
tlaNames( "c:\source","*.c","c:\out.xls",'f','h','s' );
tlaNames( ,"*.c","c:\temp\out.xls" );
tlaNames( ,,,'f','v','s' );
Input Parameters
Parm
|
Name
|
Code
|
Meaning
|
1
|
Root
|
|
Prompt for Root specification.
|
root
|
Root specification to use.
|
2
|
Mask
|
|
Prompt for selection mask.
|
mask
|
Selection mask to use.
|
3
|
Output
|
|
Prompt for output file.
|
file
|
Output file to use.
|
4
|
Parse
|
|
Parse function.
|
function
|
Parse function.
|
macro
|
Parse API macros.
|
5
|
View
|
|
View output buffer at completion.
|
hide
|
Hide output buffer at completion.
|
view
|
View output buffer at completion.
|
6
|
Sort
|
|
Sort output by name and location.
|
sort
|
Sort output by name and location.
|
nosort
|
Do not sort output by name and location.
|
Return Codes
Code
|
Message
|
-1
|
tlaNames: No matching files found in tree for "mask".
|
-1
|
tlaNames: Parameter 4 not null, "function", or "macro".
|
-1
|
tlaNames: Parameter 5 not null, "hide", or "view".
|
-1
|
tlaNames: Parameter 6 not null, "nosort", or "sort".
|
-1
|
tlaNames: "sort" requested and "sort32.dll" not loaded.
|
-1
|
tlaNames: Terminated by request.
|
number
|
tlaNames: number files found in tree but not processed for "mask".
|
number
|
tlaNames: number files processed from tree for "tlaNames.xls".
|
Reference
This function calls tlaError.
This function calls Sort Version 3.0 from Scott Gartner. It can
be obtained from www.pingbot.com.
Compatibility
Current version verified under:
- CodeWright 7.5.2
- CodeWright for .NET 7.0
CodeWright for .NET Restriction
None.
Installation
There are three primary methods for installing this macro on your system.
Method A uses the tlaMDE tool available for purchase from this website.
Method B manipulates the macro repository directly. Method C uses the API
Macro... tool provided in every copy of CodeWright (but not CodeWright for
.NET).
Method A - tlaMDE - CodeWright or CodeWright for .NET
- Select the Code button on this page.
- When the second window opens, select all the text in the text box.
- Issue Ctl-C (copy).
- Create a new file in CodeWright or CodeWright for .NET.
- Issue Ctl-V (paste).
- Issue tlaMDE C (save and compile).
Method B - Copy to Repository - CodeWright or CodeWright for .NET
- Select the Code button on this page.
- When the second window opens, select all the text in the text box for a macro.
- Issue Ctl-C (copy).
- Load the macro repository "cwright.mac" from your CodeWright or CodeWright for .NET root:
- issue Ctl-End to go to the end of file.
- Issue Ctl-V (paste).
- Close the file and respond yes to the write request.
Method C - API Macro ... - CodeWright Only
- Select the Code button on this page.
- When the second window opens, select text from the text box for a macro:
- Do not select the [API Macro ... header line.
- Select all other lines in the macro.
- Issue Ctl-C (copy).
- Open the CodeWright Tools | API Macros... dialog.
- Press the New button.
- Select the Edit box.
- Issue Ctl-V (paste).
- Double-click on the function name in the header of the macro.
- Issue Ctl-C (copy).
- Select the Name box.
- Issue Ctl-V (paste).
- Delete the trailing blank from the name.
- Select the Save button.
- Select the Close button.
- Repeat this process for each macro in the text box.
Purchase
tlaTools is a Dynamic Link
Library that contains most of the API macros on this website in a single easy to
install package. The tlaTools
DLL can be purchased by selecting the Buy button on this page.
tlaNames is included as a function in tlaTools.
|