WritePrivateProfileString函数写ini文件时,有时候速度特慢,不知道为什么!!?
WritePrivateProfileString函数写ini文件时,有时候速度特慢,不知道为什么!!?
程序如下:
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
hFind = FindFirstFile(g_ModelNodeInfo.m_pcDBBackupFile, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
char pcWasteNo[20];
sprintf(pcWasteNo,"%lu",m_nTableTollWasteNO-1);
WritePrivateProfileString("WasteNO","MinWasteNO",pcWasteNo,g_ModelNodeInfo.m_pcDBBackupFile);
} else
{
FindClose(hFind);
}
try
{
int nFlagStation = -1;
COleDateTime CreationTime((time_t)g_ModelTollInfo.m_TollWasteBook.m_nCreationTime);
char pcSession[20],pcBuf[50];
_itoa(m_nTableTollWasteNO,pcSession,10);
if(m_nTableTollWasteNO == (int)GetPrivateProfileInt(pcSession,"WASTE_NO",0,g_ModelNodeInfo.m_pcDBBackupFile)) return(0);
WritePrivateProfileString(pcSession,"NET_ID",_itoa(g_ModelNodeInfo.m_nNetID,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"STATION_ID",_itoa(g_ModelNodeInfo.m_nStationID,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"NODE_ID",_itoa(g_ModelNodeInfo.m_nNodeID,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"NODE_TYPE",_itoa(g_ModelNodeInfo.m_nNodeType,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"TRAFFIC","1",g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"WASTE_NO",_itoa(m_nTableTollWasteNO,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"CREATION_TIME",_itoa(g_ModelTollInfo.m_TollWasteBook.m_nCreationTime,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"OPERATOR_ID",_itoa(g_ModelOperatorInfo.m_nOperatorID,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"SHIFT_NO",_itoa(g_ModelOperatorInfo.m_nShiftNO,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"WORK_DATE",_itoa((int)g_ModelOperatorInfo.m_oletmWorkDate.m_dt,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
SYSTEMTIME SystemTimeTemp;
g_ModelOperatorInfo.m_oletmLogonTime.GetAsSystemTime(SystemTimeTemp);
CTime CTimeLogonTime(SystemTimeTemp);
WritePrivateProfileString(pcSession,"LOGON_TIME",_itoa(CTimeLogonTime.GetTime(),pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"VEHICLE_CLASS",_itoa(g_ModelTollInfo.m_TollWasteBook.m_nVehicleClass,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"VEHICLE_CASE",_itoa(g_ModelTollInfo.m_TollWasteBook.m_nVehicleCase,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"VEHICLE_WEIGHT",_itoa(g_ModelTollInfo.m_TollWasteBook.m_nLoad,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"TOLL_RECEIVABLE",_itoa((int)g_ModelTollInfo.m_TollWasteBook.m_fTollReceivable,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"TOLL_ACTUAL",_itoa((int)g_ModelTollInfo.m_TollWasteBook.m_fTollActual,pcBuf,10),g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileString(pcSession,"RECEIPT_NO",g_ModelTollInfo.m_TollWasteBook.m_pcReceiptNO,g_ModelNodeInfo.m_pcDBBackupFile);
char pcWasteNo[20];
sprintf(pcWasteNo,"%lu",m_nTableTollWasteNO);
WritePrivateProfileString("WasteNo","MaxWasteNO",pcWasteNo,g_ModelNodeInfo.m_pcDBBackupFile);
wchar_t pwcbuff[_MAX_PATH];
swprintf(pwcbuff,L"%hs",g_ModelNodeInfo.m_pcDBBackupFile);
WritePrivateProfileStringW( NULL, NULL, NULL, pwcbuff);
return(0);
}
catch(...)
{
return(1);
}