本文整理汇总了C++中CSysString::Left方法的典型用法代码示例。如果您正苦于以下问题:C++ CSysString::Left方法的具体用法?C++ CSysString::Left怎么用?C++ CSysString::Left使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSysString
的用法示例。
在下文中一共展示了CSysString::Left方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetBaseFolderPrefix
CSysString GetBaseFolderPrefix()
{
CSysString libPrefix = GetLibraryFolderPrefix();
CSysString temp = libPrefix;
temp.Delete(temp.Length() - 1);
int pos = temp.ReverseFind(TEXT(CHAR_PATH_SEPARATOR));
return temp.Left(pos + 1);
}
示例2: GetLibraryFolderPrefix
static CSysString GetLibraryFolderPrefix()
{
#ifdef _WIN32
TCHAR fullPath[MAX_PATH + 1];
::GetModuleFileName(g_hInstance, fullPath, MAX_PATH);
CSysString path = fullPath;
int pos = path.ReverseFind(TEXT(CHAR_PATH_SEPARATOR));
return path.Left(pos + 1);
#else
return CSysString(); // FIX IT
#endif
}
示例3: GetLibraryFolderPrefix
static CSysString GetLibraryFolderPrefix()
{
#ifdef _WIN32
TCHAR fullPath[MAX_PATH + 1];
::GetModuleFileName(g_hInstance, fullPath, MAX_PATH);
CSysString path = fullPath;
int pos = path.ReverseFind(TEXT(CHAR_PATH_SEPARATOR));
return path.Left(pos + 1);
#else
const char *p7zip_home_dir = getenv("P7ZIP_HOME_DIR");
if (p7zip_home_dir == 0) p7zip_home_dir="./";
#ifdef _UNICODE
return MultiByteToUnicodeString(p7zip_home_dir);
#else
return p7zip_home_dir;
#endif
#endif
}
示例4: ReadPluginPanelItem
void CPlugin::ReadPluginPanelItem(PluginPanelItem &panelItem, UInt32 itemIndex)
{
NCOM::CPropVariant prop;
if (_folder->GetProperty(itemIndex, kpidName, &prop) != S_OK)
throw 271932;
if (prop.vt != VT_BSTR)
throw 272340;
CSysString oemString = UnicodeStringToMultiByte(prop.bstrVal, CP_OEMCP);
const int kFileNameSizeMax = (int)(sizeof(panelItem.FindData.cFileName) / sizeof(panelItem.FindData.cFileName[0]) - 1);
if (oemString.Length() > kFileNameSizeMax)
oemString = oemString.Left(kFileNameSizeMax);
if (oemString == "..")
oemString = kDotsReplaceString;
MyStringCopy(panelItem.FindData.cFileName, (const char *)oemString);
panelItem.FindData.cAlternateFileName[0] = 0;
if (_folder->GetProperty(itemIndex, kpidAttrib, &prop) != S_OK)
throw 271932;
if (prop.vt == VT_UI4)
panelItem.FindData.dwFileAttributes = prop.ulVal;
else if (prop.vt == VT_EMPTY)
panelItem.FindData.dwFileAttributes = m_FileInfo.Attrib;
else
throw 21631;
if (_folder->GetProperty(itemIndex, kpidIsDir, &prop) != S_OK)
throw 271932;
if (prop.vt == VT_BOOL)
{
if (VARIANT_BOOLToBool(prop.boolVal))
panelItem.FindData.dwFileAttributes |= FILE_ATTRIBUTE_DIRECTORY;
}
else if (prop.vt != VT_EMPTY)
throw 21632;
if (_folder->GetProperty(itemIndex, kpidSize, &prop) != S_OK)
throw 271932;
UInt64 length;
if (prop.vt == VT_EMPTY)
length = 0;
else
length = ::ConvertPropVariantToUInt64(prop);
panelItem.FindData.nFileSizeLow = (UInt32)length;
panelItem.FindData.nFileSizeHigh = (UInt32)(length >> 32);
MyGetFileTime(_folder, itemIndex, kpidCTime, panelItem.FindData.ftCreationTime);
MyGetFileTime(_folder, itemIndex, kpidATime, panelItem.FindData.ftLastAccessTime);
MyGetFileTime(_folder, itemIndex, kpidMTime, panelItem.FindData.ftLastWriteTime);
if (panelItem.FindData.ftLastWriteTime.dwHighDateTime == 0 &&
panelItem.FindData.ftLastWriteTime.dwLowDateTime == 0)
panelItem.FindData.ftLastWriteTime = m_FileInfo.MTime;
if (_folder->GetProperty(itemIndex, kpidPackSize, &prop) != S_OK)
throw 271932;
if (prop.vt == VT_EMPTY)
length = 0;
else
length = ::ConvertPropVariantToUInt64(prop);
panelItem.PackSize = UInt32(length);
panelItem.PackSizeHigh = UInt32(length >> 32);
panelItem.Flags = 0;
panelItem.NumberOfLinks = 0;
panelItem.Description = NULL;
panelItem.Owner = NULL;
panelItem.CustomColumnData = NULL;
panelItem.CustomColumnNumber = 0;
panelItem.Reserved[0] = 0;
panelItem.Reserved[1] = 0;
panelItem.Reserved[2] = 0;
}
示例5: GetLibraryFolderPrefix
static CSysString GetLibraryFolderPrefix()
{
CSysString path = GetLibraryPath();
int pos = path.ReverseFind(TEXT(CHAR_PATH_SEPARATOR));
return path.Left(pos + 1);
}