123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #include <windows.h>
- #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(...) {}
- }
- //---------------------------------------------------------------------------
|