C++ Builder初級調試技術

來源:互聯網
上載者:User

有很多是可以用調試來看到問題所在.只是初學者不知道有這些東東,即使知道也不是如何去用.

我曾經也是這樣.從第一本入門書 BUG 一直困擾自己, 常常用ShowMessage("xxxx");來觀察程式運行現象.

因為本人只學過TC 在TC中代碼寫的不很長,程式流程自己很清楚,也就沒去使用TC的調試器,好象它沒有整合

的調試器. 在BCB下,程式流程總是跳來跳去不象TC下樣結構化編程式樣條理清楚.因為BCB編程中會產生很多

事件,很多內部變化,而且有很多組件.就象組合語言中的標誌寄存器樣,初學者無法掌握它.

我曾經得到一本徐新華遍的<<C++BUILLDER5進階編程之IDE OOP>> 有人認為它是一本爛書,我覺的差不多.

裡面比較全民介紹了BCB整合的調試器,但是裡面沒有用執行個體來講解.本人試來試去也不得其法.最後參加了工作

從工作中及前輩的示範,很快學會了基本調試手段.主要使用 F7 F8 F5 CTRL+F5 因為這些必須組合在一起才

能工作好,就象API函數樣必須有多個函數齊心協力才能辦成事.

這就是我想寫該文章的目的,也可做為我的心得. 現在我們就講講基本的非事件的例子......

我們就來段 :

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
 Image1->Canvas->Font->Name="SimSun";
 Image1->Canvas->Font->Size=30;
 Image1->Canvas->TextOut(0,0,Edit3->Text);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{

  AnsiString Text;
  int i,j;
 for(i=0;i<30;i++)
  {
    for(j=0;j<30;j++)
     {
       if(Image1->Canvas->Pixels[j][i]==clWhite)
          Text=Text+Edit2->Text; ////當然如果你要產生如下的文字,背景就用" ".
            else
              Text=Text+Edit1->Text;
          }
     Memo1->Lines->Add(Text);
     Text="";
   }
}
//---------------------------------------------------------------------------

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.