تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 11 اولاول 123456 ... آخرآخر
نمايش نتايج 11 به 20 از 106

نام تاپيک: سوال هایی از Vb2008

  1. #11
    آخر فروم باز 3Dmajid's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    پشت کامپیوتر
    پست ها
    6,067

    پيش فرض

    واقعا ازتون ممنونم ... خیلی خوب راهنمایی میکنید.

    و یه سوال دیگه در مورد این برنامه نویسی :

    - برنامه ی من یه برنامه ی ساده س که مخلوطی از notepad و paint هست، میخوام قابلیت save کردن پروژه رو به کاربر بدم با پسوند مخصوص خود برنامم.
    مثلا کاربر روی دکمه ی save کلیک کنه و پروژه رو با پسوند *.majid ذخیره کنه و بعد بتونه اون رو لود کنه تا بقیه ی کارش رو انجام بده.
    مطمئنم که میشه ولی نمیدونم چه جوری ...

  2. #12
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    بله مشکل خاصی ندارد...
    ولی باید بدانم اطلاعات شما چی است که باید ذخیره شود...
    یک متن است؟ یک لیستی از نقاط است؟ یک آرایه عددی است؟ یک تصویر است؟ مخلوطی از اینها است؟ و...

    در یک برنامه اصولی شما باید یک Class داشته باشید که مثل بانک اطلاعاتی برنامه در RAM باشد و همه دیتا ها از آن خوانده شود و در آن نوشته شود، بعد برای Save و Load از یک فایل کافی است فقط این Class را Serialize و Deserialize کنید.

    این سریالی کردن میتواند
    1) دستی و با فرمت خاصی صورت بگیرد
    2) طبق رسم مرسوم و جدید اغلب برنامه ها و با حصول شرایط به فرمت XML و با کمک کلاسس System.Xml.Serialization.XmlSerializer و نمونه های مشابه صورت بگیرد.
    3) میتوانید به صورت باینری و با حصول شرایط با کلاسس System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter صورت بگیرد.
    و...

    داده های لحظه ای برنامه را شرح دهید؟ (چه چیزهایی باید ذخیره شود؟)

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  4. #13
    آخر فروم باز 3Dmajid's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    پشت کامپیوتر
    پست ها
    6,067

    پيش فرض

    توی این برنامه ی خیلی ساده که ساختم کاربر میتونه با یه براش خیلی ساده مثل paint عمل کنه، و با استفاده از دستور Draw میتونه rectangle یا ellipse رسم کنه و امکان رسم خط هم با استفاده از drawline داره.
    کاربر همه این کارها رو میتونه روی richbox انجام بده. (منظورم اینه که من این دستورات رو روی ریچ باکس گزاشتم)
    در نتیجه محتویات نوشته شده توی یه richbox و شکل های کشیده شده به وسیله ی brush و draw باید ذخیره بشن.

  5. #14
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اگر برای سادگی و کمی کد روش 3) را انجام دهیم، چیزی شبیه این خواهد شد...
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  7. #15
    آخر فروم باز 3Dmajid's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    پشت کامپیوتر
    پست ها
    6,067

    پيش فرض

    سلام
    اگر برای سادگی و کمی کد روش 3) را انجام دهیم، چیزی شبیه این خواهد شد...
    ببخشید منظورتون رو متوجه نشدم.

  8. #16
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اگر برای سادگی و کمی کد روش 3) را انجام دهیم...
    ببخشید منظورتون رو متوجه نشدم
    منظورم ارجاع به پست قبلی ام بود (پست 12)
    1) دستی و با فرمت خاصی صورت بگیرد
    2) طبق رسم مرسوم و جدید اغلب برنامه ها و با حصول شرایط به فرمت XML و با کمک کلاسس System.Xml.Serialization.XmlSerializer و نمونه های مشابه صورت بگیرد.
    3) میتوانید به صورت باینری و با حصول شرایط با کلاسس System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter صورت بگیرد.
    و...
    فکر نکنم با کد که مشکلی داشته باشید.

  9. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  10. #17
    آخر فروم باز 3Dmajid's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    پشت کامپیوتر
    پست ها
    6,067

    پيش فرض

    از راهنماییتون خیلی ممنونم،
    میشه در مورد کد بیشتر توضیح بدید ؟
    من چیز زیادی ازش نفهمیدم.

    اگه میتونید وقتی کد رو مینویسید به همراه کامنت باشه، اگه به زبان انگلیسی هم بنویسید مشکلی نیست.
    خیلی خیلی ممنونم.

    امیدوارم که بتونم جبران کنم.
    از این که وقتتون رو میگیرم خیلی عذر میخوام.
    به هر حال ما هم دوست داریم از وی بی چیزی یاد بگیریم.

  11. #18
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    آخه جوان رشید، دو خط کد که کامنت نداره !....

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    یک کلاسس با قابلیت سریالی تعریف کردیم که دو مقدار را نگه داری میکند
    اولی به نام Rtf یک String است که برای نگه داری متن فرمت دار و مخصوص RichTextBox استفاده میشود.
    دومی با نام Img یک Image یا Bitmap (عکس) است که کلیه نقاشی ها و خطوط ترسیمی شما را در خود دارد.

    دو متد هم داری.
    اولی با نام Save وظیفه سریالی کردن کلاسس عزیزمان را بر عهده دارد!
    شی BinaryFormatter را میسازد،
    فایل مورد نظر را برای نوشتن باز میکند،
    کلاسس جاری که کد در آن اجرا میشود (Me) به همراه stream فایل باز شده تحویل BinaryFormatter میدهد تا کلاس را سریالی کند و در فایل ذخیره کند.


    دومی با نام Load است و وظیفه ضد سریالی کلاسس را بر عهده دارد.
    شی BinaryFormatter را میسازد،
    فایل مورد نظر را برای خواندن باز میکند،
    stream فایل باز شده را تحویل BinaryFormatter تا اطلاعات را خوانده و مقدار جدید از کلاسس Data را پس دهد
    در نهایت چون خروجی BinaryFormatter از نوع Object است (و مطمئن هستیم که داخلش کلاسس Data خودمان قرار دارد) با دستور TryCast اشره گر Object را به Data قالب ریزی میکنیم.



    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در کدهای برنامه برای ذخیره...
    با کمک New نمونه جدیدی از کلاسس Data میسازیم و محتویات RichTextBox و تصویر نقاشی شده را در ان میریزیم و متد Save را اجرا میکنیم.
    (معمولاً این کلاسس در یک برنامه از قبل وجود دارد و دیتا هم در ان قرار دارد)

    برای open هم...
    دستور Load را اجرا میکنیم و نسخه جدید و کاملی از Data را پس میگیریم
    این بار به صورت عکس محتویات Data را به RichTextBox و تصویرمان باز میگردانیم.


    اگر کدخاصی را متوجه نشدید، بگویید تا همان را بیشتر توضیح دهم.
    =====

    فقط بدیهی است که ترسیمات شما نباید یک راست در روی پرده نمایش مونیتور انجام شود و باید آنها را در bmp داخل ram تان ترسیم کنید و بعد bmp را روی مونیتور ترسیم کنید، اینطوری بعداً با save و load تصویر هم مشکلی نخواهید داشت.

    البته در کل ترسیم تصویر روی RichTextBox یکم عجیب و غریب است!! و اگر RichTextBox کوچک باشد و نیاز به Scroll پیدا کنید...

  12. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  13. #19
    آخر فروم باز 3Dmajid's Avatar
    تاريخ عضويت
    Dec 2007
    محل سكونت
    پشت کامپیوتر
    پست ها
    6,067

    پيش فرض

    خیلی خیلی متشکر.

    در مورد شی object اگه میشه توضیح مختصری بدید و بگید که مجاها میشه ازش استفاده کرد.

  14. #20
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    برای VB6 کارها میتوان گفت Object جایگزنی بر Variant است.

    ولی Variant یک ساختار COM است و اصول کاملاً متفاوتی دارد و همه انواع دیتاها را نمیتوان در آن ریخت.

    ولی Object در VB9 یک ساختار پایه با اصول OOP است و کلیه ساختارهای موجود به صورت مستقیم و غیر مستقیم وراثتی از Object هستند ... (انواع Class و Structure و Delegate و Enum و...)

    در نتیجه هر اطلاعاتی را میتوان در Object ریخت، حتی اشاره گرهای توابع... و ساختارهایی که خودمان کدش را نوشتیم، (مثل همین کلاسس درپیت Data در مثال فوق)

    در واقع هر کلاسی که تعریف میکنید باید طبق اصول سخت گیرانه OOP دات نت از یک کلاسس دیگر مشتق شده باشد و وقتی در تعریف یک کلاس ما صراحتاً کلاسس پایه را مشخص نمیکنیم در واقع از Object وراثت میگیریم.

    دو کد زیر برابر هستند
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگر احیاناً، احتمالاً (و یک درصد) متوجه مطالب فوق نشدید، زیاد مهم نیست، بعداً که پایه کاریتان قوی تر و شفاقت بیشتری با oop پیدا کردید لذت خواهید برد!

    فعلاً شاید دانستن این نکته کافی باشد که ره چیزی را میتوانید در Object و برای تبدیل اشاره گر Object به دیتای اولیه (قالب ریزی) میتوانید از DirectCast و Trycast استفاده کنید، ضمن آنکه CType بجز قالب ریزی وظیفه تبدیل را هم انجام میدهد.
    (این مطالب در خصوص کل سلسه مراتب وراثتی مصداق دارد و صحیح است)

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    ضمناً برای نوع داده های اصلی و پرکاربرد مثل Integer و String و UInteger و Short و UShort و... معادل CType کوتاه تر و با کد کمتری هم وجود دارد، مثل CInt و CStr و...

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •