Warning: fetch_template() calls should be replaced by the vB_Template class. Template name: nick_announce in [path]/includes/functions.php on line 4734

Warning: fetch_template() calls should be replaced by the vB_Template class. Template name: genderbit_display_post in [path]/includes/functions.php on line 4734
آخرین اخبار دانشگاه پیام نور"فراگیر پیام نور"برنامه امتحانات پیام نور" تستی یا تشریحی پیام نور"سیستم گلستان پیام نور " reg.pnu.ac.ir "خبر های جنجالی پیام نور" نمونه سوال پیام نور"دکترا پیام نور "ارشد پیام نور "لیست منابع پیام نور"انتخاب واحد پیام نور"اخبار مراکز و واحد ها پیام نور"عکس های پیام نوری
ایمیل:




×
ویندوز چیست (از نگاه برنامه نویسی و توابع api
استاد زانیس

تبلیغات در پیام نور

دسترسی سریع
تبلیغات

موضوعات مهم

 

راهنماي جامع تصويري ورود به سيستم گلستان دانشگاه پيام نور(سيستم اطلاعات دانشجويي)
آموزش جامع و تصویری اعتراض و اعلام اشکال به کلید سوالات تستی امتحانات پیام نور
پاسخگویی به فرم های ارزشیابی اساتید
آموزش چگونگي نحوه ي دیدن نمرات پايان ترم دانشگاه پیام نور
راهنمای تصویری و جامع مشاهده و پرینت کارت ورود به جلسه امتحانات پایان ترم ( گزارش ۴۲۸ )
راهنمای تصویری و جامع اعلام اشکال و اعتراض به سوالات امتحانات پایان ترم پیام نور
راهنمای تصويري و جامع دریافت سوالات امتحانات پایان ترم از سيستم گلستان
راهنمای تصويري و جامع نحوه مشاهده نمرات پایان ترم دانشجویان پیام نور در سیستم گلستان
نکات مهم در مورد آزمون های پایان ترم دانشگاه پیام نور
راهنمای تصويري و جامع تکمیل پاسخنامه های پایان ترم دانشگاه پیام نور
آموزش جامع و تصويري چگونگي ثبت اشكال واعتراض به سوالات پايان ترم در سيستم گلستان
آموزش چگونگي صدور كار ورود به جلسه در سيستم دانجشويي گلستان رو بصورت جامع و تصويري
دانلود رایگان نمونه سوال رشته های پیام نور نیمسال دوم 90-91 پیام نور مقطع کارشناسی+پاسخنامه
دانلود رایگان مجموعه نمونه سوالات تمامی رشته های پیام نور نیمسال اول 90-91 دانشگاه پیام نور

تالارهای مهم

 

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

نمونه سوالات پیام نور

 

نمونه سوالات مقطع کارشناسی پیام نور
نمونه سوالات مقطع کارشناسی ارشد پیام نور
نمونه سوالات مقطع دکترا
نمونه سوالات آزمونهای فراگیر ( کاردانی به کارشناسی)
نمونه سوالات آزمونهای فراگیر پیام نور( کارشناسی )
نمونه سوالات آزمونهای فراگیر پیام نور ( کارشناسی ارشد )
نمونه سوالات امتحانی دروس عمومی(کارشناسی)
نمونه سوالات امتحانی دروس پایه و مشترک(کارشناسی)
نمونه سوالات گرایش کامپیوتر(کارشناسی)
دانلود رایگان نمونه سوالات پیام نور
اخبار و اطلاعيه هاي بانک نمونه سوالات باشگاه
اطلاعیه ی بازسازی و تکمیل سازی نمونه سوالات باشگاه
طرح جمع آوری نمونه سوالات پیام نور در باشگاه




سیستم گلستان پیام نور
نمایش نتایج: از شماره 1 تا 1 از مجموع 1

موضوع: ویندوز چیست (از نگاه برنامه نویسی و توابع api

  1. Top | #1

    تاریخ عضویت
    Mar 2009
    شماره عضویت
    337
    عنوان کاربر
    مدير كل تالاركامپيوتر و اينترنت و فناوري , برنامه نویسی و طراحی صفحات وب
    میانگین پست در روز
    1.64
    محل تحصیل
    PNU-CLUB
    شغل و حرفه
    PNU-CLUB
    رشته تحصیلی
    PNU-CLUB
    محل سکونت
    PNU-CLUB
    ارسال ها
    9,214
    می پسندم
    1,391
    مورد پسند : 2,553 بار در 1,690 پست
    پست های وبلاگ
    1

    Icon14 ویندوز چیست (از نگاه برنامه نویسی و توابع api

    استاد زانیس
    ):

    ویندوز یک سیستم عامل چند وظیفه ای و چند کاربره گرافیکی برای کامپیوتر های شخصی است.
    در زمان سیستم عامل Dos کاربران درون یک محیط متنی ساده ، تک کاربره و تک وظیفه ای کارهای خود را انجام می دادند . اما در اواسط دهه 1980 میلادی نیازهای جدیدی پیدا شد از قبیل امکان اجرای چند برنامه همزمان ، امکان دسترسی چند کاربر ، رابط کاربری زیباتر ، مدیریت کامل بر منابع و غیره. اینگونه بود که سیستم عامل Windows متولد شد.
    سیستم عامل Windows به تمام نیازهای فوق پاسخ داد اما محدودیت هایی نیز بوجود آورد مخصوصا برای برنامه نویسان سیستمی.
    در محیط Dos شما مجاز به استفاده از تمام قسمت های حافظه بودید. اما در Windows چنین چیزی نیست زیرا نمی توان به بخشهایی از حافظه که متعلق به برنامه دیگری است دسترسی داشت حتی نمی توان آنها را خواند. و یا استفاده از فضای حافظه مجازی تحت نظر سیستم فایل است که اجازه هیچ گونه دسترسی مستقیم به Hard Disk را به ما نمی دهد. مورد بسیار مهم دیگر این است که در Dos برنامه نویس می بایست خودش با Port ها ارتباط برقرار کند اما در Windows چنین اجازه ای ندارد. و موارد بسیار زیاد دیگر(مخصوصا در ارتباط با سخت افزار).
    اما اینها هیچ کدام ضعف نیست بلکه نشان دهنده قدرت Windows است که اجازه نمی دهد برنامه ها در کارهای یکدیگر دخالت کنند . با وجود این دست برنامه نویس هم برای انجام کارهای مورد نیاز بسته نیست بلکه همان ویندوزی که تمام کارها را بدست می گیرد همان نیز امکاناتی را به برنامه نویس می دهد تا بتواند برنامه سیستمی بنویسد . این امکانات API (Application Programming Interface)نامیده می شوند . در واقع API یکسری توابع استاندارد است که شرکت Microsoft داخل یکسری فایل DLL برای برنامه نویسی سیستمی قرار داده است و بیش از 1000 تابع و رویه (Procedure) می باشد.
    API را اصطلاحا قلب ویندوز می نامند ، هر کاری که در این سیستم عامل انجام می شود API است یعنی خود این سیستم عامل هم برای بسیاری از اعمال خویش نیز از آن استفاده می کند. زبانهای برنامه نویسی که تحت Windows کار می کنند (مثل Delphi) از API استفاده می نمایند . مثلا اگر یک متغیر تعریف کنید یک API بصورت خودکار اجرا شده و مقدار حافظه مورد نیاز را به برنامه شما اختصاص می دهد.
    پس به زبانی می توان ادعا کرد که Windows مجموعه ای از توابع API است و می توان گفت که نه تنها این سیستم عامل ما را محدود نکرده است بلکه کار ما را ساده نموده است. مثلا اگر در Dos مجبور بودیم برای Save یک فایل ، کلی برنامه نویسی کنیم وهمه چیز را در نظر بگیریم که مثلا مبادا اطلاعاتمان روی اطلاعات دیگری Overwrite شود ، در Windows کافی است یک API را فراخوانی کنید و به همین سادگی Window تمام کارهای مربوطه را انجام می دهد.
    در این Topic باز هم از API و نحوه کارکردن با آن ، DLL ها ، Message ها ، DC ها و غیره در چند روز آینده صحبت خواهد شد.


    امروز برای نمونه دو سه تا از API های ساده و کارآمد را معرفی می کنیم. البته قبل از آن این مطلب را بگویم که Delphi استفاده از توابع API را ساده کرده است و ما حداکثر با Use کردن یک فایل از آنها استفاده می کنیم.

    1- رویه ( Procedure ) Sleep:
    با استفاده از این رویه در اجرای برنامه می توان وقفه ای ایجاد کرد.
    شکل کلی این رویه به صورت زیر است. كد:
    کد:
    کد:
     
    Procedure Sleep(dwMilliseconds:DWord);
    همانطور که پیدا است این رویه یک ورودی از جنس DWord می گیرد. این ورودی عددی است که زمان توقف را بر حسب میلی ثانیه مشخص می کند(مثلا عدد 1000 معرف یک ثانیه است).

    مثال:کد زیر مقدار Progress یک ProgressBar را از 0 تا 100 درصد در طول 10 ثانیه زیاد می کند. كد:
    کد:
    کد:
     
    var 
    i:Byte; 
    begin 
      i:=0; 
      while i<100 do 
        begin 
            i:=i+10; 
            ProgressBar1.Position:=i; 
            Sleep(1000); 
        end; 
    end;
    2- تابع CopyFile:
    یک فایل را از محلی به محلی دیگر کپی می کند.
    شکل کلی این تابع به صورت زیر است. كد:
    کد:

    کد:
    Function CopyFile (lpExistingFilename, lpNewFilename:PChar, bFailIfExists:BOOL):BOOL;

    پارامتر lpExistingFilename یک String(در حقیقت PChar که نوعی رشته است) است که مسیر و نام فایل مبدا را مشخص می کند.
    پارامتر lpNewFilename یک String(در حقیقت PChar که نوعی رشته است) است که مسیر و نام فایل مقصد را مشخص می کند. دقت کنید که نام فایل مقصد نیز باید قید شود و معمولا برابر با نام فایل مبدا گرفته می شود.
    پارامتر bFailIfExists یک مقدار منطقی(Boolean) است که اگر فایل در مقصد وجود داشت چه کاری انجام شود. اگر True بود و فایل مقصد قبلا موجود باشد کار تابع نیمه تمام می ماند و اگر False باشد روی فایل اول Overwrite می گردد.
    خروجی تابع منطقی است و اگر کارش به درستی انجام شود، True و در غیر این صورت False است.
    مثال:خط زیر یک فایل را از درایو C داخل درایو D کپی می کند و اگر فایل در مقصد وجود داشته باشد آنرا Overwrite می کند. كد:
    کد:
    کد:
     
    CopyFile('C:\Chortke.jpg','D:\Chortke.jpg',False);

    3- تابع GetDriveType :
    این تابع نوع هر یک از درایوهای سیستم را مشخص می کند انواعی از قبیل فلاپی ، دیسک سخت ، CDROM و غیره.
    شکل کلی این تابع به صورت زیر است. كد:
    کد:
    کد:
     
    Function GetDriveType(lpRootPathName:PChar): LongWord;
    پارامتر lpRootPathName یک رشته است و نام درایو مورد نظر را مشخص می کند مثل "C:\".

    خروجی این تابع یک عدد است که می تواند مقادیر زیر باشد.
    DRIVE_UNKNOWN: درایوی که معرفی شده است قابل دسترسی نمی باشد. برابر با عدد 0 می باشد.
    DRIVE_NO_ROOT_DIR: درایوی که معرفی شده است وجود ندارد. برابر با عدد 1 می باشد.
    DRIVE_REMOVABLE: برابر با مقدار عددی 2 می باشد و مشخص می کند که دیسک درایو مورد نظر از نوع قابل حمل می باشد.
    DRIVE_FIXED: برابر با مقدار عددی 3 می باشد ومشخص می کند که درایو مورد نظر از نوع ثابت است.
    DRIVE_REMOTE: برابر با مقدار عددی 4 می باشد و مشخص می کند که درایو مورد نظر از نوع درایوشبکه می باشد.
    DRIVE_CDROM: برابر با مقدار عددی 5 می باشد و مشخص می کند که درایو مورد نظر از نوع CD_Drive می باشد.
    DRIVE_RAMDISK: برابر با مقدار عددی 6 بوده و مشخص می کند درایو مورد نظر از نوع درایو های ساخته شده در RAM می باشد.

    مثال: خط زیر مشخص کننده نوع درایو C می باشد. كد:
    کد:
    کد:
     
    if GetDriveType('C:\') = DRIVE_FIXED then 
     ShowMessage ('It is a hard drive Partition');

    یک مثال با سه تابع فوق ساخته ام که می توانید بوسیله لینک زیر آنرا همراه Source Code اش DownLoad کنید.


    [فقط کاربران سایت توانایی دیدن لینکها را دارند]

    --------------------------------------------------------------------------------------

    سالک: سورس بالا را دانلود کنید و نتیجه اجرا و کدها را ببینید.
    حالا من کمی شرح می دهم. داریم از توابع api استفاده می کنیم که در بالا گفته شد چی هستند و اما شرح دیگر قسمتهای سورس.
    در تب Dialogs در جعبه ابزار ابزاری به نام OpenDialog داریم که به مااجازه انتخاب فایل می دهد.
    با نگاهی به پروژه می بینیم که دو فرم دارد. بعد اینکه کاربر فایل را انتخاب کرد با دستور :
    کد:
    کد:
    Form2.ShowModal;
    فرم دوم نمایان می شود. در سورس فوق برای دیدن فرم دوم از پروجکت منیجر استفاده کنید. این پنجره را از منوی ویو روشن کنید اگر روشن نیست.ابزاری روی این فرم هست به نام ShellTreeView . که با آن مسیر paste فایل مشخص میشه.

    نکات کد نویسی:
    کد:
    کد:
    i:=0;
    while i<100 do
     begin
      i:=i+10;
      ProgressBar1.Position:=i;
      Sleep(1000);
     end;
    در کد بالا یک حلقه while داریم که قبلش متغیری را برابر صفر گرفته و تا این متغیر به 100 نرسیده آن را ده تا ده تا اضافه کرده. و این متغیر را در صفت پوزیشن پروگرس بار ریخته. و همین طور از تابع Sleep استفاده شده داخل حلقه.

    همچنین در کد زیر:
    کد:
    کد:
    if Edit1.Text<>'' then
     begin
       DRV:=Edit1.Text+':\';
       Case GetDriveType(pchar(DRV)) of
        DRIVE_UNKNOWN:STR:='This Drive is not accessible.';
        DRIVE_NO_ROOT_DIR:STR:='This is not a real drive.';
        DRIVE_REMOVABLE:STR:='It is Removable Drive'+#13+'Like Floppy Drive.';
        DRIVE_FIXED:STR:='It is a hard drive Partition.';
        DRIVE_REMOTE:STR:='It is a network drive.';
        DRIVE_CDROM:STR:='It is CD_ROM Drive.';
        DRIVE_RAMDISK:STR:='It is RAM Drive.';
       end;
     end
    else
     begin
      STR:='Please Enter a Character into edit.';
      Edit1.SetFocus; 
     end;
    اولا شرط if را می بینیم که اگر داخل Edit1 خالی نباشد یعنی <> (نامساوی) دو تا کوتیشن به هم چسبیده یعنی خالی.
    وقتی خالی نباشد آن Edit یا دستور Case حالات مختلفGetDriveType(pchar(DRV)) بررسی می شود و با هر حالت مقداری به STR داده می شود.
    و در ادامه کد یعنی در این خط:
    کد:
    کد:
    ShowMessage(STR);
    یک کادر دیالوگی(یک پنجره کوچک) حاوی همان STR نمایان می شود.
    بقیه سورس را خودتان تجزیه تحلیل کنید. از شل-تری – ویو مسیر گرفه شده و باز با دستورات if و case واکنشهای مختلفی به کاربر نشان داده شده وقتی که فایلی هم نام در مسیر مقصد موجود بوده و الی آخر.
    حتما به ما سر بزنيد زرر نمي كنيد
    [فقط کاربران سایت توانایی دیدن لینکها را دارند]
    [فقط کاربران سایت توانایی دیدن لینکها را دارند]

    [فقط کاربران سایت توانایی دیدن لینکها را دارند]

  2. # ADS
    نشان دهنده تبلیغات
    تاریخ عضویت
    -
    محل سکونت
    -
    ارسال ها
    -
     

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

  1. نرم افزار و رابط کاربری برنامه نویسی در ویندوز - ActiveState Komodo IDE 6.0.0.57120 for Windows
    ارسال شده توسط R@ha 69 در تالار ابزارهای برنامه نویسی
    پاسخ ها: 0
    آخرين ارسال: 11-16-2010, 12:59 AM
  2. فارسی نویسی در ویندوز 7
    ارسال شده توسط TAHA در تالار مباحث ويندوز سون 7
    پاسخ ها: 0
    آخرين ارسال: 08-09-2010, 09:41 PM
  3. کیت توسعه برنامه نویسی آیفون برای ویندوز هم منتشر شد
    ارسال شده توسط faridpourahm در تالار اخبار گوناگون جهان
    پاسخ ها: 0
    آخرين ارسال: 05-21-2010, 07:21 PM
  4. چطور برنامه نویسی ویندوز را شروع کنیم؟
    ارسال شده توسط Borna66 در تالار برنامه نويسي كاربردي و وب
    پاسخ ها: 0
    آخرين ارسال: 02-21-2010, 08:52 PM
  5. برنامه نویسی اسمبلی ویندوز
    ارسال شده توسط TAHA در تالار مباحث Assambly
    پاسخ ها: 0
    آخرين ارسال: 11-11-2009, 10:41 PM

برچسب های ویژه

api در ویندوز چیست؟

تابع sleep() در برنامه نویسی چیست

تابع برنامه نویسی چیست؟

api نمونه توابع چیست

کار ویندوز چیست؟

ویندوز 7 توابع برنامه نویسی

تابع چیست برنامه نویسی

api windows توابع چیست


برچسب برای این موضوع

بوک مارک ها

بوک مارک ها

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

  • شما نمی توانید موضوع جدید ارسال کنید
  • شما نمی توانید به پست ها پاسخ دهید
  • شما نمی توانید فایل پیوست ضمیمه کنید
  • شما نمی توانید پست های خود را ویرایش کنید
  •  
آخرین اخبار دانشگاه پیام نور"فراگیر پیام نور"برنامه امتحانات پیام نور" تستی یا تشریحی پیام نور"سیستم گلستان پیام نور " reg.pnu.ac.ir "خبر های جنجالی پیام نور" نمونه سوال پیام نور"دکترا پیام نور "ارشد پیام نور "لیست منابع پیام نور"انتخاب واحد پیام نور"اخبار مراکز و واحد ها پیام نور"عکس های پیام نوری