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

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




نمايش نتايج 1 به 10 از 10

نام تاپيک: سوال در مورد برنامه نویسی گرافیکی با vb6

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2011
    پست ها
    28

    13 سوال در مورد برنامه نویسی گرافیکی با vb6

    سلام دوستان

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

    لطفا اگر با برنامه نویسی گرافیکی در vb6 آشنایی دارید،کمکم کنید تا از پس حل یه تکلیف نوروزی بر بیام.
    استاد درس گرافیک کامپیوتریمون گفته یه شش ضلعی با تمام قطرهاش با دستورات functionو line بنویسیم. من میتونم شش ضلعی رو با این دستورات رسم کنم ، اما نتونستم برنامه ای بنویسم که بتونه قطرهاشو هم خودش رسم کنه!
    آخه گفته برنامه خودش باید بتونه قطرها رو رسم کنه ، نه اینکه قطرها رو تک تک با دستور line بنویسیم.

    لطفا اگه نظری دارید زودتر برام بنویسید، چونکه برای تحویلش فقط تا 14 ام وقت دارم.ممنون

  2. #2
    کاربر فعال انجمن برنامه نویسی n00b's Avatar
    تاريخ عضويت
    May 2012
    محل سكونت
     
    پست ها
    297

    پيش فرض

    سلام...////
    *******************
    یه پروژه جدید درست کنید و کد های زیر رو داخلش قرار بدید...////
    ***********************
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    **********************
    موفق باشید!

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


  4. #3
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2011
    پست ها
    28

    پيش فرض

    سلام n00b
    بسیار بسیار متشکرم ، خیلی ممنون.

    میشه لطفا در مورد کدها یکم توضیح بدید.

    در ضمن استادمون با function خواسته ، لطفا در این مورد راهنماییم کنید که چجوری این دستورات رو در function وارد کنم.
    Last edited by mohaddeseh87; 02-04-2013 at 18:02.

  5. #4
    کاربر فعال انجمن برنامه نویسی n00b's Avatar
    تاريخ عضويت
    May 2012
    محل سكونت
     
    پست ها
    297

    پيش فرض

    خواهش میشه...//// فقط من منظورتون رو از Function نفهمیدم.../// ببینید این برنامه چه طوره؟؟...///
    *******************
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ***********************
    توضیحات رو آخر پست براتون ضمیمه کردم..////
    **************
    موفق باشید!

    ************************************************** **
    تو رویداد Form_Load مقدار خاصیت AutoRedraw رو برابر False و ScaleMode رو برابر 3 یا همون Pixel قرار دادیم.../// اینا برای رسم شکل لازمه...////
    یه تابع DrawHexagram تعریف کردیم و کد های مربوط به رسم شکل رو داخلش قرار دادیم و این تابع رو تو Form_Paint فراخوانی کردیم تا با هر بار رسم شدن پنجره// شکل refresh بشه...///
    روش رسم به این صورته:
    دو تا حلقه وجود داره که یکی 6 بار و یکی 3 بار داخل حلقه ی قبلی اجرا میشه../// حلقه اول رئوس شش ضلعی رو مشخص می کنه و حلقه دومی مربوط میشه به رسم قطرها و اضلاع شش ضلعی...///
    خطوط شکل...//
    برای رسم از تابع Line استفاده کردیم که روش استفاده ازش به این صورته " (Line(x1,y1)-(x2,y2 " .../// این تابع یک خط از نقطه (x1,y1) به نقطه (x2,y2) رسم می کنه../// به مقادیر x1 y1 x2 و y2 توجه کنید...///
    بقیه کد ها هم که دیگه مربوط میشه به ریاضیات و مثلثات و یکم پیچیدست.../// اگه خواستید بگید تا دربارش توضیح بدم../// عدد 1.0471 برابر تقسیم عدد پی به 3 هستش که یعنی همون 60 درجه البته به رادیان...///
    و 60 درجه هم حاصل تقسیم 360 بر 6 ه.../// اگه یه دایره رسم کنید../// و داخلش یه شش ضلعی منتظم../// رئوس با فاصله ی 60 درجه از هم قرار می گیرن....////
    موفق باشید!

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


  7. #5
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2011
    پست ها
    28

    پيش فرض

    بازم ممنون، کمک خیلی بزرگی کردید.

    فکر کنم این همون چیزی که استادمون ازمون میخواد.
    فقط لطفا درمورد قسمت ریاضیاتش برام توضیح بدید. فکر کنم اگه یه مرحله اجراشدن رو ( i=0 و j=0 ) برام توضیح بدید،بقیه اش رو متوجه بشم.
    در ضمن لطفا بگید این scalewidth دقیقا چه خاصیتی ؟ و چرا اونو تقسیم بر اعداد 2و3 میکنید؟

  8. #6
    کاربر فعال انجمن برنامه نویسی n00b's Avatar
    تاريخ عضويت
    May 2012
    محل سكونت
     
    پست ها
    297

    پيش فرض

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    دو تا حلقه وجود داره که یکی 6 بار به تعداد رئوس و یکی 3 بار اجرا میشه.../// همون طور که گفتم حلقه اول رئوس رو مشخص می کنه// و حلقه دوم مربوط میشه به رسم خطوط شکل// یعنی ضلع ها و قطر ها...///
    روش رسم به این صورته.../// اگه شما یه دایره رسم کنید// و یه شش ضلعی منتظم داخلش// رئوس شش ضلعی با فاصله ی 60 درجه از هم روی دایره قرار می گیرن../// 60 = 360/6...//
    پس برای رسم شش ضلعی باید نقاطی رو به فاصله ی 60 درجه روی یه دایره فرضی در نظر بگیریم و از این نقاط خطوطمون رو رسم کنیم...///
    برای رسم دایره اول وسط فرم رو پیدا می کنیم.../// خاصیت ScaleWidth طول فرم رو به Pixel به ما میده// و اگه تقسیم بر 2 کنیمش حاصل میشه نصف طول فرم.../// مقدار ScaleHeight هم عرض فرم رو میده...///
    ما یه بار دیگه مقدار این خاصیت رو تقسیم بر 3 کردیم تا شعاع دایره رو به دست بیاریم.../// شعاع دایره میشه 1/3 طول و عرض فرم// پس قطر دایره یا قطر شش ضلعی میشه 2/3 طول و عرض فرم...///
    با توجه به قوانین مثلثات// کسینوس x ها رو به ما میده و سینوس y ها رو...// (به تصویر توجه کنید// توضیحش یکم مشکله...///)

    برای رسم دایره شعاع رو ضربدر سینوس و کسینوس زاویه مون می کنیم// تا مقدار x و y رو به دست بیاریم..///
    i رأس شکل رو مشخص می کنه تو اجرای اول مقدارش صفره و میشه صفر درجه.../// تو اجرای دوم مقدارش برابر یکه که وقتی تو 1.0471 (حاصل تقسیم عدد پی بر 3 یعنی 60 درجه) ضرب بشه میشه 60 درجه../// و تو اجرای بعدی 2 که میشه 120 درجه و به همین صورت....////
    اینا برای x1وy1 بود../// اما تو x2وy2 مقدار i با یه j هم جمع میشه که حاصلش رأس بعدی رو مشخص می کنه...// تو اجرای اول مقداش برابر 1 واحد بیشتر از رأسی که روش قرار دارید.../// یعنی 1 رأس جلوتر و یه خط از رأسی که روش قرار دارید به 1 رأس جلوتر رسم میکنه../// میشه ضلع شش ضلعی...///
    تو اجرای دوم مقدارش میشه 2 واحد بیشتر (2 رأس جلوتر) و قطر کوچیک رو رسم می کنه و تو اجرای بعدی 3 و قطر بزرگ شش ضلعی رو رسم می کنه...///
    ******************
    اگه بازم متوجه نشدید بگید تا بیشتر توضیح بدم.../// یکم پیچیدست این برنامه...//////// پیشنهاد می کنم که یه Breakpoint روی تابع Line بذارید و اجرا شدن کد ها رو تو هر مرحله مشاهده کنید.../// اینجوری بهتر متوجه میشید...///
    کد ها رو هم اصلاح کردم.../// از کد های جدید استفاده کنید...//// حلقه ها هر کدوم یه بار اضافه اجرا میشدن...///
    موفق باشید!
    Last edited by n00b; 03-04-2013 at 22:32.

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


  10. #7
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2011
    پست ها
    28

    پيش فرض

    خیلی پیچیده است!
    کمابیش متوجه شدم .متاسفانه نحوه استفاده از متد Breakpoint را نمیدانم ، لطفا در این مورد هم مرا راهنمایی کنید.
    پیشاپیش از وقتی که میگذارید ،سپاسگذارم.

  11. #8
    کاربر فعال انجمن برنامه نویسی n00b's Avatar
    تاريخ عضويت
    May 2012
    محل سكونت
     
    پست ها
    297

    پيش فرض

    برای گذاشتن Breakpoint روی هر خط از کد// روی فضای خالی قبل از اون کلیک کنید..//// مثل تصویر...////
    ************************

    *****************
    بعد از اجرای برنامه.../// وقتی مفسر به Breakpoint برسه اجرای برنامه متوقف میشه و می تونید با دکمه F5 یا کلیک روی دکمه Run اجرای برنامه رو ادامه بدید...///
    ********************
    گذاشتن Breakpoint به شما تو عیب یابی برنامه کمک زیادی می کنه...////
    *****************************
    موفق باشید!

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


  13. #9
    داره خودمونی میشه
    تاريخ عضويت
    Dec 2011
    پست ها
    28

    پيش فرض

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

    فقط یه سوال تخصصی دارم.
    فکر و ایده حل این چنین سوالهایی رو چطوری باید پیدا کنم؟؟

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


  15. #10
    کاربر فعال انجمن برنامه نویسی n00b's Avatar
    تاريخ عضويت
    May 2012
    محل سكونت
     
    پست ها
    297

    پيش فرض

    با فکر کردن روی مسئله...////

Thread Information

Users Browsing this Thread

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

User Tag List

برچسب های این موضوع

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

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