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

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

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

موضوع: برنامه نویسی گرافیک در c و ++c

  1. #1
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض برنامه نویسی گرافیک در c و ++c

    مقدمه:
    اکنون بیش از 15 سال از انتشار کامپایلرهایی همچون ++Turbo C برای توسعه در محیط DOS می گذرد و در طی این سال ها امکانات و کتابخانه های بسیاری به زبان های C و ++C اضافه شده است از جمله STL در ++C که بسیاری از الگوریتم های معروف و پرکاربرد مانند پشته ، لیست پیوندی ،انواع صف ، انواع مرتب سازی ها و غیره را بدون نیاز به پیاده سازی در اختیار شما قرار می دهد که برای بهره مندی از این امکانات می بایست از کامپایلرهای جدید و به روز 32/64 بیتی استفاده کرد، از جمله:
    ++Visual C و ++minGW/Dev C (کد باز و رایگان) و C++‎Builder و ...

    نکته: امروزه در محیط های آموزشی سراسر دنیا از نسخه های رایگان این کامپایلرها و یا کامپایلرهای کد باز به عنوان جایگزینی برای ++Turbo C استفاده می کنند.

    سوال- آیا می توان از توابع گرافیکی قدیمی graphics.h در محیط های جدید برنامه نویسی مانند Visual C++ /Borland C++‎builder / gcc / mingw و ... استفاده کرد؟

    خیر، این توابع از جمله توابع 16 بیتی قدیمی و منسوخ شده بورلند می باشند که برخلاف تفکر برخی از نوآموزان، جزئی از این زبان نیست.

    لذا برای توسعه های جدید، چندین راه وجود دارد:

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

    در ویندوز دوستان می توانند با توابع گرافیکی GDI و +GDI از طریق شیوه های win32 و MFC با کامپایلرهای ++VC و ++DevC و یا از طریق VCL با کامپایلر C++‎Builder این کار را انجام دهند.
    توجه کنید که با مطالعه بخش گرافیکی یکی از لینک های زیر در مدتی بین دو هفته تا یک ماه قادر به ایجاد برنامه های گرافیکی، بازی ساده گرافیکی و همین طور کار با mouse و keyboard خواهید بود:

    برای win32 (سطح پایین ،اما یادگیری با مراجع زیر بسیار راحت می باشد):
    http://www.functionx.com/win32/index.htm
    http://www.winprog.org/tutorial/

    برای MFC (کمی ساده تر از مورد فوق)
    http://www.functionx.com/visualc

    برای VCL
    http://www.functionx.com/bcb/index.htm


    -------------------------------
    روش 2) استفاده از توابع کنسولی مایکروسافت برای command prompt ویندوز ، لیست این توابع در لینک زیر موجود می باشد:
    لیست توابع کنسولی مایکروسافت

    در این روش شما باید معادل توابع graphics.h را که در محیط Turbo C و کامپایلر های سری قدیم بورلند وجود داشت را با توابع 32 بیتی کنسولی مایکروسافت پیاده سازی کنید، به عنوان مثال برای gotoxy و clrscr لینک زیر را مشاهده کنید:
    معادل توابعی مثل gotoxy و clrscr در ++VC

    توجه به این مورد ضروری می باشد که محیط command prompt ویندوز محیطی کاملا متفاوت از محیط 16 بیتی DOS می باشد و نباید انتظار داشته باشید که تمامی امکانات 16 بیتی قدیمی توسط این کامپایلرها به همان شکل در اختیار شما قرار گیرد، از جمله رسم اشیاء گرافیکی همانند قبل در این روش امکان پذیر نیست و جداول و اشکال ساده می بایست توسط خطوط و کارکترها پیاده سازی شوند، اما این قابلیت در اختیار شما قرار می گیرد که بتوانید از اکثر توابع پیشرفته سیستم عامل در محیط کنسول استفاده کنید.

    لینک زیر شامل مثال ها و آموزش های کامل در زمینه استفاده از همین توابع کنسولی win32 می باشد، پس قبل از هر کاری ابتدا نگاهی به نمونه های پیاده سازی شده در این سایت بیاندازید:
    http://www.adrianxw.dk/SoftwareSite/index.html

    -------------------------------
    روش 3) روش ساده تر از مورد قبل، استفاده از کتابخانه های 32 بیتی آماده غیر استاندارد و معادل graphic.h می باشد که برخی از آن ها open source (کد باز) نیز می باشد، مانند WinBGI که می توانید فایل های آن را از صفحه زیر دانلود کرده و استفاده کنید:
    فایل های مربوط به WinBGI به همراه یک نمونه مثال

    توجه کنید که این کتابخانه از توابع گرافیکی win32 استفاده می کند و برای نمایش آن ها پنجره سیاه دیگری همانند کنسول باز می شود که قادر هستید در آن اشکال گرافیکی را همانند برنامه های ویندوز به سادگی برنامه های گرافیکی Turbo C رسم کنید.

    -------------------------------
    روش 4) آخرین و بدترین روش برگشتن به محیط قدیمی ++Turbo C و استفاده از همان توابع گرافیکی graphics.h می باشد که در برخی کتاب ها از جمله کتاب C جعفرنژاد قومی به آن پرداخته شده است. (البته امیدوارم به عنوان یک دانشجو و یا حتی کسی که می خواهد در حد پروژه های ساده با این زبان آشنا شود این گزینه را انتخاب نکنید)
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  2. 4 کاربر از پست مفید آبجی سپاس کرده اند .


  3. #2
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : برنامه نویسی گرافیک در c و ++c

    Using Mouse Input
    برای یک نمونه خوب حتما Drawing Lines with the Mouse را در لینک فوق مطالعه کنید.

    How To Use Win32 API to Draw a Dragging Rectangle on Screen DC

    Win32 API - Tutorial
    در لینک فوق نمونه های پیام WM_LBUTTONDOWN و WM_LBUTTONUP را برای پردازش mouse بررسی کند.
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  4. کاربرانی که از پست مفید آبجی سپاس کرده اند.


  5. #3
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : برنامه نویسی گرافیک در c و ++c

    کاربرانی که دنبال یک آموزش کامل برای ساختن یک Text Editor حرفه ای مانند Word یا محیط نوشتاری visual studio هستند (از طریق win32 API و ++C ) می توانند از مقاله فوق العاده زیر استفاده کنند که شخصا ارادت خاصی به ایشون و مقالاتشون دارم.

    حدود 18 صفحه می باشد و مرحله به مرحله امکانات را به آن اضافه می کند و هر صفحه نیز شامل سورس کد می باشد (پیش نیاز آن آشنایی اولیه با win32 می باشد که در پست اول لینک دو سایت قرار داده شده است):

    Design and Implementation of a Win32 Text Editor
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  6. 2 کاربر از پست مفید آبجی سپاس کرده اند .


  7. #4
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : برنامه نویسی گرافیک در c و ++c

    پیش نیاز این آموزش:
    - مطالعه دو لینک آموزشی در پست اول برای آشنایی با مفاهیم ساخت پنجره و پیام ها
    - استفاده از کامپایلر visual C++‎ 2005 یا بالاتر


    نحوه انجام:
    1) ابتدا به منوی new رفته و یک پروژه از نوع win32 project با نام "rect1" و مقادیر پیش فرض بسازید (دقت کنید که console نباشد).
    پروژه با چند فایل ساخته می شود، که ما با فایل rect1.cpp کار داریم.

    2) برای رسم یک مربع ساده به این شکل عمل کنید:
    در قسمت case و پیام WM_PAINT کار های گرافیکی در قسمت client یا همان قسمت سفید انجام می شود، دقت کنید که کد های گرافیکی باید مابین دو دستور BeginPaint و EndPaint نوشته شوند.

    برای شروع مربعی بدون رنگ رسم می کنیم، کد را به شکل زیر تغییر دهید:
    کد:
    کد PHP:
         case WM_PAINT:
            
    hdc BeginPaint(hWnd, &ps);
            
    // TODO: Add any drawing code here...

            
    Rectangle(hdc100100200200);  // Empty

            
    EndPaint(hWnd, &ps);
            break; 
    3) حال در کنار آن مربعی با یکی از رنگ های پیش فرض سیستم رسم می کنیم:
    کد:
    کد PHP:
         case WM_PAINT:
            
    hdc BeginPaint(hWnd, &ps);
            
    // TODO: Add any drawing code here...

            
    Rectangle(hdc100100200200);  // Empty

            
    SelectObject (hdcGetStockObject (LTGRAY_BRUSH)) ;
            
    Rectangle(hdc300100400200);  // Filled by light gray color    

            
    EndPaint(hWnd, &ps);
            break 
    ;
    در کد فوق با استفاده از دستور SelectObject یکی از اشیاء را مانند قلم ، مداد ، عکس و غیره را برای رنگ آمیزی و ترسیم می توانید انتخاب کنید. در این مورد ما با استفاده از تابع GetStockObject یکی از قلم های پیش فرض سیستم را انتخاب کردیم که خاکستری روشن هست. (سایر انواع : BLACK_BRUSH، HOLLOW_BRUSH ، WHITE_BRUSH ، BLACK_PEN و ....)


    4) برای ساختن یک brush یا قلم دلخواه (با رنگ دلخواه) به این شکل عمل می کنیم:

    - ابتدا قلم را در پیام WM_CREATE می سازیم (این پیام را خودتان در بخش case ها اضافه کنید )، هر چیزی که در بخش WM_CREATE نوشته شود در هنگام شروع برنامه قبل از هر چیزی اجرا می شود .

    - از تابع CreateSolidBrush و ماکرو RGB برای ساخت قلم و رنگ استفاده می کنیم.

    - hbrush از نوع HBRUSH باید قبل از switch تعریف شود و حتما static باشد چون فقط یک مرتبه در شروع برنامه مقدار دهی می شود.

    - وقتی خودمان قلمی درست می کنیم باید در انتهای برنامه فضای اختصاص داده شده به آن را آزاد کنیم پس در قسمت WM_DESTROY در هنگام بستن برنامه را فراخوانی DeleteObject می کنیم .

    - SelectObject آخر برای این است که همراه پس از انجام رسم ، قلم قبلی که پیش فرض سیستم بود انتخاب و آماده برای سایر موارد رسم بعدی شود.

    پس تابع به شکل زیر تغییر داده می شود:
    کد:
    کد PHP:
         mLPARAM lParam)
    {
        
    int wmIdwmEvent;
        
    PAINTSTRUCT ps;
        
    HDC hdc;
        static 
    HBRUSH    hbrushhbrushOld;  // must be static

        
    switch (message)
        {
        case 
    WM_CREATE:
            
    // Create a red brush
            
    hbrush CreateSolidBrush(RGB(25500));

            break;

        case 
    WM_COMMAND:
              
    // **...  I removed codes ... **
            
    break;

        case 
    WM_PAINT:
            
    hdc BeginPaint(hWnd, &ps);
            
    // TODO: Add any drawing code here...

            
    Rectangle(hdc100100200200);  // Empty

            
    SelectObject (hdcGetStockObject (LTGRAY_BRUSH)) ;
            
    Rectangle(hdc300100400200);  // Filled by light gray color    

              // Select the new brush and draw
            
    hbrushOld = (HBRUSH)SelectObject(hdchbrush);
            
    Rectangle(hdc500100600200);  // Filled by light gray color
            
    SelectObject(hdchbrushOld);  // select old brush
        
            
    EndPaint(hWnd, &ps);
            break;

        case 
    WM_DESTROY:
            
    PostQuitMessage(0);
            
    DeleteObject(hbrush);

            break;
        default:
            return 
    DefWindowProc(hWndmessagewParamlParam);
        }
        return 
    0;

    5) سایر توابعی که می توانید از آن ها برای رسم اشکال استفاده کنید:
    Ellipse ، Polygon ، RoundRect ، Pie ، Chord ، Arc ، LineTo ، Polyline و ...
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  8. 2 کاربر از پست مفید آبجی سپاس کرده اند .


  9. #5
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : برنامه نویسی گرافیک در c و ++c

    ابتدا تابعی با نام DrawBorder را برای ترسیم یک مستطیل تعریف می کنیم.

    - دقت کنید که از آن جایی که در خارج از پیام WM_PAINT در حال رسم هستیم لذا ابتدا هندل DC یا همان display device context را برای انجام کارهای گرافیکی قسمت client area باید با استفاده از GetDC دریافت کنید و در پایان ترسیم نیز با ReleaseDC آزاد کنید.

    - تابع SetROP2 با فلگ R2_NOT باعث می شود مستطیل ما با رنگی معکوس زنگ زمینه در هنگام drag کردن mouse نمایش داده شود.

    کد:
    کد PHP:
    void DrawBorder(HWND hwndPOINT ptBegPOINT ptEnd)
    {
        
    HDC hdc ;
        
    hdc GetDC (hwnd) ;

        
    SetROP2 (hdcR2_NOT) ;
        
    SelectObject (hdcGetStockObject (NULL_BRUSH)) ;
        
    Rectangle (hdcptBeg.xptBeg.yptEnd.xptEnd.y) ;

        
    ReleaseDC (hwndhdc) ;

    تابع WndProc را همانند مثال قبل برای پیام ها به شکل زیر تغییر دهید:


    کد:
    کد PHP:
    LRESULT CALLBACK WndProc(HWND hWndUINT message
                          
    WPARAM wParamLPARAM lParam)
    {
        
    int          wmIdwmEvent;
        
    HDC             hdc ;
        
    PAINTSTRUCT  ps ;
        static 
    BOOL  drawingdrawBox ;
        static 
    POINT ptBegptEndptBoxBegptBoxEnd ;

        switch (
    message)
        {
        case 
    WM_LBUTTONDOWN :
            
    ptBeg.ptEnd.LOWORD (lParam) ;
            
    ptBeg.ptEnd.HIWORD (lParam) ;

            
    drawing TRUE ;
            return 
    ;

        case 
    WM_MOUSEMOVE :
            if (
    drawing)
            {
                
    SetCursor (LoadCursor (NULLIDC_CROSS)) ;
                
    DrawBorder (hWndptBegptEnd) ;  // clean previous drawing

                
    ptEnd.LOWORD (lParam) ;
                
    ptEnd.HIWORD (lParam) ;

                
    DrawBorder (hWndptBegptEnd) ;
            }
            return 
    ;

        case 
    WM_LBUTTONUP :
            if (
    drawing)
            {
                
    DrawBorder (hWndptBegptEnd) ;

                
    ptBoxBeg    ptBeg ;
                
    ptBoxEnd.x  LOWORD (lParam) ;
                
    ptBoxEnd.y  HIWORD (lParam) ;

                
    SetCursor (LoadCursor (NULLIDC_ARROW)) ;

                
    drawing FALSE ;
                
    drawBox TRUE ;
                
    InvalidateRect (hWndNULLTRUE) ;
            }
            return 
    ;

        case 
    WM_PAINT :
            
    hdc BeginPaint (hWnd, &ps) ;

            if (
    drawBox)
            {
                
    SelectObject (hdcGetStockObject (LTGRAY_BRUSH)) ;
                
    Rectangle (hdcptBoxBeg.xptBoxBeg.yptBoxEnd.xptBoxEnd.y) ;
            }

            if (
    drawing)
            {
                
    SetROP2 (hdcR2_NOT) ;
                
    SelectObject (hdcGetStockObject (NULL_BRUSH)) ;
                
    Rectangle (hdcptBeg.xptBeg.yptEnd.xptEnd.y) ;
            }
            
            
    EndPaint (hWnd, &ps) ;
            return 
    ;

        case 
    WM_COMMAND:
            
    wmId    LOWORD(wParam);
            
    wmEvent HIWORD(wParam);
            
    // Parse the menu selections:
            
    switch (wmId)
            {
            case 
    IDM_about:
                
    DialogBox(hInstMAKEINTRESOURCE(IDD_ABOUTBOX), hWndAbout);
                break;
            case 
    IDM_EXIT:
                
    DestroyWindow(hWnd);
                break;
            default:
                return 
    DefWindowProc(hWndmessagewParamlParam);
            }
            break;

        case 
    WM_DESTROY :
            
    PostQuitMessage (0) ;
            return 
    ;

        default:
            return 
    DefWindowProc(hWndmessagewParamlParam);
        }
        return 
    0;
    }

    // Message handler for about box.
    INT_PTR CALLBACK About(HWND hDlgUINT messageWPARAM wParamLPARAM lParam)
    {
        
    UNREFERENCED_PARAMETER(lParam);
        switch (
    message)
        {
        case 
    WM_INITDIALOG:
            return (
    INT_PTR)TRUE;

        case 
    WM_COMMAND:
            if (
    LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
            {
                
    EndDialog(hDlgLOWORD(wParam));
                return (
    INT_PTR)TRUE;
            }
            break;
        }
        return (
    INT_PTR)FALSE;

    پیام های mouse مورد استفاده :
    - پیام WM_LBUTTONDOWN وقتی فراخوانی می شود که کلیک چپ mouse زده می شود.

    - پیام WM_MOUSEMOVE وقتی که mouse در حال حرکت می باشد.
    لذا با یک متغیر bool تست می کنیم که حتما پیام LBUTTONDOWN مقدار true داشته باشد و سپس عملیات انجام شود.

    - پیام WM_LBUTTONUP وقتی کلیک چپ mouse آزاد می شود
    پس از پایان این پیام تابع InvalidateRect را فراخوانی می کنیم تا با رفرش کردن تصویر در قسمت WM_PAINT ترسیم نهایی مستطیل انجام شود (متغیر drawBox وقتی true می شود)

    - با استفاده از lParam های در پیام های mouse مختصات x و y را دریافت می کنیم.

    - تابع SetCursor نشان mosue را به یک شکل دیگر مانند + تغییر می دهد.
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  10. 3 کاربر از پست مفید آبجی سپاس کرده اند .


  11. #6
    کاربر جدید
    رشته تحصیلی
    نرم افزار
    نوشته ها
    2
    ارسال تشکر
    0
    سپاس شده 1 در 1 پست
    قدرت امتیاز دهی
    0
    Array

    پیش فرض پاسخ : برنامه نویسی گرافیک در c و ++c

    سلام خسته نباشید من تازه به جمع این سایت اومدم یه س.ال دارم چطور و از کجا برنامه ای رو که تو این سایت برای اموزش c++ رو پیدا کنم

  12. کاربرانی که از پست مفید myoosef سپاس کرده اند.


  13. #7
    دوست آشنا
    رشته تحصیلی
    عمران
    نوشته ها
    847
    ارسال تشکر
    907
    دریافت تشکر: 6,263
    قدرت امتیاز دهی
    16274
    Array
    امـیـر بـیـگـی's: خنده2

    پیش فرض پاسخ : برنامه نویسی گرافیک در c و ++c

    نقل قول نوشته اصلی توسط myoosef نمایش پست ها
    سلام خسته نباشید من تازه به جمع این سایت اومدم یه س.ال دارم چطور و از کجا برنامه ای رو که تو این سایت برای اموزش c++ رو پیدا کنم
    توی این تالار یه گشتی بزنید
    http://www.njavan.com/forum/forumdis...A7%D9%85%D9%84




  14. #8
    کاربر جدید
    رشته تحصیلی
    نرم افزار
    نوشته ها
    2
    ارسال تشکر
    0
    سپاس شده 1 در 1 پست
    قدرت امتیاز دهی
    0
    Array

    پیش فرض پاسخ : برنامه نویسی گرافیک در c و ++c

    دوباره سلام من نرم افزار ش رو میخوام

  15. #9
    دوست آشنا
    رشته تحصیلی
    عمران
    نوشته ها
    847
    ارسال تشکر
    907
    دریافت تشکر: 6,263
    قدرت امتیاز دهی
    16274
    Array
    امـیـر بـیـگـی's: خنده2

    پیش فرض پاسخ : برنامه نویسی گرافیک در c و ++c

    نقل قول نوشته اصلی توسط myoosef نمایش پست ها
    دوباره سلام من نرم افزار ش رو میخوام
    نرم افزار چی؟
    برای سی پلاس پلاس باید ویژوال استودیو نصب کنید




  16. #10
    دوست آشنا
    رشته تحصیلی
    مهندس فناوری اطلاعات(it)
    نوشته ها
    1,099
    ارسال تشکر
    2,556
    دریافت تشکر: 3,904
    قدرت امتیاز دهی
    12376
    Array
    maryam kia's: نیشخند

    پیش فرض پاسخ : برنامه نویسی گرافیک در c و ++c

    نقل قول نوشته اصلی توسط امـیـر بـیـگـی نمایش پست ها
    نرم افزار چی؟
    برای سی پلاس پلاس باید ویژوال استودیو نصب کنید
    ویژوال استودیو خیلی سخته
    <a href="http://typeiran.com/r/19340"> تایپایران - مرکز تخصصی تایپ </a>

صفحه 1 از 2 12 آخرینآخرین

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

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

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

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

  1. پاسخ ها: 0
    آخرين نوشته: 15th March 2010, 12:42 AM
  2. دانلود: برترين برنامه هاي رايگان 1388
    توسط Victor007 در انجمن سایر نرم افزارها
    پاسخ ها: 0
    آخرين نوشته: 12th December 2009, 12:42 PM
  3. مقاله: تفاوتهاي برنامه ريزي استراتژيک در سازمانها
    توسط MR_Jentelman در انجمن مجموعه مدیریت اجرایی
    پاسخ ها: 0
    آخرين نوشته: 27th July 2009, 10:14 AM
  4. سنجش موفقيت برنامه ريزي فناوري اطلاعات
    توسط engeneer_19 در انجمن مباحث فناوری اطلاعات
    پاسخ ها: 0
    آخرين نوشته: 26th July 2009, 08:33 PM

کلمات کلیدی این موضوع

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

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