int write_display_config_file(unsigned char * lpFilepath,ZHR_DISPLAY_MANAGER * lpDisplay,int count)
{
int ret = 0;
CStdioFile pf;
CString str;
int nWave,nActive,nFull;
ZHR_DISPLAY_MANAGER * lp;
int i,k;

if(!pf.Open((char*)lpFilepath,CFile::modeCreate|CFile::modeWrite))
{
return 0;
} str = "[0]\r\n";
pf.WriteString(str);
str.Format("count=%d\r\n",count);
pf.WriteString(str);
str = "copyright=32000\r\n\r\n";
pf.WriteString(str);

for(i=0;i<count;i++)
{
str.Format("[%d]\r\n",i+1);
pf.WriteString(str);
lp = lpDisplay+i; nWave = 0;
nActive = 0;
nFull = 0;
for(k=0;k<20;k++)
{
if(lp->pActiveMode.pWaveDisplay[k].bDisplayValid)
nActive++;
if(lp->pWaveMode.pWaveDisplay[k].bDisplayValid)
nWave++;
if(lp->pFullMode.pWaveDisplay[k].bDisplayValid)
nFull++;
}
str.Format("active_mode=%d\r\n",nActive);
pf.WriteString(str);
str.Format("wave_mode=%d\r\n",nWave);
pf.WriteString(str);
str.Format("full_mode=%d\r\n",nFull);
pf.WriteString(str); for(k=0;k<nActive;k++)
{
str.Format("<%d.%d>\r\n",i+1,k+1);
pf.WriteString(str);
if(lp->pActiveMode.pWaveDisplay[k].bDisplayValid)
{
str = "valid=1\r\n";
}
else
{
str = "valid=0\r\n";
}
pf.WriteString(str); str.Format("display_mode=%d\r\n",lp->pActiveMode.pWaveDisplay[k].nDisplayMode);
pf.WriteString(str); str.Format("sweep_speed=%d\r\n",lp->pActiveMode.pWaveDisplay[k].nSweepSpeed);
pf.WriteString(str); str.Format("refresh_rate=%d\r\n",lp->pActiveMode.pWaveDisplay[k].nRefreshRate);
pf.WriteString(str); str.Format("text_font_type=%d\r\n",lp->pActiveMode.pWaveDisplay[k].nTextFontType);
pf.WriteString(str); str.Format("label_width=%d\r\n",lp->pActiveMode.pWaveDisplay[k].nLabelWidth);
pf.WriteString(str); str.Format("wave_size=%d\r\n",lp->pActiveMode.pWaveDisplay[k].dwWaveSize);
pf.WriteString(str); str.Format("rect=%d,%d,%d,%d\r\n",\
lp->pActiveMode.pWaveDisplay[k].pRect[0],\
lp->pActiveMode.pWaveDisplay[k].pRect[1],\
lp->pActiveMode.pWaveDisplay[k].pRect[2],\
lp->pActiveMode.pWaveDisplay[k].pRect[3]);
pf.WriteString(str); str.Format("color=0x%x\r\n",lp->pActiveMode.pWaveDisplay[k].Color);
pf.WriteString(str);
}

for(k=0;k<nWave;k++)
{
str.Format("<%d.%d>\r\n",i+1,k+101);
pf.WriteString(str);
if(lp->pWaveMode.pWaveDisplay[k].bDisplayValid)
{
str = "valid=1\r\n";
}
else
{
str = "valid=0\r\n";
}
pf.WriteString(str);

str.Format("display_mode=%d\r\n",lp->pWaveMode.pWaveDisplay[k].nDisplayMode);
pf.WriteString(str);

str.Format("sweep_speed=%d\r\n",lp->pWaveMode.pWaveDisplay[k].nSweepSpeed);
pf.WriteString(str);

str.Format("refresh_rate=%d\r\n",lp->pWaveMode.pWaveDisplay[k].nRefreshRate);
pf.WriteString(str);

str.Format("text_font_type=%d\r\n",lp->pWaveMode.pWaveDisplay[k].nTextFontType);
pf.WriteString(str);

str.Format("label_width=%d\r\n",lp->pWaveMode.pWaveDisplay[k].nLabelWidth);
pf.WriteString(str);

str.Format("wave_size=%d\r\n",lp->pWaveMode.pWaveDisplay[k].dwWaveSize);
pf.WriteString(str);

str.Format("rect=%d,%d,%d,%d\r\n",\
lp->pWaveMode.pWaveDisplay[k].pRect[0],\
lp->pWaveMode.pWaveDisplay[k].pRect[1],\
lp->pWaveMode.pWaveDisplay[k].pRect[2],\
lp->pWaveMode.pWaveDisplay[k].pRect[3]);
pf.WriteString(str);

str.Format("color=0x%x\r\n",lp->pWaveMode.pWaveDisplay[k].Color);
pf.WriteString(str);
} for(k=0;k<nFull;k++)
{
str.Format("<%d.%d>\r\n",i+1,k+1);
pf.WriteString(str);
if(lp->pFullMode.pWaveDisplay[k].bDisplayValid)
{
str = "valid=1\r\n";
}
else
{
str = "valid=0\r\n";
}
pf.WriteString(str);

str.Format("display_mode=%d\r\n",lp->pFullMode.pWaveDisplay[k].nDisplayMode);
pf.WriteString(str);

str.Format("sweep_speed=%d\r\n",lp->pFullMode.pWaveDisplay[k].nSweepSpeed);
pf.WriteString(str);

str.Format("refresh_rate=%d\r\n",lp->pFullMode.pWaveDisplay[k].nRefreshRate);
pf.WriteString(str);

str.Format("text_font_type=%d\r\n",lp->pFullMode.pWaveDisplay[k].nTextFontType);
pf.WriteString(str);

str.Format("label_width=%d\r\n",lp->pFullMode.pWaveDisplay[k].nLabelWidth);
pf.WriteString(str);

str.Format("wave_size=%d\r\n",lp->pFullMode.pWaveDisplay[k].dwWaveSize);
pf.WriteString(str);

str.Format("rect=%d,%d,%d,%d\r\n",\
lp->pFullMode.pWaveDisplay[k].pRect[0],\
lp->pFullMode.pWaveDisplay[k].pRect[1],\
lp->pFullMode.pWaveDisplay[k].pRect[2],\
lp->pFullMode.pWaveDisplay[k].pRect[3]);
pf.WriteString(str);

str.Format("color=0x%x\r\n",lp->pFullMode.pWaveDisplay[k].Color);
pf.WriteString(str);
}
} return count;
}

解决方案 »

  1.   

    其实,很简单的事,为什么懂不懂就要跪呢?男儿膝下有黄金!if(!pf.Open((char*)lpFilepath,CFile::modeCreate ¦CFile::modeWrite)) 

    return 0; 
    } str = "[0]\r\n"; 
    pf.WriteString(str); 
    str.Format("count=%d\r\n",count); 
    pf.WriteString(str); 
    str = "copyright=32000\r\n\r\n"; 
    pf.WriteString(str); 
    修改成C语言代码基本是这样:FILE* pf = fopen(lpFilePath, "wb");
    if(!pf) 

    return 0; 
    } const char* str = ; 
    fprintf(pf, "[0]\r\n"); 
    fprintf(pf, "count=%d\r\n",count); 
    fprintf(pf, "copyright=32000\r\n\r\n"); 
    其余自己修改一下,是不是很简单?
      

  2.   

    其实,很简单的事,为什么懂不懂就要跪呢?男儿膝下有黄金!if(!pf.Open((char*)lpFilepath,CFile::modeCreate ¦CFile::modeWrite)) 

    return 0; 
    } str = "[0]\r\n"; 
    pf.WriteString(str); 
    str.Format("count=%d\r\n",count); 
    pf.WriteString(str); 
    str = "copyright=32000\r\n\r\n"; 
    pf.WriteString(str); 
    修改成C语言代码基本是这样:FILE* pf = fopen(lpFilePath, "wb");
    if(!pf) 

    return 0; 
    } fprintf(pf, "[0]\r\n"); 
    fprintf(pf, "count=%d\r\n",count); 
    fprintf(pf, "copyright=32000\r\n\r\n"); 
    其余自己修改一下,是不是很简单?