//--------------------------------------------------------------------------- #include #include #pragma hdrstop #include "ITSUtilF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) void ITSUtil_ShowErrorMessage(int nErrCode) { LPVOID lpErrMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, nErrCode, //GetLastError(), MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT), (LPTSTR)&lpErrMsgBuf, 0, NULL ); String sErrMsg; sErrMsg.printf(L"Error(%d) : %s", nErrCode, lpErrMsgBuf); LocalFree(lpErrMsgBuf); //Application->MessageBox(sErrMsg.c_str(), Caption.c_str(), MB_OK); Application->NormalizeTopMosts(); Application->MessageBox(sErrMsg.c_str(), L"ITSUtil_ShowErrorMessage", MB_OK|MB_ICONERROR|MB_APPLMODAL); Application->RestoreTopMosts(); } //--------------------------------------------------------------------------- DWORD ITSUtil_GetFileSize(String sFileName) { HANDLE hFile = INVALID_HANDLE_VALUE; LARGE_INTEGER liSize; liSize.LowPart = 0; liSize.HighPart = 0; hFile = ::CreateFile(sFileName.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile == INVALID_HANDLE_VALUE) { ITSUtil_ShowErrorMessage(::GetLastError()); return -1; } if (!GetFileSizeEx(hFile, &liSize)) { ITSUtil_ShowErrorMessage(::GetLastError()); return -2; } #if 0 if (liSize.HighPart != 0 || liSize.LowPart > 0x7FFFFFFF) { // Lets not try to send anything larger than 2 gigs SetLastError(ERROR_OPEN_FAILED); ShowErrorMessage(::GetLastError()); return -3; } #endif if (hFile != INVALID_HANDLE_VALUE) { ::CloseHandle(hFile); } return liSize.LowPart; } //--------------------------------------------------------------------------- String ITSUtil_FormatStr(String AStrDateTime, String AFormat) { #define SYEAR "-" #define STIME ":" #define SPACE " " String sDateTime = ""; String sInData = AnsiString(AStrDateTime); //ShowMessage("IN: " + AStrDateTime + " " + sInData + " " + AFormat); if (sInData.IsEmpty()) return sInData; //sDateTime = sInData; try { if (AFormat == STR_DATETIME) { if (sInData.Length() < 14) return sInData; sDateTime = sInData.SubString( 1, 4) + SYEAR + sInData.SubString( 5, 2) + SYEAR + sInData.SubString( 7, 2) + SPACE + sInData.SubString( 9, 2) + STIME + sInData.SubString(11, 2) + STIME + sInData.SubString(13, 2); } else if (AFormat == STR_HHNN) { if (sInData.Length() < 12) return sInData; sDateTime = sInData.SubString( 1, 4) + SYEAR + sInData.SubString( 5, 2) + SYEAR + sInData.SubString( 7, 2) + SPACE + sInData.SubString( 9, 2) + STIME + sInData.SubString(11, 2); } else if (AFormat == STR_DATEHOUR) { if (sInData.Length() < 10) return sInData; sDateTime = sInData.SubString( 1, 4) + SYEAR + sInData.SubString( 5, 2) + SYEAR + sInData.SubString( 7, 2) + SPACE + sInData.SubString( 9, 2); } else if (AFormat == STR_DATE) { if (sInData.Length() < 8) return sInData; sDateTime = sInData.SubString( 1, 4) + SYEAR + sInData.SubString( 5, 2) + SYEAR + sInData.SubString( 7, 2); } else if (AFormat == STR_MM) { if (sInData.Length() < 6) return sInData; sDateTime = sInData.SubString( 1, 4) + SYEAR + sInData.SubString( 5, 2); } else { sDateTime = sInData; } } catch(...) { } //ShowMessage("OUT: " + sDateTime); return sDateTime; } //--------------------------------------------------------------------------- void ITSUtil_NetworkPing(String AIpAddress) { try { String sCmd = "open"; String sCmdParam = "ping.exe"; String sParams = "-t " + AIpAddress; ShellExecute(NULL, sCmd.c_str(), sCmdParam.c_str(), sParams.c_str(), NULL, SW_SHOWNORMAL); } catch(...) {} } //---------------------------------------------------------------------------