111 lines
4.9 KiB
Plaintext
111 lines
4.9 KiB
Plaintext
//---------------------------------------------------------------------------
|
|
#ifndef stdToolsH
|
|
#define stdToolsH
|
|
//---------------------------------------------------------------------------
|
|
#include <string>
|
|
//---------------------------------------------------------------------------
|
|
//template <typename T>
|
|
//std::string toStdStr(T val);
|
|
|
|
//std::string FloatToStdStr(float val);
|
|
std::string IntToStdStr(int val); //Âûðåçàåò èç ñòðîêè íå öèôðû
|
|
std::string FloatToStdStr(double val,int digits = -1);
|
|
template <typename T>
|
|
std::wstring toStdWStr(T val);
|
|
std::wstring IntToStdWStr(int val);
|
|
|
|
template <typename T>
|
|
std::string toStringHex(T val);
|
|
std::string toStringHex2(int val);
|
|
|
|
template<typename T>
|
|
T fromString(const std::string& s);
|
|
int StdStrToInt(std::string& str, bool cutInt = false);
|
|
int StdStrToUInt(std::string& str, bool cutInt = false);
|
|
float StdStrToFloat(std::string& str);
|
|
double StdStrToDouble(std::string& str);
|
|
|
|
template<typename T>
|
|
T fromWString(const std::wstring& s);
|
|
int StdWStrToInt(const std::wstring& s);
|
|
|
|
//Êîíâåðòàöèÿ ñòðîê
|
|
std::string CodeBSD(std::string str); ///<Çàêîäèðîâàòü ÷èñëî â äâîè÷íî äåñÿòè÷íûé ôîðìàò
|
|
std::string CodeBSD(int val,int len = 0); ///<Çàêîäèðîâàòü ÷èñëî â äâîè÷íî äåñÿòè÷íûé ôîðìàò
|
|
int BSDToInt(char chr); //Äâîè÷íî äåñÿòè÷íûé ñèìâîë â int
|
|
int BSDToInt(std::string str, size_t start = 0, size_t len = 0); //Äâîè÷íî äåñÿòè÷íóþ ñòðîêó â int
|
|
std::string DecodeBSD(char chr); //1 ñèìâîë â BSD ÷èñëî
|
|
std::string DecodeBSD(std::string str, size_t start = 0, size_t len = 0); //Ðàñêîäèðîâàüò èç äâîè÷íî äåñÿòè÷íîãî ôîðìàòà
|
|
|
|
std::wstring StringToWString(const std::string& in, const std::locale &loc); // = std::locale("rus") //Êîíâåðòàöèÿ èç îäíî áàéòíîãî â ìóëüòè è îáðàòíî
|
|
std::string WStringToString(const std::wstring &s, const std::locale &loc, char default_char = '?'); // = std::locale("rus")
|
|
std::wstring s2ws(const std::string& s); //Â c++ buildere ýòî ðàáîòàëî à StringToWString íåò
|
|
std::string ws2s(const std::wstring& s);
|
|
std::string convUTF16ToUTF8(const std::wstring& widestring); //Êîíâåðòàöèÿ èç UTF16LE â UTF8
|
|
std::wstring convUTF8ToUTF16(const std::string& str); //Êîíâåðòàöèÿ èç UTF8 â UTF16LE
|
|
std::string UnicodeToDOS886(std::wstring str); //Êîíâåðòèì èç Unicode â DOS 866 êîäèðîâêó
|
|
std::wstring DOS886ToUnicode(std::string str); //Êîíâåðòèì èç DOS 866 â Unicode êîäèðîâêó
|
|
|
|
|
|
|
|
void replaseChars(std::string& str,char oldCh,char newCh); //Çàìåíèòü 1 ñèìâîë äðóãèì
|
|
// std::string replace(std::string text, std::string s, std::string d);
|
|
// std::string getExePath();
|
|
|
|
std::wstring UpperCase(const std::wstring& str); ///<Ê âåðõíåìó ðåãèñòðó ñòðîêó (äîëãî ðàáîòàåò)
|
|
std::string BeforeLast(std::string str,char ch);
|
|
std::wstring BeforeWLast(std::wstring str,wchar_t ch);
|
|
std::string BeforeFirst(std::string str,const char ch);
|
|
std::wstring BeforeWFirst(std::wstring str,const wchar_t ch);
|
|
std::string AfterFirst(std::string str,const char ch);
|
|
std::wstring AfterWFirst(std::wstring str,const wchar_t ch);
|
|
std::string AfterLast(std::string str,const char ch);
|
|
std::string CutBeforeFirst(std::string& str,const char ch);
|
|
std::wstring CutBeforeWFirst(std::wstring& str,const wchar_t ch);
|
|
std::string replaceStrings(std::string sors,std::string find,std::string repl);
|
|
std::wstring replaceStrings(std::wstring sors,std::wstring find,std::wstring repl);
|
|
|
|
|
|
std::string trim(const std::string & s); //Óäàëèòü ïðîáåëû â íà÷àëå è êîíöå ñòðîêè
|
|
|
|
std::string add0(std::string str); //Äîáàâèòü 0 â íà÷àëî ñòðîîêè åñëè 1 ñèìâîë äëÿ äàòû íóæíî
|
|
|
|
std::string getStrDate();
|
|
std::wstring getWStrDate();
|
|
std::string getDateTime();
|
|
|
|
std::string getAppPathA(); //Ïóòü ê DLL ëèáî ê EXE
|
|
std::wstring getAppPathW(); //Ïóòü ê DLL
|
|
|
|
//------------------------------------------------------------------------------
|
|
/*struct TIniStructSTD
|
|
{
|
|
TIniStructSTD *next; //Ñëåä. çíà÷åíèå
|
|
std::wstring section; //Ñåêöèÿ
|
|
std::wstring ident; //Èäåíòèôèêàòîð
|
|
std::wstring value; //Çíà÷åíèå
|
|
};
|
|
|
|
class TIniFileSTD
|
|
{
|
|
private:
|
|
std::wstring path;
|
|
TIniStructSTD *first; //Ïåðâûé èç ñïèñêà
|
|
TIniStructSTD *last;
|
|
public:
|
|
TIniFileSTD(std::wstring path);
|
|
virtual ~TIniFileSTD();
|
|
std::string ReadString(std::string Section,std::string Ident,std::string Default);
|
|
//float ReadFloat(std::wstring Section,std::wstring Ident,float Default);
|
|
//long ReadLong(std::wstring Section,std::wstring Ident,long Default);
|
|
//unsigned long ReadULong(std::wstring Section,std::wstring Ident,unsigned long Default);
|
|
//bool ReadBool(std::wstring Section,std::wstring Ident,bool Default);
|
|
void WriteString(std::string Section,std::string Ident,std::string Value);
|
|
//void WriteFloat(std::wstring Section,std::wstring Ident,float Value);
|
|
//void WriteLong(std::wstring Section,std::wstring Ident,long Value);
|
|
//void WriteULong(std::wstring Section,std::wstring Ident,unsigned long Value);
|
|
//void WriteBool(std::wstring Section,std::wstring Ident,bool Value);
|
|
void Save(); //Ñîõðàíèòü èç ïàìÿòè â ôàéë
|
|
};*/
|
|
//------------------------------------------------------------------------------
|
|
#endif |