+ ارسال نظر
نمایش نتایج: از 1 به 1 از 1

موضوع: َAPI های ویندوز

  1. #1
    مدیرکل انجمنهای نور آسمان vorojax آواتار ها
    تاریخ عضویت
    Jun 2008
    محل سکونت
    همشهری حضرت عشق
    نوشته ها
    7,305
    تشکر
    6
    تشکر شده 0 بار در 0 ارسال

    پیش فرض َAPI های ویندوز

    [size=xx-large]هاي ویندوز API[/size]
    [size=medium]
    هاي ویندوز و چگونگی استفاده از آنها API امروز قصد دارم در مورد ویژوال بیسیک بطور خلاصه توضیح دهم و همچنین دو مثال پراستفاده را نیز در این زمینه بیان کنم که عبارتند از چگونگی پخش
    و ساخت یک تایمر با دقت بالا : Wav فایلهاي
    Application مخفف API واژه : Windows API 1 - آشنایی با
    هاي ویندوز مجموعه اي API . می باشد Programming Interface
    از توابع از پیش آماده موجود در سیستم عامل هستند که شما می توانیدآنها را در برنامه هاي خود فراخوانی کنید . این توابع در چندین کتابخانه ویندوز ذخیره شده اند . براي دسترسی به این توابع در ویژوال DLL
    کنید . براي مثال : declare بیسیک ابتدا باید آنها را برنامه خود
    Declare Function sndPlaySound Lib "winmm.dll" Alias
    sndPlaySoundA" (ByVal lpszSoundName As String, "
    Long ByVal uFlags As Long) As
    sndPlaySound از تابع Declare همانطور که می بینید مثال فوق یک موجود است . کلمه Winmm.dll می باشد که این تابع در کتابخانه
    دارد . سایر بخشها dll نشان می دهد که این تابع نام دیگري در Alias
    مربوط به تعریف پارامترهاي تابع می باشند که در مورد مثال فوق ، این
    دارد . Long تابع دو پارامتر ورودي و یک خروجی از نوع
    در برنامه می توانید از آن استفاده نمائید . API کردن Delare پس از

    استفاده Wav تابعی که براي پخش فایلهاي : Wav 2 - پخش فایلهاي است که در بالا با آن آشنا شدید . sndPlaySound می شود تابع
    uFlags و پارامتر Wav نام و مسیر فایل lpzSoundName پارامتر
    چگونگی پخش فایل را مشخص می کند . مقادیر ممکن این پارامتر
    عبارتند از :
    پخش شود که آنرا Wav اجازه می دهد طوري فایل : SND_ASYNC -
    تان را هر Wav بتوان وقفه داد . بعبارت دیگر قادر خواهید بود فایل
    زمان که بخواهید پخش کنید و مطمئن باشید که حتما شنیده می شود .
    را بطور ممتد پخش می کند . Wav فایل : SND_LOOP -
    پیدا نشود صداي دیگري Wav اگر فایل : SND_NODEFAULT -
    ویندوز ) default پخش نخواهد شد ( مثلا برخی صداهاي
    کنترل به برنامه داده نمی Wav در طول پخش فایل : SND_SYNC -
    اي را در پس زمینه Wav شود . این پارامتر در زمانیکه می خواهید فایل
    برنامه تان پخش کنید مناسب نمی باشد . اي قبلا در حال پخش باشد ، فایل Wav اگر فایل : SND_NOSTOP -
    شما آنرا دچار وقفه نمی کند . از این پارامتر زمانی استفاده می Wav
    مان هیچوقت در وسط کار قطع نشود . Wav شود که بخواهیم فایل
    Or اگر بخواهید از بیش از یکی از این پارامترها استفاده کنید توسط
    آنها را ترکیب نمائید مثال :
    or ding.wav", SND_ASYNC\" & sndPlaySound App.path
    SND_LOOP
    نکته : براي استفاده از توابع صوتی پیچیده تر بایستی از
    می باشد استفاده کنید . در DirectX که یکی از اجزاي DirectSound
    بعدا صحبت خواهم کرد . DirectSound مورد
    3 - ساخت یک تایمر با دقت بالا : شاید تا بحال از کنترل تایمر موجود در نوار ابزار ویژوال بیسیک استفاده کرده باشید . این تایمر داراي دقت حدود 55 میلی ثانیه است . براي دستیابی به زمانهاي با دقت بالاتر این کنترل مفید نخواهد بود .
    Kernel32.dll موجود در کتابخانه API یک GetTickCount تابع است . این تابع طول زمانی را که سیستم شروع به کار کرده است را برحسب میلی ثانیه برمی گرداند :
    () "Private Declare Function GetTickCount Lib "kernel32
    As Long
    براي بررسی طی شدن یک مدت زمانی خاص شما ابتدا باید مقدار این قرار دهید سپس در یک TempTime تابع را در یک متغیر کمکی مثل جدید و زمان GetTickCount باید اختلاف زمان Do-Loop حلقه را با مقدار زمانی که می خواهید سپري شود مقایسه کنید : TempTime
    TempTime = GetTickCount()x
    GetTickCount() - TempTime > Do While DesiredTime
    'Do some things
    Loop
    توسط کد بالا می توان یک عملیات خاص را براي یک مدت زمانی مشخص اجرا کرد .
    کد زیر نشان می دهد که چگونه می توان دستورات خاصی را در فواصل زمانی خاص اجرار کرد :
    ExitFunction = False
    GetTickCount()x = TempTime
    Do While not(ExitFunction)x
    GetTickCount() - TempTime then > If DesiredTime
    'Reset the temporary variable
    GetTickCount()x = TempTime
    'Do some things
    End If
    Loop
    برنامه benchmark می توان براي GetTickCount همچنین از تابع ها استفاده کرد . بعبارت دیگر می توان زمان اجراي یکسري دستورات خاص را بدست آورد .
    [/size]

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    محل سکونت
    Advertising world
    نوشته ها
    Many

     

    حرز امام جواد

     

+ ارسال نظر

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

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

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

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

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