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

آموزش API

hidensoft

کاربر تازه وارد
تاریخ عضویت
5 ژانویه 2007
نوشته‌ها
54
لایک‌ها
0
سلام دوستان

من کار با توابع API رو خیلی خوب بلدم

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

قربون همتون
 

Arash - CJ

کاربر تازه وارد
تاریخ عضویت
21 دسامبر 2006
نوشته‌ها
23
لایک‌ها
0
آقا دست شما درد نکنه اگه کل توابع رجيستري همراه با شکل کاملشون رو بگي
 

aftab110

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2006
نوشته‌ها
37
لایک‌ها
0
سلام
من هم مشتاقم
کلیاتش و طرز استفاده را دوست دارم یاد بگیرم
توضیح مکانیسم کار و شباهتش با کار با بقیه توابع و اختلافاش

و یک سئوال دیگه این که در زبانهای مختلف چقدر صدا کردن این توابع api فرق دارد و چقدر مشابه است
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام
سالك جان خوبي ؟
hidensoft تاپيك خوبي را شروع كرديد . اميدوارم ادامه پيدا كنه !

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

منتظر جناب hidensoft ميمانيم

اما با اجازه جناب hidensoft در مورد تفاوت ها يك مطلب كلي رو اشاره كنم :

اصولا نحوه صدا زدن يك تابع api بسته به نوع كامپايل فايل اجرايي است
يا بصورت مستقيم است مثل vc و يا مثل وي بي با واسطه msvb كه هر دو صورت تمامي متغيير هاي مورد نياز جهت ان تابع بايد به نحوي به تابع داده شوند و خروجي هم بايد توسط برنامه تحويل گرفته شود .
اما نخوه تعريف متغيير ها و نحوه ارسال ( همان پوش توي خافظه ) بستگي به زيان برنامه نويسي دارد

در بعضي از زبانها شما احتياج داريد هر تابع api را دونه به دونه تعريف كنيد مثل vb و assmbly اما در ديگر زبانها خود mfc و يا رابط برنامه نويسي بصورت خود كار اين كار را مينماييد

اين مطالبي بود كه به يادم بود . اميدوارم با كمك بقيه دوستان و مخصوصا hidensoft و ديگر دوستان مثل دارك لورد - بلا بلا- سعيد وي بي -مژگان -آصف - پدارم و .... بقيه دوستان كه اسمشون يادم نيست تاپيك پر باري داشته باشم

به اميد ديدار
 

aftab110

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2006
نوشته‌ها
37
لایک‌ها
0
ممنون سعید جان. توضیحات شما مثل همیشه عالی بود.
من هم در حد توانم هر کمکی از دستم بربیاد انجام می دهم. هرچند که نیازی به کمک من نیست. خیلی ها اینجا مسلطند به این موضوع.
باز هم تشکر.
 

hidensoft

کاربر تازه وارد
تاریخ عضویت
5 ژانویه 2007
نوشته‌ها
54
لایک‌ها
0
اول از همه سلام عرض می کنم خدمت همه دوستان
همون طور که گفته بودم آموزش API رو شروع می کنیم

دوست عزیز Aftab110 چرا فکر کردی که به کمک شما نیاز نیست ؟ به کمک همه نیاز هست. هیچ کس کامل نیست . با این که سعی کردم مطلب رو خیلی روان بنویسم شاید جاهایی از مطلب مشکل داشته باشه !
به کمک همه نیاز هست و هدف فقط موفقیته و هرکسی که می تونه کمک کنه دریغ نکنه. از آقا سعید هم به خاطر توضیحاتشون تشکر می کنم.

از غلط هایه املایی که دارم معذرت می خوام

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

API چیست ؟
API مخفف Application Programming InterFace که یعنی رابط برنامه سازی کاربردی.

