设为首页 加入收藏

TOP

C++ Builder修改某系统的总结
2014-04-07 00:36:54 来源: 作者: 【 】 浏览:116
Tags:  Builder 修改 系统 总结

  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;//读取表的字段query->Next();} query->Close();11.m_pVctLstShift.push_back(NewLstShift);//push_back是加载数据

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇掌握C++ builder的除错艺术 下一篇C++builder 多线程下载实际..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·在 Redis 中如何查看 (2025-12-26 03:19:03)
·Redis在实际应用中, (2025-12-26 03:19:01)
·Redis配置中`require (2025-12-26 03:18:58)
·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)