نمایش نتایج 1 تا 7 از 7

نام تاپیک: تبدیل نوع VARIANT به int

  1. #1

    Question تبدیل نوع VARIANT به int

    سلام دوستان
    چند تا سوال داشتم، اول اینکه داده از نوع VARIANT چه جور داده ایه ؟
    دوم، ظاهرا داده ای که از پورت سریال دریافت می کنیم حتما باید در متغیری از نوع VARIANT ذخیره بشه! با فرض اینکه داده دریافتی عدد باشه(دهدهی) چطور میشه این عدد رو که از نوع VARIANT هستش رو به int تبدیل کرد ؟(برای کنترل ProgressBar لازمش دارم)
    سوال سوم اینکه این دستورات چیکار می کنن ؟
    (CString strInput(in_dat.bstrVal
    مرسی

  2. #2

    نقل قول: تبدیل نوع VARIANT به int

    دوستان کسی میتونه راهنمایی کنه ؟

  3. #3

    نقل قول: تبدیل نوع VARIANT به int

    نمی دانم از چه روشی و از کجا با VARIANT آشنا شدید که می خواهید از آن برای پورت com استفاده کنید، تا جایی که بنده می دانم VARIANT یک ساختار / struct هست که برای کار با Component Object Model یا همان تکنولوژی COM ویندوز هست، نه پورت COM . (در MSDN این ساختار را جستجو کنید)

    کدام مرجع را مطالعه کردید که گفته شده باید از VARIANT استفاده کنید؟

  4. #4

    نقل قول: تبدیل نوع 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 رو به یک عدد تبدیل کرد ؟

  5. #5

    نقل قول: تبدیل نوع VARIANT به int

    نگاه کنید، اختمالا مثالی که می گوییدهمانی هست که در آن از یک ActiveX با نام MSComm استفاده شده بود (یا حالا کلاسی مانند آن نوشته شد) که بر اساس تکنولوژی COM بود.

    تکنولوژی COM که همان کمپوننت ها هستند هیچ ربطی به پورت سریال COM ندارد. بلکه کپ.ننت فوق کارش این هست که از پورت سریال COM می خواهند.

    شما ابتدا باید نحوه فراخوانی و کار کردن با ActivX ها و کمپوننت های COM را یاد بگیرید. که کمی سخت هست. یعنی به نوعی با یک اینترفیس و ساخت یک شئی از کلاس، متدهای آن کلاس را فراخوانی می کنید.

    باید در اسناد VB دنبال تابع های آن بگردید و نحوه خواندن داده را جستجو کنید، تا جایی که می دانم in_dat.bstrVal رشته داده ای را می دهد.

    توصیه می کنم اصلا دنبال کپوننت های قدیمی COM اینچنینی نباشید که برای ++C هم نیستند و مستقیم دنبال یک کلاس نوشته شده توسط ++C بگردید که با فراخوانی توابعی به شما اطلاعات را بدهد. قبلا چند مرتبه لینک داده ام.
    آخرین ویرایش به وسیله Nima_NF : پنج شنبه 05 شهریور 1388 در 15:03 عصر

  6. #6

    نقل قول: تبدیل نوع VARIANT به int

    آیا امکانش هست VARIANT in_dat رو به int تبدیل کرد ؟

  7. #7

    نقل قول: تبدیل نوع VARIANT به int

    نقل قول نوشته شده توسط Hadi.Nasiri مشاهده تاپیک
    آیا امکانش هست VARIANT in_dat رو به int تبدیل کرد ؟
    کست جواب نمیده ؟


    ch=(char)vin.bstrVal[0];


    برای کاراکتر این کار جواب میده حتما عدد هم به همین شکله !

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •