توابع API در دلفي
با استفاده از API می توانید برای برنامه ها یک رابط گرافیکی فراهم نمایید ، تصاویر را نمایش دهید و شی های سیستم مانند حافظه ، فایلها و پردازشها را مدیریت نمایید . ویندوز برای کنترل خود توابع و روال هایی را در اختیار برنامه نویسان می گذارد این توابع دارای قدرت و توانایی بالایی می باشند و قابل استفاده توسط برنامه نویسان Delphi, C++, Visual c, Visual Basic و غیره می باشند
API ها به برنامه ها امکان استفاده کامل از قدرت خانواده ویندوز 32 بیتی را می دهد . با استفاده از آنها می توان برنامه ها را توسعه داد بطوریکه بصورت موفیق آمیز بر روی تمامی نسخه های ویندوز 32 بیتی اجرا شده ضمن اینکه از امکانات و قابلیتهای هر نسخه به نحو احسن استفاده کرد .
علت استفاده از توابع API در برنامهنویسی
دلایل استفاده از توابع API در زبانهای مختلف برنامهنویسی میتواند این باشد که:
1 . توابع API به دلیل آنکه در فایلهای DLL هر سیستم عامل ویندوز میباشد و در هر مکان مانند یکدیگر میباشند پس نیازی به ارائه آن فایل DLL در نسخه برنامه نمیباشد و درنتیجه حجم نسخه کم میشود و درضمن سندیت برنامه نیز بیشتر میشود و میتوان گفت که شما از منابع ویندوز به نحو احسن استفاده کردهاید.
2 . نسخههای ویندوز به طور مداوم تغییر می کند ولی به دلیل آنکه سازندگان همیشه حالتی را در نظر میگیرند که نسخههای قبلی را نیز پشتیبانی کند. درنتیجه اگر شما برنامهای را به کمک توابع API بنویسید با تغییر نسخه ویندوز نیازی به تغییر جدی در توابع API نمیباشد.
3 . بیشتر زبانهای برنامهنویسی (بهخصوص زبانهای تحت ویندوز که خود به صورت پنهان از توابع API استفاده میکنند، ممکن است به علت محدودیتهایی نتوانند تمام امکانات توابع را در اختیار قرا دهند. شما با دسترسی مستقیم به توابع میتوانید از حداکثر قابلیتهای تابع استفاده کنید.
4 . در بعضی از زبانهای برنامهنویسی برای آنکه بتوان یک حالت را بوجود آورد و یا کار مشخصی را انجام داد، باید کدهای زیادی بنویسیم و یا در زمان خطاگیری مدت زیادی را صرف کنیم و به طور حتم کاربر استفادهکننده از برنامه شما نیز باید زمان بیشتری را برای گرفتن جواب صرف کند. این موارد ذکر شده هر کدام به نوبه خود میتوانند از محبوبیت، قدرتمند و خوانابودن برنامه بکاهند. ولی توابع API به دلیل آنکه روتین شده و از قبل نوشته شده میباشند پس فقط کافیست تابع را فراخوانی کنیم و به آن ورودی دهیم و خروجی مورد نظر خود را دریافت کنیم.
5 . بیشترتوابعAPI کارهایی را انجام میدهند که زبانهای برنامهنویسی قادر به انجام آن نمیباشند. به عنوان مثال به تابع SetlateradwindowAttributes مراجعه کنید که باعث میشود یک پنجره (فرم و یا کنترلهای داخل آن) و با یک رنگ مشخص در آنها به مقدار دلخواه به حالت شفاف و Transparen تبدیل شوند. و یا توابع دیگر مانند StretchBlt , TransparentBlt , LokworkStation , TimGetTim و SHShutDownDialog و ...
همانطور که دیدیدAPI ها نقش اصلی و کلیدی را در ویندوز ایفا می کنند و به گفته عده ای ویندوز مجموعه ای از توابع API است ، ولی استفاده از این توابع مشکلاتی را نیز در بر دارد :
مشکلات کار با API
از دلایل مشکلات کار با API ها می توان به نکات زیر اشاره کرد :
همانطور که می دانید windows با C و++ C نوشته شده و تایپ توابع آن همان تایپ ++C بوده و فهم C نیز نسبت به سایر زبانهای برنامه نویسی کمی مشکلتر است ، بدلیل وجود ماکروها ، اشاره گر, مدیریت حافظه پویا و …
دلیل دیگر ترس از API ظاهر پیچیده بعضی از این توابع می باشند ، وجود تعداد زیاد پارامتر که باز هر پارامتر خود یک structur می باشد که این struct از تعدادی فیلد تشکیل شده که فهم و درک تک تک این فیلدها و پارامترها بسیار مشکل می باشد .
دلیل دیگر را می توان این گفت که برای انجام یک عمل باید یک سری از توابع API را با ترتیب خاص و پارامترهای مشخص فراخوانی نمود . که چگونگی ترتیب توابع ، مقادیر پارامترها و اینکه حتی چه توابعی باید فراخوانی شوند جای بحث بسیار است .
با توجه به دلایل گفته شده بسیاری از برنامه نویسان ویندوز کار با برنامه هایی چون Delphi را ترجیح می دهند و آن را لذت بخش می دانند به علت اینکه برنامه های visual تمامی پیچیدگی های API ها را در توابع و اشیاءخود پنهان نموده اند و در نتیجه برنامه نویس به آن صورت درگیر API ها نمی شود ( مگر در موارد خاص و … ) و با کمترین وقت و کار ، بیشترین نتیجه را بدست می آورد . ( حتی افرادی هستند که هیچ اطلاعاتی از API ندارند اما برنامه های تحت windowsمی نویسند )
بطور مثال با یک click یک Form یا یکButton ایجاد می شود اما در پشت پرده توابع API مختلفی فراخوانی می شود تا این کنترل ها ایجاد شوند .
دلفی و API ویندوز
وقتی دلفی وارد بازار برنامه نویسی شد، دوره وعصر جدیدی را برای برنامه نویسان به ارمغان آورد. هیچ وقت قبل از این نمی شد یک برنامه قدرتمند و خوش فرمی در محیط ویندوز در کمترین زمان درست کرد. قدرت دلفی و همچنبن سادگی در برنامه نویسی دلیل انتخاب فوق العاده برای کسانی بود که می توانستند به زبانهای ++C و Visual Basic و دیگر محیطهای برنامه نویسی شبیه به اینها برنامه بنویسند.
یکی از قدرت های دلفی کتابخانه اجزایی بصورت ویژوال (Visual Component Library) که به آن VCL نیز گفته می شود که همان مدل شیء بورلند است. این مدل شیء به تیمهای برنامه نویسی دلفی اجازه می دهد که اکثریت زیادی از قسمتهای طاقت فرسای برنامه نویسی دلفی را در اجزای (Component) که به سادگی قابل استفاده هستند، قرار دهد. قبلاً برنامه نویسان زبانهای تحت ویندوز برای اینکه اعمال ساده ای را در ویندوز انجام دهند می بایستی حجم قابل توجهی کد برنامه نویسی بنویسند. تنها عمل بوجود آوردن یک فرم ساده با منوهای انتخابی می توانست چندین صفحه کد احتیاج داشت. ولی کپسوله کردن این احتیاج برنامه نویسی که مایه افسردگی و دلزدگی برنامه نویسی در ویندوز می شد را در دلفی بصورت یک عمل جالب و تجربه ای سرگرم کننده تبدیل کرده است.
مطالب مشابه :
نمونه سوالات نظریه زبان ها
کارشناسی ناپیوسته کامپیوتر آزاد بناب - نمونه سوالات نظریه زبان ها - سورس برنامه در دلفی;
توابع API در دلفي
قدرت دلفی و همچنبن سادگی در برنامه نویسی دلیل انتخاب فوق العاده برای نمونه سوالات پيام
بررسی روش دلفی
دانشجویان ارشد ارتباطات علامه / ورودی 89 - بررسی روش دلفی - محلی برای بحث در مورد موضوعات و
نمونه سوالات ایجاد بانکهای اطلاعاتی استاد صحفی
کارشناسی ناپیوسته کامپیوتر آزاد بناب - نمونه سوالات ایجاد بانکهای اطلاعاتی استاد صحفی -
نمونه سوالات درس منابع انسانی
مدیریت صنعتی - نمونه سوالات درس منابع انسانی - تکنیک دلفی را توضیح دهید؟ص27. 14)
نمونه سوالات هوش مصنوعی وجزوه استاد سيد ناصر رضوي
کارشناسی ناپیوسته کامپیوتر آزاد بناب - نمونه سوالات هوش مصنوعی وجزوه استاد سيد ناصر رضوي -
نمونه سوالات تستی php
نمونه سوالات تستی php زبان دلفی. 2-دلیل انتخاب php به عنوان زبان طراحی وب سایت چیست ؟ )
نمونه سوالات نهایی زبان فارسی 88
گروه جغرافیای منطقه شاوور - نمونه سوالات نهایی زبان فارسی 88 - جلسات گروه ، آموزش جغرافیا
نمونه سوال درس ایجاد بانکهای اطلاعاتی
نمونه سوالات طراحی و پیاده سازی زبان های برنامه سازی استاد سورس برنامه در دلفی;
برچسب :
نمونه سوالات دلفی