رستم فیروززاده
تماس با من
پروفایل من
آرشیو وبلاگ
      آموزش زبان ویژوال بیسیک (برنامه نویسی Visual Basic)
API = Application Programming Interface نویسنده: رستم فیروززاده - یکشنبه ۳۱ خرداد ۱۳۸۸

API (Application Programming Interface) چیست؟

هر زبان برنامه نویس خود روال های پیشفرض جهت اجرای دستورات کاربر را داراست، ویندوز نیز توابعی دارد که توسط تعاریفی (که در ویژوال بیسیک در قسمت General _ Declaration   قرار می گیرند) از سوی کاربرقابل دسترسی خواهند بود.


این تعاریف همگی مربوط به Win32 می باشد که شرکت مایکروسافت با نام Win32 API به برنامه نویسان ارائه داده است.

کاربران زبانهای برنامه نویس می توانند با استفاده از این تعاریف و ثابت های مرتبط، به روالهای ویندوز دسترسی یافته و اعمال ویندوز را به برنامه خود انتقال دهند.

 

دسترسی به روال های ویندوز Win32 API

برای دسترسی به روال ها و ثابت های API، جهت استفاده در زبان ویژوال بیسیک :

·         از منوی Add-Ins   گزینه Add-In Manager را کلیک کنید.

·     از پنجره اجرا شده آیتم VB 6 API Viewer   را انتخاب و گزینه های Loaded-Unloaded و Load on Startup را فعال کرده و OK کنید.

·         حال دوباره به منوی Add-Ins مراجعه کنید و آیتم API Viewer را کلیک کنید.

·         از پنجره مذکور منوی File و آیتم Load Text File   را گزینش کنید.

·     محل پیش فرض از سوی شرکت برنامه نویس به آدرس : E:\Program Files\Microsoft Visual Studio\Common\Tools\Winapi تعیین شده – اگر دیالوگ در این آدرس واقع نشد این آدرس را جستجو کرده و فایل متنی WIN32API.txt را برگزینید.

·     از لیست کشویی بالا >> API Type میتوانید تعاریف (Declares) – ثابت ها (Constants) – و یا انواع داده (Types) API را انتخاب و در لیست Available Items مشاهده کنید.

·     برای وارد کردن یک تعریف – ثابت یا نوع داده در برنامه یک آیتم از لیست Available Items   انتخاب و کلید Add را کلیک کنید . بعد از انتخاب و اضافه نمودن آیتمهای مورد نظرتان کلید Copy یا Insert را در صورت تمایل کلیک کنید. اگر کلید Insert  را بر می گزینید قبل از کلیک یک شیء ماجول در پروژه اضافه کنید و آنرا انتخاب کنید و کلید Insert را کلیک کنید.

مثالیجات:

# - یک پروژه استاندارد ایجاد و یک شیء ماجول را به آن اضافه کنید.

# - برنامه API Viewer  را باز کرده و فایل متنی WIN32API.txt را لود کنید.

# - از قسمت API Types گزینه Declares را گزینش کرده و آیتم sndPlaySound را از لیست Available Items برگزیده بر روی آن دابل کلیک کنید. (برای یافتن یک آیتم از جعبه متنی که بالای آن این مقدار تایپ شده استفاده کنید:

Type the first few letters of the word you are looking for:

# - حال مجدداً سراغ API Types رفته و گزینه Constants  را از آن جویا شوید در اینجا ثابت های مرتبط با تعریفمان را پیدا خواهیم کرد. از لیست Available Items آیتم هایی را که با SND شروع شده اند را یکی یکی انتخاب و بر روی آنها دو بار کلیک کنید تا وارد قسمت Selected Items شوند.

# - پس از انتخاب همه آیتمها کلید Insert  را کلیک کنید.

·         توجه داشته باشید آنها را در شیء ماجول وارد کنید.

 

 

# - برای شروع جهت دسترسی به این روال API اعمال زیر را دنبال کنید:

            برای اینکه بتوانیم به راحتی از آن در این پروژه و پروژه های دیگر استفاده کنیم بهترین راه ساخت متد است:

این تابع – همان روال API است که در قسمت General  تعریف شده...

Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

اگر توجه کنید:

نام : sndPlaySound

ورودی(ها): دو ورودی یکی با نام lpszSoundName و نوع داده String و دیگری با نام uFlags و نوع داده Long

در قسمت ثابت ها هم آنهایی که ابتدایشان SND داشت را انتخاب کردیم . برای اینکه بتوان از ثابتها بهینه و ساده استفاده کرد از دستور Enum… End Enum استفاده می کنیم:

 ثابت هایی که انتخاب کرده ایم به این صورت تعریف شده اند:

Public Const SND_ALIAS = &H10000    

در دستور Enum دیگر نیاری به تعریف نوع و کلمه کلیدی Const نمی باشد (فقط نام  و مقدار).

دستور Enum مان را بدین نحوه در همان شیء ماجول می نویسیم:

EnumSNDConstants

SND_ALIAS = &H10000     '  name is a WIN.INI [sounds] entry

 SND_ALIAS_ID = &H110000    '  name is a WIN.INI [sounds] entry identifier

 SND_ALIAS_START = 0  '  must be > 4096 to keep strings in same section of resource file

 SND_APPLICATION = &H80         '  look for application specific association

 SND_FILENAME = &H20000     '  name is a file name

 SND_ASYNC = &H1         '  play asynchronously

 SND_LOOP = &H8         '  loop the sound until next sndPlaySound

 SND_MEMORY = &H4         '  lpszSoundName points to a memory file

 SND_NODEFAULT = &H2         '  silence not default, if sound not found

 SND_NOSTOP = &H10        '  don't stop any currently playing sound

 SND_NOWAIT = &H2000      '  don't wait if the driver is busy

 SND_PURGE = &H40               '  purge non-static events for task

 SND_RESERVED = &HFF000000  '  In particular these flags are reserved

 SND_RESOURCE = &H40004     '  name is a resource name or atom

 SND_SYNC = &H0         '  play synchronously (default)

 SND_TYPE_MASK = &H170007

 SND_VALID = &H1F        '  valid flags          / ;Internal /

 SND_VALIDFLAGS = &H17201F    '  Set of valid flag bits.  Anything outside

End Enum

***بهتر است قبل از ثابت ها Enum SNDConstants و انتهای آنها End Enum را نوشته و سپس کلمات Public Const را از ابتدای هر ثابت پاک کنید.

حال متدمان را بدین ترتیب می سازیم.

Public Sub PlaySound(ByVal strSound As String, Optional ByVal Flags As SNDConstants = SND_ASYNC Or SND_NODEFAULT)

 sndPlaySound strSound, Flags

End Sub

نام: به دلخواه برای اجرای یک فایل صوتی

ورودی (ها) : دو ورودی مثل روال اصلی ، نوع داده strSound رشته ای چون باید آدرس فایل صوتی را بگیرد. ، ورودی Flags را با نوع داده SNDConstants و بصورت اختیاری [Optional]
می سازیم.

 

حالا فرم 1 را انتخاب کرده و یک کلید Command Button را روی آن ایجاد کنید و وارد Event آن با نام Click  شوید و نام متد بهمراه مقدار ورودی   strSound  (رشته آدرس فایل) را تایپ کنید.

مثلاً :

Private Sub Command1_Click()

PlaySound "C:\WINDOWS\Media\tada.wav"

End Sub

حالا برنامه خود را اجرا نموده و روی کلید ایجاد شده کلیک کنید ...

  فراخوانی روالهای API_USER32


  نظرات ()
مطالب اخیر کانال تلگرام وبلاگ ایجاد Local Database برای پروژه و بکارگیری آن ( بصورت ویزاردی) Snippet و استفاده آن در VS دانلود نرم افزار Trust Information آشنایی با خصوصیات پروژه Project Properties ایده های شما در حیطه نرم افزار رایانه Object Browser ایجاد پروژه جدید در میحط VS 2008 بکار گیری متغیر ها در VB 9.0 آشنایی با محیط ویژوال استادیو 2008
کلمات کلیدی وبلاگ api (۱) components information (۱) convert functions (۱) create project (۱) download trust information (۱) local database (۱) object browser (۱) select case (۱) snippet (۱) vb 90 (۱) wizard local database (۱) ارایه ها (۱) ارتباط با پایگاه داده (۱) ایجاد پروژه جدید با vb (۱) پایگاه داده (۱) تابع (٢) تابع جعبه پیام (۱) تاریخ (۱) تبدیل نوع داده (۱) تلگرام (۱) توابعمرتبط با رشته (۱) تولید نرم افزار با ایده شما (۱) حلقه ها (۱) دانلود (۱) دانلود نرم افزار trust information (۱) دستور enum (۱) دستور with (۱) رابط کاربری برنامه نویس (۱) ریسورس (۱) زمان (۱) نرم افزار trust information (۱) ویژوال بیسیک 2008 (۱) کانال (۱)
دوستان من تولید نرم افزار از ایده های بکر شما دانلود نرم افزار Snippet Maker 2.0 Download Visual Studio SQL and XML Tutorial Quick Learn ايجاد حساب هاي كاربري براي برنامه نسخه آزمایشی نرم افزار ساخت فایل adm پرسش و پاسخ کانال تلگرام این وبلاگ ارتباط با نویسنده وبلاگ در تلگرام پرتال زیگور طراح قالب