ORANGEPRO

ORANGEPRO

وبلاگی در مورد دنیای کامپیوتر
ORANGEPRO

ORANGEPRO

وبلاگی در مورد دنیای کامپیوتر

توابع پرکاربرد در C++-7

Cleardevice();

این  تابع برای پاک کردن کل صفحه گرافیکی استفاده می شود.

10 عنوان داغ سال 2025 در جستجو های گوگل

جمنای (gemini هوش مصنوعی گوگل)
    هند در مقابل انگلیس (اشاره به رقابت ورزشی کریکت)
    چارلی کرک (Charlie Kirk فعال سیاسی آمریکایی)
    جام باشگاه‌های جهان (Club World Cup رویداد ورزشی)
    هند در مقابل استرالیا (اشاره به رقابت ورزشی کریکت)
    دیپ‌سیک (هوش مصنوعی چینی)
    جام ملت‌های آسیا (Asia World Cup)
    ایران
    آیفون ۱۷ (iPhone 17)
    پاکستان و هند

خودت را قوی کن

استرس و چالش هاى این دنیا از بین نخواهند رفت؛ زندگى به طور معجزه آسا ,آسان تر نخواهد شد.
حقیقت این است که: ما نمى توانیم شرایط بیرونى را کنترل کنیم, اما مى توانیم واکنش خود را تغییر دهیم.
ما باید تغییر کنیم وخودمان را با شرایط سخت تطبیق دهیم.

 قدرت واقعى در این است که اجازه ندهیم وقایع بیرونى، آرامش درونى ما را از بین ببرند. 

امروز تصمیم بگیر که به جاى آرزوى تغییر دنیا, خودت را قوى ترکنى.

توابع پرکاربرد در C++-6

تابع GetAsyncKeyState() در زبان C++ (در واقع یکی از توابع WinAPI در ویندوز) برای بررسی وضعیت لحظه‌ای کلیدهای صفحه‌کلید استفاده می‌شود — یعنی به‌صورت asynchronous یا «بدون وابستگی به event queue» وضعیت کلید را مستقیماً از سخت‌افزار یا سیستم‌عامل می‌خواند. 

?? این تابع در هدر زیر تعریف شده:
#include <windows.h>

 پارامترها:

    vKeyکدی است که نشان‌دهنده کلید مورد نظر است (Virtual-Key Code).مثلاً:
        VK_LEFT کلید جهت چپ
        VK_RIGHT  کلید جهت راست
        'A'  کلید A
        VK_SPACE  فاصله (space)
نوع خروجی SHORT (16 بیتی) است.

دو بخش مختلف این مقدار، اطلاعات متفاوتی را نشان می‌دهند:
بیت                                              معنی
بیت 15 (بالاترین بیت)     اگر 1 باشد یعنی کلید در حال حاضر فشرده است
بیت 0 (پایین‌ترین بیت)     اگر 1 باشد یعنی از آخرین فراخوانی تابع، کلید حداقل یک بار فشرده شده است
?? نکات مهم:

    به event queue وابسته نیست ? یعنی حتی اگر برنامه فریم‌ها را از دست بدهد یا پنجره غیرفعال باشد، همچنان می‌تواند کلیدها را تشخیص دهد.
    برای polling استفاده می‌شود، نه برای event-driven design.اگر برنامه نیاز به پردازش دقیق ورودی‌ها (مانند بازی‌ها) دارد، معمولاً با PeekMessage() یا GetMessage() ترکیب می‌شود.
      در محیط غیر ویندوز قابل استفاده نیست (تابع خاص Win32 API است).

توابع پرکاربرد در C++-5

                                                                                                   تشریح کامل تابع clearmouseclick(event)

در محیط‌های گرافیکی، ورودی‌های کاربر (مانند فشار دادن کلید، حرکت ماوس، یا کلیک ماوس) به صورت رویداد (Events) در یک صف (Queue) ذخیره می‌شوند. برنامه شما در یک حلقه (Loop) مدام این صف را بررسی می‌کند.
1. هدف اصلی: مدیریت صف رویداد (Event Queue Management)
هدف اصلی clearmouseclick(event) این است که یک رویداد خاص را که قبلاً تشخیص داده شده و پردازش شده است، از این صف خارج کند تا از پردازش مجدد آن در تکرارهای بعدی حلقه جلوگیری شود.
2. ساختار آرگومان‌ها: event
آرگومان event مشخص می‌کند که کدام نوع رویداد باید از صف پاک شود. در محیط‌هایی که از این تابع استفاده می‌شود، این آرگومان‌ها معمولاً با مقادیری مانند:
    WM_LBUTTONDOWN: رویداد فشار دادن دکمه چپ ماوس.
    WM_LBUTTONUP: رویداد رها کردن دکمه چپ ماوس.
    WM_RBUTTONDOWN: رویداد فشار دادن دکمه راست ماوس.
    و… (که در ویندوز با نام‌های WM_... شناخته می‌شوند).

تفاوت با ismouseclick()
    ismouseclick(event): فقط بررسی می‌کند که آیا رویداد مورد نظر در حال حاضر در صف وجود دارد یا خیر (عملیات Read-Only).
    clearmouseclick(event): رویداد مورد نظر را از صف حذف می‌کند (عملیات Write/Mutating).