我爱builder

C++Builder 程序员博客

//CRC校验
uint fun_SerialCRC(uchar *puchMsg, uint usDataLen)
{
uchar uchCRCHi;
uchar uchCRCLo;
uint uIndex ;

uchCRCHi = 0xff;
uchCRCLo = 0xff;

while (usDataLen–)
{
uIndex = uchCRCHi ^ *puchMsg++;
uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex];
uchCRCLo = auchCRCLo[uIndex];
}

return (uchCRCHi < < 8 &brvbar uchCRCLo);
}

//RS485
//for high byte of CRC
uchar code auchCRCHi[] = {
0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0,
0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41,
0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0,
0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40,
0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1,
0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41,
0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1,
0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41,
0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0,
0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40,
0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1,
0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40,
0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0,
0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40,
0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0,
0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40,
0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0,
0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41,
0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0,
0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41,
0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0,
0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40,
0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1,
0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41,
0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0,
0×80, 0×41, 0×00, 0xC1, 0×81, 0×40
};

//for low byte of CRC
uchar code auchCRCLo[] = {
0×00, 0xC0, 0xC1, 0×01, 0xC3, 0×03, 0×02, 0xC2, 0xC6, 0×06,
0×07, 0xC7, 0×05, 0xC5, 0xC4, 0×04, 0xCC, 0×0C, 0×0D, 0xCD,
0×0F, 0xCF, 0xCE, 0×0E, 0×0A, 0xCA, 0xCB, 0×0B, 0xC9, 0×09,
0×08, 0xC8, 0xD8, 0×18, 0×19, 0xD9, 0×1B, 0xDB, 0xDA, 0×1A,
0×1E, 0xDE, 0xDF, 0×1F, 0xDD, 0×1D, 0×1C, 0xDC, 0×14, 0xD4,
0xD5, 0×15, 0xD7, 0×17, 0×16, 0xD6, 0xD2, 0×12, 0×13, 0xD3,
0×11, 0xD1, 0xD0, 0×10, 0xF0, 0×30, 0×31, 0xF1, 0×33, 0xF3,
0xF2, 0×32, 0×36, 0xF6, 0xF7, 0×37, 0xF5, 0×35, 0×34, 0xF4,
0×3C, 0xFC, 0xFD, 0×3D, 0xFF, 0×3F, 0×3E, 0xFE, 0xFA, 0×3A,
0×3B, 0xFB, 0×39, 0xF9, 0xF8, 0×38, 0×28, 0xE8, 0xE9, 0×29,
0xEB, 0×2B, 0×2A, 0xEA, 0xEE, 0×2E, 0×2F, 0xEF, 0×2D, 0xED,
0xEC, 0×2C, 0xE4, 0×24, 0×25, 0xE5, 0×27, 0xE7, 0xE6, 0×26,
0×22, 0xE2, 0xE3, 0×23, 0xE1, 0×21, 0×20, 0xE0, 0xA0, 0×60,
0×61, 0xA1, 0×63, 0xA3, 0xA2, 0×62, 0×66, 0xA6, 0xA7, 0×67,
0xA5, 0×65, 0×64, 0xA4, 0×6C, 0xAC, 0xAD, 0×6D, 0xAF, 0×6F,
0×6E, 0xAE, 0xAA, 0×6A, 0×6B, 0xAB, 0×69, 0xA9, 0xA8, 0×68,
0×78, 0xB8, 0xB9, 0×79, 0xBB, 0×7B, 0×7A, 0xBA, 0xBE, 0×7E,
0×7F, 0xBF, 0×7D, 0xBD, 0xBC, 0×7C, 0xB4, 0×74, 0×75, 0xB5,
0×77, 0xB7, 0xB6, 0×76, 0×72, 0xB2, 0xB3, 0×73, 0xB1, 0×71,
0×70, 0xB0, 0×50, 0×90, 0×91, 0×51, 0×93, 0×53, 0×52, 0×92,
0×96, 0×56, 0×57, 0×97, 0×55, 0×95, 0×94, 0×54, 0×9C, 0×5C,
0×5D, 0×9D, 0×5F, 0×9F, 0×9E, 0×5E, 0×5A, 0×9A, 0×9B, 0×5B,
0×99, 0×59, 0×58, 0×98, 0×88, 0×48, 0×49, 0×89, 0×4B, 0×8B,
0×8A, 0×4A, 0×4E, 0×8E, 0×8F, 0×4F, 0×8D, 0×4D, 0×4C, 0×8C,
0×44, 0×84, 0×85, 0×45, 0×87, 0×47, 0×46, 0×86, 0×82, 0×42,
0×43, 0×83, 0×41, 0×81, 0×80, 0×40
};

我在头文件里增加typedef unsigned int uint;
typedef unsigned char uchar;
还是不行,有两个问题:
1、uchar code auchCRCHi[] 怎么处理?
2、__fastcall TForm1::uint fun_SerialCRC(uchar *puchMsg, uint usDataLen);在声明时也提示不正确。
我是新手,请再指教,谢谢!

引用 1 楼 akirya 的回复:
增加typedef unsigned int uint;
typedef unsigned char uchar;
然后直接copy代码过去用.

C/C++ code
#define code typedef unsigned int uint; typedef unsigned char uchar; //RS485 //for high byte of CRC uchar code auchCRCHi[] = { 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40, 0×01, 0xC0, 0×80, 0×41, 0×01, 0xC0, 0×80, 0×41, 0×00, 0xC1, 0×81, 0×40 }; //for low byte of CRC uchar code auchCRCLo[] = { 0×00, 0xC0, 0xC1, 0×01, 0xC3, 0×03, 0×02, 0xC2, 0xC6, 0×06, 0×07, 0xC7, 0×05, 0xC5, 0xC4, 0×04, 0xCC, 0×0C, 0×0D, 0xCD, 0×0F, 0xCF, 0xCE, 0×0E, 0×0A, 0xCA, 0xCB, 0×0B, 0xC9, 0×09, 0×08, 0xC8, 0xD8, 0×18, 0×19, 0xD9, 0×1B, 0xDB, 0xDA, 0×1A, 0×1E, 0xDE, 0xDF, 0×1F, 0xDD, 0×1D, 0×1C, 0xDC, 0×14, 0xD4, 0xD5, 0×15, 0xD7, 0×17, 0×16, 0xD6, 0xD2, 0×12, 0×13, 0xD3, 0×11, 0xD1, 0xD0, 0×10, 0xF0, 0×30, 0×31, 0xF1, 0×33, 0xF3, 0xF2, 0×32, 0×36, 0xF6, 0xF7, 0×37, 0xF5, 0×35, 0×34, 0xF4, 0×3C, 0xFC, 0xFD, 0×3D, 0xFF, 0×3F, 0×3E, 0xFE, 0xFA, 0×3A, 0×3B, 0xFB, 0×39, 0xF9, 0xF8, 0×38, 0×28, 0xE8, 0xE9, 0×29, 0xEB, 0×2B, 0×2A, 0xEA, 0xEE, 0×2E, 0×2F, 0xEF, 0×2D, 0xED, 0xEC, 0×2C, 0xE4, 0×24, 0×25, 0xE5, 0×27, 0xE7, 0xE6, 0×26, 0×22, 0xE2, 0xE3, 0×23, 0xE1, 0×21, 0×20, 0xE0, 0xA0, 0×60, 0×61, 0xA1, 0×63, 0xA3, 0xA2, 0×62, 0×66, 0xA6, 0xA7, 0×67, 0xA5, 0×65, 0×64, 0xA4, 0×6C, 0xAC, 0xAD, 0×6D, 0xAF, 0×6F, 0×6E, 0xAE, 0xAA, 0×6A, 0×6B, 0xAB, 0×69, 0xA9, 0xA8, 0×68, 0×78, 0xB8, 0xB9, 0×79, 0xBB, 0×7B, 0×7A, 0xBA, 0xBE, 0×7E, 0×7F, 0xBF, 0×7D, 0xBD, 0xBC, 0×7C, 0xB4, 0×74, 0×75, 0xB5, 0×77, 0xB7, 0xB6, 0×76, 0×72, 0xB2, 0xB3, 0×73, 0xB1, 0×71, 0×70, 0xB0, 0×50, 0×90, 0×91, 0×51, 0×93, 0×53, 0×52, 0×92, 0×96, 0×56, 0×57, 0×97, 0×55, 0×95, 0×94, 0×54, 0×9C, 0×5C, 0×5D, 0×9D, 0×5F, 0×9F, 0×9E, 0×5E, 0×5A, 0×9A, 0×9B, 0×5B, 0×99, 0×59, 0×58, 0×98, 0×88, 0×48, 0×49, 0×89, 0×4B, 0×8B, 0×8A, 0×4A, 0×4E, 0×8E, 0×8F, 0×4F, 0×8D, 0×4D, 0×4C, 0×8C, 0×44, 0×84, 0×85, 0×45, 0×87, 0×47, 0×46, 0×86, 0×82, 0×42, 0×43, 0×83, 0×41, 0×81, 0×80, 0×40 }; uint fun_SerialCRC(uchar *puchMsg, uint usDataLen) { uchar uchCRCHi; uchar uchCRCLo; uint uIndex ; uchCRCHi = 0xff; uchCRCLo = 0xff; while (usDataLen) { uIndex = uchCRCHi ^ *puchMsg++; uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex]; uchCRCLo = auchCRCLo[uIndex]; } return (uchCRCHi << 8 | uchCRCLo); }

