ما میخوایم بعد از اینکه روی دکمه فایلمون زدیم بیاد مثلا چیزهایی رو نمایش بده ، اگه ما بخوایم ماشین حساب رو هم به همین ترتیب براش این کار انجام بدیم اونوقت رنگ دکمه هایی که برای ماشین حساب انتخاب کردیم با رنگ دکمه فایلمون برابر میشه، به نظر شما در قاعده کلی برنامه مشکلی پیش نمیاد؟
آقای master ، خواهش میکنم....واقعا دیگه ما نمیتونیم به عقب برگردیم و دوباره برنامه رو ویرایش کنیم، ما تا مدتها روی مختصات بودیم اما بی فایده بود به همین دلیل براساس توصیه شما روی رنگ کار کردیم.
یعنی اصلا برای اینکه مشکل این رنگها حل بشه راهی وجود نداره؟
چه دلیلی داره که فقط میاد رنگهای بین 0 تا 15 رو میخونه و برای رنگهای بعدی پاسخی نداره؟
آقای mater شما پاسخی برای حل مشکل متدها که نمیتونستن باهم فراخونی بشن پیدا کردین که ما بتونیم ازتون راهنمایی بگیریم
خیلی ممنون میشم پاسخ بدین
بااحترام
نه هنوز نتونستم کامل برسم سرش و دقیق چک کنم . تا حالا نگاه که کردم چیزی سر درنیاوردم .
برای استفاده از مختصات ماوس میتونید از ماکرو و تابع زیر استفاده کنید . که تغییرات خیلی کمی باید بدید در کدتون ( فقط بخش شناسایی رنگها عوض میشه با این . و بخش های دیگه کدتون دست نمیخوره . )
آقای حسنپور این کدی که دادین، کار کرد.....واقعا ازتون ممنونم ، و همینطور از دوست محترمتون هم سپاسگزارم
خیلی ممنونم که پیگیر این مشکل بودین
بینهایت متشکرم
بااحترام
متاسفم......بنده اشتباه کردم و این کدی که شما فرمودین رو انجام دادیم اما وقتی برای چند عدد این کار رو انجام دادیم دچار خطاهایی از این دست شد که مربوط به متد Get_Proc هست میشه ، بنده خودم به اندازه سوادم این خطاهارو بررسی کردم وهمه push و pop ها رو چک کردم همش درست بود اما نمیدونم چرا به popهای متد Get_Proc خطا میگیره؟( فایلی به اسم ch رو باز کنین این خطاها رو مشاهده خواهید کرد)
ch.asm [526] : error A2006 : : y2
ch.asm [527] : error A2006 : :x2
ch.asm [528] : error A2006 : : y1
ch.asm [529] : error A2006 : : x1
ch.asm [531] : error A2006 : : x1
ch.asm [533] : error A2006 : :x2
ch.asm [535] : error A2006 : : y1
ch.asm [537] : error A2006 : : y2
مشکل بعدیمون در مورد اینه که ما اومدیم یه فایل اصلی به اسم menu طراحی کردیم که بیاد همه عملیاتای اصلی در اونجا جا بگیره، الان ما مشکلی که داریم اینه که با اینکه ما براش محیط گرافیکی تعریف کردیم اما با کلیلک کردن بلافاصله در محیط متنی قرار میگیره؟
و ، خوب حالا اینجا باز سوالاتمون به دو بخش تقسیم میشه ، بخش اولش اینه که نگاه کنین دو فایل به نامهای menuNEAR و menuFAR هست که هر کدوم برای ما میخوان دو کار یکسان اما عملکردای متفاوت دارن انجام بدن ، menuNEAR میاد مثلا کدهای save و open رو در خودش نگه میداره اما وقتی روی دکمه مورد نظرمون کلیک میکنیم که بیاد کارشو انجام بده میبینیم که چیزای عجیب غریب بهمون نمایش میده ، menuFAR کارش همینه و سوالمون اینه که چطوری بیایم از extrn استفاده کنیم تا دیگه مجبور نباشیم اون متدهای یا کدها رو داخل برنامه بیاریم و اینطوری برنامه تمیزتز و خلوتتر میشه.
سوال بعدیمون هم همچنان در مورد اینه که : چرا نمیتونه 4 متد برای عملگرهامونو همزمان با هم انجام بده و چرا operator از خودش الکی مقدار دهی میکنه؟
و ممنون میشم راهنمایی بفرمایین
بااحترام
ویرایش توسط NIIT : 18th August 2011 در ساعت 02:03 AM
متاسفم......بنده اشتباه کردم و این کدی که شما فرمودین رو انجام دادیم اما وقتی برای چند عدد این کار رو انجام دادیم دچار خطاهایی از این دست شد که مربوط به متد Get_Proc هست میشه ، بنده خودم به اندازه سوادم این خطاهارو بررسی کردم وهمه push و pop ها رو چک کردم همش درست بود اما نمیدونم چرا به popهای متد Get_Proc خطا میگیره؟( فایلی به اسم ch رو باز کنین این خطاها رو مشاهده خواهید کرد) ch.asm [526] : error A2006 : : y2 ch.asm [527] : error A2006 : :x2 ch.asm [528] : error A2006 : : y1 ch.asm [529] : error A2006 : : x1 ch.asm [531] : error A2006 : : x1 ch.asm [533] : error A2006 : :x2 ch.asm [535] : error A2006 : : y1 ch.asm [537] : error A2006 : : y2
متغییر های x1,y1,x2,y2 رو تعریف نکردین! برید تو دیتا سگمنت اینها رو از نوع DW تعریف کنین باید این مشکلتون حل بشه .
بقیه سوالتون رو هم فردا نگاه میکنم اگر بلد بودم سعی میکنم حتما سریع جواب بدم .
آقای حسنپور همونطور که فرمودین خطاها برطرف شدن ، ولی وقتی روی یک محدوده کلیک میکنم پیغامهای ناآشنایی میدهد
ممنون میشم به کدی که میفرستم نگاهی بیاندازید
بااحترام
ویرایش توسط NIIT : 18th August 2011 در ساعت 02:00 PM
چطوری بیایم از extrn استفاده کنیم تا دیگه مجبور نباشیم اون متدهای یا کدها رو داخل برنامه بیاریم و اینطوری برنامه تمیزتز و خلوتتر میشه.
سلام . فرض کنین من یه تابع دارم با نام MUL که تو یه فایل دیگه اس و میخوام تو برنامم ازش استفاده کنم .
میام اول برنامم اینو مینویسیم :
EXTERN MUL:FAR
اگه متغییر باشه تو یه فایل دیگه که بخوام تو این فایلم ازش استفاده کنیم اینطور مینویسم :
EXTERN X:DWORD
که بجای DWORD نوع متغییرتون رو مینویسید .
حالا بریم سراغ فایل تابعمون .
ابتدای فایل تابعمون باید به اسمبلر بفهمونیم که قراره از این تابع تو یه فایل دیگه استفاده بشه . این کارو با دستور زیر در ابتدای فایل تابعمون انجام میدیم .:
PUBLIC MUL
وبعد جداگانه هر فایل رو کامپایل میکنید .
موقع لینک کردن اینطور اینها رو با هم لینک میکنید :
Link myasm.obj+MUL.obj
و تمام .
------------------
مشکل بعدیمون در مورد اینه که ما اومدیم یه فایل اصلی به اسم menu طراحی کردیم که بیاد همه عملیاتای اصلی در اونجا جا بگیره، الان ما مشکلی که داریم اینه که با اینکه ما براش محیط گرافیکی تعریف کردیم اما با کلیلک کردن بلافاصله در محیط متنی قرار میگیره؟
بیشتر توضیح بدید یعنی چی محیط متنی میره؟
در مورد اینکه چیزای عجیب غریب نشون میده . یک دلیل عمومیش اینه که یکجای حافظه رو شما دارید دست میزنید خراب میکنید اینطور میشه . یه پوش وپاپ کم یا اضافه یا نذاشتن مشخص کننده انتهای رشته یا خوندن بیش از حد یک رشته نمونه هایی از این دست مسائل هستن که باعث این نوع ارور ها میشن .
در مورد اجرای 4 تا تابع بصورت هم زمان! فقط با تردینگ میشه این کارو کرد! ولی من ربطشو به پروژه شما نمیفهم!!
اگر منظورتون همون مشکل سابقه که چرا کم میکنه و ضر بو تقسیم کار نمیکنه من هنوز نتونستم برم سرش و هنوز نمیدونم چرا .
علاقه مندی ها (Bookmarks)