سلام , چطوری میشه محتویات textBox رو ریخت داخل داده از نوع std::string یا charArray
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام , چطوری میشه محتویات textBox رو ریخت داخل داده از نوع std::string یا charArray
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مشکل اینجاست که وقتی داده از نوع System::String به صورت global تعریف می کنم میگه نمی شه داده ی نوع String^ صورت global معرفی کنی
الان شما تو حالت اول str رو از نوع String در نظر گرفتی داده ی من از نوع string هستش
حالت دوم رو هم قبلا امتحان کرده بودم جواب نمیده![]()
سلام من که نمیدونم مشکلت چیه چون حسن عزیز جوابتونو دادن برای تبدیل میتونی از تابع زیر هم استفاده کنی:
اگه جواب نگرفتی بیشتر توضیح بدی ممنون میشم.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
مشکل شما از همان علامت کوچک ^ ناشی میشود.چطوری میشه محتویات textBox رو ریخت داخل داده از نوع std::string یا charArray
در نسخه VC++.Net2005 به بعد، تعریف متغییر ارجاعی به class های مدیریت شده دات نت نیاز به این علامت دارد.یعنی...
نتیجتاً شما باید در تعریف متغیر نوعهای Class بعد از نام Type از یک علامت ^ استفاده کنید.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی برای متغییرهای نوعهای Struct نیازی به عمل فوق نیست.
=====کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگر منظورتان از global آن است که متغییری (و ترجیحاّ تابع و متد) را در خارج از یک ساختار Class یا Struct تعریف کنید.مشکل اینجاست که وقتی داده از نوع System::String به صورت global تعریف می کنم میگه نمی شه داده ی نوع String^ صورت global معرفی کنی
این کار مخالف اصول کدهای مدیریت شده و شی گرایی دات نت است.
تمام متغییرها (و ترجیحاّ توابع) شما بلااجبار باید در یک ساختار Class یا Struct قرار داشته باشند.
به راحتی بک public ref class بنویسید و یک کلاس را شروع کنید و یا در project->AddClass یک کلاس اضافه کنید و سپس درون بدنه ان کدنویسی کنید.
سعی کنید تفکر منسجم شی گرایی داشته باشید و کدهای خود را به واحدهای صحیح namespace و class و method بشکنید.
=====
نوعی به نام string (حروف کوچک) در VC++.Net وجود ندارد.الان شما تو حالت اول str رو از نوع String در نظر گرفتی داده ی من از نوع string هستش
فقط نوع String را دارید که در واقع System::String است و باید در تعریف متغیرش از ^ استفاده کنید.
=====
منظورتان را از حالت دوم درست متوجه نشدم ولی بیتردید کدهای زیر در VC++.Net2005/2008 به درستی و بدون مشکل کامپایل خواهد شد.حالت دوم رو هم قبلا امتحان کرده بودم جواب نمیده
موفق باشید.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من این کار رو کردم یک سری از مشکلات بر طرف شد , یک کلاس تعریف کردم و بعضی از داده های کلاس رو از نوع String ^ تعریف کردمه راحتی بک public ref class بنویسید و یک کلاس را شروع کنید و یا در project->AddClass یک کلاس اضافه کنید و سپس درون بدنه ان کدنویسی کنید
حالا اگه بخوام از این کلاس شی بسازم بطوریکه بشه در تمام فایل های برنامه ازش استفاده کرد , شی رو کجا باید تعریف کنم؟
سلام
اکثریت (و به نظر من همه!) افرادی که همچین درخواستهایی در شروع برنامه نویسی دارند، بدون تردید، دارند به الگوریتم های غیر صحیحی و روشهایی قط برای فرار سریع از مشکل همان لحظه فکر میکنند.حالا اگه بخوام از این کلاس شی بسازم بطوریکه بشه در تمام فایل های برنامه ازش استفاده کرد , شی رو کجا باید تعریف کنم؟
نه اینکه کار نمیکند، کار میکند ولی این طرز تفکر صحیح نیست و شما باید برنامه و روش و الگوریتمتان ار طوری اصلاح کنید که نیازی به این متغیرهای اشتراکی در سرتاسر برنامه نداشته باشید.
(البته در برنامه نویسی حرفه ای هم از این نوع کدها استفاده میشود ولی در جای صحیح و لازمش، من تاحالا ندیدم افرادی که در شروع کار همچین سوالاتی میپرسند در جای درست و لازم از این تکنیک استفاده کنند.)
مثلاً خیلیها میخواهند دیتایی را بین دو فرم برنامه منتقل کنند و این راه را پیش میگیرند ولی ...
یا ...
پیشنهاد میکنم، شما بفرمائید برای چه این متغییرها را لازم دارید تا من راه منطقی و اصولی تری به شما برای حل مشکلتان پیشنهاد کنم.
به عنوان یک راه ساده، حداقل اگر برنامه تان یک فرم دارد، متغییرهای فوق را درون بدنه کلاس فرم معرفی کنید.
=====
به هرحال جواب:
قبل از تعریف متغییرتان از کلمه static استفاده کنید، دیگر نیازی به نمونه سازی (new) کلاس نخواهید داشت.
=====کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید.
واقعا از شما متشکرم که وقت گذاشتید و به سوالات من پاسخ دادید , راستش من دانشجوی ترم 2 هستم و تازه class ها رو آخر ترمی بهمون یاد دادن و تازه دارم اینو یاد می گیرم
یک پروژه به ما دادن برای پایان ترم (سیستم کتابخانه) و من هم چون می خوام پروژهی رو که می نویسم همیشه با همه فرق بکنه و از همه بهتر باشه , visual بسازمسعی کنید تفکر منسجم شی گرایی داشته باشید و کدهای خود را به واحدهای صحیح namespace و class و method بشکنید.
ترم 1 این اتفاق افتاد و پروژه پایان ترم رو که باید با زبان پاسکال می نوشتیم رو با دلفی نوشتم و نمره ی اضافه گرفتم
وقتی یک برنامه نویس حرفه ای پروژم رو دید گفتش که برنامه سازی الان در مرحله ی قرار داره به نام Service Programming الان این کدهای رو که تو نوشتی مربوط میشه به مرحله ی که 20 ساله پیش برنامه سازی در اون قرار داشت.
حالا من فعلا نمی خوام خیلی حرفه ی پروژه رو بنویسم فقط می خوام visual باشه.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)