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

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




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

نام تاپيک: برنامه نویسی در ویندوز

  1. #11
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Aug 2007
    پست ها
    486

    پيش فرض

    این خط رو

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

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    error میده. دلیلش هم به خاطر اینه که من تو فایل rc به صورت رشته icon رو تعریف کردن نه عدد ثابت. نمی تونم بفهمم مشکل از کجاست!

  2. #12
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Aug 2007
    پست ها
    486

    پيش فرض

    hoax3r عزیز خیلی ممنون مشکل از نوع cursor ی بود که درست کردم. حل شد.

  3. #13
    پروفشنال hoax3r's Avatar
    تاريخ عضويت
    Oct 2007
    پست ها
    699

    پيش فرض

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

    شاد باشید
    Last edited by hoax3r; 13-08-2008 at 00:17.

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


  5. #14
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Aug 2007
    پست ها
    486

    پيش فرض

    یه منو درست کردم و می خوام هر وقت exit رو زدم خارج بشه. این کد رو تو قسمت winproc() نوشتم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا سوالم اینه که چرا باید پارامتر wparam رو با استفاده از LOWORD به نوع WORD تبدیل کنیم.
    ماکروی LOWORD مثل تابع عمل میکنه؟

  6. #15
    پروفشنال hoax3r's Avatar
    تاريخ عضويت
    Oct 2007
    پست ها
    699

    پيش فرض

    یه منو درست کردم و می خوام هر وقت exit رو زدم خارج بشه. این کد رو تو قسمت winproc() نوشتم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا سوالم اینه که چرا باید پارامتر wparam رو با استفاده از LOWORD به نوع WORD تبدیل کنیم.
    ماکروی LOWORD مثل تابع عمل میکنه؟
    وقتی پیام WM_COMMAND صدا زده میشه، برایه اینکه بفهمیم کاربر چه کنترلی یا منویی رو زده باید مقدار
    wParam این پیام رو برسی کنیم. مقدار wParam یک مقدار DWORD هست یا دو تا WORD
    این دو تا WORD یکی رو با ارزش یکی رو هم کم ارزش میگن.
    قسمت کم ارزش شناسه اون کنترل یا منو هست مثل MENU_FILE_ID_EXIT و
    بخش با ارزش رخدادی (notification) که اتفاق افتاده رو مشخص میکنه مثل کلیک کردن و ...

    ماکرو های LOWORD و HIWORD هم این مقادیر کم ارزش و با ارزش رو از یک مقدار dword میگیرن
    این دو تا ماکرو به این صورت تو فایل windef.h تعریف شدن
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موقعی که کامپایلر تو کد به یه ماکرو برسه اونو رو با عبارتی که براش تعریف شده جایگزین میکنه

    شاد باشید

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


  8. #16
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Aug 2007
    پست ها
    486

    پيش فرض

    وقتی پیام WM_COMMAND صدا زده میشه، برایه اینکه بفهمیم کاربر چه کنترلی یا منویی رو زده باید مقدار
    wParam این پیام رو برسی کنیم. مقدار wParam یک مقدار DWORD هست یا دو تا WORD
    این دو تا WORD یکی رو با ارزش یکی رو هم کم ارزش میگن.
    قسمت کم ارزش شناسه اون کنترل یا منو هست مثل MENU_FILE_ID_EXIT و
    بخش با ارزش رخدادی (notification) که اتفاق افتاده رو مشخص میکنه مثل کلیک کردن و ...

    ماکرو های LOWORD و HIWORD هم این مقادیر کم ارزش و با ارزش رو از یک مقدار dword میگیرن
    این دو تا ماکرو به این صورت تو فایل windef.h تعریف شدن
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موقعی که کامپایلر تو کد به یه ماکرو برسه اونو رو با عبارتی که براش تعریف شده جایگزین میکنه

    شاد باشید
    خیلی ممنون از توضیحات بسیار خوبتون.
    تو تعریفش نوشته که فقط DWORD رو به WORD تبدیل می کنه. حالا از کجا می فهمه که کدوم با ارزشه و کدو کم ارزش؟ با این تعریف فقط یکی شو می شه فهمید. منظورم اینه که توی یک متغیر چه جوری دو حالت ذخیره می شه؟

  9. #17
    پروفشنال hoax3r's Avatar
    تاريخ عضويت
    Oct 2007
    پست ها
    699

    پيش فرض

    خوب برای فهمیدن این موضوع بهتر اینجور بگیم، یه مقدار DWORD رو اگر بصورت یک عدد هگزادسیمال بخوایم نشون بدیم
    نهایتش عدد FFFFFFFF هست هشتا F به این صورت که چهار رقم سمت چپ که یه مقدار WORD هست رو با ارزش و چهار رقم سمت راست رو کم ارزش میگن
    حالا که موقعیت کلمه کم ارزش و با ارزش رو میدونیم می تونیم با یکسری از دستورات این دو رو تفکیک کنیم
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگه به تعریف ماکرو ها دقت کنیم، برای کلمه کم ارزش این مقدار تعریف شده
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این چی میگه؟ یه مقدار DWORD (همون L کوچیک که داخل پرانتز) هست رو با مقدار ffff که یک مقدار هگز هست عمل AND رو روش انجام بده ( این عمل با & مشخص شده)
    برای مثال عدد 1234ABCD رو اگه با FFFF این عمل رو انجام بده نتیجه
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    نتیجه کلمه کم ارزش میشه

    و برای کلمه با ارزش این ماکرو هست
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اینجا مقدرا DWORD به اندازه 16 بیت (یا 4 بایت) به سمت راست اصطلاحا شیفت یا جابجا میشه
    پس برای مثال قبل اینجور میشه
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اینجوری این دوتا از هم جدا میشن، اگه با دو تا عملوند & و << بیشتر آشنا بشین خیلی کمکتون میکنه

    شاد باشید
    Last edited by hoax3r; 19-08-2008 at 10:00.

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


  11. #18
    در آغاز فعالیت
    تاريخ عضويت
    Jul 2008
    پست ها
    9

    پيش فرض

    سلام شرمنده که این سوال رو اینجا مطرح می کنم ولی خیلی عجلادارم می خام یه لپ تاپ بخرم برای برنامه نویسی (از برنامه های سطح متوسط مثل c/ c++/java تابرنامه های سطح بالا).

    می خواستم بدونم تمام برنامه ها هموشون در محیط xp-vista بدون مشکلی ایجاد میشوند ومشکلی درحین نوشتن برنامه

    پیش نمی یاد یاباید حتما لپ تاپی راانتخاب کنم که بتونه linux-dos-98 رو ساپورت کنه؟

    پیشاپیش متشکرم.

  12. #19
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Aug 2007
    پست ها
    486

    پيش فرض

    hoax3r عزیز خیلی خیلی ممنون. خیلی قشنگ و جامع توضیح دادید. حیفم اومد فقط دکمه تشکر رو بزنم.

  13. #20
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Aug 2007
    پست ها
    486

    پيش فرض

    باز هم سوال
    یه برنامه نوشتم که باید عرض مستطیل رو زیاد کنه و زیاد شدنش رو به صورت انیمیشن تو صفحه نشون بده.
    این کد قسمت حلقه اصلی برنامه است:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا سوالم اینه که چرا وقتی تو این قسمت می نویسم اول پردازش رو کامل انجام می ده بعد رسم می کنه. در صورتی که می خواستم همزمان با پردازش رسم هم انجام بشه. مگه این قسمت یه حلقه بلادرنگ نیست؟

Thread Information

Users Browsing this Thread

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

User Tag List

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

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