C++快速上手笔记

因为要对线程进行测试,所以用BCB写了一段代码,长时间没用,有点儿生疏了。所以,决定把某些常见内容写下来供下次使用时快速上手。
首先,这是对于Pascal程序员使用BCB快速入门;其次,这里面的内容也许会增加更多内容;目的仅仅是为了能够快速上手。很抱歉不是给入门小白用的。
1.指针转换
  TObject* AObj = (TObject *)FList->Items[i];
2.创建释放  
  TForm* AForm = new TForm1(NULL);
  try
    {
AForm->ShowModal();
    }
  __finally
    {
      //释放
      delete AForm;//AForm->Free();
      AForm = NULL;
    }
3.空指针NULL及判断
  //重要:双等号!双等号!双等号!
  if (AList == NULL){return;}
4.异常捕获
  try
    {
    
    }
  __finally
    {
    }



  try
    {
    
    }
  catch (Exception &exception)
    {
      Application->ShowException(&exception);
    }
5.格式化输出
  AnsiString sTemp = Format("Hello,%s", ARRAYOFCONST(("World")));
  this->Caption = sTemp;  
  //注意:
  //1:字符串用双引号!字符串用双引号!字符串用双引号!
  //2:ARRAYOFCONST(())有两个括号。
6.创建与继承
//声明类
class TMyThread : public TThread
{
protected:
void __fastcall Execute(void);
public:
        __fastcall TMyThread(bool CreateSuspended);
};
//实现类
void __fastcall TMyThread::Execute(void)
{
        while (! this->Terminated)
        {
                Sleep(100);
        }
}


__fastcall TMyThread::TMyThread(bool CreateSuspended): TThread(CreateSuspended)
{


}
//注意:CreateSuspended参数和该析构函数的声明以及实现方法!!!
7.创建函数,需要在.h文件中声明函数
void __fastcall ClearThread(TList *AList)
{
        if (AList == NULL){
                return;
        }
        for (int i = 0; i < AList->Count; i++){
                TThread* AThread = (TThread*)AList->Items[i];
                if (AThread != NULL){
                        AThread->Terminate();
                        if (AThread->Suspended){
                                AThread->Resume();
                        }
                }
        }
        for (int i = AList->Count - 1; i >= 0; i--){
                TThread* AThread = (TThread*)AList->Items[i];
                if (AThread != NULL){
                        AThread->WaitFor();
                        delete AThread;
                        AThread = NULL;
                }
                AList->Delete(i);
        }
}
//此处的TMyThread就是上面的TMyThread
int __fastcall CreateThreads(TList *AList, int ACount){
        if (AList == NULL){
                return 0;
        }
        int iCount = 0;
        for (int i = 0; i < ACount; i++){
                TThread* AThread = new TMyThread(true);
                AList->Add(AThread);


                AThread->Resume();
                iCount++;
        }
        return iCount;
}

猜你喜欢

转载自blog.csdn.net/yayongm/article/details/80077481
今日推荐