这是我做的小例子的源码,谁帮忙看一下问题出在哪里?谢谢!
http://download.csdn.net/source/605216

  • Filed under: C++ Builder
  • API函数有没有可以开发组播程序的啊?

    msdn上socket   sdk里比较详细
    大致是这些
    socket
    bind
    setsockopt
    WSAIoctl
    WSAJoinLeaf
    sendto

    我试着写了一下,但是用到WSAIoctl时我无法通过连接,但是编译没有问题,是怎么回事呢,是不是我缺少什么东西?

    哦,我知道到了,加上#pragma   comment(lib, "ws2_32.lib ")就可以了

    汗死,当初怎么回答出这个答案来的

    那确实

  • Filed under: C++ Builder
  • __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    这个语句的后面的冒号什么意思呀

    谢谢了

    楼上正解

    成员初始化列表,有时会比直接赋值操作效率高一些。

    初始化父类的。

    就是初始化

    初始化基类

    构造基类

    因为你这个类是继承TForm类的
    TForm类的构造函数要求带参数的初始化函数。
    这个语法是派生类在进行初始化时一定要做的。

    这个是C++的基本语法耶,建议楼主选看看C++的语法。

    初始化

    基本C++语法

  • Filed under: C++ Builder
  • 如何在C++Builder里用函数读取图片文件的尺寸大小

    特意来看看..

    看看bmp的文件结构,也可以很容易读出来。

    用TImage加载图象后他的Width和Height就是图像分辨率

    学习

    了解了

    这个知道了.不过复习一下也好.哈

    楼2正解

    学习

  • Filed under: C++ Builder
  • 我想拟合高斯函数,求解高斯函数的三个参数。想问一下有什么好的办法呢?不想要程序,只想看算法。谢谢!

    高斯拟合我以前没有搞过,我只搞过B样条拟合。

    在确定B样条拟合时,可以考虑使用最小二乘法来确定每个系数。这样会比较有效率。

    详细的内容,你应该参考最小二乘法的说明会好一些。

    我想再问一下楼上关于最小二乘法。

    线性方程组我已经得到了,但问题是方程组系数矩阵的第一列值太大了,以至于比第二列、第三列高好几个数量级。这种情况下我的线性方程组总是得不到很准确地解,而且当X值增大时,*X*X*X迅速增大,而使得矩阵中的第二列、第三列数据溢出?

    这可怎么办呀?

    回楼上,你说的这个情况我以前没有碰到过。但是可以考虑用坐标转换:

    例如:令X'=0.001*X,大概可以解决一些问题。如果再不行,用对数。

  • Filed under: C++ Builder
  • void call()
    {
    printf("!!!!");
    }
    int main()
    {
    void (*callback)();
    callback=call;    //在这出错    Member function must be called or its address taken
    callback();
    system("pause");
    }

    在VC不会报错输出也正确,但再c++ builder就会出错。为什么会这样?

    知道原因了,原来要把call()定义成全局的
    感谢上楼

    对的呀!
    在C++BUILDER下,什么错也没有!
    void call()
    {
        ShowMessage("OK");
    }

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
          void (*callback)();
          callback=call;
          callback();
    }
    //—————————————————————————
    callback不需全局变量,是在栈中分配的!

    该回复于2008-08-03 13:19:11被版主删除

    突然想起!
    TButton::Chick是怎样实现的;
    TForm::OnChick()
    {
    }
    比如Button1->Chick=OnChick;
    但点击button1时就会执行OnChick()中的语句
    OnChick()即不是全局函数也不是静态函数

    TButton::Chick是怎样实现的呢

    楼主好象刚学C++BUILDER,未入门呢

    该回复于2008-08-04 14:27:51被版主删除

    引用 6 楼 BCBPLC 的回复:
    楼主好象刚学C++BUILDER,未入门呢

    是啊,刚学不久

    Button1->Chick=OnChick;
    用的是 BCB 自己定义的一个类型
    有必要看
    _closure 关键字用法
    闪腿咯

    呵呵,明白了。
    _closure 定义的指针能赋予任何指针

  • Filed under: C++ Builder
  • 这个函数该如何调用?(不会传入参数)

    __int16 rf_load_key(HANDLE icdev,unsigned char _Mode,unsigned char SecNr, unsigned char * _Nkey);

    功能:向读写器的RAM 装入密码

    参数:HANDLE icdev:rf_init() 返回的设备描述符
    unsigned char _Mode :同 rf_authentication()  加密模式,1
    unsigned char _SecNr :同 rf_authentication() 端口,1
    unsigned char *_Nkey :包含了要写入硬件系统RAM 中的卡密码  密码:6个F
    返回:成功则返回 0

    C/C++ code
    typedef BYTE (__stdcall *FUNCPTR)(HANDLE ,unsigned char ,unsigned char , unsigned char * ); HINSTANCE hinst=LoadLibrary("XXX.dll"); FUNCPTR p=(FUNCPTR)GetProcAddress(hinst,"rf_load_key"); //下面是假设得调用,你需要干什么,然后自己调用 p(0,1,1, "FFFFFF");

    akirya ,照你的写法写了,提示 cannot convert AnsiString to void *

    顶,在线等指点……

    …..

  • Filed under: C++ Builder
  • c++的dll代码:
      char string1[1000]="第二窗口";
      ……
      //向vb窗口发送74消息
      SendMessage(m_hWnd,74,strlen(string1),(LPARAM)&string1);
      //dll标记1

    vb的窗口函数处理代码:
          Private Sub Form_Load()
              Me.Caption = "我的窗口"
              …..
          End Sub
          Public Function WndProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
              Dim a() As Byte, i As Long, str1 As String
              If 74 = uMsg Then
                  ReDim a(wParam - 1)
                  CopyMemory a(0), ByVal lParam, wParam
                  str1 = StrConv(a, vbUnicode)
                  Form1.Text1 = Form1.Text1 + Chr(13) + Chr(10) + str1
                  WndProc = 0
              Else
                  WndProc = CallWindowProc(GetProp(hWnd, OLDWNDPROC), hWnd, uMsg, wParam, lParam)
              End If

    vb窗口程序加载了dll
    为什么当dll运行到dll标记1的地方,vb窗口的标题有原来的"我的窗口"被改为:"第二窗口"?
    我也尝试过用:12消息SendMessage(m_hWnd,12,strlen(string1),(LPARAM)&string1);可就要么得不到消息,要么跟上面一样?为什么?如何解决?

    If 74 = uMsg Then
                  ReDim a(wParam - 1)
                  CopyMemory a(0), ByVal lParam, wParam
                  str1 = StrConv(a, vbUnicode)
                  Form1.Text1 = Form1.Text1 + Chr(13) + Chr(10) + str1
                  WndProc = 0

    看你的代码呀

    你这个窗口收到74号消息时会执行这里的东东,所以窗口的标题会被更改!

    这样的代码也是不行的:
    If 12 = uMsg Then
                  ReDim a(wParam - 1)
                  CopyMemory a(0), ByVal lParam, wParam
                  str1 = StrConv(a, vbUnicode)
                  Form1.Text1 = Form1.Text1 + Chr(13) + Chr(10) + str1
                  WndProc = CallWindowProc(GetProp(hWnd, OLDWNDPROC), hWnd, uMsg, wParam, lParam)
    End If
    WndProc = CallWindowProc(GetProp(hWnd, OLDWNDPROC), hWnd, uMsg, wParam, lParam)

    如何解决?

    ?

    怎么VB的代码跑这来了?

    Form1.Text1 = Form1.Text1  + str1

    我的代码没有问题!
    是:74号和12号消息的问题!
    那消息在系统操作过程中,系统会认为用户要用发去的字符串去代替vb窗口标题!所以系统回想办法去更改vb窗口标题!
    不过有时候更改不成功的!有时候会更改成功!

  • Filed under: C++ Builder
  • 声明:本贴中,千万别在bcb和vc之间打仗,没意义。请针对我的郁闷给点实质有用的建议,谢谢!
    一直用vc,想学习下bcb,刚好要处理一个bcb开发的工程,碰到些问题,求解。

    用bcb6.0写了个hello world,ok!
    用bcb6.0打开一个现有的bcb工程,这个工程比较大。bcb中对一个函数"go to definition",目前我知道的方法是:按住ctrl键然后单击。在hello world程序中这一功能还能忍受,但在这个现有的工程一执行这个跳转到定义的操作,bcb就“死”了,有时耐心地多等一会儿就完成了跳转操作,有时候等几分钟也反应不过来,只好在资源管理器中强行结束bcb。

    综上,这样子怎么做开发,读、写程序啊,简直烦死人!bcb传说中一直很好用的,以上问题是因为什么?
    1、有什么设置我没有设置好?请给出你的帮助和见解,谢谢!
    2、是电脑配置弱的问题吗?2.2Ghz, 256×3Mb内存,笔记本;不过我比较看了下,vc启动时只需要4m多内存,而bcb需要40多m,打开一个工程更是不得了,怎么这么占资源?我用过labwindows/cvi够占资源的了也不过如此。

    给点建议见解,让我的bcb好用起来,非常谢谢!

    bcb的查找定义功能确实很慢,楼主可以试试bcb2007,它要快一点,不过安装很慢-_-

    同情楼主

    机器只能是这样,只好少使用这个功能了。熟悉了一下,通过查看project manager / classes等,原始点手动寻找。

    敢问:bcb2006 or bcb 2007 是否能向下兼容bcb6.0的工程?

    需要升级到新版,可能会有一些错误,但是都可以解决!

    但是用6.0都成问题的话,用2007也不见的快多少!

    的确很慢。建议手动查找。

    Ctrl+F,输入函数名,在全部文件中查找

    这个功能基本是废的

    只听到硬盘咣咣想,也不知道它去哪儿找了。

    有的时候我看了都着急,“打住打住,别跑远了……”。

    我的老电脑01年配置的都不敢装BCB2007,Win2000下运行BCB6还可以

    机器慢的话,把代码提示打开,鼠标在变量上晃两晃,常常卡得你毛躁…..
    我的耐性就这么锻炼出来了

    代码提示==东西 其实是要后台编译的
    bcb编译慢 所以这些功能都不好用
    delphi就非常快了

    哈哈哈哈
    ctrl+f

    要解决你的问题还是给你介绍点插件吧,装上第一个插件就快了。

    // 提高编译速度
    Bcc32Pch IDE Plugin      http://andy.jgknet.de/cpp
      去掉下列勾选,使用没有任何问题
      Use external linker (ilink32.exe)
      Replace built-in Compile

    // 这个在知道cpp里定位就就非常方便
    cnpack                  http://www.cnpack.org

    该回复于2008-07-10 02:40:20被版主删除

  • Filed under: C++ Builder
  • CG2007中似乎不支持对独立函数的测试.只能针对类的成员函数.
    那这部分函数的测试该如何进行呢?

    其实,我希望的测试环境应该支持这样的特征:

    当拥护新增一些函数后,运行测试工具,测试工具会侦测到有未经过测试的函数,类,模块出现.
    然后提醒用户添加相应的测试代码.

    最近在看一本老书,2004年买的,有关UML与面向对象设计的
    很多事情必须从机制上找到一种方式来解决.
    如果一切都是"you can…",那么整个软件工程就没有继续发展的理由了.
    那时候的编程是这样的:
    打开二进制编辑器,开始写"00 00 40 54…"

    自己写一个测试程序不久可以?

    测试程序需要全面覆盖.
    这个要求让自己来实现,不太现实.

    自己写测试的程序拉

  • Filed under: C++ Builder
  • 类别

    最新

    标签

    链接


    存档