
C++builder
缘中人
这个作者很懒,什么都没留下…
展开
-
关于bcb6.0编译错误:[Linker Fatal Error] Fatal: Illegal option
关于bcb6.0编译错误:[Linker Fatal Error] Fatal: Illegal option: 今天用bcb6.0给朋友写个程序,没想到有点熟悉又陌生的bcb不太给力,编译时报错:[Linker Fatal Error] Fatal: Illegal option: form;d:\borland\cbuilder6\lib\obj;d:\borland\cbu转载 2012-03-12 09:03:53 · 4606 阅读 · 1 评论 -
C++ Builder MSComm 串口 编程
摘要:串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。本文介绍了在C++ Builder中如何利用串行通信控件进行串行通信编程。 一、引言 目前,在用计算机进行数据传输时,常用的是串行通信方式。用C++ Builder来编写串行通信程序时,可以调用Windows API函数,也可以利用VB中的MSComm控件。 利用 API函数编写实际应用程序时转载 2012-03-14 00:27:38 · 4032 阅读 · 0 评论 -
StringGrid居中
C++Builder中你可以重载TStringGrid的OnDraw事件的方法,关键步骤如下: 1。覆盖Cell:StringGrid1-> Canvas-> FillRect(Rect); 2。写字符串:DrawText(StringGrid1-> Canvas-> Handle, StringGrid1-> Cells[ACol][ARow].c_str(), -1,转载 2012-04-08 09:45:29 · 2772 阅读 · 1 评论 -
rm双面打印
我想用代码控制RM报表的双面打印,现在的问题是报表页的duplex属性值设为rmdpNone时,通过设置打印机的双面打印属性打出来还是单面,如果直接设置报表页的duplex属性为rmdpHorizontal就可以实现双打,但是我不想在报表中设置,而是在代码中实现,不知道可有办法,请高手指教,十分感谢,我的代码大概如下: Printer.GetPrinter(ADevice,ADriver原创 2012-04-23 15:41:48 · 1961 阅读 · 0 评论 -
怎样获得cpu的序列号
String __fastcall GetCPUID() { #define CPUID dw 0xa20f DWORD dwCPUName, dwCPUReserved1, dwCPUReserved2, dwCPUID; String strCPUID; asm { PUSHAD MOV EAX, 1 CPUID MOV dwCPUName, EAX转载 2012-08-16 13:57:35 · 868 阅读 · 0 评论 -
IdBase64Decoder用法
void __fastcall TForm1::Button1Click(TObject *Sender){this->IdBase64Encoder1->CodeString(Edit1->Text);Edit2->Text = this->IdBase64Encoder1->CompletedInput();Edit2->Text = this->Edit2->Text.Del原创 2012-09-01 19:25:48 · 965 阅读 · 0 评论 -
默认日期格式 不用在控制面板设置了
日期格式yyyy-mm-dd ,yyyy/mm/dd 这样就不用在控制面板设置了头文件SysUtils.hppDateSeparator = '/'DateSeparator = '-'原创 2012-09-03 16:05:24 · 856 阅读 · 0 评论 -
字符集大全
char 和BYTE 一个是无符号的,一个是有符号的,占用空间一样大,只是它们各自能表示数的范围不同而已. char: -127----+128之间 byte=unsigned char: 0-255之间 ASCII、Unicode、UTF-8、UTF-16、UCS、BOM、Endian原创 2012-08-21 14:59:59 · 570 阅读 · 0 评论 -
日期格式yyyy-mm-dd ,yyyy/mm/dd 这样就不用在控制面板设置了
日期格式yyyy-mm-dd ,yyyy/mm/dd 这样就不用在控制面板设置了头文件SysUtils.hppDateSeparator = '/'DateSeparator = '-'原创 2012-09-03 16:05:45 · 2156 阅读 · 0 评论 -
COM中的HRESULT, CLISD,ProgID, DLL注册,COM库函数的知识(COM技术内幕笔记之三)
http://www.cnblogs.com/shipfi/archive/2007/02/12/648465.htmlCOM中的HRESULT, CLISD,ProgID, DLL注册,COM库函数的知识(COM技术内幕笔记之三)通过注册表,可以查找progID,也就是createoleObject的类型字符串。1.COM中的HRESULT:COM函数中返回值一般是HRESU转载 2012-09-04 16:22:41 · 1702 阅读 · 0 评论 -
Delphi 调用 C# Dll 时一个编译问题 mscorlib_TLB.h Ambiguity between 'String' and 'System::String'
I have written an Assembly that also exposed itself as a COM object usingC#.NET. When I am trying to do "Import Type Library" from Delphi 6 Pro I am receiving these errors when trying to compi转载 2012-09-03 22:04:17 · 3107 阅读 · 0 评论 -
BSTR * 赋值注意
BSTR bs=SysAllocString( L""); SysFreeString(sError); AnsiToOLESTR 可以用 WideString 的 Detach Attach 方法来实现。DLL返回:ws.Detach()就可以了。Detach后,WideString不会释放该字串了,由调用者释放。调用时用:WideString原创 2012-09-04 12:31:26 · 2611 阅读 · 0 评论 -
调用com 方法
方法一(须regsvr32注册)导入类,cb中import active ,选择文件。生成tlib、ocx cpp、h文件,添加到工程,包含头文件。TMyClass *m;m->testfun();delete m;方法二 (须regsvr32注册)Variant vappvapp =CreateOleObject("类型字符串");//excel.app myT原创 2012-09-04 17:06:34 · 850 阅读 · 0 评论 -
获取控件所在窗体GetParentForm
Caption = GetParentForm(this->Button1)->ClassName();原创 2012-09-06 17:58:15 · 3273 阅读 · 0 评论 -
cb建立com最简单例子
1、File/New/Other/Activex/Active Library 2、File/New/Other/Activex/Com Object原创 2012-09-08 10:22:44 · 939 阅读 · 0 评论 -
Com 关键词 解释
STDAPI是什么?extern "c" HRESULT __stdcall STDMETHOD ? HRESULT __stdcallSTDMETHODIMP?HRESULT STDMETHODCALLTYPE原创 2012-09-08 10:02:00 · 833 阅读 · 0 评论 -
分数 分子分母
分子分母 int y; Image1->Canvas->Brush->Color = clYellow; TRect rc; rc.left =0; rc.top = 0; rc.right= Image1->Width; rc.Bottom = Image1->Height; Image1->Canvas->FillRect(rc); I原创 2012-09-10 22:45:33 · 1411 阅读 · 0 评论 -
进程 等待 关闭 ShellExecuteEx WaitForSingleObject
void __fastcall TForm1::Button1Click(TObject *Sender){ SHELLEXECUTEINFO sei; ZeroMemory(&sei, sizeof(SHELLEXECUTEINFO)); sei.cbSize = sizeof(SHELLEXECUTEINFO); sei.fMask转载 2012-09-20 09:46:15 · 2640 阅读 · 0 评论 -
gridEh自动列宽 OptimizeWidth
调用OptimizeWidth方法 for( int i=0;iColumns->Count;i++ ) DBGridEh1->Columns->Items[i]->OptimizeWidth(); OptimizeColsWidth 对于char类型的字段,例如char(100),可能实际没有存放100字节,eh计算字段的宽度是原创 2012-10-16 13:52:46 · 1802 阅读 · 0 评论 -
syneditor
Property and method Memo1GutterClick are not compatible.原创 2012-10-16 15:29:07 · 869 阅读 · 0 评论 -
ADOQuery1.Open ExecSQL 内部区别
function TADOQuery.ExecSQL: Integer;begin InitializeMasterFields(Self); Command.Execute(FRowsAffected, EmptyParam); Result := FRowsAffected;end;ADOQuery1.OpenADOQuery1.ExecSQL;d:\pr原创 2012-09-28 19:55:49 · 2737 阅读 · 0 评论 -
ado执行语句是否有结果集
var rs:_Recordset;begin ADODataSet2.Close; rs :=ADOCommand1.Execute(); 无论sql语句是否有结果集,都不报错。不用担心是用open还是用execsql方法了 procedure TForm1.Button2Click(Sender: TObject);var rs:_Record原创 2012-10-16 15:25:08 · 867 阅读 · 0 评论 -
_stddef.h和mem.h在编译时出错
_stddef.h(37): E2141 Declaration syntax error [C++ Error] _stddef.h(133): E2090 Qualifier 'std ' is not a class or namespace name,,,,[C++ Error] mem.h(37):转载 2012-10-26 16:40:34 · 1600 阅读 · 0 评论 -
cb6的DBNavigator删除提示 汉化
(MessageDlg('确认删除此记录吗?', mtConfirmation, //SDeleteRecordQuestion ksr 2012 '确认删除此记录吗?'// mbOKCancel, 0) 改为(MessageBox(GetForegroundWindow(),''确定要删除这条记录吗?'',''确认'',MB_ICONQUESTION原创 2012-11-14 21:08:36 · 928 阅读 · 0 评论 -
rzRzSplitter
左右两个控件,用记事本打开dfm文件,以下两个属性写上OK左右2个控件都设置为alclient UpperLeftControls = ( RzTreeView1) LowerRightControls = ( Panel2)原创 2012-11-29 14:54:20 · 1188 阅读 · 0 评论 -
c++builder 汇编
可以用汇编管理以下寄存器:32 位寄存器: EAX EBX ECX EDX ESP EBP ESI EDI16 位寄存器: AX BX CX DX SP BP SI DI8 位寄存器 : AL BL CL DL AH BH CH DH16 位段寄存器: CS DS SS ES 以及协处理器寄存器堆栈: ST加法计算void __fastcall TForm3::Butt转载 2012-12-01 07:33:40 · 732 阅读 · 0 评论 -
cnpack 菜单顺序
关闭cb、delphi修改注册表重新打开OK!HKEY_CURRENT_USER\Software\CnPack\CnWizards\MenuOrder CnFilesSnapshotWizard是历史文件,改为0 CnAlignSizeWizard 改为12(16进制)(10进制18)原创 2012-11-21 16:18:18 · 653 阅读 · 0 评论 -
grid
dbgirdEH控件设置OptionsEh的dghRowHighlight属性为true,高亮当前行原创 2012-12-17 15:17:42 · 513 阅读 · 0 评论 -
DBGridEh 隔行变色
DBGridEh1.OddRowColor:=clSkyBlue; //奇数行颜色DBGridEh1.EvenRowColor:=clMoneyGreen; //偶数行颜色DBGridEh1.SumList.Active:=True;DBGridEh1.SumList.VirtualRecords:=True;//显示行号和允许调整列宽DBGridEh1.OptionsEh转载 2012-09-29 21:18:58 · 2503 阅读 · 0 评论 -
获取IP地址
头文件#include void __fastcall TForm1::Button1Click(TObject *Sender){ struct hostent *hp; SOCKADDR_IN sa; WSADATA sData; try { if (WSAStartup(MAKEWORD(2,2),&sData) !=原创 2013-01-08 15:53:32 · 546 阅读 · 0 评论 -
连接sqlserver,不是默认实例名
Initial Catalog={database name}; Data Source={instance name}; database name 是数据库的名称instance name 是 SQL Server 实例的名称,注意,这个实例必须指明用户例如我的计算机名是 RARNU,IP是 192.168.0.100那么instance name可以填入 RARNU\转载 2013-01-08 16:05:49 · 4422 阅读 · 0 评论 -
CB默认日期分隔符 DateSeparator
DateSeparator 对于DateSeparator来说,它是DELPHI的一个系统变量,和它相对的还有var DateSeparator: Char; var ShortDateFormat: string; var LongDateFormat: string; var TimeSeparator: Char; v转载 2013-01-09 17:28:11 · 1063 阅读 · 0 评论 -
[Linker Fatal error] Unable to open file 'EDISASM.OBJ'
[Linker Fatal error] Unable to open file 'EDISASM.OBJ'激活了eurekaLog,编译生成的obj文件在当前工程的obj目录中,所以在包含路径Library Path里加上Obj 就可以了原创 2013-02-06 14:39:45 · 1549 阅读 · 0 评论 -
ado连不上sql server数据库
在没有安装delphi或c++builder的电脑上,运行程序,adoconnection组件连不上数据库提示缺少安装的程序重新安装odac组件即可。c:\windows\inf\ 鼠标右键mdac.inf文件,安装,选择xp光盘路径 安装完成OK原创 2013-02-26 07:41:53 · 1270 阅读 · 0 评论 -
[Linker Error] Unresolved external 'WinMain' referenced from C0W32.OBJ
[Linker Error] Unresolved external 'WinMain' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\C0W32.OBJ原因一、打开Project1.prg文件,看看资源文件是否引用了test.res等文件,查找test. 即可。 原因二、用写字板打开bpr文件,查找找到后原创 2012-11-29 12:40:42 · 2652 阅读 · 0 评论 -
clientDataSet控件open后天就fields的源码
d:\program files\borland\delphi7\source\vcl\DBClient.pasclientDataSet控件open后天就fields的源码 procedure TCustomClientDataSet.AddFieldDesc(FieldDescs: TFieldDescList; var DescNo: Integer; var FieldI原创 2013-02-21 13:33:02 · 994 阅读 · 0 评论 -
ClientDataSet动态创建选择字段
void __fastcall TForm1::createField(){ ClientDataSet1->Close();//for(int i = 0 ;i Fields->Count - 1;i++)// ClientDataSet1->Fields->Fields[0]->Free();//释放所有的静态字段 ClientDataSet1->Fields->原创 2013-02-21 14:35:48 · 2818 阅读 · 0 评论 -
[Microsoft][ODBC SQL Server Driver]l连接占线导致另一个hstmt
不要隨隨便便 在 SELECT、UPDATA、INSERT 、DELETE 的execsql;OPEN、ACTIVE:=TRUE 前 加Prepare;特别是这几个组合,要少加。这第五点这个方法能减少90%出现的机率。原因是DELPHI运行太快了导致了你数据库前一个PREPARE没有释放时又产生一个,SQL Server ODBC driver 只允许一个活动的hstmt,记住这个原创 2012-06-26 07:19:50 · 6809 阅读 · 0 评论 -
DELPHI实现类似仿360桌面的程序界面
1.窗体半透明: Alphablend属性为true;Alphablendvalue的值为1002.窗体透明:formCreate:Self.TransparentColor := True;Self.TransparentColorValue := clBlack;self.color := clblack;3.隐藏桌面图标var h: HWND;beg转载 2013-03-08 21:50:01 · 3274 阅读 · 1 评论 -
SendMessage发送字符串参数
#define WM_MY_DOSOME WM_USER+1 // do somethingvoid __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,bool &Handled){if( Msg.message == WM_MY_DOSOME ){Caption = (char*) Msg.lParam;原创 2013-02-26 09:16:21 · 4579 阅读 · 0 评论