本文整理汇总了C++中Path::Assign方法的典型用法代码示例。如果您正苦于以下问题:C++ Path::Assign方法的具体用法?C++ Path::Assign怎么用?C++ Path::Assign使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Path
的用法示例。
在下文中一共展示了Path::Assign方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MakeRelativePath
// ---------------------------------------------------------------------
void Path::MakeRelativePath(
const Path& target, //!< target path
Path& result //!< OUTPUT. result path
) const
{
result.Assign(PathUtils::MakeRelativePath(pathString, target.pathString));
}
示例2: getAppFolderPath
/**
* @brief Returns the path of folder in which user settings is stored.
* @return user settings folder path.
*/
const Path& WinCoveredCalcApp::getUserSettingsPath()
{
if (userSettingsPath.IsEmpty())
{
Path path;
// Application Data の下
ITEMIDLIST* pIdList;
HRESULT hResult = ::SHGetSpecialFolderLocation(NULL, CSIDL_APPDATA, &pIdList);
if(S_OK == hResult)
{
// 得られた ITEMIDLIST からフォルダ名を取得
TCHAR pathString[MAX_PATH];
if (::SHGetPathFromIDList(pIdList, pathString))
{
path.Assign(pathString);
}
// システムが確保した ITEMIDLIST を解放
IMalloc* pMalloc;
::SHGetMalloc(&pMalloc);
if (NULL != pMalloc)
{
pMalloc->Free(pIdList);
pMalloc->Release();
}
}
if (!path.IsEmpty())
{
userSettingsPath = path.Append(ALITERAL("Hironytic")).Append(ALITERAL("CoveredCalc"));
}
else
{
// Application Data が得られなかったら、アプリケーションのあるフォルダに保存
userSettingsPath = getAppFolderPath();
}
}
return userSettingsPath;
}
示例3: initInstance
// ---------------------------------------------------------------------
BOOL WinCoveredCalcApp::initInstance()
{
bool langFileLoaded = false;
if (!base::initInstance())
{
return FALSE;
}
// コモンコントロール初期化
::InitCommonControls();
// レイヤードウィンドウ関連の API
apiLayeredWindow.Initialize();
// ウェイトカーソルを取得しておく
waitCursor = ::LoadCursor(NULL, IDC_WAIT);
// モニタ情報を取得しておく
monitorInfo.Update();
// ベースクラス初期化
if (!init())
{
return FALSE;
}
// コマンドラインパラメータ解析
CommandLineParam* clParam = GetCommandLineParam();
clParam->SetParameter(__argc, __targv);
// 言語ファイルの読み込み
if (clParam->IsLangFileSpecified())
{
try
{
loadLangFile(clParam->GetLangFile());
langFileLoaded = true;
}
catch (Exception* ex)
{
ex->Delete();
// コマンドラインパラメータで指定された言語ファイルが読み込めなかったので無視します。
DoMessageBox(NSID_EMSG_LOAD_COMMANDLINE_LANGFILE, MessageBoxProvider::ButtonType_OK, MessageBoxProvider::AlertType_Warning);
}
}
// ウィンドウクラスの登録
WinMainWindow::RegisterClass();
//設定ファイルを準備
Path settingFile;
if (clParam->IsSettingFileSpecified())
{
// コマンドラインで設定ファイルが指定されていればそれを使う
settingFile.Assign(clParam->GetSettingFile());
}
else
{
// デフォルト設定ファイルを使う
try
{
readyDefaultSettingFilePath(settingFile);
}
catch (Exception* ex)
{
ExceptionMessageUtils::DoExceptionMessageBoxWithText(this, ex, NSID_EMSG_READY_DEFAULT_SETTING_FILE,
MessageBoxProvider::ButtonType_OK, MessageBoxProvider::AlertType_Stop);
ex->Delete();
return FALSE;
}
}
// 設定の読み込み
try
{
loadSettings(settingFile);
}
catch (Exception* ex)
{
ex->Delete();
return FALSE;
}
// 設定に保存された言語ファイルを読み込む
if (!langFileLoaded)
{
AppSettings* appSettings = GetAppSettings();
const Path settingPath = appSettings->GetLanguageFilePath();
if (!settingPath.IsEmpty()) {
Path langFileFullPath = MakeAbsoluteLangFilePath(settingPath);
if (!langFileFullPath.IsEmpty())
{
try
{
loadLangFile(langFileFullPath);
langFileLoaded = true;
}
//.........这里部分代码省略.........
示例4: Construct
bool Arguments::Construct(char * data, int size)
{
String::Construct(data,size);
StringParser parser;
parser.Assign(*this);
bool error = false;
while ( !error && !parser.Eof() )
{
if (parser.Is('-'))
{
parser.Next();
if (parser.Is('-'))
parser.Next();
Path * path = new Path();
Append(path);
if (parser.ParseWord())
{
if (parser.Eof() || parser.SkipWhitespace())
{
Path * name = new Path();
Path * value = new Path();
path->Append(name);
path->Append(value);
name->Assign(parser.Token);
if (!parser.Is('-'))
{
parser.Mark();
while (!parser.Eof() && !parser.IsWhitespace()) parser.Next();
parser.Trap();
if (!parser.Token.IsEmpty())
value->Assign(parser.Token);
}
}
else
{
error = true;
}
}
else
{
error = true;
}
}
else
{
parser.Mark();
while (!parser.Eof() && !parser.IsWhitespace())
parser.Next();
parser.Trap();
if (!parser.Token.IsEmpty())
{
Path * path = new Path();
path->Assign(parser.Token);
Append(path);
}
}
if ( !error && !parser.Eof() && !parser.SkipWhitespace() && !parser.Is('-'))
error = true;
}
if (error)
{
Release(false);
OutputError("Arguments::Construct - Invalid token in arguments at column %d.",parser.Column());
return false;
}
else
{
return true;
}
}