API به توابعی گفته می شود که در فایلهای مختلف ویندوز مانند Advapi32.dll ، User32.dll ، Ole32.dll ، Kernel32.dll ، Winmm.dll .... وجود داره و ویندوز برای صدها کار مختلف خود از این تابع ها استفاده می کنه برنامه های کاربردی نیز به طور متعدد از این توابع استفاده میکنند. برای مثال خود ویژوال بیسیک از توابع API استفاده می کنه !! مثلا وقتی که شما دستور Pritn "Hiden Soft" رو درویژوال بیسیک استفاده میکنید ویژوال بیسیک از تابع TextOut برای نمایش پیغام مورد نظر استفاده میکنه .

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

حالا چند تا سوال پیش میاد
1- API که خود ویندوز ازاون استفاده میکنه با چه زبانی نوشته شده ؟
2- توابع API چن تا هستند ؟
3- توابع API چه ورودی هایی دارند ؟
4- آیا باید وقتی از API استفده کردیم فایل های اون رو هم کنار برنامه قرار بدیم ؟
5- API چه نوع سیستم عامل هایی رو پشتیبانی می کنه ؟
6- استفاده از API چه فایده ای داره؟
جواب سوالات
1- API توسط زبان برنامه نویسی قدرت مند C نوشته شده و در اکثر زبان های برنامه نویسی ویژوال کاربرد دارد.
2- API به 2 دسته تقسیم میشه که عبارتند از 16 بیتی و 32 بیتی تقسیم می شوند که توابع 16 بیتی به تعداد بیش 700 تابع و توابع 32 بیتی به بیش 6000 تابع می رسند
3- API هم همانند توبع خود ویژوال بیسیک از ورودی های عددی و رشته ای استفاده می کنه که البته شما این ورودی ها رو در متغیر ها باید قرار بدهید و به غیر از متغیر ها باید از یک سری ثابت ها استفاده کنید که در اکثر توابع حداقل 1 ثابت وجود داره . توجه داشته باشید که اکثر اوقات شما این متغیر ها رو با ثابت ها مقدار دهی می کنید.
4- خیر - این فایل ها در تمام سیستم عامل های ویندوز وجود دارد و نیازی به ارائه فایل ها در نسخه برنامه ندارید.
5- توابع API ویندوز 95 تا XP رو پوشش می دن
6- اگر شما از توابع API استفاده کنید بجای اینکه خودتون مثل توابع رو بنویسید در هنگام غلط گیری کردن برنامه کمتر دچار مشکل می شید یعنی وقتی از این توابع استفاده می کنید استفاده می کنید اطمینان دارید که تابع کار خودش رو درست انجام می ده نیازی غلط گیری تابع ندارید و اگر از API استفاده کنید لازم نیست تابع رو بنویسید و فقط کافیه یه بار تابع رو معرفی کنید و سپس به تابع ورودی بدید و خروجی مورد نظر رو دریافت کنید یا عمل مورد نظر رو انجام بدید. وقتی شما از تابع Print استفاده می کنید ویژوال بیسیک از تابع(API) TextOut استفاده میکنه و شما نمیتونید از تمام گذینه های تابع TextOut استفاده کنید ولی با API مسقیما شما تابع رو صدا می زنید و از تمام Option یا گذینه های اون استفاده می کنید. به غیر از تمام این ها API یک سری تابع داره که شما هیچ وقت نمیتونید این توابع رو بنویسید مثلا تابعی برای شفاف کردن فرم یا شی دیگه ای (مثل ویندوز Vista).
دوستان عزیز از API می شه در زبان برنامه نویسی Delphi و VB.Net هم استفاده کرد ولی از اونجا که من نه Delphi بلدم نه VB.Net پس از همه اونایی که API رو برای این دوتا زبان لازم دارن معزرت می خوام چون من VB بلدم و تقریبا تخصص من این زبان هست.

API In Visual Basic

تعریف توابع API به کمک دستور Declare انجام میشه که باید تعیین کنید که این تابع اختصاصی (Private) هست یا عمومی (Public) . شکل کلی اون به این صورته
[(Public | Private ] Declare sub name lib "libname" [Alias "aliasname"][(arglist]
[Public | Private ] Declare Function name lib "libname" [Alias "aliasname"][(arglist)] [As type]
حالا تمام قسمت هاشو توضیح میدم
Private یا Public : این دو دستور جهت تعریف محدوده کار تابع می باشد که اگر شما Private یا خصوصی رو انتخاب کنید بهتر هستش که کد این تابع رو درون خود فرم بنویسید و اگر Public یا خصوصی رو انتخاب کردید بهتره که کد اون تابع رو در یک Madule تعریف کنید تا تصیح آن ساده تر شود

Declare : این دستور تابع موجود در یک فایل API را تعریف می کند.
sub : توابعی که به این صورت تعریف شوند مقدار برگشتی ندارند.
Function : توابعی که به این صورت تعریف می شوند که باید نوع ان در قسمت type مشخص شود.
name : یک نام مستعار برای تابع . حالا فکر می کنید چرا نام مستعار ؟ جواب اینه که بعضی از توابع API هم نام با توابع ویژوال بیسیک است مثل تابع SetFocus که بهتر برای این تابع نام PutFocuse استفاده کنید و یه دلیل دیگه اینه که بعضی ازنام های توابع API در ویژوال مجاز نیست مثل #62 که در بتدای آن از کارکتر # استفاده شده.
َAlias : یک دستور در ویژوال بیسیک می باشد که مشخص می کند تابع نام مستعار دارد.
َAliasname : نام واقعی تابع که در فایل منبع (Libname) هست. یادتون باشه که این قسمت به حروف کوچک و بزرگ حساس هستش.
arglist : لیست تعریف متغیر هایی می باشد که در لحظه فراخوانی باید به تابع ارسال شود.
As : با این دستور که همتون آشنایی دارید . واسه تعریف نوع متغیر
Type : نوع مقدار بازگشتی را مشخص می کنه که باید یکی از مقادیر Byte,String,Long,Integer باشد.

خوب دیگه دوستان از اول شروع کردم تا تعریف API در پایان هم یه مثال می زنم . اگه سوالی در این مورد داشتید به پرسید .

از این به بعد فقط معرفی توابع و رفع اشکال

تابع AnimateWindow​
هدف این تابع حالت انیمیشن و افکت های مختلف برای اشیاء می باشد . حالا این شیء می تواند فرم باشد یه یک تکس باکس یا ...
سیستم عامل مجاز این تابع ویندوز 95 به بعد می باشد.
مبداء فراخوانی : User32.dll
مقدار بازگشتی : اگر صفر باشد یعنی عدم موفقیت و غیر صفر موفقیت تابع را می رساند.
متغیر ها :
hwnd : مقداراین متغیر را مساوی با شی مورد نظر که باید افکت بر روی آن اعمال شود قرار دهید.
dwTime : مقدار این متغیر زمان اجرای تابع به میلی ثانیه می باشد
dwflags : در این متغیر باید نوع افکت را مشخص کنید. برای این کار باید یکی از مقادیر ثابت زیر را انتخاب کنید
AW_Slide : حالت انیمشن بصورت اسلاید.
AW_Activate : مشخص می کند که شی در حال بسته شدن نیست.
AW_Blend : حالت انیمیشن به صورت Fade.
AW_Hide : مخفی ساختن.
AW_Center : از وسط به سمت اطراف باز می شود.
AW_HOR_Positive : از چپ به راست باز یا بسته می شود.
AW_HOR_Negative : از راست به چپ باز یا بسته می شود.
AW_Ver_Positive : از بالا به پایین باز یا بسته می شود.
AW_Ver_Negative : از پایین به بالا باز یا بسته می شود.

هر کدام از ثابت های بالا را می توانید با کمک OR ترکیب کنید.
هر وقت که از بستن شی می خواهید استفاده کنید حتما از ثابت AW_Hide استفاده کنید

حالا ویژوال بیسیک را باز کنید سپس یک پروژه جدید ایجاد کنید. در فرم یک TextBox و دو CommandButton قرار دهید .
حالا کد زیر را در قسمت Global قرار دهید

Const AW_HOR_POSITIVE = &H1
Const AW_HOR_NEGATIVE = &H2
Const AW_VER_POSITIVE = &H4
Const AW_VER_NEGATIVE = &H8
Const AW_CENTER = &H10
Const AW_HIDE = &H10000
Const AW_ACTIVATE = &H20000
Const AW_SLIDE = &H40000
Const AW_BLEND = &H80000

Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Boolean

این کد را در Comman1 قرار دهید
AnimateWindow Text1.hwnd, 5000, AW_HOR_POSITIVE 'Or AW_HIDE

این کد را در Command2 قرار دهید
AnimateWindow Text1.hwnd, 5000, AW_VER_POSITIVE Or AW_HIDE
این کد را در Form_Load قرار دهید
Text1.Visible = False
AnimateWindow Me.hwnd, 5000, AW_CENTER 'Or AW_ACTIVATE
'AnimateWindow Me.hwnd, 5000, AW_VER_POSITIVE Or AW_HOR_NEGATIVE
Me.Cls

خوب دیگه دوستان واسه این جلسه کافیه هرکی سوال داره به پرسه
یادتون نره که هر روز 3 تابع جدید معرفی می کنم ولی واسه امروز همین یکی کافیه

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

فایل های ضمیمه

  • AnimateWindow.zip
    82.1 KB · نمایش ها: 95

aftab110

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2006
نوشته‌ها
37
لایک‌ها
0
آموزش شما را خواندم. کاملا سلیس و همه قسمتها خوانا و قابل فهم بود.
چند تا سئوال می پرسم که فقط برای ارتباط با شماست . نمی گویم این سئوالات درسته.
یکی اینکه شما گفتید از ویندوز 95 تا ایکس پی میشه از api استفاده کرد. سئوال من اینه که یعنی اصلا امکان نداره ما یک api را صدا کنیم و وجود نداشته باشه یا اینکه ورژنش نخوره. مثلا یک api باشه که ایکس پی داشته باشه و ویندوز 98 نداشته باشه.
سئوال دوم اینکه با ویندوزهای جدید آیا این روند استفاده از api هیچ تغییری نکرده . یعنی طبق همان روش ویندوز 98 باز در ایکس پی هم دقیقا از همان سیستم استفاده می شود؟ این سئوالها را می رسم که خیالم راحت بشه. خیلی ها جواب این سئوالات را به طور واضح می دانند چون سالهاست که با api برنامه می نویسند. ولی من تاحالا یک تجربه هم نداشتم و می خواهم بدانم افرادی که استفاده کرده اند تا حالا به این گونه مشکلات برنخورده اند.

یک سئوال دیگه در مورد فرق فایلهای dll هست که ما می سازیم با این dll ها. فکر کنم توابع api درون dll ها هستند. سئوالم اینه که dl هایی که ما می سازیم فرقی با این dll ها ندارد؟ یکی دو خط هم اگر راجع به ساخت dll اگر بی ربط نیست می خواستم. فکر کنم باید یک کلاس با یک سری متد(در زبان سی منظورمه) بسازیم و بعد تبدیلش کنیم به فایل dll .
سئوال دیگه اینه که در زبانهای دات نتی مثل سی شارپ و وی بی دات نت هم اجازه استفاده از api ها داده شده؟ کلا منظورم از این سئوال اینه که آیا کلا میکروسافت خوشش میاد که ما از این توابع استفاده می کنیم یا نه. و در دات نت فریم ورک که مسئول اجرای برنامه های دات نت است آیا ممانعت از استفاده از api ها نشده؟ یعنی می خواهم بدانم سیاست میکروسافت در آخرین ویندوزها و تکنولوژی هایش تشویق استفاده از api است یا منع یا اینکه ممتنع است.
من سی شارپ تمرین می کنم ولی همین الان روی یک ویندوز دیگه ویژوال بیسیک نصب کردم تا از آموزش اینجا استفاده کنم.

=====================
پاسخ به پست بعدی:
نخواستم دیگه بی جهت با زدن پست تاپیک شلوغ بشه.
آقا سعید تمام سئوالات من را کاملا جواب دادید. می خواستم قبل شروع کار محیط کار دستم بیاید. واقعا ممنون.
من برم برای تمرین. ممنون از همگی.
-----------------------------------------
من برنامه پست بالا را ساختم. چنین اجرایی داشت.
sw.gif
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام
خوب هستيد
hidensoft جان بسيار جامع و كامل بود . عزيز ما هم توي متن هامون غلط املايي هيچي غلط هاي بزرگتر هم داريم !
اما با اجازه شما :
1-سالك جان تمام اي پي ها رو نميشه توي تمام ويندوز ها استفاده كرد چون بعضي از انها فقط مثلا مال ويندوز هاي nt به بعد هستند پس روي 98 و مي استفاده نمي شوند . و حتي ممكنه يك api توي يك ويندوز جديد تر نباشه مثل hmemcpy كه توي 98 بود اما توي xp نيست و در عوض شما ميتونيد از CopyMemory و خانوادش توي xp استفاده كنيد
2-نه روش كار با انها تغيير نكرده و همانطوري استفاده ميشوند و اما ممكنه نوع ورودي توابع و يا نحوه اي كه تابع كار ميكرده تغيير كرده و بهينه شده . اما نحوه استفاده توي برنامه نويسي تغيير نكرده در واقعه ورودي ها و خروجي ها تابع ( در بيشتر حالت 98 درصد ) ثابت بوده و همچنين كاري كه تابع ميكرده 100 درصد همون هست و ممكنه حتي كامل تر شده باشه .
3-سالك جان تقريبا ساختار يكي دارند بجز اينكه ممكنه ما نتونيم يك dll رو خوب برنامه نويسي كنيم همين !!
4-اره ميشه استفاده كرد از اين نظر ها حتي توي بعضي از امكانات بهتر شده .

اميدوارم كمك كنه
 

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا
سلام
در این پست یک نرم افزار معرفی کرده بودم که تعداد زیادی از توابع API های ویندوز راهنمای استفاده ودر بعضی از موارد نمونه کد معادلش برای دات نت رو هم داره برا توضیحات بیشتر به لینک زیر مراجعه کنید
http://forum.persiantools.com/showthread.php?t=45784

اینم یک کد API فکر کنم همه بدونن چیه و چه جوری کار میکنه(با توجه به توضیحات بالا )اگه کسی سوالی داشت بپرسه تا جواب بدم
موفق باشید
 

فایل های ضمیمه

  • AlwaysOnTop.zip
    1.4 KB · نمایش ها: 50

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا
دوستان عزیز از API می شه در زبان برنامه نویسی Delphi و VB.Net هم استفاده کرد ولی از اونجا که من نه Delphi بلدم نه VB.Net پس از همه اونایی که API رو برای این دوتا زبان لازم دارن معزرت می خوام چون من VB بلدم و تقریبا تخصص من این زبان هست.

سلام از بلا بلا خواهش میشود در مورد کار با توابع API در دات نت یک توضیحی بدن:happy: البته در صورت امکان
ممنون:cool:
 

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا
سئوال دیگه اینه که در زبانهای دات نتی مثل سی شارپ و وی بی دات نت هم اجازه استفاده از api ها داده شده؟ کلا منظورم از این سئوال اینه که آیا کلا میکروسافت خوشش میاد که ما از این توابع استفاده می کنیم یا نه. و در دات نت فریم ورک که مسئول اجرای برنامه های دات نت است آیا ممانعت از استفاده از api ها نشده؟ یعنی می خواهم بدانم سیاست میکروسافت در آخرین ویندوزها و تکنولوژی هایش تشویق استفاده از api است یا منع یا اینکه ممتنع است.
من سی شارپ تمرین می کنم ولی همین الان روی یک ویندوز دیگه ویژوال بیسیک نصب کردم تا از آموزش اینجا استفاده کنم.

در دات نت میشه گفت توابع API یک تعقیر کلی پیدا کرده فرا خوانی توابع خیلی ساده تر است مثل فرا خوانی توابع API در زبان دلفی شده
و در دات نت شما میتونید از توابعی استفاده کنید که در زبانهای دیگر اصلا به اونها دسترسی نداشتید چونکه دات نت تمام API ها رو از فریم ورک میخونه و میشه گفت که فریم ورک یک جور بانک توابع API ویندوزه
 

saeed_vb

Registered User
تاریخ عضویت
9 دسامبر 2005
نوشته‌ها
647
لایک‌ها
10
محل سکونت
همین ورا
سلام سالک جان با چه نرم افزاری این درست کردی(از دسکتاپ با پسوند GIF فیلم برداری کردی)
اگه لینک دانلودی ازش داری برام بزاری ممنون میشم:happy:

sw.gif


با عرض معضرت از دوستان به خواطر این پست نا مربوط این پست بعداز دریافت جواب پاک میشود:eek:
 

aftab110

کاربر تازه وارد
تاریخ عضویت
25 ژوئن 2006
نوشته‌ها
37
لایک‌ها
0
سلام سعید جان.
ممنون از پاسخ سئوالها.خیلی خوب بود.کاملا متوجه قضیه شدم.
راجع به اون عکس: با نرم افزار camtasia کار کردم. 15 مگا است . کرک هم داره.
شروع به آپلودش کردم. آپلود که تمام شد لینک دانلودش را می گذارم همین جا.
من کامپیوترم را با AntiVir که مداوم آپدیت میشه از لحاظ ویروس کنترل می کنم. اگر به این ویروس یاب اطمینان دارید مشکلی نیست.

البته اول با Camtasi Recorder من فیلم با پسوند avi تهیه کردم و بعد در Camtasia Producer تبدیل به gif کردم. البته شاید به یک باره هم بشه ولی من فیلم و گرافیک بلد نیستم. این بسته شامل کامتاسیا افکتس و کامتاسیا منو میکر هم هست.
------------
آدرس دانلود:
http://saalek.ifastnet.com/software/camtasia.zip
اما نمی دونم مشکل از خط منه یا از سرور این فضا. ممکنه مدام دیس کنه. که من play می کنم در اپرا ولی از نرم افزارهای دانلود کننده استفاده کنی فکر کنم این قضیه وجود نداشته باشه.البته من خودم از همین آدرس الان دانلود و آنزیپ و نصب کردم مشکلی نبود.
 

hidensoft

کاربر تازه وارد
تاریخ عضویت
5 ژانویه 2007
نوشته‌ها
54
لایک‌ها
0
سلام
خوب هستيد
hidensoft جان بسيار جامع و كامل بود . عزيز ما هم توي متن هامون غلط املايي هيچي غلط هاي بزرگتر هم داريم !
اما با اجازه شما :
1-سالك جان تمام اي پي ها رو نميشه توي تمام ويندوز ها استفاده كرد چون بعضي از انها فقط مثلا مال ويندوز هاي nt به بعد هستند پس روي 98 و مي استفاده نمي شوند . و حتي ممكنه يك api توي يك ويندوز جديد تر نباشه مثل hmemcpy كه توي 98 بود اما توي xp نيست و در عوض شما ميتونيد از CopyMemory و خانوادش توي xp استفاده كنيد
2-نه روش كار با انها تغيير نكرده و همانطوري استفاده ميشوند و اما ممكنه نوع ورودي توابع و يا نحوه اي كه تابع كار ميكرده تغيير كرده و بهينه شده . اما نحوه استفاده توي برنامه نويسي تغيير نكرده در واقعه ورودي ها و خروجي ها تابع ( در بيشتر حالت 98 درصد ) ثابت بوده و همچنين كاري كه تابع ميكرده 100 درصد همون هست و ممكنه حتي كامل تر شده باشه .
3-سالك جان تقريبا ساختار يكي دارند بجز اينكه ممكنه ما نتونيم يك dll رو خوب برنامه نويسي كنيم همين !!
4-اره ميشه استفاده كرد از اين نظر ها حتي توي بعضي از امكانات بهتر شده .

اميدوارم كمك كنه

با سلام خدمت Aftab110
من زیاد کار داشتم وقت نکردم بیام واقعا از همه معذرت می خام از آقا سعید هم که به جای من به سوالات پاسخ دادن ممنونم

حالا پاسخ به سوالات شما
بله دوست عزیز امکان داره که شما یک تابع رو بتونی در 98 صدا بزنی ولی توی XP نتونی - بعد از اون باید بگم که این یه روش برنامه نویسی هستش که همه برنامه نویس های حرفه ای استفاده می کنند و اونم اینه که هیچ وقت تیکه برنامه هارو دور نمی اندازن - مایکرو سافت هم همین کارو کرده یعنی تابعی که من معرفی کردم در هیچ جای ویندوز شما نمی تونید ببینید و بطور کلی ازش استفاده نمی شه و فقط برای تشویق برنامه نویسان هستش که از این توابع استفاده کنند تا برنامه نویسات تحت ویندوز افزایش پیدا کنه و می شه گفت open گذاشتن API یکی از سیاست هایه مایکرو سافت هستش - در جواب یکی دیگه از سوالاتت باید بگم که این فایل توسط زبان قدرت مند C نوشته شده اند یعنی تا اونجایی که من میدونم و شنیدم خود ویندوز هم توسط زبان C و Visual C++ نوشته شده حالا اگه شما بخواهید یه همچین فایل dll به وجود بیارید کار سختی پیش رو دارید و هیچ چیز غیر ممکن نیست و شاید در آینده ای نه چندان دور بتونی همچین کاری رو انجام بدین

هر وقت بتونم آموزش ساختن فایل های DLL هم می زارم

دوستان گفته بودم هر روز 3 تابع
امروز وقت نکردم حتما فردا 10 تابع معرفی می کنم بشه کارهای خوبی باهاش انجام داد

دوست عزیز Aftab 110 کار خیلی قشنگی انجام دادید واقعا عالی بود

موفق پیروز باشید دوستان
 

hidensoft

کاربر تازه وارد
تاریخ عضویت
5 ژانویه 2007
نوشته‌ها
54
لایک‌ها
0
مثل اینکه به جز ویژوال بیسیک API در زبان های دیگه هم طرف دار داره
من هم به شما کمک می کنم به زودی تاپیک جدید با نام آموزش API در VB.NET و آموزش API در Delphi می زارم که اونجا هم به همه آموزش رو می دم

موفق و پیروز باشید
 

rouzbeh_ziafati

Registered User
تاریخ عضویت
17 دسامبر 2006
نوشته‌ها
165
لایک‌ها
5
سن
43
محل سکونت
همدان
در یک فروم خارجی سوال کردم و بهم این لینک رو دادند . اما اصلا نمی دونم این توابع چطور کار می کنند و کجا باید ازشون استفاده کرد ؟!
http://www.merrioncomputing.com/Programming/WatchPrinter.htm

قصدم اینکه بفهمم چندبار از گزارش print گرفته میشود و تنها راه اینطور که معلومه استفاده از API هاست .

چطور میشه تشخیص داد که در گزارش گیری از طریق دیتا ریپورت Datareport کاربر از گزارش پرینت گرفته ؟
 
بالا