- 博客(13)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 C++字符串类源码
参考了C++Builder中的AnsiString, 实现了常用的功能,其它需要的可以自己添加./* CesString.h* 类似AnsiString 的一个类, 用标准C++编写, 可以用在VC和CB中* 作者: cczlp*/#ifndef _CESSTRING_H_#define _CESSTRING_H_#include #include
2008-03-12 12:15:00 1874 1
原创 解决CB中TOpenDialog, TOpenPictureDialog打开文件数量有限制的问题
调用TOpenPictureDialog选择大量图片时候发现,返回的Files里面只有前面的一千多个文件,实际只有我选择文件的一半左右。开始以为是CB的BUG,于是把OpenDialog源码中的MultiSelectBufferSize改大,测试没效果。网上有人说,GetOpenFileName的Ansi版本有32K内存限制,Unicode版本没有限制。实际我的程序已经是Unicode的了。Ans
2012-05-23 13:11:23 2558
原创 在命令行下编译C++Builder工程
BCB6下可以导出makefile文件,用make编译。CB2010(前几个版本也是)中,不提供导出.mak文件的功能,项目文件是XML格式,可以用MSBuild编译。以我的一个工程为例,在工程目录中创建一个批处理文件Demo.bat,内容为:@echo offSET B
2011-10-08 15:34:17 1966 1
原创 强制结束一个进程
实际不是原创,是别人研究出来的,我不过把Delphi代码翻译成C的。下面的代码可以卸载一个进程的模块。pid是进程ID,ModuleName是模块名。BOOL UnloadModule(DWORD pid, char *ModuleName){ typedef DWORD (WINAPI *PTRZwUnmapViewOfSection)(IN HANDLE ProcessHandle, I
2008-08-08 15:54:00 972
转载 BCB中使TPanel透明
/*从一个论坛发现的代码, 用代码是TPanel透明, 而不是重新写一个组件.*/// Unit1.h//---------------------------------------------------------------------------#ifndef Unit1H#define Unit1H//------------
2008-06-13 11:19:00 5132 1
原创 字母全排列快速算法C代码
全排列,比如字母ABC,所有排列有A ,AB,AC,ABC,ACB,B,BA,BC,BAC,BCA,C,CA,CB,CAB,CBA。 在我的机器上排列10个字母大约0.5秒。//cczlp//原理是插入, 在一个字符串的所有位置插入新字符.//如: AB 插入C , 位置有 1A2B3, 插入后形成 CAB ACB ABCvoid AllList(TStringList
2008-02-23 18:59:00 2844
原创 (BCB)为VCL组件增加事件和属性
VCL中有很多事件和属性,但并不是对每个子类组件都公开,这当然是正确的,但有些 时候却给我们带来了麻烦,比如想使用TRichEdit的OnDlbClick事件,找来找去却找不 到,只好通过重载窗口过程或增加消息映射来实现,实际不需要这么麻烦,既然Borland 已经实现好了却不给我们,那就动粗。 例子一: 增加双击事件通用函数bool __fastc
2008-02-03 10:48:00 1316
原创 画渐变色的C++代码
利用API GradientFill画矩形渐变色,可以采用多种颜色。代码如下:#include wingdi.h>//把$(BCB)LibPsdkmsimg32.lib加入到工程中/**//* 函数名: DrawGraden 功 能: 画矩形渐变色, 可以使用多种颜色 参 数: hdc - 上下文句柄 Rect - 整个画渐变的矩形范围
2008-01-18 17:02:00 7032 2
原创 创建Linux通用开机自动运行管理脚本
假设你已经有一个脚本myautorun,想让它开机自动运行,在RedHat和SUSE下有chkconfig命令,在Ubuntu下有update-rc.d 命令进行管理,但这些命令是不通用的,下面是我自己的方法,用脚本添加删除myautorun。首先把myautorun放在 /etc/init.d下面,然后用下面脚本, -i 参数安装, -e 参数删除。#!/bin/shMODNAME=
2008-01-18 16:34:00 949 1
原创 快速创建图片窗体
原理上没有什么新意,主要就是用CreateRectRgn、CreateRectRgn、CombineRgn和CreatePolygonRgn这 几个API,代码最大的特点就是高速,这个也是最重要的,你甚至可以用来做动画窗体。代码用CB编写。 //创建图片形状的窗体,可以是任意颜色//速度//作者:cczlp//void __fastcall CreateWindowRgn(HWND
2008-01-07 20:21:00 3102 2
原创 动态跟踪程序运行状态一法
有时候程序运行有问题, 又不方便调试, 输出LOG文件又不直观,不妨用这个方法试试。 void DbgPrint(const char * format, ...)...{ FILE *fp; va_list vl; static char s[260] = "MyApp: "; fp = fopen(“c:/dbg.txt”, "a"); if (fp
2008-01-07 13:16:00 1389
原创 编程读取windows98/2000/xp/2003的登录密码
在Windows的某些版本中,当前登录用户的密码可以在内存中找到,这个原理不是我发现的,我不过根据这个原理实现了下面的代码。完整代码如下: /********************************************************************************功能 : 获取Windows当前登录的密码,适用win98/2000/xp/
2008-01-07 11:31:00 2867 1
原创 Windows通用线程类(C++)
特点:完全适用于VC和BCB;按照BCB的TThread类接口开发,可以代替TThread类;适用Hook消息同步线程,不依靠窗体; /**//********************************************************************************文件名 : esThread.h功 能 : 用API实现类似BCB中T
2008-01-07 10:22:00 4266 5
macOS12.2.1, XCode13.2.1, QT 15.5, 编译失败?
2022-03-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人