первый

This commit is contained in:
2024-11-01 12:23:13 +05:00
parent 801d9d33fa
commit 0688c46a7e
226 changed files with 162921 additions and 0 deletions

111
lib/stdTools.~h Normal file
View File

@ -0,0 +1,111 @@
//---------------------------------------------------------------------------
#ifndef stdToolsH
#define stdToolsH
//---------------------------------------------------------------------------
#include <string>
//---------------------------------------------------------------------------
//template <typename T>
//std::string toStdStr(T val);
//std::string FloatToStdStr(float val);
std::string IntToStdStr(int val); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
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);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
std::string CodeBSD(std::string str); ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::string CodeBSD(int val,int len = 0); ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int BSDToInt(char chr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> int
int BSDToInt(std::string str, size_t start = 0, size_t len = 0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> int
std::string DecodeBSD(char chr); //1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> BSD <20><><EFBFBD><EFBFBD><EFBFBD>
std::string DecodeBSD(std::string str, size_t start = 0, size_t len = 0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::wstring StringToWString(const std::string& in, const std::locale &loc); // = std::locale("rus") //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::string WStringToString(const std::wstring &s, const std::locale &loc, char default_char = '?'); // = std::locale("rus")
std::wstring s2ws(const std::string& s); //<2F> c++ buildere <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> StringToWString <20><><EFBFBD>
std::string ws2s(const std::wstring& s);
std::string convUTF16ToUTF8(const std::wstring& widestring); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> UTF16LE <20> UTF8
std::wstring convUTF8ToUTF16(const std::string& str); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> UTF8 <20> UTF16LE
std::string UnicodeToDOS886(std::wstring str); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Unicode <20> DOS 866 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::wstring DOS886ToUnicode(std::string str); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> DOS 866 <20> Unicode <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void replaseChars(std::string& str,char oldCh,char newCh); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// std::string replace(std::string text, std::string s, std::string d);
// std::string getExePath();
std::wstring UpperCase(const std::wstring& str); ///<<3C> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
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); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::string add0(std::string str); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
std::string getStrDate();
std::wstring getWStrDate();
std::string getDateTime();
std::string getAppPathA(); //<2F><><EFBFBD><EFBFBD> <20> DLL <20><><EFBFBD><EFBFBD> <20> EXE
std::wstring getAppPathW(); //<2F><><EFBFBD><EFBFBD> <20> DLL
//------------------------------------------------------------------------------
/*struct TIniStructSTD
{
TIniStructSTD *next; //<2F><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::wstring section; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::wstring ident; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::wstring value; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
class TIniFileSTD
{
private:
std::wstring path;
TIniStructSTD *first; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
};*/
//------------------------------------------------------------------------------
#endif