本文整理汇总了C++中Filename::GetDirectory方法的典型用法代码示例。如果您正苦于以下问题:C++ Filename::GetDirectory方法的具体用法?C++ Filename::GetDirectory怎么用?C++ Filename::GetDirectory使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Filename
的用法示例。
在下文中一共展示了Filename::GetDirectory方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AssertPathExists
Bool AssertPathExists(const Filename &fn)
{
if (GeFExist(fn, true))
return true;
CFilenameArray pfnDir;
Filename fnDir = fn;
Bool bRet = false;
Int32 a;
Filename** ppfn;
while (!GeFExist(fnDir, true))
{
Filename* pfn = pfnDir.InsertAt(0);
if (!pfn)
goto _error;
*pfn = fnDir.GetFile();
fnDir = fnDir.GetDirectory();
if (!fnDir.Content())
{
return false;
}
}
ppfn = pfnDir.GetArray()->GetArray();
for (a = 0; a < pfnDir.GetElementCount(); a++)
{
fnDir += fnDir + *(ppfn[a]);
if (GeFExist(fnDir, true))
continue;
if (!GeFCreateDir(fnDir))
goto _error;
}
bRet = true;
_error:
return bRet;
}
示例2: Filename
CCompareTableDialog::CCompareTableDialog(Filename fnOriginal, Filename fnNew)
{
fnOriginal.SetSuffix("");
fnNew.SetSuffix("");
String str;
str = fnNew.GetString();
fnNew = Filename(str.SubStr(0, str.GetLength() - 1));
str = fnOriginal.GetString();
fnOriginal = Filename(str.SubStr(0, str.GetLength() - 1));
String strOriginalFileString = fnOriginal.GetFileString();
String strNewFileString = fnNew.GetFileString();
Filename fn;
Bool bOriginalDiag = false, bNewDiag = false;
fn = fnOriginal.GetDirectory(); // fn contains strings_* or dialogs
if (fn.GetFileString().LexCompare("dialogs") == 0)
{
fn = fn.GetDirectory(); // now, we are in the strings_* path
bOriginalDiag = true;
}
fn = fn.GetDirectory();
fnOriginal = fn;
fn = fnNew.GetDirectory(); // fn contains strings_* or dialogs
if (fn.GetFileString().LexCompare("dialogs") == 0)
{
fn = fn.GetDirectory(); // now, we are in the strings_* path
bNewDiag = true;
}
fn = fn.GetDirectory();
fnNew = fn;
TRACE_STRING(fnOriginal.GetString());
TRACE_STRING(fnNew.GetString());
m_OriginalDoc.LoadGlobalStringTable(fnOriginal, strOriginalFileString);
m_NewDoc.LoadGlobalStringTable(fnNew, strNewFileString);
TRACE_STRING(fnNew.GetDirectory().GetFileString());
m_pOriginalTable = m_OriginalDoc.GetStringTable();
m_pNewTable = m_NewDoc.GetStringTable();
if (bOriginalDiag)
m_fnOriginal = fnOriginal + String("strings_*") + String("dialogs") + (strOriginalFileString + ".str");
else
m_fnOriginal = fnOriginal + String("strings_*") + (strOriginalFileString + ".str");
if (bNewDiag)
m_fnNew = fnNew + String("strings_*") + String("dialogs") + (strNewFileString + ".str");
else
m_fnNew = fnNew + String("strings_*") + (strNewFileString + ".str");
//TRACE_STRING(m_fnNew.GetString());
//TRACE_STRING(m_fnOriginal.GetString());
m_bIsCommandTable = (m_OriginalDoc.m_StringTableType == typeCommandStrings) &&
(m_NewDoc.m_StringTableType == typeCommandStrings);
}
示例3: AddFilename
void AddFilename(Filename &fn, const Filename fnDest)
{
if (!fnDest.Content())
return;
AddFilename1(fn, fnDest.GetDirectory(), fnDest.GetFile());
}
示例4: AddFilename1
void AddFilename1(Filename &fn, const Filename fnDir, const Filename fnFile)
{
if (fnDir.Content())
AddFilename1(fn, fnDir.GetDirectory(), fnDir.GetFile());
fn += fnFile;
}