13,825
社区成员
发帖
与我相关
我的任务
分享
pif = new TIniFile(FileName);
map <int,AnsiString > mapint;
map <int,AnsiString>::iterator m_iter;
TStrings *stringlist = new TStringList(NULL); //创建TString对象;
if(dxtbcntnrdckst1->ActiveChildIndex==0) //采集表
{
if(cxPageControl1->ActivePageIndex==0) //单点遥信
{
pif->WriteInteger("CollectTable","SPSignalNum",cxspndt1->Text.ToInt());
for(int i =0;i<collectYX->RowCount-1;i++)
{
mapint.insert(make_pair(StrToInt(collectYX->Cells[1][i+1]),collectYX->Cells[2][i+1]));
}
//判断 arrinerid[i]中有无重复点号;
if(mapint.size()!=(collectYX->RowCount-1))
{
ShowMessage("采集点表内部点号不允许有重复,请检查后修改!");
return ;
}
//先遍历ini文件区,用DELETEkey方法,将原采集表单点遥信区清空;
pif->ReadSection("CollectTable.SPSignalName", stringlist) ;
int valueNum = stringlist->Count; //获取该区元素个数;
for (i = 0; i <valueNum; i++) //遍历,清除该区元素,
{
pif->DeleteKey("CollectTable.SPSignalName",stringlist->Names[i]);
}
pif->UpdateFile();
for(m_iter = mapint.begin(); m_iter != mapint.end();m_iter++)
{
pif->WriteString("CollectTable.SPSignalName",m_iter->first,m_iter->second) ;
}
}