
C++ Builder
文章平均质量分 69
johnny_83
占略
展开
-
BCB---VCL的内存管理函数
一.BORLAND C++ BUILDER VCL的内存管理函数 1. AllocMem 在队中分配指定字节的内存块,并将分配的每一个字节初始化为 0.函数原型如下: void * __fastcall AllocMem(Cardinal Size); 2. SysFreeMem 释放所指定的内存块.函数原型如下: int __fastcall SysFreeMem(void * P)原创 2007-07-22 09:08:00 · 947 阅读 · 0 评论 -
CB编程中动态更改自定义打印纸张
void __fastcall TForm1::BitBTn1Click(TObject *Sender) { char *ADevice, *ADriver, *APort; THandle DeviceMode; PDeviceMode DevMode; int length,width; length=1400; width=2410;//设定自定义纸张的尺寸单位为0.1毫米 ADevice原创 2007-08-08 06:36:00 · 777 阅读 · 0 评论 -
C++常用数据类型及其操作详解
一. VC常用数据类型列表二. 常用数据类型转化2.1数学类型变量与字符串相互转换2.2 CString及string,char *与其他数据类型的转换和操作●CString,string,char*的综合比较●数学类型与CString相互转化●CString与char*相互转换举例●CString 与 BSTR 型转原创 2007-08-22 11:51:00 · 2589 阅读 · 1 评论 -
C++字符串完全指引之一 —— Win32 字符编码
引言 毫无疑问,我们都看到过像 TCHAR, std::string, BSTR 等各种各样的字符串类型,还有那些以 _tcs 开头的奇怪的宏。你也许正在盯着显示器发愁。本指引将总结引进各种字符类型的目的,展示一些简单的用法,并告诉您在必要时,如何实现各种字符串类型之间的转换。 在第一部分,我们将介绍3种字符编码类型。了解各种编码模式的工作方式是很重要的事情。即使你已经知道一个字符串是一个字原创 2007-08-22 12:59:00 · 912 阅读 · 0 评论 -
ASSERT和VERIFY的区别
1 ASSERT与VERIFY宏在Debug模式下作用基本一致,二者都对表达式的值进行计算,如果值为非0,则什么事也不做;如果值为0,则输出诊断信息。2 ASSERT与VERIFY宏在Release模式下效果完全不一样。ASSERT不计算表达式的值,也不会输出诊断信息;VERIFY计算表达式的值,但不管值为0还是非0都不会输出诊断信息。VERIFY 与ASSERT用在程序调试上并无本质上的区原创 2007-08-22 13:01:00 · 1655 阅读 · 0 评论 -
C++字符串完全指引之三 —— 字符串封装类续
MFC类CString 因为一个MFC CString类的对象包含TCHAR类型的字符,所以确切的字符类型取决于你所定义的预处理符号。大体来说,CString 很像STL string,这意味着你必须把它当成不透明的对象,只能使用CString提供的方法来修改CString对象。CString有一个string所不具备的优点:CString具有接收MBCS和Unicode两种字符串的构造函数,它原创 2007-08-22 13:05:00 · 912 阅读 · 0 评论 -
C++字符串完全指引之二 —— 字符串封装类
引言 因为C语言风格的字符串容易出错且不易管理,黑客们甚至利用可能存在的缓冲区溢出bug把C语言风格的字符串作为攻击目标,所以出现了很多字符串封装类。不幸的是,在某些场合下我们不知道该使用哪个字符串类,也不知道怎样把一个C风格的字符串转换成一个字符串封装类。 这篇文章将介绍所有在Win32 API, MFC, STL, WTL 和 Visual C++ 运行库中出现的字符串类型。我将描述每一个原创 2007-08-22 13:09:00 · 881 阅读 · 0 评论 -
ASCII,Unicode, BSTR,LPSTR和LPWSTR转换...
一、BSTR、LPSTR和LPWSTR 在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。 那么什么是BSTR、LPSTR以及LPWSTR呢? BSTR(Basic STRi原创 2007-08-22 11:49:00 · 1869 阅读 · 0 评论 -
BCB 编写 DLL 终极手册
一. 编写 DLL File/New/Dll 生成 Dll 的向导,然后可以添加导出函数和导出类 导出函数:extern "C" __declspec(dllexport) ExportType FunctionName(Parameter) 导出类:class __declspec(dllexport) ExportType ClassName{...} 例子:(说明:只是生成了一个 D原创 2007-08-22 13:07:00 · 953 阅读 · 0 评论 -
将DBGrid中的内容导出到Excel文档
//---------------------------------------------------------------------------// 将DBGrid中的内容导出到Word文档//---------------------------------------------------------------------------void __fastcall DBGrid2原创 2007-11-08 16:37:00 · 1183 阅读 · 0 评论 -
用OLE操作Excel资料
要在应用程序中控制Excel的运行,首先必须在编制自动化客户程序时包含Comobj.hpp#include "Comobj.hpp"C++ Builder把Excel自动化对象的功能包装在下面的四个Ole Object Class函数中,应用人员可以很方便地进行调用。设置对象属性:void OlePropertySet(属性名,参数……);获得对象属性:Var原创 2007-11-08 17:10:00 · 3324 阅读 · 0 评论 -
将ListView中的内容导出到Word和Excel
//---------------------------------------------------------------------------// 将ListView中的内容导出到Word文档//---------------------------------------------------------------------------void __fastcall ListV原创 2007-11-08 16:35:00 · 1939 阅读 · 0 评论 -
窗体的嵌入
在子窗体中继承一下列函数即可:void __fastcall CreateParams(TCreateParams& Params) { TForm::CreateParams(Params); Params.Style = WS_CHILD | WS_CLIPSIBLINGS; Params.WndParent = Parent_hWnd->Handle;//父窗体的句柄原创 2007-08-06 11:34:00 · 664 阅读 · 0 评论 -
C++ Builder中修改窗体的透明度
设置以下属性即可: AlphaBlend = true; AlphaBlendValue = 0~255; 当此值为255时,窗体是全清楚的原创 2007-07-22 21:17:00 · 1426 阅读 · 0 评论 -
Borland C++builder资源文件编辑
Borland C++builder资源文件编辑1 建立 现在从borland c++builder ->tools->Image EditorImage Editor->File->New->Resource在菜单中会出现resource 从new中选择资源分类有 bitmap icon cursor若选择了bitmap 会出现选择位图的颜色和大小如果是从外部位图的话就要知道它的大小 其下会出原创 2007-07-22 20:59:00 · 2993 阅读 · 1 评论 -
C++Builder中取得命令行参数
用过C语言编程的人都知道,在DOS下的编程可以通过main函数的参数取得命令行参数的个数以及每个参数的字符串,例如int main(int argv ,char *argv[]){…} 则命令行参数是argc个,这些参数分别存储在argv[0]~argv[argc-1]中,其中argv[0]是可执行文件的名字(含路径),那么Windows程序是怎么取得命令行参数的呢?用C语言写过windows程原创 2007-07-22 10:59:00 · 1676 阅读 · 0 评论 -
C++Builder中实现控件数组的功能
C++Builder中实现控件数组的功能 Borland C++ Builder作为Inprise(原Borland)公司新推出的快速应用程序开发工具(RAD),具有威力强大的C++语言和快捷便利的可视化编程完美结合的优点,遗憾的是其没有直接提供像VB中的控件数组的功能,需要开发者自己编程实现。 VB中的一个控件数组可以1、允许多个控件共享同一个事件句柄,2、提供了运行期间增加一个控件的原创 2007-07-22 11:01:00 · 722 阅读 · 0 评论 -
BCB中TListView的节点遍历方法小节BCB中TListView的节点遍历方法小节
方法一:TItemStates selected = TItemStates() TListItem *tItem = tView->TopItem;tView->Selected = tItem;while(tItem){ //关于这个节点的相关操作 tItem = tView->GetNextItem(tItem, sdAll, selected);}方法二:int tCount =原创 2007-07-22 21:01:00 · 1855 阅读 · 0 评论 -
程序中的剪切、复制和粘贴的实现问题解说
对于在程序中每一个对象,在后台中都对应一个响应的数据结果,在实现对象的剪贴和复制操作,实际上是对这个对象的数据结构的一种拷贝,并把它们存放在一个文件当中;当实施粘贴操作时,就从文件当中把对象取出,并在当前状态下逆向创建新对象。原创 2007-07-22 21:03:00 · 1025 阅读 · 0 评论 -
TChart使用经验小结
1、问题:通过Addxy方法给TChart添加标记(Mark)时,发现在TChart的横坐标会随着Mark而变化,后来发现通过以下方法可避免这种情况:双击TChart,点击Axis-> top or bottom ->labels,在styles中将labels的形式改为Value即可!2、几个有用的属性: 图表上的每个点都是有索引的,就象一个数组一样,在OnClickSeries事原创 2007-07-22 10:51:00 · 4916 阅读 · 0 评论 -
用C++Builder操纵Excel
Microsoft Excel作为一个功能强大的电子表格处理软件,已经得到了广泛的应用。在数据库应用软件开发过程中,如果能实现数据库与Excel文件的数据交换,那么一方面能增加数据库数据的来源,另一方面也能方便用户对数据库数据的进一步处理。 C++ Builder是一个可视化快速应用程序开发工具,它提供的OLE Automation机制使得开发人员在应用程序中就能调用Excel,实现数据交换。原创 2007-07-22 10:52:00 · 835 阅读 · 0 评论 -
苛评VCL: 不满意TObject的设计
在李维的《inside VCL》中详细描述了VCL中TObject的地位。是的Borland的工程师们有心将Delphi语言做成pure language。所以你几乎可以看到TObject的所有pure pascal的实现。更重要的,你应该会发现。Delphi将代码的所有运行机制都暴露在我们面前。这也就是Delphi的TObject和C++中的Object以及C#的Object有很大不同的地方。D原创 2007-07-22 10:54:00 · 680 阅读 · 0 评论 -
BCB中使用TImage对图象的放大与缩小
TCanvas对象的CopyRect函数可以实现图象的放大与缩小;即把画布上的一部分拷贝到另一部分。函数原型如下:void __fastcall CopyRect(const TRect &Dest, TCanvas* Canvas, const TRect &Source);Example: 下列的密码举例说明 CopyRect 和 BrushCopy 之间的不同。 位图图标被载入位图而且在 F原创 2007-07-22 21:02:00 · 5508 阅读 · 0 评论 -
用C++ Builder编程监控打印机队列状态
目前,关于API的应用的文章可以说是遍布各类期刊、杂志。但是多数实例与应用都是基于Visual Basic 的,多数人反映针对于C++ Builder的应用太少,而与打印相关的应用更是少之又少(即使是Visual Basic在这方面的应用可是很少),事实的确如此。这是一篇介绍应用C++ Builder结合Windows API来实现对打印机队列状态进行监控的文章。一、API介绍:API是Appli原创 2007-07-22 07:59:00 · 1674 阅读 · 0 评论 -
CB非可视组件的消息处理技巧
一个非可视的组件必须对Windows操作系统或用户定义的消息作出响应。然而,由于一个非可视组件没有窗口,因此它也没有窗口句柄,自然它也不能接收到消息,为了解决这一问题,我们的思路是创建一个隐藏的窗口,使非可视组件能够接收到消息。为了给你的非可视组件创建一个隐藏的窗口,需要有以下: 1.一个私有变量型(Private Variable)的HWnd来取得窗口句柄原创 2007-07-22 08:37:00 · 697 阅读 · 0 评论 -
BCB操作BLOG字段的方法
/** * 把图像保存到SQL Server数据库中 */ OpenDialog1->FileName=""; if (OpenDialog1->Execute()){ Edit1->Text= OpenDialog1->FileName; Image1->Picture->LoadFromFile(Edit1->Text);}if (!Edit1->Text.IsEmpty原创 2008-03-27 14:59:00 · 1241 阅读 · 0 评论