程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 使用C++ Builder修改某系統的總結

使用C++ Builder修改某系統的總結

編輯:C++入門知識

 

1.ComboBox的使用:

  1)項的清除:mComShift->Items->Clear();

  2)事件經常用的有:OnDropDown(就是選擇下拉框的時候觸發的)和OnChange(就是下拉框選擇後觸發的)

  3)下拉框的數據加載:可以在OnDropDown事件裡面加載數據,也可以在FormCreate的時候加載數據。一般建議前面一種方法,

     因為當在其他窗體裡面改變了相關的數據的時候,如果是FormCreate的時候加載數據,那麼該下拉框的數據不會隨之而變化。

  4)下拉框綁定數據的時候有兩張方法,下面以下拉框名字為mComShift說明:

     其一:mComShift->Items->AddObject(ADOQuery_Local1->FieldByName("schedulename")->AsString,

            (TObject *)ADOQuery_Local1->FieldByName("scheduleid")->AsInteger);

     其二:  mComShift->Items->AddObject(ADOQuery_Local1->FieldByName("schedulename")->AsString,

            new TValue(ADOQuery_Local1->FieldByName("scheduleid")->AsString));

     如果使用第二種方法需要用到如下類轉換:

     class TValue:public TObject

     {

       public:

             TValue(const AnsiString& value):mValue(value){}

             AnsiString mValue;

     };

  5)獲取下拉框的選擇的數據:  AnsiString scheduleid = ((TValue*)mComShift->Items->Objects[mComShift->ItemIndex])->mValue;

  6)下拉框初始化的默認值:mComShift->ItemIndex=0;//選擇第一個數據

2.提示消息:ShowMessage("message");

3.數據類型轉換:

  1)int-AnsiString:int i=1;AnsiString  j=IntToStr(i);

  2)AnsiString-int:         i=j.ToInt();

 

4.C++Builder 6的環境使用:

  1)F9為調試啟動,F8為一行一行地調試,Run-Program Reset為終止該次的調試。

  2)Object Inspector為各個控件的的屬性視圖,Object TreeView可以清晰地展示該窗體的全部控件

 

5.要注意類的初始化的參數,如:CTShift  *shift = new CTShift(ShiftID,Shiftname, "", StartTime, EndTime, 0);注意參數的

順序要正確

6.Oracle

  1)查詢某張表的前幾天數據:select scheduleid,schedulename from wf_schedule where rownum<=10

  2)“違反唯一約束”的錯誤,即表有一個或多個主鍵的時候,當表有數據,再插入跟主鍵一樣的數據的時候就出現這個情況.

  3)刪除掉某張表的字段:alter TABLE  wf_shift DROP COLUMN  SelectFlag;

 

7.當程序運行出現異常的時候(特別),不妨重新Build All Projects(一次或多次),或者重新打開程序.

8.日志打印的:

  1)該文件為:tlog.h和tlog.cpp

  2)g_logFile.open();TLog g_logFile("WorkForce","1.0",1);g_logFile.print("log" );g_logFile.close();

 

9.ListBox的使用:

  1)動態加載數據:ListBox_NoSelectShift->Items->AddObject(shiftname, new TValue(query->FieldByName("shiftid")->AsString));

  2)判斷選擇項並且取出其中的Name和Id

      for(int i=0;i<ListBox_NoSelectShift->Count;i++)

     {

      if(ListBox_NoSelectShift->Selected[i])

      {

         AnsiString id = ((TValue*)ListBox_NoSelectShift->Items->Objects[ListBox_NoSelectShift->ItemIndex])->mValue;

         AnsiString name = ListBox_NoSelectShift->Items->Strings[i];

         ListBox_SelectShift->Items->AddObject(name, new TValue(id));

         ListBox_NoSelectShift->Items->Delete(i);

      }

     }

10.執行SQL語句(無非有兩種),在該系統裡面適用,直接調用的實例:

  1)非查詢的:  

    AnsiString mySql="";

    DM->ExecSql(mySql);

  2)  查詢的:

    AnsiString strSql="";

    TADOQuery *query = DM->ADOQuery_Comm;

   query->SQL->Clear();query->SQL->Add(strSql);

   query->Open();      query->First();

   while (!query->Eof)

   {

    int ActiveID = query->FieldByName("activeid")->AsInteger;

    //讀取表的字段 www.2cto.com

    query->Next();

   }

          query->Close();

11.m_pVctLstShift.push_back(NewLstShift);//push_back是加載數據

 

摘自 loveheronly的專欄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved