?? common.cpp
字號:
Directory = Buffer;
i = static_cast<INT>(Directory.rfind("\\"));
if(i != std::string::npos)
{
Directory = Directory.substr(0, i);
}
return Directory;
}
//+-----------------------------------------------------------------------------
//| Returns the current directory
//+-----------------------------------------------------------------------------
std::string COMMON::GetCurrentDirectory() CONST
{
CHAR Buffer[BUFFER_SIZE];
if(::GetCurrentDirectory(BUFFER_SIZE - 1, Buffer) == 0) return "";
return Buffer;
}
//+-----------------------------------------------------------------------------
//| Sets a new current directory
//+-----------------------------------------------------------------------------
VOID COMMON::SetCurrentDirectory(CONST std::string& NewDirectory) CONST
{
::SetCurrentDirectory(NewDirectory.c_str());
}
//+-----------------------------------------------------------------------------
//| Checks if a character is a whitespace
//+-----------------------------------------------------------------------------
BOOL COMMON::IsWhiteSpace(CHAR Char) CONST
{
if(Char == ' ') return TRUE;
if(Char == '\t') return TRUE;
if(Char == '\n') return TRUE;
if(Char == '\r') return TRUE;
return FALSE;
}
//+-----------------------------------------------------------------------------
//| Checks if a character is a linebreak
//+-----------------------------------------------------------------------------
BOOL COMMON::IsLineBreak(CHAR Char) CONST
{
if(Char == '\n') return TRUE;
if(Char == '\r') return TRUE;
return FALSE;
}
//+-----------------------------------------------------------------------------
//| Checks if a character is a digit
//+-----------------------------------------------------------------------------
BOOL COMMON::IsDigit(CHAR Char) CONST
{
return (Char >= '0') && (Char <= '9');
}
//+-----------------------------------------------------------------------------
//| Checks if a character is a letter
//+-----------------------------------------------------------------------------
BOOL COMMON::IsLetter(CHAR Char) CONST
{
if((Char >= 'a') && (Char <= 'z')) return TRUE;
if((Char >= 'A') && (Char <= 'Z')) return TRUE;
return FALSE;
}
//+-----------------------------------------------------------------------------
//| Checks if a character is an uppercase letter
//+-----------------------------------------------------------------------------
BOOL COMMON::IsLowerCaseLetter(CHAR Char) CONST
{
return (Char >= 'a') && (Char <= 'z');
}
//+-----------------------------------------------------------------------------
//+-----------------------------------------------------------------------------
BOOL COMMON::IsUpperCaseLetter(CHAR Char) CONST
{
return (Char >= 'A') && (Char <= 'Z');
}
//+-----------------------------------------------------------------------------
//| Removes all preceeding and postceeding whitespace characters
//+-----------------------------------------------------------------------------
VOID COMMON::RemoveWhiteSpace(std::string& String) CONST
{
while(String.size() > 0)
{
if(!IsWhiteSpace(String[0])) break;
String.erase(0, 1);
}
while(String.size() > 0)
{
if(!IsWhiteSpace(String[String.size() - 1])) break;
String.erase(String.size() - 1, 1);
}
}
//+-----------------------------------------------------------------------------
//| Converts a string to a bool
//+-----------------------------------------------------------------------------
BOOL COMMON::StringToBool(CONST std::string& String) CONST
{
return (LowerCase(String) == "true");
}
//+-----------------------------------------------------------------------------
//| Converts a string to an int
//+-----------------------------------------------------------------------------
INT COMMON::StringToInt(CONST std::string& String) CONST
{
INT Int = 0;
std::stringstream Stream(String);
Stream >> Int;
return Int;
}
//+-----------------------------------------------------------------------------
//| Converts a string to a float
//+-----------------------------------------------------------------------------
FLOAT COMMON::StringToFloat(CONST std::string& String) CONST
{
FLOAT Float = 0.0f;
std::stringstream Stream(String);
Stream >> Float;
return Float;
}
//+-----------------------------------------------------------------------------
//| Converts a string to a double
//+-----------------------------------------------------------------------------
DOUBLE COMMON::StringToDouble(CONST std::string& String) CONST
{
DOUBLE Double = 0.0;
std::stringstream Stream(String);
Stream >> Double;
return Double;
}
//+-----------------------------------------------------------------------------
//| Converts a bool to a string
//+-----------------------------------------------------------------------------
std::string COMMON::BoolToString(BOOL Bool) CONST
{
return Bool ? "true" : "false";
}
//+-----------------------------------------------------------------------------
//| Converts an int to a string
//+-----------------------------------------------------------------------------
std::string COMMON::IntToString(INT Int) CONST
{
std::stringstream Stream;
Stream << Int;
return Stream.str();
}
//+-----------------------------------------------------------------------------
//| Converts a float to a string
//+-----------------------------------------------------------------------------
std::string COMMON::FloatToString(FLOAT Float) CONST
{
std::stringstream Stream;
Stream << Float;
return Stream.str();
}
//+-----------------------------------------------------------------------------
//| Converts a double to a string
//+-----------------------------------------------------------------------------
std::string COMMON::DoubleToString(DOUBLE Double) CONST
{
std::stringstream Stream;
Stream << Double;
return Stream.str();
}
//+-----------------------------------------------------------------------------
//| Converts a color to a 3-dimensional vector
//+-----------------------------------------------------------------------------
D3DXVECTOR3 COMMON::ColorToVector3(D3DCOLOR Color)
{
D3DXVECTOR3 Vector;
D3DXCOLOR TempColor = Color;
Vector.z = TempColor.r;
Vector.y = TempColor.g;
Vector.x = TempColor.b;
return Vector;
}
//+-----------------------------------------------------------------------------
//| Converts a color to a 4-dimensional vector
//+-----------------------------------------------------------------------------
D3DXVECTOR4 COMMON::ColorToVector4(D3DCOLOR Color)
{
D3DXVECTOR4 Vector;
D3DXCOLOR TempColor = Color;
Vector.z = TempColor.r;
Vector.y = TempColor.g;
Vector.x = TempColor.b;
Vector.w = TempColor.a;
return Vector;
}
//+-----------------------------------------------------------------------------
//| Converts a 3-dimensional vector toa color
//+-----------------------------------------------------------------------------
D3DCOLOR COMMON::Vector3ToColor(CONST D3DXVECTOR3& Vector)
{
return D3DCOLOR_COLORVALUE(Vector.z, Vector.y, Vector.x, 1.0f);
}
//+-----------------------------------------------------------------------------
//| Converts a 4-dimensional vector toa color
//+-----------------------------------------------------------------------------
D3DCOLOR COMMON::Vector4ToColor(CONST D3DXVECTOR4& Vector)
{
return D3DCOLOR_COLORVALUE(Vector.z, Vector.y, Vector.x, Vector.w);
}
//+-----------------------------------------------------------------------------
//| Returns a string version of the current date
//+-----------------------------------------------------------------------------
std::string COMMON::GetCurrentDate()
{
INT Size;
DWORD Locale;
std::string Date;
std::string Time;
std::vector<CHAR> Buffer;
Locale = MAKELCID(CURRENT_LANGUAGE, SORT_DEFAULT);
Size = GetDateFormat(Locale, 0, NULL, STRING_DATE_FORMAT.c_str(), NULL, 0);
Buffer.resize(Size + 1);
GetDateFormat(Locale, 0, NULL, STRING_DATE_FORMAT.c_str(), &Buffer[0], Size);
Buffer[Size] = '\0';
Date = &Buffer[0];
Size = GetTimeFormat(Locale, 0, NULL, STRING_TIME_FORMAT.c_str(), NULL, 0);
Buffer.resize(Size + 1);
GetTimeFormat(Locale, 0, NULL, STRING_TIME_FORMAT.c_str(), &Buffer[0], Size);
Buffer[Size] = '\0';
Time = &Buffer[0];
return Date + " " + Time;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -