Welcome to DWin
OverView?
DWin is a library for the D Programming language, Packages included in DWin cover such areas as : Windows COM client programming, PCRE Regular Expression, Send Email, Loads an ini style file(muliti line supported), BigInt?, Create Windows shortcut, SQLite D wrapper and more...
DWin 0.37 has been released, tested with DMD 1.028 and Tango 0.99.6 on Windows (should works on Linux)
What's New in DWin 0.37:
added SQLite 3.3.17 D wrapper by icee, SQLite 3.5.1 D binding by Anders Bergh and SQLite 3.5.8 Windows static library.
Download DWin http://www.dsource.org/projects/dwin/changeset/192/trunk?old_path=%2F&format=zip
Download SciTE4D 0.16 http://svn.dsource.org/projects/dwin/downloads/scite4d/scite4d.exe
Anyone is free to suggest or contribute to DWin.
DWin modules (copy from SciTE4d autocomplete api)
dwin.bridge.php.Array dwin.bridge.php.Php dwin.bridge.php.Preg dwin.bridge.php.String dwin.core.Array dwin.core.Ctfe dwin.core.Exception dwin.core.Gp dwin.core.Traits dwin.core.Tuple dwin.core.Version dwin.database.sqlite.All dwin.database.sqlite.Base dwin.database.sqlite.Data dwin.database.sqlite.Util dwin.database.sqlite.c.sqlite3 dwin.image.FreeImage dwin.io.Base64 dwin.io.ContentScan dwin.io.Digest dwin.io.FilePath dwin.io.FileRoots dwin.io.PathScan dwin.io.Stream dwin.io.crypt.Base64 dwin.math.Bignumber dwin.math.Prime dwin.math.Scale dwin.math.Templ dwin.math.Util dwin.math.bigint.Bigint dwin.math.bigint.Factorial dwin.math.bigint.Gcd dwin.math.bigint.IntException dwin.math.bigint.Lowlevel dwin.math.bigint.Modexp dwin.math.bigint.Modinv dwin.math.bigint.Multiply dwin.math.bigint.Prime dwin.math.bigint.Radix dwin.math.bigint.Squareroot dwin.net.Net dwin.net.Uri dwin.net.smtp.CDOMessage dwin.net.smtp.MailSender dwin.sys.Common dwin.sys.win32.CodePage dwin.sys.win32.Interfaces dwin.sys.win32.Macros dwin.sys.win32.Process dwin.sys.win32.Registry dwin.sys.win32.ShellLink dwin.sys.win32.Shlguid dwin.sys.win32.SpecPath dwin.sys.win32.Types dwin.sys.win32.UserGdi dwin.sys.win32.Window dwin.sys.win32.Wrapper dwin.sys.win32.com.Client dwin.sys.win32.com.Core dwin.sys.win32.com.Init dwin.sys.win32.ie.Base dwin.sys.win32.ie.Common dwin.sys.win32.ie.Events dwin.sys.win32.ie.HTMLDocument dwin.sys.win32.ie.HTMLElement dwin.sys.win32.ie.HTMLEventObj dwin.sys.win32.ie.IE dwin.sys.win32.ie.WebBrowser dwin.sys.win32.tlb.Adodb dwin.sys.win32.tlb.Cdosys dwin.sys.win32.tlb.Danim dwin.sys.win32.tlb.Mshtml dwin.sys.win32.tlb.Shdocvw dwin.sys.win32.tlb.Shell32 dwin.text.Locale dwin.text.Properties dwin.text.Regex dwin.text.TextConst dwin.text.Unicode dwin.text.Util dwin.text.convert.Utf dwin.text.htmlparser.Api dwin.text.htmlparser.Basicevents dwin.text.htmlparser.Htmlreader dwin.text.htmlparser.Htmltag dwin.text.htmlparser.Platform dwin.text.htmlparser.Util dwin.text.htmlparser.model.Ireaderevent dwin.text.pcre.Capi dwin.text.pcre.RegExp dwin.time.Time dwin.time.WallClock
Why DWin
* dwin.core.com :
ported juno.com to Tango to support Windows COM stuff.
* dwin.sys.win32.Registry:
ported juno.utils.registry to Tango.
* dwin.sys.win32.ie :
wrappers of Windows Internet Exploer functions.
* dwin.sys.win32.ShellLink? :
Create shortcut on Windows.
* dwin.net.smtp.MailSender?:
Send Email via Windows cdosys.dll.
* dwin.text.Properties:
Loads an ini style file.
tango.text.Properties does not support multi lines value and section.
Sometimes, you can use this module instead.
* dwin.math.bigint:
Can use arbitrary size of input number.
* dwin.text.pcre :
The Regular Expression module in D based on the PCRE lib by iceeLyne.
And more...
Download
- svn : svn co http://svn.dsource.org/projects/dwin/trunk dwin
Building
Assume DWin installed to D:\d\dwin
Building a static library of DWin, Just :
1 Download and install DSSS from DSSS
2 Copy D:\d\dwin\dsss.conf to D:\d\dsss.conf
3 run
dsss build dwin
If you want to use a few DFL functions in DWin, add -versin=DFL to DSSS buildflags manually.
Suggestions
Make suggestions and ask questions in the :
Home
Submissions
If you've got some Tango based code lying around that you think everyone could benefit from let us know!
History
16 Oct 2007, DWin 0.10 released
21 Oct 2007, DWin 0.20 released
16 Dec 2007, DWin 0.30 released
10 Feb 2008, DWin 0.35 released
3 Mar 2008, DWin 0.36 released
7 May 2008, DWin 0.37 released
Maintainer
- yidabu at gmail dot com
Chinese version :
DWin基于Tango, 扩展了Tango的部分功能. 同时收集了一些实用的代码.
DWin的哲学
1 不要重复发明轮子.
2 基于"准标准库" Tango, 为Tango服务. D迫切需要一个比较齐备和强大的"标准库".
题外话
首先感谢Walter Bright开发D, 并免费提供大家使用.
D具有静态语言的高效, 又兼备动态语言的灵活, 对D粉丝来说无疑是最优秀的编程语言.
有人说, C++最大的问题不在于语言核心的改进, 而是提供更多实用的库, 如果此条成立, 那么D的问题更要严重百倍.
一个不是社区驱动的Phobos标准库注定成不了气候, Tango也只是万里长征刚刚起步. 作为D的粉丝, 我们别无选择.
Walter Bright 日理万机:
开发C++编译器,开发D编译器, 维护网站, 维护文档, 阅读NG贴子并回复, 现在更要同时维护D 1.0 和D 2.0两个版本...
Walter Bright 为我们做了这么多, 我能为D的发展做什么呢?
以下是我已经做的和正在做的, 所有这些和Walter 做的相比实在算不上什么, 也不是希望Walter 能给我发"红包", 只是表达了一个来自中国的普通的D粉丝的心愿:
1 更新D语言中文文档
花了一个月以上的时间, 在前辈工作的基础上, 把多数D1.0中文文档更新到DMD 1.012以上, 到现在, 手指关节处还有些发酸.
2 修复Tango wiki的bug
在阅读Tango wiki时, 顺手修复数十个Bug, 使实例代码与最新版Tango同步. 这都是Tango的帮助文档和代码分离惹的祸.
3 论坛重命名
支持Walter, 支持D, 把论坛改名为D programming language, 以让Google 知道有一个很小的Chinese forum 在讨论D.
4 模块注释标明D语言
在Phobos 的许多模块前有一句: written in the D Programming Language. 也多次见到Walter 提出类似的倡议.
现在yidabu已经把这句话加到SciTE的自动完成文件中去, 今后所有的DWin模块的第一句就是 written in the D Programming Language. 以前的DWin模块也将全部修正.
5 软件设计就是库设计
花许多时间重新整理以前的"自私"代码, 形成DWin库, 20071016落户到Dsource, 并正式发布0.1版.
希望能为D的发展和标准库的完善尽已绵薄之力.
如果你有好的D代码, 或者你想加入DWin开发组, 请随时与我联系.
虽然我做的很少, 但是我一直在努力!
