使用C++ 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)
{
intActiveID = query->FieldByName("activeid")->AsInteger;
//读取表的字段
query->Next();
}
query->Close();

11.m_pVctLstShift.push_back(NewLstShift);//push_back是加载数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值