void __fastcall XmlAddAttr(HXML hXml, LPCTSTR pszName, unsigned __int64 value) { TCHAR buf[60]; _ui64tot(value, buf, 10); xmlAddAttr(hXml, T2UTF(pszName), T2UTF(buf)); }
void CIni::WriteUInt64(LPCTSTR strEntry,ULONGLONG n, LPCTSTR strSection/* = NULL*/) { if(strSection != NULL) m_strSection = strSection; TCHAR strBuffer[MAX_PATH]; _ui64tot(n, strBuffer, 10); WritePrivateProfileString(m_strSection,strEntry,strBuffer,m_strFileName); }
void CMsnProto::MSN_GetCustomSmileyFileName(MCONTACT hContact, TCHAR* pszDest, size_t cbLen, const char* SmileyName, int type) { size_t tPathLen; InitCustomFolders(); TCHAR* path = (TCHAR*)alloca(cbLen * sizeof(TCHAR)); if (hCustomSmileyFolder == NULL || FoldersGetCustomPathT(hCustomSmileyFolder, path, (int)cbLen, _T(""))) { TCHAR *tmpPath = Utils_ReplaceVarsT(_T("%miranda_userdata%")); TCHAR *tszModuleName = mir_a2t(m_szModuleName); tPathLen = mir_sntprintf(pszDest, cbLen, _T("%s\\%s\\CustomSmiley"), tmpPath, tszModuleName); mir_free(tszModuleName); mir_free(tmpPath); } else { _tcscpy(pszDest, path); tPathLen = _tcslen(pszDest); } if (hContact != NULL) { DBVARIANT dbv = {0}; if (getTString(hContact, "e-mail", &dbv)) { dbv.type = DBVT_ASCIIZ; dbv.ptszVal = (TCHAR*)mir_alloc(11); _ui64tot((UINT_PTR)hContact, dbv.ptszVal, 10); } tPathLen += mir_sntprintf(pszDest + tPathLen, cbLen - tPathLen, _T("\\%s"), dbv.ptszVal); db_free(&dbv); } else { TCHAR *tszModuleName = mir_a2t(m_szModuleName); tPathLen += mir_sntprintf(pszDest + tPathLen, cbLen - tPathLen, _T("\\%s"), tszModuleName); mir_free(tszModuleName); } bool exist = _taccess(pszDest, 0) == 0; if (type == 0) { if (!exist) pszDest[0] = 0; return; } if (!exist) CreateDirectoryTreeT(pszDest); TCHAR *sztSmileyName = mir_a2t(SmileyName); mir_sntprintf(pszDest + tPathLen, cbLen - tPathLen, _T("\\%s.%s"), sztSmileyName, type == MSN_APPID_CUSTOMSMILEY ? _T("png") : _T("gif")); mir_free(sztSmileyName); }
LPTSTR Variant2T(VARIANT var,LPTSTR buf) { USES_CONVERSION; if (var.vt == VT_BYREF+VT_VARIANT) var = *var.pvarVal; if (var.vt == VT_ERROR) return _T(""); else if (var.vt==VT_BSTR) return OLE2T(var.bstrVal); else if (var.vt==VT_I2 || var.vt==VT_I4 || var.vt==VT_I8) #ifdef _WIN64 return _ui64tot(var.uintVal,buf,10); #else return _ultot(var.uintVal,buf,10); #endif return _T(""); }
void AddressToString(DWORD64 dwAddr64,LPTSTR ptszBuf,BOOL bAdd0x,int nChars) { TCHAR atszAddr[32]; _ui64tot(dwAddr64,atszAddr,16); int i = 0; if(bAdd0x) { ptszBuf[i++] = _T('0') ; ptszBuf[i++] = _T('x') ; } int nLen = _tcslen(atszAddr); while(nLen++ < nChars) { ptszBuf[i++] = _T('0') ; } ptszBuf[i] = 0 ; _tcscat(ptszBuf,atszAddr); }
void BinValToStrSimle( const BINVAL_TYP* pVal, FC_CString* pStr //c-like value string ) { TCHAR buffer[256]; switch(pVal->typ) { case BL_BOOL: buffer[0] = pVal->aBOOL ? _T('1') : _T('0'); buffer[1] = 0; break; case BL_BYTE: buffer[0] = '0'; buffer[1] = 'x'; _ltot(pVal->aBYTE & 0xff, buffer+2, 16); break; case BL_WORD: buffer[0] = '0'; buffer[1] = 'x'; _ltot(pVal->aWORD & 0xffff, buffer+2, 16); break; case BL_UINT: _ultot(pVal->aWORD & 0xffff, buffer, 10); break; case BL_INT: _ltot(pVal->aINT, buffer, 10); break; case BL_DWORD: buffer[0] = '0'; buffer[1] = 'x'; _ltot(pVal->aDWORD, buffer+2, 16); break; case BL_UDINT: _ultot(pVal->aDWORD, buffer, 10); break; case BL_DINT: _ltot(pVal->aDINT, buffer, 10); break; case BL_LWORD: buffer[0] = '0'; buffer[1] = 'x'; _ui64tot(pVal->aLWORD, buffer+2, 16); break; case BL_LINT: _ui64tot(pVal->aLINT, buffer, 10); break; case BL_REAL: if(pVal->aREAL != 0.0) _stprintf(buffer, _T("%.8e"), (double)pVal->aREAL); else _tcscpy(buffer, _T("0")); break; case BL_LREAL: if(pVal->aLREAL != 0.0) _stprintf(buffer, _T("%.17e"), pVal->aLREAL); else _tcscpy(buffer, _T("0")); break; case BL_TOD: _ltot(pVal->aTOD, buffer, 10); break; case BL_DATE: _ltot(pVal->aDATE, buffer, 10); break; case BL_TIME: _ui64tot(pVal->aTIME, buffer, 10); break; case BL_DT: _ui64tot(pVal->aDT, buffer, 10); break; case BL_STRING: case BL_WSTRING: pStr->load(pVal->pszStr); //HACK return; break; default: assert(!"data type not supported"); pStr->load(_T("<data type not supported>")); return; } pStr->load(buffer); }