
C++ builder
huang714
不断的学习,充实自己。
展开
-
BCB图像处理总结
BCB截图一、画布(Canvas)Graphics::TBitmap* bmp=new Graphics::TBitmap;TCanvas* canvas=new TCanvas;HDC hdc=GetDC(NULL);canvas->Handle=hdc;bmp->Width=Screen->Width;bmp->Height=Screen->Height;bmp->Canvas->CopyRect(Rect(0,0,bmp->Width原创 2020-09-24 11:17:54 · 2526 阅读 · 2 评论 -
简化版拼音反查单元
unit IMCode;(* 简化版拼音反查单元: 修改内容 去掉外挂字典,简化代码*)interface/// <summary>/// 要生成拼音的字符串ansi/// </summary>/// <param name="stText">要生成拼音的字符串ansi</param>/// <param name="iMode">模式</param>/// <param name="iCount.原创 2020-08-06 10:11:55 · 2234 阅读 · 0 评论 -
BCB6 使用TClientDataset范例
使用步骤,1.创建字段void __fastcall TForm1::Button1Click(TObject *Sender){ this->ClientDataSet1->EmptyDataSet(); this->ClientDataSet1->Active=True; this->ClientDataSet1->Append(); this->ClientDataSet1->FieldByName("J...原创 2020-07-14 14:12:40 · 267 阅读 · 0 评论 -
TClientDataSet[8]: 关于索引与排序
TClientDataSet[8]: 关于索引与排序索引的目的有三: 快速定位、排序、建立主从表. 下面是相关属性与方法:IndexDefs; { }IndexFieldCount; { }IndexFieldNames; { }IndexFields[]; { }IndexName; { }AddIndex(); { }DeleteIndex(); { }GetIndexInfo(); { }GetIndexNames(.原创 2020-07-14 14:11:39 · 697 阅读 · 0 评论 -
delphi数据类型列表
分类 范围 字节 备注 简单类型 序数 整数 Integer -2147483648 .. 2147483647 4 有符号32位 Cardinal 0 .. 4294967295 4 无符号32位 Shortint -128 .. 127 1 有符号8位 Smallint -32768 .. 32767 2 有符号16位 Longint -2147483648 .. 214原创 2020-07-13 17:17:00 · 198 阅读 · 0 评论 -
C++(数据结构与算法)
一、分而治之的思想分而治之方法与软件设计的模块化方法非常相似分而治之通常不用于解决问题的小实例,而要解决一个问题的大实例。一般步骤为:①把一个大实例分为两个或多个更小的实例②分别解决每个小实例③把这些小实例的解组合成原始大实例的解二、实际应用之找出假币问题描述一个袋子有16个硬币,其中只有一个是假币,这个假币比其他的真币重量轻(其他所有真币的重量都是相同的),现在要找出这个假币普通的解决方法一般的方法就是逐个的进行比较,一旦遇到质量比较轻的就找到假币了步骤为:①比较硬币1与硬币2,如原创 2020-06-03 09:57:22 · 609 阅读 · 0 评论 -
BCB和Delphi 执行顺序与快捷键
BCB和Delphi中Form的事件触发顺序实现一项功能通常要做两件事:a)首先要知道在哪里控制;b)其次要知道如何控制。然而,很多情况下都是我们已经知道怎么去控制,但不知道控制点选在哪里。这主要是因为我们对组件事件的触发顺序搞不清楚。构造函数->OnCreate->OnShow->OnActivate->OnPaint->OnCloseQuery->...原创 2020-04-13 16:00:30 · 554 阅读 · 0 评论 -
C++ builder热键处理方式(HotKey)
demo1:Hook Hotkey系统热键UnitFormMain.hprivate: ATOM HotKeyStart, HotKeyEnd; void __fastcall WndProc(Messages::TMessage &Message);UnitFormMain.cppvoid __fastcall TFormMain::FormCre...原创 2020-04-13 14:32:33 · 2278 阅读 · 1 评论 -
查找排序算法(一)
查找排序算法(一)#ifndef ALGORITHM_H#define ALGORITHM_H#include <array>#include <vector>#include <iostream>// ------------------- 二分查找 -------------------------------// 二分查找,待查找的数组必...原创 2020-03-10 08:56:29 · 152 阅读 · 0 评论 -
运行一个dos命令,并返回执行结果
//运行一个dos命令,并返回执行结果std::basic_string<TCHAR> shellexec(const TCHAR* cmd){ HANDLE hRead = NULL; HANDLE hWrite = NULL; SECURITY_ATTRIBUTES sa = {0}; ST...原创 2020-02-20 16:17:30 · 991 阅读 · 0 评论 -
LockType 属性
指示编辑过程中对记录使用的锁定类型。设置和返回值设置或返回以下某个 LockTypeEnum 的值。常量 说明adLockReadOnly 默认值,只读。无法更改数据。adLockPessimistic 保守式记录锁定(逐条)。提供者执行必要的操作确保成功编辑记录,通常采用编辑时立即锁定数据源的记录的方式。adLockOptimistic 开放式记录锁定(逐条)。提供者使用开放式锁...原创 2020-01-09 14:20:02 · 1165 阅读 · 0 评论 -
Borland C++ Builder 6.0 XML处理总结
Borland C++ Builder 6.0 XML处理总结1、安装C++ Builder对于XML处理主要封装在TXMLDocument组件中,该组件是Internet组件的一部分。如果在安装包有已经有Borland Internet Components组件,那表示已经可以使用TXMLDocument控件了。该控件在Internet控制卡中,笔者的在最后一个,图标为标识有XML的文...原创 2019-04-30 09:16:10 · 541 阅读 · 0 评论 -
C++Builder的基本功能
C++Builder的基本功能我们用高级语言写程序,我们很得意,因为高级语言比较接近人类的语言,使我们用起来得心应手,所以我们当然得意。但我们更得意的一定是让程序代码赶快变成可执行文件。无论是在写代码的过程,还是最后要编译成可执行文件,都需要有一个工具存在。这一工具一般称为编程集成环境(IDE)。之所以称为集成,是因为从写代码到最后软件的出炉,我们需要它的地方实在太多了,这里列出其中...原创 2019-05-07 09:09:15 · 4878 阅读 · 0 评论 -
画控件的几个函数
画控件的几个函数。主要使它们好看一点儿。代码:#ifndef DRAWCONTROLS_H#define DRAWCONTROLS_H#include <math.h>#include <Classes.hpp>#include <Controls.hpp>#include <StdCtrls.hpp>#inclu...原创 2019-04-30 09:32:10 · 257 阅读 · 0 评论 -
C++Builder中各种资源的利用
---- 在 编 写 程 序 的 过 程 中, 经 常 要 用 到 各 种 资 源。 比 如 说, 想 给 自 己 的 程 序 换 个 自 己 的 图 标, 使 用 一 些 活 泼 的 光 标 来 增 加 趣 味 性, 播 放 一 些 声 音 和 动 画 文 件, 或 者 使 用 别 人 写 好 的 程 序 来 实 现 某 个 功 能。 我 们 往 往 希 望 将 这 些 资 源 直 接 放 到E...原创 2019-04-30 09:26:45 · 914 阅读 · 0 评论 -
C++Builder中大尺寸图像的显示技巧
---- 在C++Builder 中 利 用TImage 控 件 可 以 轻 松 地 读 入 并 显 示 图 象, 但TImage 控 件 本 身 不 可 以 接 收 输 入 焦 点, 也 没 带 有 滚 动 条, 在 显 示 超 出 显 示 区 域 范 围 的 大 图 象 时, 需 要 对TImage 控 件 进 行 加 强。 本 文 提 出 两 种 最 容 易 实 现 且 有 效 的 方 法,...原创 2019-04-30 09:26:01 · 972 阅读 · 0 评论 -
用 C++Builder 编制文本编辑器
C++Builder是BORLAND公司继DELPHI之后开发的又一个通用的客户/服务器结构的开发工具。C++Builder的集成开发坏境除了深入更多的Windows95控制元件,可以建立的对象分类更为详细,添加了许多DELPHI所没有的部件之外, C++Builder的界面基本上与DHLPHI完全相同。C++Builder使用C++语言而不是object pascal语言,所以可以产生更快速和更...原创 2019-04-30 09:24:54 · 812 阅读 · 0 评论 -
Borland C++Builder 3 VS Delphi 3
自从Borland推出了Borland C++ Builder之后,许多人时常会询问BCB和Delphi有什么不同?除了使用的语言(C/C++ v.s. Object Pascal)之外,是不是都一样?也有人经 常会不满的指出,是不是BCB 一定会在功能上落后Delphi一个版本,那么使用BCB的人比 起Delphi 的程序员来说,是不是代表全用BCB的人是二等公民.说实话在BCB ...原创 2019-04-30 09:23:59 · 645 阅读 · 0 评论 -
Visual C++ VS C++ Builder
其实很久以前我就想写这篇文章,其原因一方面是因为笔者深深感觉到C++ Builder的确是一个先进与强大的程式开发工具,但更最重要的一点是,我深信C++ Builder能给公司带来巨大了商业利益与生产力的大幅提升,我可以假装没看到这几点,但是基於良心与责任我不能不花点时间来跟大家分享一下我的看法与心得。 C++ Builder的前身是Borland C++,Borla...原创 2019-04-30 09:22:53 · 2958 阅读 · 1 评论 -
C++ Builder API函数大全
C++ Builder API函数大全1. API之网络函数WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetClo...原创 2019-04-30 09:17:08 · 1348 阅读 · 0 评论 -
C++Builder及VC的DLL相互调用解决方案
C++Builder及VC的DLL相互调用解决方案由于MS和Borland(CodeGear)两家的编辑器实现细节不同,造成了它们生成的DLL不能相互通用,因此给实际带来了很多的麻烦。下面来说一说如何解决这个问题。VC生成DLL,C++Builder调用1、用extern "C"修饰VC导出的DLL函数。如:extern "C" __declspec(dllexport) int a...原创 2019-05-07 09:11:47 · 813 阅读 · 0 评论 -
用C++ Builder XE 10编译生成EXE运行问题
同一个工程,用C++ Builder XE 10编译生成EXE,脱离开发环境后,拿到另一台电脑上运行时提示缺少Borlndmm.dll文件;但是用10之前的版本编译的EXE就不会出现这个问题。求大神帮忙解决。解决方法:这个C++Builder10Seattle里经典Borland编译器完全编译后仍需borlndmm.dll,确实是个BUG。在官方修复问题以前,可以选择不使用经典B...原创 2019-05-07 09:13:28 · 635 阅读 · 0 评论 -
c++builder RichEdit的源码显示之亮显(附代码)
因为要在richEdit中显示pb源码,故写了亮显代码。因为只做显示,无需编辑,所以不想借用控件,那样升级维护比较麻烦。图先:基本和pb中看到的效果一直,而且处理了数字(整数和小数),枚举常量。注释,字符串优先处理。/*附属定义const int KEYWORD_QTY = 140;const int KEYWORD_MAXLEN = 15 ,KEYWORD_MINLEN =...转载 2019-03-25 08:43:16 · 917 阅读 · 0 评论 -
BCB中利用剪贴板复制粘贴
将一个字符串拷贝到剪贴版中的不同方法:#include <vcl/Clipbrd.hpp>// 方法一: TClipboard *pClipboard = new TClipboard(); pClipboard->AsText = "拷贝到剪贴版的文字数据"; delete pClipboard;// 方法二: TClipboard *p...原创 2019-07-16 17:01:50 · 914 阅读 · 0 评论 -
earth
地球平均半径6371.004千米地球赤道半径6378.140千米地球极地半径6356.755千米地球平均密度5.518×103千克·米-3地球质量5.974×1024千克地球体积1.083×1012立方千米地球表面积5.11×108平方千米地球陆地面积1.49×108平方千米(约为地球表面积的29%)地球海洋面积3.62×1...原创 2019-05-07 09:21:54 · 947 阅读 · 0 评论 -
DistanceInEarth
double D_jw(double wd1,double jd1,double wd2,double jd2){double x,y,out;double PI=3.14159265;double R=6.371229*1e6;x=(jd2-jd1)*PI*R*cos( ((wd1+wd2)/2) *PI/180)/180;y=(wd2-wd1)*PI*R/180;...原创 2019-05-07 09:21:27 · 163 阅读 · 0 评论 -
C++ Builder VCL库函数简介
一.BORLAND C++ BUILDER VCL的内存管理函数 1. AllocMem 在队中分配指定字节的内存块,并将分配的每一个字节初始化为 0.函数原型如下: void * __fastcall AllocMem(Cardinal Size); 2. SysFreeMem 释放所指定的内存块.函数原型如下: int __fastcall SysFreeMem(v...原创 2019-05-07 09:20:43 · 1279 阅读 · 0 评论 -
Builder中使用Access数据库
Access数据库在管理中得到了广泛的应用,在长期的使用中已有很多数据资料存储在Access数据库的文件中,用C++ Builder编程时,往往也需要使用Access数据库,来实现数据的传递。在C++ Builder中使用Access数据库既可以在设计期实现,也可以在运行期通过编程实现。下面就以一个简单的例子,来说明在C++ Builder中如何使用Access数据库。在设计期使用Ac...原创 2019-05-07 09:20:16 · 897 阅读 · 0 评论 -
Builder聊天
创建基于Internet的应用程序,你也许会想到复杂的WinSock编程。不过,C++ Builder3提供了新的WebBroker的Internet套件,其中的TClientSocket和TServerSocket组件封装了Windows的有关API,大大简化了WinSock编程。要通过Internet传输数据,至少需要一对Socket,一个Socket在客户端,另一个Socket在服务器端。其...原创 2019-05-07 09:19:50 · 253 阅读 · 0 评论 -
BUilder高效率代码
今天分析了一个C++Bulider (Delphi)程序的汇编代码,发现了提高代码效率的一个小窍门,希望能给C++Builder和Delphi程序员做代码优化的时候提供一点参考。汇编代码是这样的:一开始判断一个文本框的输入字符是否为空,汇编代码里面有:00456DAB |. 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]00456DAE |....原创 2019-05-07 09:16:03 · 313 阅读 · 0 评论 -
C++Builder的基本功能
C++Builder的基本功能我们用高级语言写程序,我们很得意,因为高级语言比较接近人类的语言,使我们用起来得心应手,所以我们当然得意。但我们更得意的一定是让程序代码赶快变成可执行文件。无论是在写代码的过程,还是最后要编译成可执行文件,都需要有一个工具存在。这一工具一般称为编程集成环境(IDE)。...原创 2019-04-30 09:14:36 · 10273 阅读 · 2 评论 -
XE7、XE8启动界面全屏问题的解决方法
XE7、XE8启动界面全屏问题的解决方法一、选择Project下的Options二、进入如下图界面根据Splash Image 的要求分别裁切出对应的尺寸大小 426*320行行 设置Splash Gravity的参数 Fill单击“OK”完成,这个时候启动界面还是不会全屏。关键也就在下面的设置了六、把原来存放的文件放到别外一个文件夹下去...转载 2019-04-29 13:20:51 · 866 阅读 · 0 评论 -
Richedit使用大全
一.常见问题a.可以编译,不能执行的AfxInitRichEdit();b.升级默认的Riched版本(默认的有一些bug),如可在InitInstance中添加LoadLibrary("RICHED20.DLL")最后注意FreeLibrary如果是CRichEditView基类的可用BOOL CXXXXXXView::PreCreateWindow(CREATESTRUCT&...转载 2019-04-01 08:18:40 · 1011 阅读 · 0 评论 -
C++ Builder组件属性详解
尽管C++Builder的组件种类繁多,每种组件又都有许多不同的属性,但是在这些众多的属性中有相当一部分是大多数组件所共有的。因此我们应当主要掌握这些共有组件。在设计时设置属性一般是通过属性窗口来进行的。在属性窗口设置组件属性的操作步骤如下: 1) 打开相应对象的属性窗口。 2) 从属性列表中选定属性名称。 3) 在属性窗口的右列输入或选择新的属性值。注意:有些属性在设置值右侧有…按钮,单击...原创 2019-04-12 08:43:30 · 3224 阅读 · 0 评论 -
常用的BCB 函数
文件: ActnListCreateAction 函数 创建一个指定类型的Action,显示在action list editor中。EnumRegisteredAction 过程 枚举已经注册的ActionRegisterAction 过程 注册ActionUnRegisterAction 过程 反注册Action文件: ClassesBounds 函数 输入上下高宽返回...原创 2019-04-12 08:45:02 · 1451 阅读 · 0 评论 -
Webbrowser指定IE内核版本(更改注册表)
如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容。解决方法是在注册表中为你的进程指定引用IE的版本号。比如我的程序叫做a.exe对于32位程序HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EM...原创 2019-03-14 08:45:52 · 1389 阅读 · 0 评论 -
解决BCB RICHEDIT控件在特有的格式 无法删除,是因为有保护属性
如果你的控制字符只有一个字符那不存在keendom所说的问题:如果有多个字符,为防止控制字符被编辑可使用protect属性,用消息来实现//上接取属性语句Richedit::CHARFORMAT2fmt;fmt.cbSize=sizeof(Richedit::CHARFORMAT2A);fmt.dwMask=CFM_PROTECTED;fmt.dwEffects=...原创 2019-04-15 08:24:55 · 350 阅读 · 0 评论 -
BCB 中测量Richedit 的文本总行高
BCB 中测量Richedit 的文本总行高1,需要使用EM_FORMATRANGE 消息2,实现的代码如下://---------------------------------------------------------------------------#include <vcl.h>#pragma hdrstop#include "Unit1.h"/...原创 2019-04-15 08:25:03 · 369 阅读 · 0 评论 -
RichEdit的用法总结
richedit 常见使用问题一.常见问题a.可以编译,不能执行的在需要在相应的对话框中加上InitInstance(void)函数中添加AfxInitRichEdit();b.升级默认的Riched版本(默认的有一些bug),如可在InitInstance中添加LoadLibrary("RICHED20.DLL")最后注意 FreeLibrary如果是...转载 2019-04-02 08:57:17 · 4151 阅读 · 0 评论 -
新代码, 通过空格分割要高亮的内容, 你把你图片里的顿号改成空格就行了
procedure TForm1.Button1Click(Sender: TObject); procedure _HighLightText(AStr: string); var nPos, nStrLength, nAllLength: Integer; begin nPos := 0; nAllLength := RichEdit2.GetTextL...原创 2019-04-15 08:25:16 · 327 阅读 · 0 评论