📄 类型转换typechange.htm
字号:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><title>typechange</title><style>A:link { COLOR: blue; TEXT-DECORATION: none}A:visited { COLOR: blue; TEXT-DECORATION: none}A:active { }A:hover { COLOR: red; TEXT-DECORATION: none}TD { FONT-FAMILY: Times New Roman; FONT-SIZE: 9pt}P { FONT-FAMILY: Times New Roman; FONT-SIZE: 9pt}H1 { FONT-FAMILY: Times New Roman; FONT-SIZE: 11pt}</style></head><body><div align="center"><center><table border="0" width="600" height="418" bgcolor="#FFFFF4"> <tr> <td height="412"> <h2 style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080">类型转换</font></h2> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080"><b><img border="0" src="../../theory/image/greenball2.gif" width="9" height="9"></b><a href="#string_to_int">CString型转换为整型</a></font></p> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080"><b><img border="0" src="../../theory/image/greenball2.gif" width="9" height="9"></b><a href="#string_to_char*">如何将CString类型的变量符给char*类型的变量?</a></font></p> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080"><b><img border="0" src="../../theory/image/greenball2.gif" width="9" height="9"></b><a href="#variant"> 在VC中如何使用VARIANT型变量?</a></font></p> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080"><b><img border="0" src="../../theory/image/greenball2.gif" width="9" height="9"></b><a href="#ctime_to_cstring">CTime转换为CString?</a></font></p> <hr align="left" width="70%" size="1" color="#00FFFF"> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080"><b><img border="0" src="../../theory/image/greenball2.gif" width="9" height="9"><a name="string_to_int">CString型转换为整型</a></b> </font></p> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080">答:CString str = _T("12");<br> int nNum = _ttoi(str);<br> // _ttoi is a C Run-Time routine (atoi or _wtoi).<br> </font></p> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080"><b><img border="0" src="../../theory/image/greenball2.gif" width="9" height="9"></b><a name="string_to_char*"><b>如 何 将 CString类 型 的 变 量 符 给 char*类 型 的 变 量 ?</b></a></font></p> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080"> CString Msg;<br> Msg=Msg+"abc";<br> LPTSTR lpsz;<br> lpsz = new TCHAR[Msg.GetLength()+1];<br> _tcscpy(lpsz, Msg);<br> char * psz;<br> strcpy(psz,lpsz);<br> </font></p> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080"><b><img border="0" src="../../theory/image/greenball2.gif" width="9" height="9"></b><a name="variant"><b>在 VC中 如 何 使 用 VARIANT型 变 量 ? </b></a></font></p> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080"> 各 位 老 师 , 在 VC中 经 常 遇 到 作 为 VARIANT型 定 义 的 一 些 常 量 或 变 量 , 如 在 CInet控 件 中 的 下 列 成 员 函 数 :<br> VARIANT OpenURL(const VARIANT& URL, const VARIANT& DataType);<br> void Execute(const VARIANT& URL, const VARIANT& Operation, const VARIANT& InputData, const VARIANT& InputHdrs);<br> VARIANT GetChunk(long* Size, const VARIANT& DataType);<br> CString GetHeader(const VARIANT& HdrName); 其 它 许 多 控 件 都 有 类 似 的 情 况 , 那 么 , 如 何 给 这 种 VARIANT型 的 变 量 赋 值 ( 传 送 参 数 ) 呢 ? ?请 各 位 高 人 指 点 !!? ? ?回答:VIRIANT是 ACTIVEX AUTOMATION需 要 用 到 的 一 种 变 量 类 型 ,可 以 称 之 为 通 用 数 据 类 型 ,其 实 它 是 一 个 结 构 。 如 果 仅 仅 是 调 用 ACTIVEX对 象 所 提 供 的 METHOD不 需 知 道 其 中 的 细 节 。 它 仅 用 于 通 过 IDISPATCH接 口 调 用 特 定 的 METHOD或 属 性 时 用 ,VB和 VC已 经 将 这 一 过 程 透 明 。 ( 主 持 人 注 : 换 句 话 说 , VC会 自 动 转 换 简 单 数 据 类 型 。 ) 关 于 下 面 的 几 个 METHOD,例 如 OPENURL,在 VB中 原 形 是 object.OpenUrl(url [,datatype] url是 有 效 的 URL字 符 串 , DATATYPE是 整 形 ,返 回 指 定 URL的 文 档 。 在 MFC中 是 CInternetSession::OpenURL CStdioFile* OpenURL( LPCTSTR pstrURL, DWORD dwContext = 1, DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII, LPCTSTR pstrHeaders = NULL, DWORD dwHeadersLength = 0 ); Throw ( CInternetException ); VARIANT的 定 义 如 下 : typedef struct FARSTRUCT tagVARIANT VARIANT;<br> typedef struct FARSTRUCT tagVARIANT VARIANTARG; typedef struct tagVARIANT {<br> VARTYPE vt;<br> unsigned short wReserved1;<br> unsigned short wReserved2;<br> unsigned short wReserved3; union {<br> unsigned char bVal; // VT_UI1.<br> short iVal; // VT_I2 .<br> long lVal; // VT_I4 .<br> float fltVal; // VT_R4 .<br> double dblVal; // VT_R8 .<br> VARIANT_BOOL boolVal; // VT_BOOL.<br> SCODE scode; // VT_ERROR.<br> CY cyVal; // VT_CY .<br> DATE date; // VT_DATE.<br> BSTR bstrVal; // VT_BSTR.<br> IUnknown FAR* punkVal; // VT_UNKNOWN.<br> IDispatch FAR* pdispVal; // VT_DISPATCH.<br> SAFEARRAY FAR* parray; // VT_ARRAY|*.<br> unsigned char FAR* pbVal; // VT_BYREF|VT_UI1.<br> short FAR* piVal; // VT_BYREF|VT_I2.<br> long FAR* plVal; // VT_BYREF|VT_I4.<br> float FAR* pfltVal; // VT_BYREF|VT_R4.<br> double FAR* pdblVal; // VT_BYREF|VT_R8.<br> VARIANT_BOOL FAR* pboolVal; // VT_BYREF|VT_BOOL.<br> SCODE FAR* pscode; // VT_BYREF|VT_ERROR.<br> CY FAR* pcyVal; // VT_BYREF|VT_CY.<br> DATE FAR* pdate; // VT_BYREF|VT_DATE.<br> BSTR FAR* pbstrVal; // VT_BYREF|VT_BSTR.<br> IUnknown FAR* FAR* ppunkVal; // VT_BYREF|VT_UNKNOWN.<br> IDispatch FAR* FAR* ppdispVal; // VT_BYREF|VT_DISPATCH.<br> SAFEARRAY FAR* FAR* pparray; // VT_ARRAY|*.<br> VARIANT FAR* pvarVal; // VT_BYREF|VT_VARIANT.<br> void FAR* byref; // Generic ByRef.<br> }; }; 主 持 人 注 : VARIANT结 构 的 vt是 很 重 要 , 它 相 当 VB的 VarType函 数 。<br> 另 外 , 参 考 QA002126 “如何设置ActiveX控件图片属性(LPDISPATCH类型)的值”。<br> <b><img border="0" src="../../theory/image/greenball2.gif" width="9" height="9"></b><a name="ctime_to_cstring"><b>Ctime转换成 CString</b></a></font></p> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><font color="#008080">答:CString strdt;Ctime t;strdt.Format("%02d/%02d/%04d", t.GetMonth(), t.GetDay(), t.GetYear());<br> </font></p> <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"> </td> </tr></table></center></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -