امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش ش1 پیش نیاز 1 (مبحث API)
نویسنده پیام
Pedram_HookEx آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 459
موضوع‌ها: 23
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 1
( 109 تشکر در 65 ارسال )
ارسال: #1
آموزش ش1 پیش نیاز 1 (مبحث API)
سلام به همه بروبکس ایرانویج

امروز اولین روزی هست که من دارم شروع به آموزش کلی API  های ویندوز میکنم در حین این آموزشها اگر سوالی یا اشکالی در آموزش دیدید در تاپیک اعلام کنید

ممکنه که حتی 99% از شما با این مباحث آشنا باشید ولی شاید بازم برای بعضی ها مفید باشه پس اگه مباحث خیلی ابتدایی بود به خوبی خودتون ببخشید


اما امروز میخوام برای روشن شدن کلی کار ابتدا به توضیح برخی از مباحث در مورد چگونگی کارکرد ویندوزدر مورد API ها  بپردازم

API ها یا(Application Program Interface) در برنامه نویسی ویژوال بیسیک بسیار زیادندو کاربردهای فراوانی در ارتباط با برنامه نویسی دارند
API درواقع به معنی رابط برنامه کاربردی هست و همونطور که از نامش معلومه با استفاده از اون میتونیم از دستورالعملهایی که در برنامههای دیگر قرار دارند از طریق این رابط استفاده کنیم
اما اون رابطها معمولا از کدام برنامه ها فراخونی میشن: معمولا فایلهایی با پسوند DLL  ویا OCX  و یا بندرت  Exe دارای این رابطها یا همون API  ها هستند که ما در اینجا فقط با نوع DLL  سرو کار داریم
این رو هم اضافه کنم که خود DLL  یا dynamic-link library مانند یک کتابخانه است که  انواع رویه ها(Functionها و Sub ها) در اون قرار داره و وقتی که ما از دستورالعمل یا فراخوانی API  حرف میزنیم منظور همون فراخونی Functionها و Sub ها هست
وقتی که میگوییم فایل Sore.dll دارای API  های تعریف شده هست  بدین معناست که ما از طریق این فایل و با فراخونی یکی از API های تعریف شده در اون یک دستورالعمل رو در برنامه خودمون اجرا میکنیم
اما ویژوال بیسیک چگونه این ارتباط رو برقرار میکنه


ما با تعریف اون توسط دستور اصلیDeclare   میتونیم این کار رو به راحتی انجام بدیم

به مدلهای زیر توجه کنید:

کد:
[Scope] Declare Sub name Lib "libname" [Alias "aliasname"] [([arglist])]

ما توسط این خط میتونیم یک Procedure  که از نوع SUB  هست رو فراخونی کنیم

به توضیح خط میپردازیم

قسمت اول [Scope]  که به معنی محدوده هست که میتونه دو مقدار رو بپزیره یکی Private   یا اختصاصی و Public  یا عمومی که بدین معنا هستند که API  ما در چه محدوده ای تعریف بشه

قسمت دوم Declare یا همون دستور کلی تعریف ما هست

قسمت سوم Sub  به ما میگه که این تابع مقداری رو برنمیگردونه بعبارت دیگر میتونه ورودی داده داشته باشه ولی خروجی نداره

قسمت چهارم  name که همون نام تابع در فایل مورد نظر هست


نکته: هر قسمت که در یک [] قرار دارد انتخابی هست(Optional) یعنی اگر نوشته نشود حالت پیشفرض بصورت خودکار جایگزین میشود


قسمت پنجم Lib "libname" که نام کتابخانه رو مشخص میکنه


قسمت ششم [Alias "aliasname"] این هم نام مستعار برای اون رویه هست


قسمت هفتم [([arglist])] که میشه گفت یکی از قسمتای مهم هست در مورد ورودی های تابع هست و نشان دهنده این است که چه آرگومانهایی به APi  میتوانیم بدهیم

اما با تمام این مباحث بعدآ با مثالهای متعدد بیشتر آشنا میشیم

کد:
[Scope] Declare Function name Lib "libname" [Alias "aliasname"] [([arglist])] As type

در اینجا هم فقط قسمت های جدید رو آموزش میدم

Function که نشان دهنده اینه که تابع ما مقدار برگشتی داره و بعد از فراخونی مقداری رو برمیگردونه

اما اگر به قسمت آخر As type توجه کنید متوجه مورد قبلی و همان خصوصیت Function   بودن این تابع میشید


این هم چندتا مثال در این موارد


اول چندا APi  که رویه اونا از نوع Function  هست

کد:
[code]Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
کد:
Private Declare Function EnumDesktops Lib "user32.dll" Alias "EnumDesktopsA" (ByVal hwinsta As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
کد:
Private Declare Function InSendMessage Lib "user32.dll" () As Long
کد:
Private Declare Function SetCursor Lib "user32.dll" (ByVal hCursor As Long) As Long[/code]

اینم چندتا APi  که رویه اونا از نوع  Sub  هست


کد:
[code]Private Declare Sub DllInstall Lib "browseui.dll" (ByVal bInstall As Long, ByVal pszCmdLine As String)
کد:
Private Declare Sub ExitThread Lib "kernel32.dll" (ByVal dwExitCode As Long)
کد:
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)[/code]
سوال و انتقاد همینجا

تا بعدWink

(آخرین ویرایش در این ارسال: ۰۷-مهر-۱۳۸۵, ۰۲:۴۲:۵۹، توسط Pedram_HookEx.)
۰۷-مهر-۱۳۸۵, ۰۲:۳۶:۵۲
ارسال‌ها
پاسخ
تشکر شده توسط : m_vb66, Darg, Kadilak
shamsoft آفلاین
كاربر دو ستاره
**

ارسال‌ها: 152
موضوع‌ها: 32
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 0
( 7 تشکر در 6 ارسال )
ارسال: #2
RE: آموزش ش1 پیش نیاز 1 (مبحث API)
نه سوال نه انتقاد
منتظر مقاله هاي بعدي هستيم
۰۷-مهر-۱۳۸۵, ۱۲:۵۹:۵۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Kadilak
Soheilvb آفلاین
کاربر با تجربه
****

ارسال‌ها: 513
موضوع‌ها: 49
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 0
( 129 تشکر در 46 ارسال )
ارسال: #3
RE: آموزش ش1 پیش نیاز 1 (مبحث API)
پدرام جان سلام
ببین مطالبی در مورد توابع wave مثل waveInAddBuffer داری.
خیلی ممنون می شم
بای
۰۷-مهر-۱۳۸۵, ۱۵:۰۴:۱۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Kadilak
Pedram_HookEx آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 459
موضوع‌ها: 23
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 1
( 109 تشکر در 65 ارسال )
ارسال: #4
RE: آموزش ش1 پیش نیاز 1 (مبحث API)
فک کنم داشته باشم اما اگه اشکال نداشته باشه اول مبحث استفاده از API رو تموم کنم بعد بریم سراغ آموزش خود API ها با مثال

_______________________________________________________________________________
  • کشف الکتریسیته توسط پارتها برای اولین بار کلیک کنید
  • 135 نکته و آموزش از سطح پایین تا پیشرفته در غالب مثال های کوچک و قابل فهم (حجم 97KB)لینک دانلود
  • 101 آموزش پیشرفته ویژوال بیسیک. حتما دانلود کنید(حجم 314KB)لینک دانلود
  • اینم یه کتابچه ویژوال بیسیک برا اونایی که میخوان برنامه نویسی رو شروع کنن(حجم 916KB)لینک دانلود
  • تمام نکات و ترفند های مهم در ویندوز XP حتما دانلود کنید(حجم 86KB)لینک دانلود[تصویر:  new4.gif]
  • بروزرسانی ویژوال بیسک 6 به آخرین نسخه یعنی سرویس پک 6 (حجم 61MB)لینک دانلود[تصویر:  new4.gif]

۰۷-مهر-۱۳۸۵, ۱۵:۴۲:۰۳
ارسال‌ها
پاسخ
تشکر شده توسط : Kadilak
Soheilvb آفلاین
کاربر با تجربه
****

ارسال‌ها: 513
موضوع‌ها: 49
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 0
( 129 تشکر در 46 ارسال )
ارسال: #5
RE: آموزش ش1 پیش نیاز 1 (مبحث API)
سلام
مرسی ولی اگه می شه زودتر بذاریدنیاز دارم
مرسی
بای
۰۸-مهر-۱۳۸۵, ۲۱:۰۳:۱۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Kadilak
Pedram_HookEx آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 459
موضوع‌ها: 23
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 1
( 109 تشکر در 65 ارسال )
ارسال: #6
RE: آموزش ش1 پیش نیاز 1 (مبحث API)
سهیل جان میخوای چکار کنی

بهم بگو میخوای برای چه کاری چون این API کاربردای زیادی داره اینجوری بهتر میتونم کمکت کنم
(آخرین ویرایش در این ارسال: ۰۸-مهر-۱۳۸۵, ۲۱:۰۸:۳۹، توسط Pedram_HookEx.)
۰۸-مهر-۱۳۸۵, ۲۱:۰۷:۱۳
ارسال‌ها
پاسخ
تشکر شده توسط : Kadilak
Soheilvb آفلاین
کاربر با تجربه
****

ارسال‌ها: 513
موضوع‌ها: 49
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 0
( 129 تشکر در 46 ارسال )
ارسال: #7
RE: آموزش ش1 پیش نیاز 1 (مبحث API)
سلام
من در حقیقت برای رسم اسیلوسکوپ می خوام . برای ویرایش صدا .
زودتر بگی ممنونBiggrin
بای
۰۸-مهر-۱۳۸۵, ۲۱:۲۹:۴۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Kadilak
Pedram_HookEx آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 459
موضوع‌ها: 23
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 1
( 109 تشکر در 65 ارسال )
ارسال: #8
RE: آموزش ش1 پیش نیاز 1 (مبحث API)
سهیل جان این یه مثال هست که از سایت AllApi آوردم و فک کنم که خیلی بدردت بخوره

فقط یه چیز دیگه هم که هست من شرمندت شدم که نتونستم برات آموزشش رو بزارم آخه این Api کارش یه جوری هست که اگه من تنها بخوام برای این API آموزش بزارم نمیشه و خودش به تنهایی با 10 20 تا API دیگه درگیر هست

به توضیحاتش نگاه کن تا بهتر متوجه طرز عمل این برنامه بشی راستی برنامتو خط به خط اجرا کن

_______________________________________________________________________________
  • کشف الکتریسیته توسط پارتها برای اولین بار کلیک کنید
  • 135 نکته و آموزش از سطح پایین تا پیشرفته در غالب مثال های کوچک و قابل فهم (حجم 97KB)لینک دانلود
  • 101 آموزش پیشرفته ویژوال بیسیک. حتما دانلود کنید(حجم 314KB)لینک دانلود
  • اینم یه کتابچه ویژوال بیسیک برا اونایی که میخوان برنامه نویسی رو شروع کنن(حجم 916KB)لینک دانلود
  • تمام نکات و ترفند های مهم در ویندوز XP حتما دانلود کنید(حجم 86KB)لینک دانلود[تصویر:  new4.gif]
  • بروزرسانی ویژوال بیسک 6 به آخرین نسخه یعنی سرویس پک 6 (حجم 61MB)لینک دانلود[تصویر:  new4.gif]

(آخرین ویرایش در این ارسال: ۰۹-مهر-۱۳۸۵, ۱۱:۴۷:۳۱، توسط Pedram_HookEx.)
۰۹-مهر-۱۳۸۵, ۱۱:۴۳:۳۹
ارسال‌ها
پاسخ
تشکر شده توسط : Kadilak
Soheilvb آفلاین
کاربر با تجربه
****

ارسال‌ها: 513
موضوع‌ها: 49
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 0
( 129 تشکر در 46 ارسال )
ارسال: #9
RE: آموزش ش1 پیش نیاز 1 (مبحث API)
مرسی دستت درد نکنه
من یه ذره کا دارم هنوز نتونستم برم دنبالش گفتم یه زحمتی بدمBiggrin
مرسی
۰۹-مهر-۱۳۸۵, ۲۲:۲۱:۱۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Kadilak
alaska آفلاین
عضو افتخاری
****

ارسال‌ها: 591
موضوع‌ها: 65
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 3841
( 2520 تشکر در 474 ارسال )
ارسال: #10
RE: آموزش ش1 پیش نیاز 1 (مبحث API)
بسيار عالي
دستتون درد نكنه

فکر کن آنگاه سخن بگو تا از لغزش و خطا مصون باشی .
امیرمومنان علی (ع)
۰۸-بهمن-۱۳۸۶, ۱۷:۰۰:۴۰
ارسال‌ها
پاسخ
تشکر شده توسط : Kadilak
EleRam آفلاین
کاربر با تجربه
****

ارسال‌ها: 518
موضوع‌ها: 52
تاریخ عضویت: تير ۱۳۸۶

تشکرها : 423
( 588 تشکر در 140 ارسال )
ارسال: #11
RE: آموزش ش1 پیش نیاز 1 (مبحث API)
به نظرم اگه این آموزش ها رو توی FAPI بذاریم خیلی عالی می شه نه؟

[تصویر:  banner_moharram-21.png]
روزها عاقلترينم شامها ديوانه ام...

www.EleRam.com :: نرم افزار هاي فارسي (رايگان)
www.PhotoImpact.blogfa.com :: آموزش کامل فتوايمپکت
۱۳-اسفند-۱۳۸۶, ۲۱:۳۳:۰۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Kadilak


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS