Database
Timestamp:
2010-09-18
Libraries:
100
Ahk Compatible:
Vanilla / Mainstream
Download (~1.2 MB)
The archive contains all files and no other download is needed.

LICENSE: Please note, the script itself is GNU GPL licensed. The source code must be open, if you publish modified source of this script. See
http://en.wikipedia.org/wiki/GNU_General_Public_LicenseAttention: The libraries have all its own licenses.
Look at this: amnesiac made a custom build of the AHK Basic documentation, with the integration of the libraries I listed here. It is in the .chm format and available for download. See
AHK Basic documentation with Standard LibraryTable of Content (for this post)
- Description
- Database in ini format
- Call for all library and function developers
- List of used prefixes and filenames
- See also, more material
DescriptionThis is my first attempt of creating a collection and sharing of stdlib compatible libraries. It does contain the source, if available a documentation, if available the license text, one sample per lib and some other notes, like if it is strictly stdlib conform (no globals in use etc.).
All these information are collected by hand into one place and saved in an ini file. The associated files can be found as a flat filesystem. The default Gui default script, which is provided with the database, makes it very easy to test the scripts without installing something. It shows buttons for opening the forum posts and the related documentation.
From time to time, I will add more and more libraries, which I find good enough for this. Some libraries I am interested in are not included, because they are not stdlib compatible or easily usable/installable because of some conflicts, i.e. majkinetors Forms Framework.

Screenshot may be outdated. Sorry.
Database in ini formatAny suggestion is welcome. If you like, post your favorite library not listed in the database in following format:
Code:
[0]
GUID=regex("\w{8}-\w{4}-\w{4}-\w{4}-\w{12}") ; Generated with Titan`s uuid.ahk
Abstract={string}
Description={string}
Prefix=regex("\w+")
Date=regex("\d+") ; yyyymmdd
Revision={string}
Author={csv}
Discussion={url}
Source={url}
Documentation={url}
Sample={url}
License={string}
LicenseSource={url}
Category={csv}
Standalone="yes|no"
StdLibConform="yes|no"
Dependency={csv} ; filename: GUID
Notes={string}
Not all keys/fields must be present. As an example, look at this:
Code:
[4]
GUID=f24c8170-955e-126a-98a5-19ac76b08d4a
Abstract=Text file & Variables/String Library
Description=As the name suggest this is a AHK Library with a number of functions to "manipulate" text, both files such as *.txt, *.ahk, *.html, *.css etc AND Strings (or variables). It is NOT useful for binary files or data such as MS Office files, PDFs, EXEcutables, images etc.
Prefix=TF
Date=20100416
Revision=3.3
Author=hugov
Discussion= http://www.autohotkey.com/forum/viewtopic.php?t=46195
Source=tf.ahk
Documentation=tf.htm
Sample=tf_demo.ahk
Category=FileSystem, Text, Strings
Standalone=yes
StdLibConform=no
Notes=It is not strictly stdlib conform, because globals are in use.
I will check and verify that, before it gets added into the database.
Call for all library and function developersIf you are a developer of any function, then have it in mind others could use it with the
stdlib mechanism. Every function should reside in a library (that is a file containing functions only). A library is stdlib compatible, if the main usable functions lead to automatically inclusion of the library.
Names: To avoid possible conflict, please see what others have done and which function names and prefixes they uses. Different libraries cannot share same set of names.
Script: Please do provide the needed information in a standardized way if it is possible. Most important infos which I cannot guess often are the date of last edit and the version. At least, one of them should be available.
Official example scripts would be good to have, but it is not required. If there is no one, I`ll create one.
What you should do allways is, making an external documentation. It does not need to cover every aspect, begin to write down the most important informations first.
License: And I beg you, please make a notice about what license your script uses. That is an often neglected part, which can cause serious problems. I recommend the
GNU Lesser General Public License.
I found that related page:
How to choose a free software license.List of used prefixes and filenamesThe prefix is the filename also. If a library does not have a prefix, duo to the fact it have only one function, then the file is named after the function without a prefix. In example
Anchor.ahk does have one function named
Anchor(). And the library
ini.ahk have many functions prefixed with "
ini_", i.e.
ini_getValue().
For compatibility with these, you should choose another name for your files than these and another prefix (here in alphabetical order):
Count: 100- A
- Affinity
- AHKHID
- AHKsock
- Align
- Anchor
- argp
- baseConvert
- CColor
- cdomessage
- CMDret
- CMDret_stream
- com
- ConnectedToInternet
- ConsoleApp
- Crypt
- DamerauLevenshteinDistance
- DateParse
- Delay
- difference
- Dlg
- dll
- Dock
- DockA
- Edit
- EmptyMem
- Eval
- Exec
- File
- FileExtract
- FileGetVersionInfo
- fileIsBinary
- Font
- ftp
- Functions
- Gdip
- GetAvailableFileName
- GetCommonPath
- grep
- HLink
- Hotstrings
- HtmDlg
- httpQuery
- HttpQueryInfo
- ILButton
- ini
- InternetFileRead
- IsFullScreen
- json
- LetUserSelectRect
- MCI
- MCode
- md5
- mg
- MI
- Mount
- msTill
- Notify
- pgArray
- ping
- PixPut
- ProcessInfo
- QPX
- Rand
- RandomUniqNum
- Rebar
- regionGetColor
- RemoteBuf
- RichEdit
- RPath
- SB
- sc
- ShellFileOperation
- ShowMenu
- Splitter
- st
- StdoutToVar
- StrGet
- StrPut
- strTail
- StrX
- sXMLget
- TaskButton
- tf
- ThousandsSep
- Toolbar
- ToolTip
- TrayIcon
- TVX
- type
- UnHTM
- USBD
- uuid
- VA
- WaitPixelColor
- WatchDirectory
- Win
- WinServ
- xpath
- yaml
See also, more materialSome tools using this "Ahk Standard Library Collection" as backend or base information center:
These are not included. Either they are not tested. not compatible with my collection or need non standard DLL files:
Interesting helper stuff for coders: