دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

مشاهده این پیام به این معنی است که شما در سایت عضو نیستید، لطفا در صورت تمایل جهت عضویت در سایت علمی نخبگان جوان اینجا کلیک کنید.

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: آموزش برنامه نویسی ویندوز ( Win32 )

  1. #1
    همکار تالار نرم افزار
    رشته تحصیلی
    کامپیوتر(نرم افزار)
    نوشته ها
    1,003
    ارسال تشکر
    2,633
    دریافت تشکر: 7,045
    قدرت امتیاز دهی
    29978
    Array
    "golbarg"'s: جدید56

    پیش فرض آموزش برنامه نویسی ویندوز ( Win32 )

    درس اول : اصول ویندوز




    آشنایی با ویندوز

    بررسی اجمالی :


    مایکروسافت ویندوز یک سیستم عامل است که به اشخاص کمک می کند تا بتوانند با یک کامپیوتر شخصی به تعامل بپردازند . برنامه نویسانی که می خواهند برای این سیستم عامل برنامه بنویسند ، برنامه های خود را بر مبنای کتابخانه ای می نویسند که Win32 نامیده می شود .

    Win32 کتابخانه ای است متشکل از انواع داده ای، ثوابت، توابع و کلاس هایی ( اساسا ساختار هایی ) که برای ساخت برنامه های تحت ویندوز مورد استفاده قرار می گیرند .

    برای ایجاد یک برنامه ی ابتدایی ویندوزی نیاز به کامپایلری برای سیستم عامل ویندوز ( اصطلاحا یک کامپایلر 32 بیتی ) دارید . اگر چه شما می توانید Win32 را در زبان های برنامه نویسی مختلفی ( از جمله بورلند دلفی ) به کار ببرید، اما در اینجا ما به آموزش Win32 فقط با یک زبان برنامه نویسی و همین طور یک کامپایلر خواهیم پرداخت . در اصل کتابخانه ی Win32 به زبان C نوشته شده است که زبان اصلی سیستم عامل ویندوز محسوب می شود .
    تمام برنامه هایی که در اینجا آموزش داده خواهند شد، به زبان ++C نوشته شده اند . البته در این برنامه های تفاوت چندانی بین C و ++C مشاهده نخواهید کرد . اگر چه اکثر ساختارهای Win32 آبجکت های زبان C هستند، اما ما آنها را همراه با کتابخانه های ++C به کار خواهیم برد و با این کار از مزایای برنامه نویسی شئ گرا استفاده خواهیم کرد .




    ایجاد یک برنامه ی Win32 :

    تمام برنامه های ویندوزی در درجه اول مشابه به نظر می رسند و نیز رفتار های مشابه دارند، اما همانند برنامه های ++C تفاوت های کوچکی در ساخت برنامه ها تحت کامپایلر های مختلف وجود دارد که بسته به نوع کامپایلر خود ملزم به رعایت آنها هستید .
    ما برای برنامه هایی که در اینجا آموزش خواهیم داد از کامپایلر Microsoft Visual C++ 2008 استفاده خواهیم کرد . همانطور که دربالا اشاره شد می توانید این برنامه ها را با کمی تغییردر کامپایلر های دیگر نیز اجرا کنید .


    کد یک برنامه ی ویندوزی win32 شامل دو مورد اساسی است :
    1) فایل سرآیند ( windows.h" ( Header File" : این فایل سرآیند اکثر تعاریف، انواع و توابع مربوط به کتابخانه Win32 را شامل می شود . کد زیر این فایل سرآیند را به برنامه ما اضافه خواهد کرد :



    #include <windows.h>
    2) تابع WinMain : برای برنامه های ویندوزی این تابع در واقع معادل تابع main در برنامه های استاندارد ++C می باشد . این تابع نقطه شروع یک برنامه ویندوزی می باشد . همه چیز از اینجا شروع خواهد شد !
    تعریف این تابع به شکل زیر انجام می شود :



    INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
    {
    return 0;
    }



    همانطور که مشاهده می کنید این تابع چهار آرگومان می گیرد که در هنگام اجرای برنامه توسط سیستم عامل به تابع ارسال می شوند . در درس های بعدی در مورد آنها به تفصیل صحبت خواهیم کرد . نوع برگشتی تابع INT می باشد که از انواع معرفی شده در Win32 بوده و معادل نوع int در ++C می باشد . عبارت WINAPI بیانگر نوعی فراخوانی قراردادی تابع می باشد، در این مورد باید بدانید که وجود این عبارت در تعریف تابع ضروری است .




    آموزش عملی : معرفی برنامه نویسی ویندوز

    استفاده از Microsoft Visual C++ 2008 :

    برای ساختن یک برنامه ی جدید Win32 با استفاده از Microsoft Visual C++ 2008 باید از جعبه محاوره New Project گزینه Win32 Project را انتخاب کنید . Microsoft Visual C++ 2008 در هنگام ایجاد برنامه های Win32 برای کمک به شما و همچنین سرعت بخشیدن به کار به طور اتوماتیک کدهایی را که یک برنامه ویندوزی ابتدایی برای اجرا لازم دارد، به پروژه شما اضافه می کند . این کدها شامل کد پنجره اصلی به همراه منوی اصلی، یک جعبه محاوره About و همچنین توابع پردازش پیغام مربوطه می باشد .
    به علت اینکه ما در حال آموزش Win32 هستیم راه سخت را در پیش خواهیم گرفت، ایجاد یک برنامه از صفر !

    1) مایکروسافت ویژوال استودیو را اجرا کنید .
    2) از منوی اصلی گزینه ی ...File -> New -> Project را کلیک کنید .
    3) مطابق شکل زیر از جعبه محاوره ی New Project گزینه ی Win32 Project را کلیک کنید :


    4) در قسمت Location مسیری که می خواهید پروژه در آنجا ذخیره شود را انتخاب نمایید .
    5) در قسمت Name نام مورد نظر خود را برای پروژه وارد کرده و دکمه ی OK را کلیک کنید .
    6) جعبه محاوره ی دیگری ظاهر خواهد شد . گزینه Application Settings را کلیک کرده و گزینه های آنرا مطابق شکل تنظیم کرده و دکمه ی Finish را کلیک کنید .

    7) برای شروع نیاز به فایلی برای نوشتن کد برنامه دارید . از منوی اصلی گزینه ی ...Project -> Add New Item را کلیک کنید . دقت کنید که در پنجره Solution Explorer پروژه مورد نظر در حالت انتخاب باشد .
    8) مطابق شکل از جعبه محاوره Add New Item گزینه ی (C++ File (.cpp را کلیک کنید . در قسمت Name عبارت Main را وارد کنید و کلید OK را کلیک کنید .

    9) کد زیر را داخل فایل Main وارد کرده و برنامه را اجرا کنید .
    //---------------------------------------------------------------------------
    #include <windows.h>

    //---------------------------------------------------------------------------
    INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
    {
    MessageBoxA(NULL, "Hello world!", "Note", MB_OK);
    return 0;
    }
    //---------------------------------------------------------------------------


    بدنه ی این تابع به جز دستور ;return 0 یک دستور دیگر هم دارد که باعث نمایش یک کادر پیغام می شود .
    تبریک می گوییم ! شما اولین برنامه ویندوزی خود را ایجاد کردید .
    چرا جوجه ها جیک جیک میکنند؟؟؟

  2. #2
    همکار تالار نرم افزار
    رشته تحصیلی
    کامپیوتر(نرم افزار)
    نوشته ها
    1,003
    ارسال تشکر
    2,633
    دریافت تشکر: 7,045
    قدرت امتیاز دهی
    29978
    Array
    &quot;golbarg&quot;'s: جدید56

    پیش فرض پاسخ : آموزش برنامه نویسی ویندوز ( Win32 )

    درس دوم : مقدمه ای بر منابع
    اصول منابع

    مقدمه :

    یک منبع یک شئ است که نمی توان آنرا تحت دستور زبان ++C تعریف کرد با این حال برای تکمیل یک برنامه به آن نیاز است . به بیان صریح تر، یک منبع، متنی است متشکل از یک سلسله فرامین که با ضوایط خاصی تعریف شده اند و برنامه به واسطه ی این فرامین منبع مورد نظر را تفسیر می کند . منو ها، آیکون ها، اشاره گر ها، کادر های محاوره، صداها و ... نمونه هایی از منابع هستند .

    ابزار های مختلفی برای ساخت منابع می توانند مورد استفاده قرار بگیرند که بسته به هدف و نوع استفاده شما از منابع دارد . برخی منابع کاملا مبتنی بر متن هستند، برای مثال String Table و Accelerator Table که رشته های متنی را در خود نگه می دارند . برخی منابع نیاز به طراحی دارند، مانند آیکون ها و اشاره گر ها و یا عکس هایی با گرافیک بالا که توسط یک نرم افزار خارجی ساخته شده و سپس آنها را وارد برنامه می کنند . در عین حال منابع می توانند ترکیبی از منابع مختلف دیگر باشند .

    ایجاد منابع :
    باز هم یاد آور می شویم که منابع از جمله مفاهیم زبان ++C نیستند بلکه از مفاهیم سیستم عامل ویندوز هستند که برای تکمیل برنامه مورد استفاده قرار می گیرند . به همین دلیل محیط هایی که شما در آنها برنامه نویسی می کنید ممکن است ابزار های مختلفی برای ساخت منابع مختلف در اختیار شما قرار دهند و یا حتی هیچ ابزاری در اختیار شما قرار ندهند . به عنوان مثال محیط هایی نظیر Borland C++ Builder و یا Microsoft Visual C++ 2008 تمام ابزار های لازم برای ساخت انواع منابع را دارا می باشند در حالی که برای محیط هایی نظیر C++BuilderX باید از ابزار های خارجی کمک گرفت .

    به محض ایجاد یک منبع شما باید آنرا ذخیره کنید . برخی منابع در فایل های مجزای مخصوص به خود ذخیره می شوند، مانند بیتمپ ها، آیکون ها، اشاره گر ها، صداها و ... فایل های هر کدام از این منابع پسوند های مربوط به خود را دارند . سپس به فایلی با پسوند .rc ( فایل منبع برنامه ) اضافه می شوند . در مورد این منابع فقط لیستی از آنها به فایل منبع افزوده می شود . برخی دیگر از منابع نیز وجود دارند که مستقیما در فایل منبع تعریف می شوند و نیاز به فایل جداگانه ای ندارند . اینها همان منابع مبتنی بر متن هستند که در بالا به آنها اشاره شد مانند جداول متنی، رشته ها و ...

    بعد از ایجاد فایل منبع، شما باید آنرا کامپایل کنید . در این مورد هم در محیط های مختلف با شرایط مختلفی روبرو خواهید شد . محیط Microsoft Visual C++ 2008 هنگام اجرای برنامه این کار را به صورت خودکار برای شما انجام خواهد داد .


    آموزش عملی : معرفی منابع ویندوز


    1) یک پروژه جدید Win32 مانند آنچه در درس قبل آموزش داده شد ایجاد کنید . نام پروژه را Resources1 قرار دهید .
    2) یک فایل کد با نام Exercise.cpp ایجاد کنید .
    3) کد زیر را در فایل Exercise.cpp وارد کنید .
    4) برنامه را اجرا و تست کنید .

    //---------------------------------------------------------------------------
    #include <windows.h>
    #pragma hdrstop



    //---------------------------------------------------------------------------
    LPCTSTR ClsName = L"FundApp";
    LPCTSTR WndName = L"Resources Fundamentals";
    LRESULT CALLBACK WndProcedure(HWND hWnd, UINT uMsg,
    WPARAM wParam, LPARAM lParam);
    //---------------------------------------------------------------------------
    INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
    {
    MSG Msg;
    HWND hWnd;
    WNDCLASSEX WndClsEx;

    // Create the application window
    WndClsEx.cbSize = sizeof(WNDCLASSEX);
    WndClsEx.style = CS_HREDRAW | CS_VREDRAW;
    WndClsEx.lpfnWndProc = WndProcedure;
    WndClsEx.cbClsExtra = 0;
    WndClsEx.cbWndExtra = 0;
    WndClsEx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    WndClsEx.hCursor = LoadCursor(NULL, IDC_ARROW);
    WndClsEx.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    WndClsEx.lpszMenuName = NULL;
    WndClsEx.lpszClassName = ClsName;
    WndClsEx.hInstance = hInstance;
    WndClsEx.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

    // Register the application
    RegisterClassEx(&WndClsEx);

    // Create the window object
    hWnd = CreateWindowEx(0,
    ClsName,
    WndName,
    WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    NULL,
    NULL,
    hInstance,
    NULL);

    // Find out if the window was created
    if( !hWnd ) // If the window was not created,
    return FALSE; // stop the application

    // Display the window to the user
    ShowWindow(hWnd, nCmdShow);// SW_SHOWNORMAL);
    UpdateWindow(hWnd);

    // Decode and treat the messages
    // as long as the application is running
    while( GetMessage(&Msg, NULL, 0, 0) )
    {
    TranslateMessage(&Msg);
    DispatchMessage(&Msg);
    }

    return Msg.wParam;
    }
    //---------------------------------------------------------------------------
    LRESULT CALLBACK WndProcedure(HWND hWnd, UINT Msg,
    WPARAM wParam, LPARAM lParam)
    {
    switch(Msg)
    {
    case WM_DESTROY:
    PostQuitMessage(WM_QUIT);
    break;
    default:
    // Process the left-over messages
    return DefWindowProc(hWnd, Msg, wParam, lParam);
    }
    // If something was not done, let it go
    return 0;
    }
    //---------------------------------------------------------------------------

    منبع : http://www.functionx.com
    چرا جوجه ها جیک جیک میکنند؟؟؟

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

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

موضوعات مشابه

  1. پاسخ ها: 1
    آخرين نوشته: 3rd January 2016, 11:40 PM
  2. پاسخ ها: 0
    آخرين نوشته: 31st May 2013, 05:03 PM
  3. آموزش برنامه نویسی ویندوز ( Win32 )
    توسط آبجی در انجمن برنامه نویسی تحت سیستم عامل
    پاسخ ها: 1
    آخرين نوشته: 24th June 2010, 02:50 PM
  4. پاسخ ها: 0
    آخرين نوشته: 25th May 2010, 10:56 PM
  5. آموزشی: آموزش جامع شبکه کردن ویندوز سون و ویندوز ایکس پی توسط VirtualBox
    توسط آبجی در انجمن مقالات و آموزش های شبکه
    پاسخ ها: 1
    آخرين نوشته: 30th April 2010, 09:42 PM

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •