- 浏览: 24691 次
- 性别:
- 来自: 东莞
最新评论
-
flythink:
oledb是不是更容易弄一些? 纯猜测
MS ODBC for DMD 2.053 -
hqs7636:
8错,继续完善一下。。。
MS ODBC for DMD 2.053 -
rocex:
lz的这个工具好用,可以随时在1.x和2.x上切换。
DEx ...
D2/Phobos与D2/Tango一键切换编译环境设置 -
Colorful:
链接是这个 : http://code.google.com/ ...
Windows D编程类封装初步学习并请教 -
betty_betty2008:
哥们:链接打不开
Windows D编程类封装初步学习并请教
文章列表
这次进一步看了看SQLigte3 的API,不用上次写的类包装,而直接用C式写法做了一个练习。列在这里备忘。
module sqlite3Ex01;
import samsTools.utils;
import sqlite4D.sqlite3_imp;
import std.stdio;
import std.string;
import std.conv;
import core.stdc.stdlib;
import core.stdc.stdio;
import core.stdc.string;
bool createContacts(sql ...
隔一段时间就忘了怎么在D2下win32 SDK框架里使用中文,这次记在这里.
/+
+ Copyright (c) Charles Petzold, 1998.
+ Ported to the D Programming Language by Andrej Mitrovic, 2011.
+/
module HelloWin;
import core.runtime;
import std.string;
import std.utf;
pragma(lib, "gdi32.lib");
pragma(lib, "winmm ...
东拼西凑,终于在dmd2.053下成功连接上了ODBC 数据库(ACCESS)。代码还很不完善,慢慢再补。参数化查询函数(如bind)还没有,通过连接字符串和变量来组成查询语句进行查询是可以的,中文以及字段值为转义字符嵌套的字符串也支持。
所需的sql头文件来自D bindings--win32包。
已知问题:不建立DSN直接用字符串连接还不行,不知道是什么原因,个人XP下和公司WIN7下都试过,看来是非权限问题,不知API调用上有什么问题。有人知道的话,麻烦告诉俺,谢谢了。
类封装只有一个文件odbcutil.d,先看一段客户代码:
odbcutiltest.d
module odbcu ...
这个小练习用D2.053+DFL完成了以下功能:
1.截屏(Chris的例子);
2.用截屏做闪屏,Timer(用Chris的例子);
3.数据库登陆窗口(数据库连接部分暂没做);
4.输入窗口模块module inputbox,从窗口输入中获得一个字符串和一个整数可以这样:
string input=inputBox.getString("用户自定义提示","用户自定义默认值");
int anInt=inputBox.getInt("","");
省略参数则使用默认参数值。
对类型转换未进行错误检查。
...
[img]C:\Documents and Settings\All Users\Documents\My Pictures\示例图片\Sunset.jpg[/img]从国外一个网站上抄来的,是用C+SDK写的,惭愧看不大懂,转成D版本先:
module flower;
import std.stdio;
import std.string;
import std.conv;
import std.math;
import std.algorithm;
import core.runtime;
//import core.stdc.math;
import win32 ...
作者:Jeremie Pelletier
链接:
[url]std.json: http://pastebin.com/f64b75abb[/url]
[url]std.uni: http://pastebin.com/fe47f274[/url]
俺把源里的unittest 提出来做了一个测试程序,另把源的模块名重新命名为作者的名字,供自己和需要的同学方便使用。在DMD2。034下测试成功。
终于试成功了。总结一下:
一.在*.RC里包含windows头文件,因为不用系统预定义常量的机会不多
#include <windows.h>
二.直接在*.RC里定义自定义常量
#define IDD_MAIN
#define IDC_TEXT1 102
等等
三.用Walter的 rcc.exe编译*rc
rcc.exe -32 myresource.rc
生成myresource.res
四.在D源文件里还要定义一次资源中的常量:
const int IDD_MAIN=101;
const int IDC_TEXT1=102;
等等
五.编译D: ...
首先把要请教的问题写在最顶部:
1。事件最好的包装方法是怎样的?怎样才能扩展它?可不可以给一个可运行的Minimal例程?
2。如何向WNDCLASS 的回调传递另一个类的成员方法,当然签名是相同的。直接传递是不行的,因delegate 和function不可隐式转换。
诚意请教,请赐教,谢谢!
dmd2031+windows xp sp3 +bud
compile:
bud -O -release -gui -cleanup winwrapapp.d
想着自己也能写一个GUI框架那多好啊,最起码也能学多一点东西,今天小试了一下用类封装Win32 编程,很明显事件部分是一大难点 ...
"D"iving Into the D Programming Language
By Andrei Alexandrescu
Date: Jul 29, 2009
Book Excerpt is provided courtesy of Addison-Wesley Professional.
Return to the article
--------------------------------------------------------------------------------
Andrei Alexandrescu dives into exp ...
中间解决了好几个问题,尚有几个问题没解决,已在NG上提问。备忘
timer.d
module timer;
import core.stdc.time;
class Timer
{
private:
core.stdc.time.clock_t _start_time;
public:
this()
{
_start_time=core.stdc.time.clock;
}
void restart()
{
_start_time=core.stdc.time.clock;
}
const double elapsed ...
这是一份作业,因为所有创作的部分都是前人的。
材料:1.sqlite3 V3.5.16
2.sqlite3 D头文件bindings:
http://www.proficiosoftware.com/sqlitebindings
3.C++ sqlite 封装库sharplite:
http://sourceforge.net/projects/sharplite
测试平台:XP+SP3 DMD2031
上传文件:sqlite3-6-15ClassWrapper.rar,里面包括所有源码,一个sqlite3数据库world.db3和一个已编译好的测试程序sql ...
备忘:
module DioApp;
import std.stdio;
import std.conv;
import std.string;
import std.metastrings;
import std.typecons;
import samsTools.utils;
mixin(defineEnum!("Shape","Triangle","Square","Ecllipse","Circle","Undefined")); ...
笔记要点:
1。个人工具包samsTools 工具之一PromptMessage,方法:
pause():Console 下暂停命令;
showMessage:MS MessageBox/MessageBoxW 之D改写;
char askForChar(string msg=" ")从控制台读取用户输入并返回一字符串;
T askFor!(T)(string msg=" ") 从控制台读取用户输入并返回指定T类型值
1Console嵌套菜单的制作;
2。数据库OO数据类Sales;
3。std.stream顺序文件和随机文件读写操作。
...
从NG里要到的,俺测过了,OK 的啦.
原贴原下载地址链接:
https://jshare.johnshopkins.edu/xythoswfs/webui/_xy-3615403_1-t_qUdWI6dW
致谢:
Robert Jacques
Chris Miller
编译举例:
1.解压至DMD_ROOT(D2根目录)\dmd\import,形成dmd\import\dfl的目录结构;
2.编辑makelib2.bat ,修改dmd_path 为你的实际路径,同时也修改一下set DDOCFILE (编译过程中生成的DOC文档)路径;
3.运行makelib2.bat;
...