SourceCode/Bond/BoounionPLC/ToolUnits.cpp
@@ -98,6 +98,53 @@
   CreateDirectory(strDir, NULL);
}
void CToolUnits::deleteDir(const char* pszDir)
{
   WIN32_FIND_DATA findFileData;
   HANDLE hFind = INVALID_HANDLE_VALUE;
   // 拼接上 "\\*",表示目录下的所有文件和文件夹
   std::string dirPath = pszDir;
   dirPath.append("\\*");
   // 打开目录,查找第一个文件
   hFind = FindFirstFile(dirPath.c_str(), &findFileData);
   if (hFind == INVALID_HANDLE_VALUE) {
      return;
   }
   do {
      const std::string fileName = findFileData.cFileName;
      if (fileName == "." || fileName == "..") {
         continue;
      }
      std::string fullPath = pszDir;
      fullPath.append("\\").append(fileName);
      if (findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
         deleteDir(fullPath.c_str());
      }
      else {
         DWORD fileAttributes = GetFileAttributes(fullPath.c_str());
         if (fileAttributes != INVALID_FILE_ATTRIBUTES) {
            if (fileAttributes & FILE_ATTRIBUTE_READONLY) {
               SetFileAttributes(fullPath.c_str(), fileAttributes & ~FILE_ATTRIBUTE_READONLY);
            }
         }
         if (!DeleteFile(fullPath.c_str())) {
            return;
         }
      }
   } while (FindNextFile(hFind, &findFileData) != 0);
   FindClose(hFind);
   RemoveDirectory(pszDir);
}
CString& CToolUnits::floatToString1(float value, CString& strOut)
{
   strOut.Format(_T("%.1f"), value);