Trong một TUT của anh Ngo Hai Bac có nói về phần ép kiểu trong VC++. Nội dung như sau:
Chuyển từ kiểu CString ‐> VARIANT: tôi dùng lớp ColeVariant ( các bạn có thể tra trong MSDN dùng tab Index) là dạng đóng gói của kiểu cấu trúc VARIANT, lớp này có hàm khởi tạo COleVariant( CString& strSrc ); và do đó nó có thể làm tham số cho hàm SetInput của MSComm. Vì vậy chúng ta chỉ cần khai báo một biến ColeVariant là xong.
CString data_tosend = “Example”; CodeVariant temp(data_tosend); m_mscomm1.SetInput(temp);
‐ Chuyển từ kiểu VARIANT sang kiểu CString. Các bạn xem lại định nghĩa cấu trúc
VARIANT ở trên xem có biến nào có kiểu trả về kiểu tương thích với kiểu CString( tức có
thể ép kiểu để trở thành kiểu CString).
Tôi thấy có thành phần
BSTR bstrVal;
Do đó ta chỉ việc ép kiểu là xong.
VARIANT data;
CString m_strData = (CString) data.bstrVal;
Cho mình hỏi các hàm ép kiểu dữ liệu khác như thế nào, như chuyển qua ascii hay hexa...
Xin cảm ơn!
Chuyển từ kiểu CString ‐> VARIANT: tôi dùng lớp ColeVariant ( các bạn có thể tra trong MSDN dùng tab Index) là dạng đóng gói của kiểu cấu trúc VARIANT, lớp này có hàm khởi tạo COleVariant( CString& strSrc ); và do đó nó có thể làm tham số cho hàm SetInput của MSComm. Vì vậy chúng ta chỉ cần khai báo một biến ColeVariant là xong.
CString data_tosend = “Example”; CodeVariant temp(data_tosend); m_mscomm1.SetInput(temp);
‐ Chuyển từ kiểu VARIANT sang kiểu CString. Các bạn xem lại định nghĩa cấu trúc
VARIANT ở trên xem có biến nào có kiểu trả về kiểu tương thích với kiểu CString( tức có
thể ép kiểu để trở thành kiểu CString).
Tôi thấy có thành phần
BSTR bstrVal;
Do đó ta chỉ việc ép kiểu là xong.
VARIANT data;
CString m_strData = (CString) data.bstrVal;
Cho mình hỏi các hàm ép kiểu dữ liệu khác như thế nào, như chuyển qua ascii hay hexa...
Xin cảm ơn!
namqn
. Cái này chỉ là định dạng kiểu hiển thị số liệu ra màn hình mà. Không fai dùng ép kiểu j cả, như trong c %d,hay%... Quan trọng là bạn hiển thị số liệu trên điều khiển nào. Edit, texbox hay... Nói chung là bạn lên xây dựng một lớp kế thừa từ các lớp điều khiển cơ sở
. Vừa làm vừa tìm hiểu thêm
Comment