MKoD - D Programming Language

D Support Projects

Support Projects in the Red-Orbs font
This project page was created as a place to put support sub-projects, in which case my "Randomly Generated Data for an Employee Table D Project" currently has a need for the ODBC32 Win32 API to connect and work with a Database, among many missing pieces.



  • Support for ODBC32.DLL using Win32 APIs (C headers converted to D) with one example.

    NOTE: That the "Microsoft Data Access Components (MDAC)" must have already been install onto your Windows OS. Which do I believe Windows 2000 and Windows XP should have MDAC preinstalled, plus if you've at any time installed MS Office, MS SQL Server, MS Access, or some other MS application...that they should've installed MDAC as well. ( Here's a useful link to "Using MDAC" )

    But if in doubt, double-check by starting up the "Control Panel," followed by clicking on the following links (in WinXP) "Performance and Maintenance," "Administrative Tools," and if you see a link for "Data Services (ODBC)" then you should be fine. Otherwise you could download MDAC from Microsoft's website at: "Microsoft's MDAC Download Page."


    • sql.d - the main include for ODBC v3.0+ Core functions.
    • sqlext.d - the ODBC v3.0+ Microsoft SQL Extensions.
    • sqltypes.d - defines the types used in ODBC v3.0+.
    • sqlucode.d - the unicode include for ODBC v3.0+ Core functions.



  • StringW v1.0 - Phobos' std.string converted to use wchar[] as it's base instead of char[].

    • int ifindW( in wchar[], in wchar ) - 100% Done, with unittests.
    • int ifindW( in wchar[], in wchar[] ) - 100% Done, with unittests.
    • int irfindW( in wchar[], in wchar ) - 100% Done, with unittests.
    • int irfindW( in wchar[], in wchar[] ) - 100% Done, with unittests.
    • int icmpW( in wchar[], in wchar[] ) - 100% Done, with unittests.
    • wchar[] ireplaceW( in wchar[], in wchar[], in wchar[] ) - 100% Done, with unittests.
    • int icountW( in wchar[], in wchar[] ) - 100% Done, with unittests.
    • int ifindxW( in wchar[], in wchar[], in int = 0 ) - 100% Done, with unittests.
    • int irfindxW( in wchar[], in wchar[], in int = -1 ) - 100% Done, with unittests.
    • wchar[][] isplitW( in wchar[], in wchar[] ) - 100% Done, with unittests.
    • int findW( in wchar[], in wchar ) - 100% Done, with unittests.
    • int findW( in wchar[], in wchar[] ) - 100% Done, with unittests.
    • int rfindW( in wchar[], in wchar ) - 100% Done, with unittests.
    • int rfindW( in wchar[], in wchar[] ) - 100% Done, with unittests.
    • int cmpW( in wchar[], in wchar[] ) - 100% Done, with unittests.
    • wchar[] replaceW( in wchar[], in wchar[], in wchar[] ) - 100% Done, with unittests.
    • int countW( in wchar[], in wchar[] ) - 100% Done, with unittests.
    • int findxW( in wchar[], in wchar[], in int = 0 ) - 100% Done, with unittests.
    • int rfindxW( in wchar[], in wchar[], in int = -1 ) - 100% Done, with unittests.
    • wchar[][] splitW( in wchar[], in wchar[] ) - 100% Done, with unittests.
    • bool isRomanNumeralW( in wchar ) - 100% Done, with unittests.
    • bool isRomanNumeralW( in wchar[] ) - 100% Done, with unittests.
    • wchar[] tolowerW( in wchar[] ) - 100% Done, with unittests.
    • wchar[] toupperW( in wchar[] ) - 100% Done, with unittests.
    • wchar tolowerW( in dchar ) - 100% Done, with unittests.
    • wchar toupperW( in dchar ) - 100% Done, with unittests.
    • wchar[] capitalizeW( in wchar[] ) - 100% Done, with unittests.
    • wchar[] striplW( in wchar[] ws ) - 100% Done, with unittests.
    • wchar[] striprW( in wchar[] ws ) - 100% Done, with unittests.
    • wchar[] stripW( in wchar[] ws ) - 100% Done, with unittests.
    • bool isASCIIStringW( in wchar[], in bool = false ) - 100% Done, with unittests.
    • wchar[] asciiProperCaseW( in wchar[] ) - 100% Done, with unittests.
    • wchar[] rjustifyW( in wchar[], in int, in wchar = '\u0020' ) - 100% Done, with unittests.
    • wchar[] zfillW( in wchar[], in int ) - 100% Done, with unittests.
    • wchar[] ljustifyW( in wchar[], in int, in wchar = '\u0020' ) - 100% Done, with unittests.
    • wchar[] centerW( in wchar[], in int, in wchar = '\u0020' ) - 100% Done, with unittests.
    • wchar[] doFormatW( ... ) - 100% Done, with unittests.
    • wchar[] toStringW( in bit ) - 100% Done, with unittests.
    • wchar[] toStringW( in wchar ) - 100% Done, with unittests.
    • wchar[] toStringW( in ubyte ) - 100% Done, with unittests.
    • wchar[] toStringW( in ushort ) - 100% Done, with unittests.
    • wchar[] toStringW( in uint ) - 100% Done, with unittests.
    • wchar[] toStringW( in ulong ) - 100% Done, with unittests.
    • wchar[] toStringW( in byte ) - 100% Done, with unittests.
    • wchar[] toStringW( in short ) - 100% Done, with unittests.
    • wchar[] toStringW( in int ) - 100% Done, with unittests.
    • wchar[] toStringW( in long ) - 100% Done, with unittests.
    • wchar[] toStringW( in float ) - 100% Done, with unittests.
    • wchar[] toStringW( in double ) - 100% Done, with unittests.
    • wchar[] toStringW( in real ) - 100% Done, with unittests.
    • wchar[] toStringW( in ifloat ) - 100% Done, with unittests.
    • wchar[] toStringW( in idouble ) - 100% Done, with unittests.
    • wchar[] toStringW( in ireal ) - 100% Done, with unittests.
    • wchar[] toStringW( in cfloat ) - 100% Done, with unittests.
    • wchar[] toStringW( in cdouble ) - 100% Done, with unittests.
    • wchar[] toStringW( in creal ) - 100% Done, with unittests.
    • wchar[] toStringW( in wchar * ) - 100% Done, with unittests.
    • wchar[] toStringW( in long, in uint ) - 100% Done, with unittests.
    • wchar[] toStringW( in ulong, in uint ) - 100% Done, with unittests.
    • wchar[] toStringzW( in wchar[] ) - 100% Done, with unittests.
    • uint strlenW( in wchar * ) - 100% Done, with unittests.
    • wchar[] toSoundexW( in wchar[] ) - 100% Done, with unittests.
    • bool isDigitsW( in wchar[] ) - 100% Done, with unittests.
    • wchar[] addOrdSuffixW( in ulong ) - 100% Done, with unittests.
    • wchar[] capwordsW( in wchar[] ) - 100% Done, with unittests.
    • wchar[] joinW( in wchar[][], in wchar[] ) - 100% Done, with unittests.
    • wchar[][] splitW( in wchar[] ) - 100% Done, with unittests.
    • wchar[][] splitlinesW( in wchar[] ) - 100% Done, with unittests.
    • wchar[] replaceSliceW( in wchar[], in wchar[], in wchar[] ) - 100% Done, with unittests.
    • wchar[] insertW( in wchar[], in int, in wchar[] ) - 100% Done, with unittests.
    • wchar[] expandtabsW( in wchar[], in int ) - 100% Done, with unittests.
    • wchar[] maketransW( in wchar[], in wchar[] ) - 100% Done, with unittests.
    • wchar[] translateW( in wchar[], in wchar[], in wchar[] ) - 100% Done, with unittests.



  • StringPlus v1.0 - Add-on char[] functions for Phobos' std.string.

    • int ifindx( in char[], in char ) - 100% Done, with unittests.
    • int ifindx( in char[], in char[] ) - 100% Done, with unittests.
    • int irfindx( in char[], in char ) - 100% Done, with unittests.
    • int irfindx( in char[], in char[] ) - 100% Done, with unittests.
    • char[] asciiProperCase( in char[] ) - 100% Done, with unittests.
    • char[] ireplace( in char[], in char[], in char[] ) - 100% Done, with unittests.
    • int icount( in char[], in char[] ) - 100% Done, with unittests.
    • char[] toSoundex( in char[] ) - 100% Done, with unittests.
    • bool isDigits( in char[] ) - 100% Done, with unittests.
    • char[] addOrdSuffix( in ulong ) - 100% Done, with unittests.
    • bool isASCIIString( in char[], in bool = false ) - 100% Done, with unittests.
    • bool isRomanNumeral( in char ) - 100% Done, with unittests.
    • bool isRomanNumeral( in char[] ) - 100% Done, with unittests.
    • ulong xtoul( in char[] ) - 100% Done, with unittests.
    • char[] ultox( in ulong ) - 100% Done, with unittests.
    • bool isHex( in char[] ) - 100% Done, with unittests.



Discover Mars Magik