首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

【100分】VS2005 读取TXT内容并显示到comboBox中

2012-12-25 
【100分求救】VS2005 读取TXT内容并显示到comboBox中效果图如下:我的系统配置参数存在machType.sav文件中,能

【100分求救】VS2005 读取TXT内容并显示到comboBox中
效果图如下:
【100分】VS2005 读取TXT内容并显示到comboBox中

我的系统配置参数存在machType.sav文件中,能使用记事本编辑,内容如下:


Header 1
Header 2
MACH_6450=0
协议盒TYPE=0
蓝牙类型=2
分体机=0
ui_type=1
支持键扫=0


现在想实现的就是点击“保存”按钮就将文件中对应的属性读取并显示到对应的combobox中,我的测试显示代码如下:

//保存按键点击事件
private: System::Void btnSave_Click(System::Object^  sender, System::EventArgs^  e) {

char* fileDir = "E:\\ModifyData\\ModifyData\\sd\\ndfh\\system_init\\matchType.sav";
char* readBuf;
    char header[BUFSIZE];
FILE* fp;

readBuf = (char*)malloc(BUFSIZE);

if((fp = fopen(fileDir,"r"))==NULL){
printf("can not open the file: %s",fileDir);
exit(-1);
}

/*
if((fgets(readBuf,BUFSIZE,fp))!=NULL){
cmbMach_6450->Text = gcnew String(readBuf);
}
*/


char key[ARGS_NUM][BUFSIZE] = {"MACH_6450","协议盒TYPE","蓝牙类型","分体机","ui_type","支持键扫"};
char cmbName[ARGS_NUM][BUFSIZE] = {"cmbMach_6450","cmbProtocol","cmbBTtype","cmbSeparate","cmbUI_type","cmbKey"};
char value[ARGS_NUM][10];  //属性值
char keyBuf[BUFSIZE],valueBuf[10],cmbNameBuf[BUFSIZE];

fgets(header,sizeof(readBuf),fp);  
fgets(header,sizeof(readBuf),fp);//先把前面两行读走

while((fgets(readBuf,sizeof(readBuf),fp))!=EOF){
sscanf(readBuf,"%s=%s",keyBuf,valueBuf); 
for(int i=0;i<ARGS_NUM;i++){
  if(keyBuf == key[i]){
  cmbNameBuf = cmbName[i];  //根据keyBuf 找到对应的comboBox控件的名称
/* 该怎么添加代码,把对应的valueBuf值填到对应的name= cmbNameBuf的comboBox中去呢?*/
}
}

}

fclose(fp);
 }


我不知道该怎么通过cmbNameBuf 找到对应的combobox控件,然后设置他的值,请大家不吝赐教 ,先谢谢大家了
[解决办法]
combobox控件的Tag属性绑定上combobox控件的名称
foreach (ComboBox cbo in this.Controls)
            {
                if (cbo.Tag.ToString() == "控件名称字符串")
                {
                    cbo.Items.Add(你要加的值);
                }
            }
C#描述的(不会C++)  但是你应该能听懂
[解决办法]
稍后我给你上代码
[解决办法]
sscanf(readBuf,"%s=%s",keyBuf,valueBuf); 
应改为
sscanf(readBuf,"%[^=]=%s",keyBuf,valueBuf);
 

热点排行