| 3452 | } |
| 3453 | |
| 3454 | bool StrToDecimal(LPCTSTR lpstr, DECIMAL* pDecimal) |
| 3455 | { |
| 3456 | ATLASSERT(lpstr != NULL); |
| 3457 | ATLASSERT(pDecimal != NULL); |
| 3458 | if(lpstr == NULL || pDecimal == NULL) |
| 3459 | return false; |
| 3460 | |
| 3461 | USES_CONVERSION; |
| 3462 | HRESULT hRet = E_FAIL; |
| 3463 | if (FAILED(hRet = ::VarDecFromStr((LPOLESTR)T2COLE(lpstr), LANG_USER_DEFAULT, LOCALE_NOUSEROVERRIDE, pDecimal))) |
| 3464 | { |
| 3465 | ATLTRACE2(atlTraceUI, 0, _T("VarDecFromStr failed with result of 0x%8.8X\n"), hRet); |
| 3466 | pDecimal->Lo64 = 0; |
| 3467 | pDecimal->Hi32 = 0; |
| 3468 | pDecimal->signscale = 0; |
| 3469 | return false; |
| 3470 | } |
| 3471 | return true; |
| 3472 | } |
| 3473 | |
| 3474 | // Overrideable PFNLVCOMPARE functions |
| 3475 | static int CALLBACK LVCompareText(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) |