ADOConnectoin事务和存储过程中的Begin tran commit
摘要:一直以来我都是在存储过程中使用事务 create proc usp_proc begin begin tran ..... commit end 那么我现在问一个问题,如果在BCB的代码中写这样的代码 ADOConnection->BeginTrans(); ADOQuery->SQL->Text
阅读全文
posted @
2016-09-19 13:45
zooz
阅读(1073)
推荐(0)
面向对象的终极奥义
摘要:函数其实也是一种封装,但是,函数不容易替换。而对象就可以替换。 可替换,面向对象的根本。
阅读全文
posted @
2016-08-22 14:27
zooz
阅读(157)
推荐(0)
图形区域填充算法
摘要:在一副图片中填充一块封闭区域功能 一般采用种子法+递归。 简单说,就点像素点的周围4个点拿去计算和判断边界。 但是用递归实现的话,很容易就栈溢出了。 此时解决的办法,就是用栈+循环 (我比喻为 烧柴火,添柴火模式) 下面是实现代码 关于循环递归的问题 看这里 http://www.cnblogs.c
阅读全文
posted @
2016-08-15 15:31
zooz
阅读(2725)
推荐(0)
fastreport 如何 设置 richview 的 行高
摘要:richview中的行高改变有点特别。必须在AfterData 事件执行的时候才能修改; 也就是说,如果简单的放一个按钮,去发送消息给richView->RichEdit ,然后调用frxReport1->ShowReport 是没有用的 正确的做法如下 在C++ BUILDER 中增加一个函数Se
阅读全文
posted @
2016-07-03 16:20
zooz
阅读(1885)
推荐(1)
BCB中获得RichEdit 默认行间距
摘要:首先,这些功能支持RichEdit2.0 以上功能; 其次,用常规的方法是无法获得LineSpace 的; 你使用 EM_GETPARAFORMAT也得不到,你会发现dyLineSpacing 的值永远是0 你先EM_SETPARAFORMAT ,指定 bLineSpacingRule = 4,再用
阅读全文
posted @
2016-07-01 15:29
zooz
阅读(1016)
推荐(0)
TListView Header重绘和高度设置
摘要:TListView 的 Header 部分默认 BtnFace 颜色,高度也不能改变。我们可以通过编写一些代码来实现这些功能; 获得TListView 的Header 的句柄; TListView的Header其实是一个 HeaderContorl 控件。要获得他的句柄需要调用下面的代码 其实还有许
阅读全文
posted @
2016-06-09 17:32
zooz
阅读(2298)
推荐(0)
TListView的一些操作
摘要:1,让滚动条滚动的API SetScrollPos int SetScrollPos( _In_ HWND hWnd, _In_ int nBar, _In_ int nPos, _In_ BOOL bRedraw ); 2,让listview滚动到行首,并不是用 SetScrollPos解决 下面
阅读全文
posted @
2016-06-09 11:53
zooz
阅读(382)
推荐(0)
让程序界面最大化、最小化到任务栏上的消息
摘要:SendMessage(Handle,WM_SYSCOMMAND,SC_MINIMIZE,0); //相当于点最小化按钮 (-) SendMessage(Handle,WM_SYSCOMMAND,SC_MAXIMIZE,0); //相当于点击最大化按钮 (■) SendMessage(Handle,
阅读全文
posted @
2016-05-31 09:41
zooz
阅读(539)
推荐(0)
BCB 中测量Richedit 的文本总行高
摘要:RICHEDIT 富文本控件可以容纳各种字体,那么如果我们想要知道文本的总行高如何做呢? 比如,我们想判断,richedit中的文本内容有没有超出richedit 的范围,如何实现呢? 1,需要使用EM_FORMATRANGE 消息 http://msdn.microsoft.com/en-us/l
阅读全文
posted @
2016-05-12 12:27
zooz
阅读(550)
推荐(0)
使用raw input 代替全局键盘钩子
摘要://关于raw input 请查看msdn https://msdn.microsoft.com/en-us/library/windows/desktop/ms645536%28v=vs.85%29.aspx//效率 比 键盘钩子高太多 ,但是BCB 中无法识别 RAWINPUTDEVICE 结构 和RAW相关的函数// rawinput4.cpp : 定义应用程序的入口点。 // #in...
阅读全文
posted @
2016-05-06 20:30
zooz
阅读(6292)
推荐(0)
bitset 来计算位
摘要:在stl中提供了 bitset<N> 来计算位,非常方便。 尤其是计算键盘的状态时游泳
阅读全文
posted @
2016-05-06 14:16
zooz
阅读(250)
推荐(0)
手工实现一个野指针识别和内存泄漏排查工具
摘要:// beforeMain.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include using namespace std; union Align; class CTest { public: int A; double B; CTest() { coutdata.a = 0x1234; ...
阅读全文
posted @
2016-04-27 11:58
zooz
阅读(832)
推荐(0)
BCB6 调用C# DLL
摘要:最近项目涉及第三方接口调用。第三方是用C#实现的WCF服务。而我们的程序是使用的BCB6开发。因此,打算将与WCF的通讯包含在C#的类库中,给BCB6调用。BCB6 是无法直接调用C#的DLL,但可以通过C#编写一个COM组件,然后BCB调用这个COM组件来调用。 用C#编写COM 大体步骤是 设置
阅读全文
posted @
2016-04-24 10:15
zooz
阅读(3816)
推荐(1)
bcb ole拖拽功能的实现
摘要:最近项目中用到了OLE 拖拽功能 和BCB 一个Form的Drag 不同的是,只有实现了OLE 拖拽才能,从其他程序拖拽数据到Form 下面的代码实现了,同HTML网页拖拽到Form时,Form获得HTML数据 其核心思想是, 1,要实现 COM的 IDropTarget 接口 2,Register
阅读全文
posted @
2016-04-12 22:23
zooz
阅读(607)
推荐(0)
关于程序出现 “因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫”
摘要:最近在开发中碰到一个问题, 调用 _di_XMLDocument doc = NewXMLDocument(); 这段代码的时,程序报异常“因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫” 查了CSDN 和 StackOverflow 他们碰到的问题,大多是由于SendMessage
阅读全文
posted @
2016-03-31 09:10
zooz
阅读(5095)
推荐(0)
循环物理依赖
摘要:这几天在翻大规模C++程序设计,看到第5章。 这本书,强调基于组件进行程序设计。 所谓组件,树上的定义是,一个.h 和一个.c文件组成一个组件。 用一个圆角的矩形表示。 一个组件中可以有一个或多个相关的类 组件之间依赖 这本书强调组件级别测试 说简单一点,就是 1 基础组件1 写单元测试。 2 基础组件2单元测试 3 高层组件1 带着...
阅读全文
posted @
2016-03-13 21:18
zooz
阅读(336)
推荐(0)
关于operator void* 操作符
摘要:在《大规模C++程序设计》这本书中谈到了迭代器模式。 他提供了这样的一个迭代器的例子 这个for循环中判断终止的写法,有点意思,做一下记录。 这个地方的本质是这样的:C++ 编译器,将it 转换为 (void*)it 观察是否是非0值。 之所以能转换,是因为重载了 void* 操作符。 用vs新建一个win32控制台工程 代码如下,代码将无法编译 // operatorT...
阅读全文
posted @
2016-02-28 09:56
zooz
阅读(1056)
推荐(0)
关于C++编译时内链接和外链接
摘要:最近在阅读《大规模C++ 程序设计》 在第1部分,作者讨论了内链接和外链接问题(因为大规模的C++程序有繁多的类和单元。因此编译速度是个大问题) 这里记录一下关于内链接和外链接的理解。 C++的编译过程 我们以bcb 和 vs 为例,一个程序文档一般都由 .cpp 文件 和 .h文件构成。但编译时,只有.cpp 参与编译。.h文件则会被预编译器复制到引用他的.cpp中。 然后,.cp...
阅读全文
posted @
2016-02-27 13:22
zooz
阅读(615)
推荐(0)