C++ Builder
6月4
    在Delphi环境下使用PComm Pro通讯函数库必须先引入函数声明,将用到的3个单元文件分别是Global.pas、Mxtool.pas、PComm.pas,预先复制到工程目录中,在工程使用加入单元功能将这3个模块加入工程中即可。
    数据的输入输出包括了串行数据的送出、读入、硬件线路的控制/检测及事件的引发与执行等函数;所有函数均有返回值,错误返回值均以常数定义在PComm.pas模块中,如下:
3月11
if(ACol   <   strngrd_Fare->FixedCols   ||   ARow   <   strngrd_Fare->FixedRows)  
//固定Cell与一般Cell颜色不同  
      strngrd_Fare->Canvas->Brush->Color   =   clBtnFace;  
else  
      strngrd_Fare->Canvas->Brush->Color   =   clWhite;  
strngrd_Fare->Canvas->Brush->Style   =   bsSolid;  
strngrd_Fare->Canvas->FillRect(Rect);  
//调用GDI函数,来使Text居中显示  
::DrawText(strngrd_Fare->Canvas->Handle,strngrd_Fare->Cells[ACol][ARow].c_str(),  
              strngrd_Fare->Cells[ACol][ARow].Length(),&Rect,DT_CENTER | DT_SINGLELINE   |   DT_VCENTER);  
3月11
之前安装了一个TGIFImage控件,用起来还是挺方便的,让本来不支持Gif图片的Builder也用上了动态的GIF图片。

但是今天Builder出了一些问题,于是重装了一下。但是没想到,重装后的Builder不能在代码里加载GIF图片,每次加载时都提示“unknown picture file extension(.GIF) ”。
11月19

转自网络,流的概念主要在cbuilder  和delphi编程环境下的处理,使用流有以下方面

        
  • 1. 使用统一的流的概念来操作各种不同类型的资源。
        2. 通过流将资源保存到不同的介质上,如将组件保存到文件中,将ICON资源调入内存等。 3. 简化一些对象的操作,如TBlobStream和TClientBlobStream
        4. 实现一些原来不好实现的功能,如TWinSocketStream实现超时操作
11月19
在Load中,初始化
this.dateTimePicker1.Format=DateTimePickerFormat.Custom;
his.dateTimePicker1.CustomFormat="   ";
在事件里写:

private void dateTimePicker1_ValueChanged(object sender, System.EventArgs e)
{
this.dateTimePicker1.Format=DateTimePickerFormat.Long;
this.dateTimePicker1.CustomFormat=null;

}
这样就实现了,在程序初始化时dateTimePicker显示为空
11月19
在7月4日看完sockcomp.pas后,我决定用socket api来写一个客户端和服务器并且同时支持TCP,UDP协议,于是我就去做,现将代码贴出来(已调试通过)
Socket api Client:
#ifndef UDPClientH
#define UDPClientH
#include
#include
#include
#include
#include
#include "CCEdit.h"
#define WM_SOCK WM_USER+100
class TLANForm : public TForm
11月19
将DBGrid的options下dgEditing设为false:  
  DBGrid->Options   =   TDBGridOptions(DBGrid->Options)>>dgEditing;  
  将DBGrid的options下dgEditing设为true:  
  DBGrid->Options   =   TDBGridOptions(DBGrid->Options)<  为DBGrid的options赋一个新值,其中dgEditing、dgAlwaySowEditor、dgTitle三项设为true,其余均为false:  
  DBGrid->Options   =   TDBGridOptions()<
11月19
  一、创建:
  使用BCB File|NEW建立一个新的DLL工程,并保存好文件BCB,生成一个DLL的程序框架。
  1.DllEntryPoint函数为一个入口方法,如果使用者在DLL被系统初始化或者注销时被调用,用来写入对DLL的初始化程序和卸载程序;参数:hinst用来指示DLL的基地址;reason用来指示DLL的调用方式,用于区别多线程单线程对DLL的调用、创建、卸载DLL;
  2.在程序中加入自己所要创建的DLL过程、函数;
  3.用dllimport描述出口;
Tags: , , , ,
9月24
解决DBGrid的鼠标滚动的方法
1. Add in .h file:
private: // 添加声明
void __fastcall (__closure *OldProc)(Messages::TMessage &Message);
void __fastcall NewProc(TMessage &Message);

2. Add in .cpp file:

// 添加以下语句到OnFormCreate事件中
OldProc = DBGrid1->WindowProc;
DBGrid1->WindowProc = NewProc;
9月15
刚换用c++ builder 2009,不大熟悉,加上网上有关这方面的资料也比较少,现有的创建access的mdb数据库的方法都是bcb6的,直接用在c++ builder 2009上会出错。想了两个简单的方法来绕过去,第一种方法是copy法,把一个空的库随程序一起发布,需要创建库的时候直接拷贝一个,改改名字就可以了,这种方法好处是简单,但是也比较笨。另外一个方法是利用bcb创建库的代码创建一个dll,在c++ builder 2009调用这个dll就可以动态生成mdb的库了。创建方法:
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]