![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ builder
cmlxiaogeaaa
这个作者很懒,什么都没留下…
展开
-
sizeof的用法
转自w57w57w57的专栏 原文链接:http://blog.csdn.net/w57w57w57/article/details/6626840摘要:、Sizeof的作用非常简单:求对象或者类型的大小。然而sizeof又非常复杂,它涉及到很多特殊情况,本篇把这些情况分门别类,总结出了sizeof的10个特性:(0)sizeof是运算符,不是函数;(1)size...转载 2018-10-26 20:34:58 · 8676 阅读 · 0 评论 -
文件夹内容复制( 包含进度)
void __fastcall TForm_PrjPreView::BitBtnOKClick(TObject *Sender){ String tempstr=ExtractFilePath(Application->ExeName); String ReturnName=Edit_PjoNewName->Text.Trim(); String ProjectFi原创 2017-04-10 11:35:38 · 241 阅读 · 0 评论 -
C++ builder 中 流式布局 panel块可自动排列
今天领导安排了一项工作,就是在一个窗体界面中显示所有设备的运行概览情况,经过一段时间思考 我决定使用单个窗体来显示一台设备的概览情况,然后用c++builder 6/delphi7 的窗口停靠功能再配合窗体的resize事件来实现。先帖代码 主窗体构造函数: FromList=new TList(); for (int i=0;i<20;i++) {原创 2017-03-06 15:21:55 · 2084 阅读 · 0 评论 -
保证控件与控件父控件背景一体
SetBkMode(Cnvs->Handle,TRANSPARENT); Cnvs->Brush->Style=bsClear; if (AMouseIn) { Cnvs->Brush->Color=RGB(41,90,148); Cnvs->Pen->Color=RGB(41,90,148); Cnvs->Pen->Width=1原创 2017-01-14 10:53:08 · 531 阅读 · 0 评论 -
一段socket接收判断函数。保证能够接收完成
void __fastcall TServerConnect::TCPClientPort_ReadBuffer(TObject *Sender, TCustomWinSocket *Socket){ int count = Socket->ReceiveLength(); // Socket-> Socket->ReceiveBuf(&RecBuff原创 2017-01-14 10:48:27 · 3385 阅读 · 0 评论 -
应用程序间发送消息
void __fastcall TMainForm::Message_Re_Load(TMessage &Message){ //* if (Message.Msg==WM_COPYDATA) { COPYDATASTRUCT *pCopyData = (COPYDATASTRUCT *)Message.LParam ; int data原创 2017-01-14 10:46:03 · 361 阅读 · 0 评论 -
c++ builder 中 char 和 AnsiString字符串对比 效率慢的解决办法
在以往的c++开发经验中 我不太喜欢在结构体中直接使用AnsiString 类。 因为涉及到内存复制类或者指针引用是常常会出现莫名奇妙的问题。并且可移值性差。在以往需要处理字符串对比时常常这样写char *S1AnsiString A1if (AnsiString (S1)==A1){ .......................具体处理内容。}但是如果将上述语句写到一个循原创 2016-10-06 16:24:36 · 2716 阅读 · 0 评论 -
颜色叠加算法
由于公司新的软件中需要增加 一种功能。类似组态软件中的图库中的图元可以任意修改颜色 。这样就省去添加多张图片切换操作。在各种搜索引擎中找了好多天,测试了好多遍终于找到了。。非常感觉作者的汇总文章转自叠加模式 http://www.cgspread.com/3551.html PS和Nuke的叠加模式计算算法相差甚远,最近想在Nuke转载 2016-09-24 15:52:06 · 31039 阅读 · 0 评论 -
在c++builder 中修改Addflow 控件修改节点的字体
afNode*NewNode; NewNode=AddFlowMain->SelectedNode; if(NewNode!=NULL) { IFontDisp *temp22=(IFontDisp *)NewNode->Font; IFont *piFont=NULL; IFontDisp* pFontDi原创 2016-09-24 11:42:40 · 1187 阅读 · 0 评论 -
进度条颜色变化BCB
SendMessage(ProgressBarLoding->Handle, PBM_SETBARCOLOR, 0, RGB(255,128,0));原创 2017-04-10 11:36:49 · 669 阅读 · 0 评论 -
删除文件夹及子文件
void __fastcall TForm_OpenFile::DeleteAllFile(String DstFileName){ HANDLE hFile = NULL; WIN32_FIND_DATA fd = {0}; String UseFile=DstFileName+"\\*.*"; hFile = ::FindFirstFile(UseFi原创 2017-04-10 13:49:54 · 606 阅读 · 0 评论 -
线程安装退出的方法
// 退出时代码 if (thread_DataSave->Suspended) { thread_DataSave->Resume(); } thread_DataSave->ReturnToMain=true; thread_DataSave->Terminate(); thread_DataSave->WaitFor();原创 2017-04-10 13:53:47 · 532 阅读 · 0 评论 -
可变参数导出EXCElL
//.H文件#include <stdarg.h>extern void StringGridToExcelMutiSheet(String CentStr,int Strgridcount,...);//多个页面,可变参数void StringGridToExcelMutiSheet(String CentStr,int Strgridcount,......原创 2018-08-24 15:01:03 · 337 阅读 · 0 评论 -
去掉delphi2010启动时显示的升级对话框
找到如下的结点[HKEY_CURRENT_USER/SOFTWARE/CodeGear/BDS/7.0/AutoRun/UpdateCheck] 清空下面两个键的值"ProgramToRun"="""CommandLine"=""转载 2018-07-06 09:56:14 · 480 阅读 · 0 评论 -
VC DLL转换C++builder Lib
1、coff2omf用于转换Coff格式的Lib 到 OMF格式的Lib 。在cmd中的使用形式为coff2omf c:/ml.lib c:/ml1.lib 。其中coff2omf 的使用环境默认为打开cmd输入coff2omf 即可。转换完成之后,通过单击【project】->【Add to project】->【lib文件】->【导入】来把刚刚转换好的lib文件导入到工程里转载 2017-08-10 18:32:12 · 2376 阅读 · 0 评论 -
VARIANT 类型说明
string CAdoConnection::VariantToString(const _variant_t &var){ string strValue; TCHAR szValue[1024] = {0x00}; switch (var.vt) { case VT_BSTR://字符串 case VT_LPSTR://字符串 case VT_LPWSTR://字符串 s转载 2017-06-15 18:12:16 · 5296 阅读 · 0 评论 -
BCB project options->application-> load icon 按钮灰显解决办法
主要为了解决发布的EXE程序 无法改变图标的问题。1. 打开工程 选择菜单project -> edit option source 进入工程BPR.XML文件编辑状态2. 找到“YFZ_Trans.res"/> ; 其中YFZ_Trans为工程文件名称;3. 找到“ ” 将此项内容修改为 YFZ_Trans.res" FORMNAME="" UN原创 2017-06-24 09:34:24 · 920 阅读 · 0 评论 -
判断已打开线程与本进程对比
test: PROCESSENTRY32 process; HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); process.dwSize = sizeof(PROCESSENTRY32); if(!Process32First(handle,&process)) {原创 2017-06-23 15:18:49 · 213 阅读 · 0 评论 -
我写的一个模拟管道算法
//在很多组态软件上都 管道图元,可以根据模拟出 管道内流动的效果。//这个算法只是模拟起来看是向管道流动,其实还是有些不完美。 但是基本也是够用。利用部分直角三角形的特点,如勾股定理,正弦,余弦函数。其它人估计看不懂。自己留个记念。借用Flex 中的线段工具 起点端点移动,产生类似管道流动的效果。加油,努力 。奋斗 。///初始化 if (Fle原创 2017-06-19 15:15:22 · 1995 阅读 · 0 评论 -
stringgrid 删除选中行
if (StrGridSensorList->Row>0) { for (int i=StrGridSensorList->Row;iRowCount-1;i++) { StrGridSensorList->Rows[i]->Assign(StrGridSensorList->Rows[i+1]); }原创 2017-04-12 11:47:27 · 2635 阅读 · 0 评论 -
c++ builder 6 fatal:error detected Lme279
在BCB IDE中, 选择 "Project/Options" 显示 "Project Options" 窗口. 选择"Packages" 选项卡, 在"Design packages" 选项框,取消选择 "Delphi 1.0 Compatibility Components". 完成, 单击 "OK" 按钮 并且 重新compile 你的项目.原创 2016-08-26 10:58:58 · 2664 阅读 · 0 评论 -
C++ buider 记录shortcut 快捷键
String KeyStr=ShortCutToText(ShortCut(Msg.CharCode, KeyDataToShiftState(Msg.KeyData)));原创 2016-05-28 15:14:48 · 331 阅读 · 0 评论 -
Delphi 调用 C++ 回调函数
//输入函数声明extern "C" __declspec(dllexport) int SetRecNotifyProc( void (*TempRecProForPub)(TICanFrame *TempFrame),char *BusName); //实现int SetRecNotifyProc( void (*TempRecProForPub)(TICanFrame原创 2016-04-20 09:20:26 · 3553 阅读 · 0 评论 -
派生的Panle
HPP#ifndef TpanelcheckH#define TpanelcheckH#include #include #include #include #include //---------------------------------------------------------------------------class TPanelAddcheck :pub原创 2014-09-04 20:46:18 · 278 阅读 · 0 评论 -
listview 可折叠类,添加后可以使listview 具有折叠功能。
此类来自网络,非本人所写,但是找不到原地址了,只是在贴子中转载 2014-09-27 11:44:39 · 1286 阅读 · 0 评论 -
模仿360调整启动项(Listview 多行,加控件,背景色)
CPP文件//---------------------------------------------------------------------------#include #pragma hdrstop#include "Unit1.h"#include "windef.h"//----------------------------------------------原创 2014-09-04 20:37:57 · 434 阅读 · 0 评论 -
获取键盘上某键的状态
::GetKeyState(VK_SHIFT) > 0 没按下::GetKeyState(VK_SHIFT) 返回值给出了给定虚拟键的状态,状态如下:若高序位为1,则键处于DOWN状态,否则为UP状态。若低序位为1,则键被触发。例如CAPS LOCK键,被找开时将被触发。若低序位置为0,则键被关闭,且不被触发。触发键在键盘上的指示灯,当键被触发时即亮,键不被触发时即灭。备注:当原创 2014-08-05 17:28:20 · 6072 阅读 · 0 评论 -
线程中使用ADO 后入输入法冲突解决办法....
DWORD __fastcall Thead() //{ const TCHAR sClassName[] = _T("IME"); const TCHAR sWindowText[] = _T("Default IME"); HWND hImeWnd01 = FindWindow(sClassName, sWindowText); HWND原创 2014-07-09 17:59:08 · 497 阅读 · 0 评论 -
C++ builder 中 ListView 定位焦点到某一行。
TListItem *Item; for (int i=0;iItems->Count ;i++) { Item=ListViewMax->Items->Item[i]; if (datestr==Item->SubItems->Strings[0]) { TPoint t原创 2014-07-09 17:34:18 · 798 阅读 · 0 评论 -
DLL窗体停靠后,窗体中的listview ,Memo 提示"no parent"错误的解决办法
修改" C:\Program Files\Borland\CBuilder6\Source\vcl "目录下 forms.pas文件;定位到原创 2014-07-09 17:31:06 · 554 阅读 · 0 评论 -
C++ builder 控件消息重载
最近在工作需要写一个功能就是把在P原创 2014-06-26 18:02:52 · 1107 阅读 · 0 评论 -
修改socket 缓存大小。。
int nRecvBuf=2048000; int re=setsockopt(Socket->SocketHandle, SOL_SOCKET,SO_RCVBUF,( char *)&nRecvBuf,sizeof(int )); int temprec=0; int reuse=sizeof(temprec); int cc= getsoc原创 2015-01-22 11:03:05 · 1475 阅读 · 0 评论 -
线程互斥
HANDLE hMutex; hMutex=CreateMutex(NULL,TRUE,NULL); //TRUE表示调用CreateMutex的线程拥有了互斥对象 WaitForSingleObject(hMutex,INFINITE);//线程多次拥有互斥对象, 主要通过互斥对象内的计数器实现 ReleaseMutex(hMutex)转载 2015-01-22 10:59:45 · 285 阅读 · 0 评论 -
自己写的多表联合查询,统计,行变列
select trycord.*,b.* from (select top 2 * from RemoteTryRecord where id > ( select isnull(max(id),0) from (select top 2 id from RemoteTryRecord where data between '2014-12-03原创 2015-01-22 10:47:23 · 896 阅读 · 0 评论 -
图片缩放
BiliX:=40 / UseB.Width ; BiliY:=40 / UseB.Height ; if BiliX < BiliY then Fina :=BiliX else Fina := BiliY; if Fina > 1 then Fina :=1; Fin原创 2016-04-20 09:13:42 · 208 阅读 · 0 评论 -
BCB listview 每列显示图标
lv->Items->Item[j]->SubItemImages[0]=0;原创 2016-04-20 09:12:06 · 766 阅读 · 0 评论 -
delphi listview vico 模式自绘图标大小不等原因解决。
在AdvancedCustomDrawItem 事件中自绘 TRect Rectone=Item->DisplayRect(drBounds);获得每个item在的大小。 由于每个item 添加时的Cption 的长度(也就是字的多少,由于换行的原因)导致每个Rectone的大小不一样。会影响整体显示效果。所以解决应该名称保待统一原创 2015-10-15 11:45:47 · 859 阅读 · 0 评论 -
利用图版背景颜色将PANEL透明化
//-------------------- panel 透明 //* HRGN hRgn = NULL; Graphics::TBitmap* MemoryBitmap = new Graphics::TBitmap; MemoryBitmap->Assign(Image7->Picture->Graphic); TColor ttt=MemoryBi原创 2015-10-08 14:14:24 · 1183 阅读 · 0 评论 -
删除表中前N条以外的数据
DELETE FROM 变电所表修改日志WHERE id NOT in (SELECT TOP 2 id FROM 变电所表修改日志 ORDER BY SetTime)原创 2015-07-15 16:37:16 · 689 阅读 · 0 评论 -
遍历文件夹下内容
void __fastcall TFormBdsManager::FindDir(char* parent,String ExPandName){ HANDLE hFile = NULL; WIN32_FIND_DATA fd = {0}; String Parerntstr=AnsiString(parent)+"\\*.*"; hFile = ::FindF原创 2015-07-14 11:16:08 · 417 阅读 · 0 评论