نقل قول: تبدیل نوع VARIANT به int
دوستان کسی میتونه راهنمایی کنه ؟
نقل قول: تبدیل نوع VARIANT به int
نمی دانم از چه روشی و از کجا با VARIANT آشنا شدید که می خواهید از آن برای پورت com استفاده کنید، تا جایی که بنده می دانم VARIANT یک ساختار / struct هست که برای کار با Component Object Model یا همان تکنولوژی COM ویندوز هست، نه پورت COM . (در MSDN این ساختار را جستجو کنید)
کدام مرجع را مطالعه کردید که گفته شده باید از VARIANT استفاده کنید؟
نقل قول: تبدیل نوع VARIANT به int
تو مثالی که برای ارتباط سریال با پورت کام گذاشته بودید از دستورات زیر برای دریافت استفاده می شد:
VARIANT in_dat;
in_dat = m_comm.get_Input();
CString strInput(in_dat.bstrVal);
m_CStringInput1 = m_CStringInput1 + strInput;
که m_comm متغیر پورت سریاله و CStringInput1 هم متغیره EditControl هستش. حالا اگه in_dat رو به نوع int تغییر بدیم error میده . چطور میشه in_dat رو به یک عدد تبدیل کرد ؟
نقل قول: تبدیل نوع VARIANT به int
نگاه کنید، اختمالا مثالی که می گوییدهمانی هست که در آن از یک ActiveX با نام MSComm استفاده شده بود (یا حالا کلاسی مانند آن نوشته شد) که بر اساس تکنولوژی COM بود.
تکنولوژی COM که همان کمپوننت ها هستند هیچ ربطی به پورت سریال COM ندارد. بلکه کپ.ننت فوق کارش این هست که از پورت سریال COM می خواهند.
شما ابتدا باید نحوه فراخوانی و کار کردن با ActivX ها و کمپوننت های COM را یاد بگیرید. که کمی سخت هست. یعنی به نوعی با یک اینترفیس و ساخت یک شئی از کلاس، متدهای آن کلاس را فراخوانی می کنید.
باید در اسناد VB دنبال تابع های آن بگردید و نحوه خواندن داده را جستجو کنید، تا جایی که می دانم in_dat.bstrVal رشته داده ای را می دهد.
توصیه می کنم اصلا دنبال کپوننت های قدیمی COM اینچنینی نباشید که برای ++C هم نیستند و مستقیم دنبال یک کلاس نوشته شده توسط ++C بگردید که با فراخوانی توابعی به شما اطلاعات را بدهد. قبلا چند مرتبه لینک داده ام.
نقل قول: تبدیل نوع VARIANT به int
آیا امکانش هست VARIANT in_dat رو به int تبدیل کرد ؟
نقل قول: تبدیل نوع VARIANT به int
نقل قول:
نوشته شده توسط
Hadi.Nasiri
آیا امکانش هست VARIANT in_dat رو به int تبدیل کرد ؟
کست جواب نمیده ؟
ch=(char)vin.bstrVal[0];
برای کاراکتر این کار جواب میده حتما عدد هم به همین شکله !