如果ini文件中的内容为:
[comming]
com1=0;
com2=1;
com3=2;
我应该怎样才能将com1=0;com2=1;com3=2;全部显示在一个ComboBox1下拉框中

解决方案 »

  1.   

    // IniFile.h: interface for the CIniFile class.
    // Written by: Gao Tong
    // Email: [email protected]
    // You may use this class/code as you wish in your programs.  Feel free to distribute it, and
    // email suggested changes to me.
    //////////////////////////////////////////////////////////////////////#if !defined(AFX_INIFILE_H__D6BE0D97_13A8_11D4_A5D2_002078B03530__INCLUDED_)
    #define AFX_INIFILE_H__D6BE0D97_13A8_11D4_A5D2_002078B03530__INCLUDED_#if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000#include <afxtempl.h>
    #include <iostream.h>
    class CIniFile  
    {
    //all private variables
    private:private: //stores path of ini file to read/write
    CString FilePath; //stores name of ini file to read/write
    CString FileName; //get value(CString) from str
    CString GetValueString(CString str); //find Section in ini file
    BOOL FindSection(CString Section); //ini file
    CStdioFile IniFile; //public variables
    public: //public functions
    public:

    //read value of int from ini file
    BOOL GetItemInt(CString Section,CString Item,int & Value);

    //read value of CString from ini file
    BOOL GetItemString(CString Section,CString Item,CString & Value);

    //write any string to ini file,"\n"
    BOOL WriteString(CString str);

    //write Section to ini file
    BOOL WriteSection(CString Section);

    //write Item and value of int to ini file
    BOOL WriteItemInt(CString Item,int Value);

    //write Item and value of CString to ini file
    BOOL WriteItemString(CString Item,CString Value);

    //open ini file for read
    BOOL OpenIniFileForRead(void);

    //open ini file for write
    BOOL OpenIniFileForWrite(void);

    //default constructor
    CIniFile();

    //sets name of ini file to read and write from
    void SetName(CString Name);

    //sets path of ini file to read and write from
    void SetPath(CString Path);

    //close ini file
    virtual void CloseIniFile(void);

    //default destructor
    virtual ~CIniFile();};#endif // !defined(AFX_INIFILE_H__D6BE0D97_13A8_11D4_A5D2_002078B03530__INCLUDED_)
      

  2.   

    // IniFile.cpp: implementation of the CIniFile class.
    //////////////////////////////////////////////////////////////////////#include "stdafx.h"
    #include "IniFile.h"
    #include "fstream.h"#ifdef _DEBUG
    #undef THIS_FILE
    static char THIS_FILE[]=__FILE__;
    #define new DEBUG_NEW
    #endif/////////////////////////////////////////////////////////////////////
    // Construction/Destruction
    ///////////////////////////////////////////////////////////////////////default constructor
    CIniFile::CIniFile()
    {
    }//default destructor
    CIniFile::~CIniFile()
    {}/////////////////////////////////////////////////////////////////////
    // Public Functions
    ///////////////////////////////////////////////////////////////////////sets path of ini file to read and write from
    void CIniFile::SetPath(CString Path)
    {
    FilePath = Path;
    }//open ini file for read
    BOOL CIniFile::OpenIniFileForRead()
    {
    BOOL bExist=IniFile.Open(FilePath+FileName,CFile::modeRead); 
    return bExist;
    }//open ini file for write
    BOOL CIniFile::OpenIniFileForWrite()
    {
    BOOL bExist=IniFile.Open(FilePath+FileName,CFile::modeCreate | CFile::modeWrite);
    return bExist;
    }void CIniFile::CloseIniFile()
    {
    IniFile.Close();
    }//find Section in ini file
    BOOL CIniFile::FindSection(CString Section)
    {
    IniFile.SeekToBegin();
    CString str;
    BOOL bFind=FALSE;
    BOOL bEnd=IniFile.ReadString(str);
    while(!bFind && bEnd)
    {
    if(str.Find(Section)>=0)
    {
    bFind=TRUE;
    break;
    }
    bEnd=IniFile.ReadString(str);
    }
    return bFind;
    }//write Section to ini file
    BOOL CIniFile::WriteSection(CString Section)
    {
    CFileStatus status;
    if(IniFile.GetStatus(status))
    {
    IniFile.WriteString("["+Section+"]\n");
    return TRUE;
    }
    else
    return FALSE;
    }//write Item and value of int to ini file
    BOOL CIniFile::WriteItemInt(CString Item, int Value)
    {
    CFileStatus status;
    if(IniFile.GetStatus(status))
    {
    CString str;
    str.Format("%d",Value);
    str=Item+"="+str+"\n";
    IniFile.WriteString(str);
    return TRUE;
    }
    else
    return FALSE;
    }//write Item and value of CString to ini file
    BOOL CIniFile::WriteItemString(CString Item, CString Value)
    {
    CFileStatus status;
    if(IniFile.GetStatus(status))
    {
    IniFile.WriteString(Item+"="+Value+"\n");
    return TRUE;
    }
    else
    return FALSE;
    }//read value of int from ini file
    BOOL CIniFile::GetItemInt(CString Section, CString Item, int &Value)
    {
    CFileStatus status;
    if(IniFile.GetStatus(status))
    {
    if(FindSection(Section))
    {
    CString buf,sub;
    BOOL bFind=FALSE;
    BOOL bEnd=IniFile.ReadString(buf);
    while(!bFind && bEnd)
    {
    sub=buf.Left(buf.Find("="));
    if(buf.Find("[")<0 && !sub.IsEmpty() && sub.Find(Item)>=0)
    {
    sub=buf.Right(buf.GetLength()-buf.Find("=")-1);
    sub=GetValueString(sub);
    Value=atoi(sub);
    bFind=TRUE;
    break;
    }
    bEnd=IniFile.ReadString(buf);
    }
    return bFind;
    }
    else
    return FALSE;
    }
    else
    return FALSE;
    }//read value of CString from ini file
    BOOL CIniFile::GetItemString(CString Section, CString Item, CString &Value)
    {
    CFileStatus status;
    if(IniFile.GetStatus(status))
    {
    if(FindSection(Section))
    {
    CString buf,sub;
    BOOL bFind=FALSE;
    BOOL bEnd=IniFile.ReadString(buf);
    while(!bFind && bEnd)
    {
    sub=buf.Left(buf.Find("="));
    if(buf.Find("[")<0 && !sub.IsEmpty() && sub.Find(Item)>=0)
    {
    sub=buf.Right(buf.GetLength()-buf.Find("=")-1);
    Value=GetValueString(sub);
    bFind=TRUE;
    break;
    }
    bEnd=IniFile.ReadString(buf);
    }
    return bFind;
    }
    else
    return FALSE;
    }
    else
    return FALSE;
    }//get value(CString) from str
    CString CIniFile::GetValueString(CString str)
    {
    int length=str.GetLength();
    BOOL bSpace=TRUE;
    while(length && bSpace)
    {
    if(str[0]==' ')
    str=str.Right(--length);
    else
    bSpace=FALSE;
    }
    bSpace=TRUE;
    while(length && bSpace)
    {
    if(str[length-1]==' ')
    str=str.Left(--length);
    else
    bSpace=FALSE;
    }
    return str;
    }//write any string to ini file,"\n"
    BOOL CIniFile::WriteString(CString str)
    {
    CFileStatus status;
    if(IniFile.GetStatus(status))
    {
    IniFile.WriteString(str);
    return TRUE;
    }
    else
    return FALSE;
    }//sets name of ini file to read and write from
    void CIniFile::SetName(CString Name)
    {
    FileName=Name+".ini";
    }