Android Question Code documentation question

davemorris

Active Member
Licensed User
Longtime User
Hi Guys

As my B4A (and B4X) projects get bigger I am having a hard time navigating my way through - Also, I am a big fan of reusable code and finding a method/sub from an old B4A project is not easy.

So the Question - Has any body used a code documentation tool - i.e. Ghostdoc - (which I use but only works with VS IDE) or Atomineer, Doxygen etc successfully with B4A.

Or any other tool which may help (Sorry if it is already on the Forum - just used the wrong search words).

Kind regards
Dave
 
Last edited:

MicroDrie

Well-Known Member
Licensed User
Longtime User
Or any other tool which may help (Sorry if it is already on the Forum - just used the wrong search words).
It depends on how you have stored your code on your hard drive. I have stored my code in subdirectories under a B4X root. Your source code is plain ASCII text stored in files with extensions starting with the letter "b". To search all your source code files, use "*.b*".

Download here the portable Lite version

The free portable file search utility "UltraFileSearch" allows you to search your source code in a huge variety of ways:
  • Full support to Unicode Characters.
  • The search is done without the need to use background Indexing.
  • Can Search any NTFS or FAT File System, supported by the Operating System.
  • Can Search in every kind of Drive: Internal, External, Network, CD-ROM, DVD, etc.
  • The Installable Version can be launched directly from Windows@ Explorer shell Context Menu.
  • Allows to find Files and/or Folders on the basis of these types of Parameters that, if set, must all be satisfied:
  • • 'Files and Folders": Allows to set the File/Folder Names and Starting Folders plus other important Parameters.
  • • llContaining Textl': Allows to set the Words/Phrases to search for and enable the Text Filters for Documents.
  • • "Date and Size": Allows to set the Date-Time and Size of the Files/Folders to search for.
  • Search Files or Files and Folders or only Folders.
  • The search for File Names and Folders search can be Case Sensitive.
  • Allows you to enter more File Names to perform a multiple search at the same time.
  • Allows you to assign a Mnemonic Name to File Names.
  • Allows you to specify the File Names in these Modes:
  • • "Simple": simply allows to type only part of the Filenames to search for.
  • • "Wildcards": allows to use Wildcard characters and to set the pattern of Filenames to search for.
  • Search in Subfolders and may include Hidden Subfolders.
  • Drag & Drop Folders support from Other Applications to "Starting Folders" Box.
  • Allows you to quickly select the Local or Network Drives or of single Drive.
  • Allows you to enter more Drives and/or Folders at the same time.
  • Accepts single or multiple "Environment Variables" (e.g. %APPDATA%)
  • Supports UNC Network Path Names (i.e. \\ComputerName\FolderName).
  • Supports for Long Path Names (lengths > 260 characters).
  • Ability to define a multi-Folder that contains a list of Folders and/or Drives.
  • Allows you to Load and Save the list of Folders and/or Drives of the multi-Folder.
  • Allows you to assign a Mnemonic Name to the multi-Folder.
  • Allows to exclude some File Names at the level of the single search.
  • Allows to exclude some Folders from scanning in the File System at the level of the single search.
  • Automatic Character Encoding detection of Plain Text Files without BOM when searching for Text.
  • Allows you to specify the Text Masks in 2 Modes: "Words" / "Phrases".
  • • "Words": simply allows to type only a part or the whole Words to search.
  • • llPhrasesn: simply allows to type only a part or the whole Words/Phrases to search.
  • (INFO: For each Mode you can open an Editing Window that allows you to easily Insert/Edit the Words or Phrases)
  • (INFO: Each list of Word or Phrases can be Saved/Loaded to/from Plain Text Files)
  • Ability to search more Words and Phrases together.
  • Text search Options: Entire/Partial Words/Phrases and Match Case.
  • Ability to find files that do not contain specified Words and Phrases.
  • Can ignore Files of certain Types: Hidden, System, Image, Audio, Video.
  • Search in Plain Text Files and in Binary Files looking in their Raw Format. (e.g. .TXT, .HTML, .EXE, .DLL, .OBJ, etc.)
  • Allows you to assign a Mnemonic Name to the Text.
  • Can filter for "Modified", "Creation" and "Last Access" Date at the same time.
  • Filter for Files Newer than or Older than or within a specific Date range.
  • Possibility to select the Date Range on the basis of hours, Minutes, Seconds.
  • Filter for Files Larger than or Smaller than or within a specific Size range.
  • Possibility to select the Size Range on the basis of Bytes, KB, MB, GB.
  • Full Screen View by pressing Fl 1 key.
  • The Rows of the Results are numbered for an easy recognition.
  • The Results can be put in order by Column: Upward, Downward or Initial.
  • Ability to perform Incremental Search in the Results.
  • Search for Column in the Results and positioning on the found Item.
  • The Results window supports Windows@ Explorer functionality (e.g. icons, context menus).
  • Specific actions can be carried out on the Results (e.g. Open Folder, Open Containing Folder, Command Prompt).
  • Multi-selection in order to perform Editing on multiple Items (e.g. Cut, Copy, Copy to Folder, Rename, Delete, etc.).
  • Drag & Drop Support from Results Items to Other Applications.
  • Ability to change the Column Layout (Position, Width, Visibility).
  • Auto Resize of the Selected Column or All Columns.
  • Ability to Zoom the Text for better legibility.
  • After Search Automatic sorting by: None/Default Column and Direction selected/Last Column and Direction executed.
  • Can be shown the Windows@ Context Menu or the Program Context Menu.
  • The "Export Results List" window allows you to select the following Parameters:
  • Export all the Rows or only the selected ones.
  • Select which Columns to Export and in which order.
  • Save the Export to File or to the Clipboard.
  • Save the Export to a new File or overwrite or append it to an existing File.
  • Availabie Encodings: ASCII / ANSI Code Page / Unicode / Big-Endian Unicode / IJTF8 / IJTF8 No BOM
  • Ability to set two actions after Export of the Results: '10pen Exported File" and "Open Export Folder".
  • The Results can be Exported in many customizable Types and File Formats:
  • • File Name (.TXT) / Path (.TXT) / Full Path (.TXT)
  • • Formatted Text File (.TXT)
  • • Web Page File (.HTM; .HTML) / Web Page File with Links (.HTM; .HTML)
  • Progress state visualization: Files and Folders found and Total Size.
  • Display of the main Search Filters in the Window Caption and in the Taskbar.
  • Shows the statistics of the last search performed.
  • Can choose which types of MRU Items to save and (or) load.
  • Can choose which types of Search Parameters to save and (or) load.
  • Possibility to choose the destination Directory of the Export command.
 
Upvote 0

davemorris

Active Member
Licensed User
Longtime User
Hi Thanks for the response but "UltraFileSearch" looks like a very sophisticated file search not a documentation generator.

For example Ghostdoc and Doxygen take your source and produce a windows Help File breaking it down into classes and associated members producing a help file. You refer to the help file to see what members are available and what they actually do (parameters required). The also includes details of properties, enum, interfaces, basically whatever your language supports.

For example see b4x.com/android/help/network.html gives details of a library. If you look at .NET https://learn.microsoft.com/en-us/dotnet/api/?view=net-9.0-pp- that's a complete breakdown starting at the top.

Unfortunately, Ghostdoc only works with Visual Studio IDE and Doxygen (which works standalone) has limited language support and neither support Basic (B4X).

Kind regards
Dave
 
Upvote 0

MicroDrie

Well-Known Member
Licensed User
Longtime User
Well, look, with "UltraFileSearch" you can solve your question about looking up a previously used routine.

As for your second question about automatically generating documentation, that is much more difficult. Maybe you could achieve something with jSoup library for more or less standard routines and declarations, but yes, if you have not used a standard way of documentation, it becomes very difficult.
 
Upvote 0
Top