six demon bag
Wind, fire, all that kind of thing!
I got tired of having to re-implement logging routines for my VBScripts on a regular basis, so I wrote a logger class that serves as an abstraction layer for logging to interactive console/desktop, files or eventlog. Now I just instantiate a new logger, define the logging facilities (default is console/desktop for interactive, eventlog for non-interactive execution), and can log away with the same set of methods, regardless of log target. See API documentation for details.
Posted 22:10 [permalink]
I wanted to be able to use INI files as configuration files for my VBScripts, so I wrote
ParseIni() to parse the contents of an INI file into a dictionary of dictionaries. Comments are allowed and must begin with a semicolon. As of yet, any semicolon is treated as the beginning of a comment, so neither section titles nor key/value pairs can contain semicolons. I'll probably add a more sophisticated comment handling at some point, but right now this works well enough for me.
As usual the function can be used by either copy/pasting the code or by importing the file.
Posted 20:43 [permalink]
Dictionary-based data structures are quite handy in various situations. However, when the structures grow, they tend to become messy pretty fast. To deal with this issue I wrote a function
DumpData() to inspect a given variable and return a string representation of its data. It can be used either by copy/pasting the code or by importing the script.
DumpData() was inspired by Perl's
Data::Dumper module, although my little function is far less sophisticated. Just in case you were wondering.
Posted 14:15 [permalink]
Although VBScript does support arrays, their handling leaves a lot to be desired. To deal with the shortcomings of the built-in arrays (or rather, to avoid having to deal with them) I wrote
CArray, a wrapper class that provides operations like inserting, appending and removing elements, getting slices (sub-arrays), sorting, etc.
Posted 03:23 [permalink]