PDA

View Full Version : سوال: مشکل این برنامه چیست؟



abidana
پنج شنبه 23 شهریور 1391, 13:32 عصر
این برنامه از بلند گو صدا هایی با فرکانس و شدت های مختلف پخش می کند


92820

MohammadGh2011
پنج شنبه 23 شهریور 1391, 13:55 عصر
این برنامه از بلند گو صدا هایی با فرکانس و شدت های مختلف پخش می کند


92820
سلام عليکم
الان مشکل چيه؟

abidana
پنج شنبه 23 شهریور 1391, 13:56 عصر
اینکه کار نمی کنه ارور میده

AbbasVB
پنج شنبه 23 شهریور 1391, 13:57 عصر
کد که فکر نمی کنم مشکلی داشته باشه البته Beep به صورت Beepi نوشته شده که فکر کنم اشتباه باشه
از این کد استفاده کنید

Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Private Sub Form_Activate()
Dim Cnt As Long

For Cnt = 0 To 5000 Step 10
Beep Cnt, 50
Me.Caption = Cnt
DoEvents
Next Cnt

End Sub

MohammadGh2011
پنج شنبه 23 شهریور 1391, 13:57 عصر
اینکه کار نمی کنه ارور میده
اين رو امتحان کنيد:
Option Explicit

Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Private Sub Command1_Click()
Beep 500, 100
End Sub

abidana
پنج شنبه 23 شهریور 1391, 14:04 عصر
استاد abbasvb میشه روش کار ان را توضیح بدید

محسن واژدی
پنج شنبه 23 شهریور 1391, 14:05 عصر
سلام علیکم
- در رویداد Command1_Click نام تابع beepi را به beep تغییر بدین
- همینطور پارامتر اول تابع Beep باید مقدار دهی شده باشد (آرگومان اختیاری نیست)
- نام beep را در خط API بصورت proper-case یعنی Beep بنویسید تا در کتابخانه کرنل شناسایی بشه

موفق باشید

abidana
پنج شنبه 23 شهریور 1391, 14:26 عصر
دوست عزیز این را خودم بعدا درست کردم وجوابم گرفتم
حالا می خوام بدونم برنامه عباس وی بی چجور کار میکنه

محسن واژدی
پنج شنبه 23 شهریور 1391, 14:40 عصر
دوست عزیز این را خودم بعدا درست کردم وجوابم گرفتم
حالا می خوام بدونم برنامه عباس وی بی چجور کار میکنه

این برنامه شامل حلقه ایست که در هربار فعال شدن صدایی با فرکانس 0 تا 5000 پخش میکند

AbbasVB
پنج شنبه 23 شهریور 1391, 14:46 عصر
حالا می خوام بدونم برنامه عباس وی بی چجور کار میکنه
دوست عزیز کد کاملا واضحه
Private Sub Form_Activate()
مربوط به رویداد اکتیو شدن فرم است
البته می توان به جای آن از فرم لود استفاده کرد

Dim Cnt As Long
تعریف متغییر از نو اعداد بلند


For Cnt = 0 To 5000 Step 10

حلقه For که از 0 تا 5000 رو 10 تا10 تا طی می کنه

Beep Cnt, 50
دادن ورودی به تابع
Me.Caption = Cnt
برای نمایش مقدار وردی به تا بع در عنوان فرم


DoEvents
برای جلو گیری از هنگ کردن برنامه

abidana
پنج شنبه 23 شهریور 1391, 19:30 عصر
متشکر ایرادم رفع شد