本文整理汇总了C++中CFile::Abort方法的典型用法代码示例。如果您正苦于以下问题:C++ CFile::Abort方法的具体用法?C++ CFile::Abort怎么用?C++ CFile::Abort使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFile
的用法示例。
在下文中一共展示了CFile::Abort方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Save
BOOL CDownloadGroups::Save(BOOL bForce)
{
if ( ! bForce && m_nBaseCookie == m_nSaveCookie )
return FALSE;
CString strTemp = Settings.General.UserPath + _T("\\Data\\DownloadGroups.tmp");
CString strFile = Settings.General.UserPath + _T("\\Data\\DownloadGroups.dat");
CFile pFile;
if ( ! pFile.Open( strTemp, CFile::modeWrite | CFile::modeCreate | CFile::shareExclusive | CFile::osSequentialScan ) )
{
DeleteFile( strTemp );
theApp.Message( MSG_ERROR, _T("Failed to save download groups: %s"), strTemp );
return FALSE;
}
try
{
CArchive ar( &pFile, CArchive::store ); // 4 KB buffer
try
{
CQuickLock pTransfersLock( Transfers.m_pSection );
CQuickLock pLock( m_pSection );
Serialize( ar );
m_nSaveCookie = m_nBaseCookie;
ar.Close();
}
catch ( CException* pException )
{
ar.Abort();
pFile.Abort();
pException->Delete();
theApp.Message( MSG_ERROR, _T("Failed to save download groups: %s"), strTemp );
return FALSE;
}
pFile.Close();
}
catch ( CException* pException )
{
pFile.Abort();
pException->Delete();
theApp.Message( MSG_ERROR, _T("Failed to save download groups: %s"), strTemp );
return FALSE;
}
if ( ! MoveFileEx( strTemp, strFile, MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING ) )
{
DeleteFile( strTemp );
theApp.Message( MSG_ERROR, _T("Failed to save download groups: %s"), strFile );
return FALSE;
}
return TRUE;
}
示例2: OnOpenDocument
BOOL CDibDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
CFile file;
CFileException fe;
if (!file.Open(lpszPathName, CFile::modeRead | CFile::shareDenyWrite, &fe))
{
ReportSaveLoadException(lpszPathName, &fe,
FALSE, AFX_IDP_FAILED_TO_OPEN_DOC);
return FALSE;
}
DeleteContents();
BeginWaitCursor();
// replace calls to Serialize with ReadDIBFile function
TRY
{
m_hDIB = ::ReadDIBFile(file);
}
CATCH (CFileException, eLoad)
{
file.Abort(); // will not throw an exception
EndWaitCursor();
ReportSaveLoadException(lpszPathName, eLoad,
FALSE, AFX_IDP_FAILED_TO_OPEN_DOC);
m_hDIB = NULL;
return FALSE;
}
示例3: LoadChatScripts
void CChatPrefs::LoadChatScripts(CString ConfigFile)
{
CFile File;
if(File.Open(ConfigFile, CFile::modeRead))
{
char* buffer;
buffer = new char[File.GetLength() + 1];
UINT byteread = File.Read(buffer, File.GetLength());
buffer[File.GetLength()] = '\0';
CString Data = buffer;
while (Data.Find("\r\n") != -1)
{
int pos = Data.Find("\r\n");
CString line = Data.Left(pos);
if(!line.IsEmpty())
m_pChat->m_RemoteScript.Add(line);
Data = Data.Right(Data.GetLength() - pos - 2);
}
delete [] buffer;
File.Abort();
}
}
示例4: Save
BOOL CSecurity::Save()
{
const CString strFile = Settings.General.DataPath + _T("Security.dat");
const CString strTemp = Settings.General.DataPath + _T("Security.tmp");
CFile pFile;
if ( pFile.Open( strTemp, CFile::modeWrite | CFile::modeCreate | CFile::shareExclusive | CFile::osSequentialScan ) )
{
try
{
CArchive ar( &pFile, CArchive::store, 131072 ); // 128 KB buffer
try
{
{
CQuickLock oLock( m_pSection );
Serialize( ar );
ar.Close();
}
pFile.Close();
if ( MoveFileEx( strTemp, strFile, MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING ) )
return TRUE; // Success
}
catch ( CException* pException )
{
ar.Abort();
pFile.Abort();
pException->Delete();
}
}
catch ( CException* pException )
{
pFile.Abort();
pException->Delete();
}
pFile.Close();
DeleteFile( strTemp );
}
theApp.Message( MSG_ERROR, _T("Failed to save security rules: %s"), strFile );
return FALSE;
}
示例5: LoadChatAliases
void CChatPrefs::LoadChatAliases(CString ConfigFile)
{
CFile File;
if(File.Open(ConfigFile, CFile::modeRead))
{
char* buffer;
buffer = new char[File.GetLength() + 1];
UINT byteread = File.Read(buffer, File.GetLength());
buffer[File.GetLength()] = '\0';
CString Data = buffer;
// Parse the data
CString ParseList;
while (Data.Find("\r\n") != -1)
{
int pos = Data.Find("\r\n");
CString LineText;
LineText = Data.Left(pos + 2);
Data = Data.Right(Data.GetLength() - pos - 2);
int epos = LineText.Find('=');
if (epos != -1)
{
LineText = LineText.Right(LineText.GetLength() - epos - 1);
ParseList += LineText;
}
}
// Put list of aliases in map
m_pChat->m_AliasMap.RemoveAll();
int pos = ParseList.Find("\r\n");
int lpos = 0;
CString command;
while (pos != -1)
{
command = ParseList.Left(pos);
ParseList = ParseList.Right(ParseList.GetLength() - pos - 2);
pos = ParseList.Find("\r\n");
if (command.Find(' ') != -1)
m_pChat->m_AliasMap.SetAt(command.Left(command.Find(' ')), command.Right(command.GetLength() - command.Find(' ') - 1));
}
delete [] buffer;
File.Abort();
}
}
示例6: Load
BOOL CDownloadGroups::Load()
{
CString strFile = Settings.General.UserPath + _T("\\Data\\DownloadGroups.dat");
CFile pFile;
if ( pFile.Open( strFile, CFile::modeRead | CFile::shareDenyWrite | CFile::osSequentialScan ) )
{
try
{
CArchive ar( &pFile, CArchive::load ); // 4 KB buffer
try
{
CQuickLock pTransfersLock( Transfers.m_pSection );
CQuickLock pLock( m_pSection );
Serialize( ar );
ar.Close();
}
catch ( CException* pException )
{
ar.Abort();
pFile.Abort();
pException->Delete();
theApp.Message( MSG_ERROR, _T("Failed to load download groups: %s"), strFile );
}
pFile.Close();
}
catch ( CException* pException )
{
pFile.Abort();
pException->Delete();
theApp.Message( MSG_ERROR, _T("Failed to load download groups: %s"), strFile );
}
}
else
theApp.Message( MSG_ERROR, _T("Failed to load download groups: %s"), strFile );
m_nSaveCookie = m_nBaseCookie;
return TRUE;
}
示例7: Load
BOOL CSecurity::Load()
{
const CString strFile = Settings.General.DataPath + _T("Security.dat");
CFile pFile;
if ( pFile.Open( strFile, CFile::modeRead | CFile::shareDenyWrite | CFile::osSequentialScan ) )
{
try
{
CArchive ar( &pFile, CArchive::load, 131072 ); // 128 KB buffer
try
{
CQuickLock oLock( m_pSection );
Serialize( ar );
ar.Close();
pFile.Close();
return TRUE; // Success
}
catch ( CException* pException )
{
ar.Abort();
pFile.Abort();
pException->Delete();
}
}
catch ( CException* pException )
{
pFile.Abort();
pException->Delete();
}
pFile.Close();
}
theApp.Message( MSG_ERROR, _T("Failed to load security rules: %s"), strFile );
return FALSE;
}
示例8: Write
virtual BOOL Write (const CString& filename)
{
if (CBCGPBaseInfoWriter::IsFileReadOnly (filename))
{
//CFileParser::ReportSaveLoadException (filename, NULL, TRUE, IDP_ERROR_FILE_READONLY);
return FALSE;
}
CFile* pFile = new CStdioFile;
CFileException fe;
if (!pFile->Open (filename, GetFlags (), &fe))
{
delete pFile;
//CFileParser::ReportSaveLoadException (filename, &fe, TRUE, AFX_IDP_FAILED_TO_SAVE_DOC);
return FALSE;
}
BOOL bResult = FALSE;
TRY
{
CWaitCursor wait;
bResult = Write (*pFile);
pFile->Close();
delete pFile;
}
CATCH_ALL(e)
{
pFile->Abort();
delete pFile;
}
END_CATCH_ALL
return bResult;
}
示例9: SaveToFile
// 保存数据到图像文件
// 2005.12.9
BOOL CMyDib::SaveToFile(LPCTSTR lpszPathName)
{
DWORD dWord = 0;
CFile file;
//打开文件
if (!file.Open(lpszPathName, CFile::modeCreate |
CFile::modeReadWrite | CFile::shareExclusive))
{
return FALSE;
}
TRY
{
//保存为DIB图像
dWord = Save(file);
file.Close();
}
//保存失败
CATCH (CException, eSave)
{
file.Abort();
return FALSE;
}
示例10: OnBnClickedButtonOK
void CInitialConfigDlg::OnBnClickedButtonOK()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
const CString notFound=_T("");
const CString sectionNode=_T("NodeInfo");
const CString sectionTrack=_T("TrackInfo");
const CString sectionProtocol=_T("Protocol");
const CString sectionTimeSeq=_T("TimeSeqence");
const CString sectionLink=_T("Link");
const CString sectionBaseband=_T("Baseband");
CFileFind finder;
m_EditNodeIDStr.Trim();
CString configPath=_T(".\\config[")+m_EditNodeIDStr+_T("].ini");//获取文件名
if(!finder.FindFile(configPath))
{
CFile fileConfig;
try
{
fileConfig.Open(configPath,CFile::modeCreate|CFile::modeWrite);//如没有文件则新建一个
fileConfig.Close();
}
catch(CFileException *e)
{
CString errStr;
errStr.Format(_T("文件创建失败:%d"),e->m_cause);
MessageBox(errStr);
fileConfig.Abort();
e->Delete();
}
}
CString valueStr;
//NodeInfo
//NodeType
::WritePrivateProfileString(sectionNode,_T("NodeType"),m_ComboNodeTypeStr,configPath);
//NodeID
::WritePrivateProfileString(sectionNode,_T("NodeID"),m_EditNodeIDStr,configPath);
//IntfMac
CString intfMAC;
intfMAC.Format(_T("%d"),0x000000000001+_ttoi(m_EditNodeIDStr));
::WritePrivateProfileString(sectionNode,_T("IntfMac"),intfMAC,configPath);
//TrackInfo
float Longt,Lat,Ht;
CString PositionStr;
//InitialPosition
Longt=_ttof(m_EditInitPos_LongtStr);
Lat=_ttof(m_EditInitPos_LatStr);
Ht=_ttof(m_EditInitPos_HtStr);
PositionStr.Format(_T("(%.2f,%.2f,%.2f)"),Longt,Lat,Ht);
::WritePrivateProfileString(sectionTrack,_T("InitialPositon"),PositionStr,configPath);
//DestinatePosition
Longt=_ttof(m_EditDstPos_LongtStr);
Lat=_ttof(m_EditDstPos_LatStr);
Ht=_ttof(m_EditDstPos_HtStr);
PositionStr.Format(_T("(%.2f,%.2f,%.2f)"),Longt,Lat,Ht);
::WritePrivateProfileString(sectionTrack,_T("DestinatePositon"),PositionStr,configPath);
//TrackType
::WritePrivateProfileString(sectionTrack,_T("TrackType"),m_ComboTrackTypeStr,configPath);
//VelocityRange
float Vinf=_ttof(m_EditVinfStr);
float Vsup=_ttof(m_EditVsupStr);
CString VStr;
VStr.Format(_T("(%.2f,%.2f"),Vinf,Vsup);
::WritePrivateProfileString(sectionTrack,_T("Velocity"),VStr,configPath);
//RuleOfVelocityChange
::WritePrivateProfileString(sectionTrack,_T("VRule"),m_ComboVRuleStr,configPath);
//ProtocolInfo
//MessageFormat
::WritePrivateProfileString(sectionProtocol,_T("MessageFormat"),m_ComboMsgFormatStr,configPath);
::WritePrivateProfileString(sectionProtocol,_T("isRelayTransmission"),m_ComboRelayTranStr,configPath);
//ScheduleAlgorithm
::WritePrivateProfileString(sectionProtocol,_T("ScheduleAlgorithm"),m_ComboScheAlgoStr,configPath);
//NetworkManage
::WritePrivateProfileString(sectionProtocol,_T("NetworkManage"),m_ComboNetworkManageStr,configPath);
//isErrorControl
::WritePrivateProfileString(sectionProtocol,_T("isErrorControl"),m_ComboErrCtrlStr,configPath);
//TimeSequenceInfo
//TimeSlot
::WritePrivateProfileString(sectionTimeSeq,_T("TimeSlot"),m_ComboTimeSlotStr,configPath);
//numSlots
::WritePrivateProfileString(sectionTimeSeq,_T("numSlots"),m_ComboNumSlotStr,configPath);
//numNetworks
::WritePrivateProfileString(sectionTimeSeq,_T("numNetworks"),m_ComboNumNetworkStr,configPath);
//SlotsDistribution
::WritePrivateProfileString(sectionTimeSeq,_T("SlotsDistribution"),m_ComboSlotDistStr,configPath);
//SubSlotValue
::WritePrivateProfileString(sectionTimeSeq,_T("SubSlotValue"),m_ComboSlotValueStr,configPath);
//LinkInfo
//LinkType
::WritePrivateProfileString(sectionLink,_T("LinkType"),m_ComboLinkTypeStr,configPath);
//ServiceSource
::WritePrivateProfileString(sectionLink,_T("ServiceSource"),m_ComboServiceSrcStr,configPath);
//.........这里部分代码省略.........