PDA

View Full Version : سوال: بدست آوردن نام رویداد Event



sohrab o
چهارشنبه 23 مرداد 1387, 14:07 عصر
با سلام
دوستان چطوری میشه متوجه شد نام این رویداد جاریمون چیه؟
مثلا دستوری که در فرم لود بنویسیم و نشون بده که این رویداد فرم لود هست و وقتی این کد و واسه رویداد های دیگه کپی کردیم ، واسه اونا هم جواب بده.

Mbt925
چهارشنبه 23 مرداد 1387, 18:41 عصر
فکر نکنم هیچگاه نیاز بشه که در خود رویداد به رویداد جاری اشاره کنیم.

لطفا یه مثال بزنید!

sohrab o
جمعه 25 مرداد 1387, 15:45 عصر
Private Sub Option2_Click()

on error goto Errlog

MSChart1.chartType = VtChChartType2dBar

Exit Sub
Errlog:
Log Me.Name, "Option2_Click", Err.Number, Err.Description
End Sub

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

Mbt925
جمعه 25 مرداد 1387, 16:41 عصر
منظورتون رو از این مثال متوجه نشدم!

sohrab o
جمعه 25 مرداد 1387, 18:15 عصر
وقتی خطایی در هر سابی اتفاق بیفته اطلاعاتی نظیر تاریخ ، ساعت ، نام فرم ، نام خطا و شماره اون در فایلی ذخیره میشه.
اون قسمتی که نوشتم "Option2_Click" ، نمیخوام برای هر سابی بشینم جداگونه نامشو بنویسم.میخوام مثلMe.Name دستوری پیدا کنم که نام رویداد جاری رو به من بده .
نمیدونم مثلا همچین دستوری me.eventname

Mbt925
جمعه 25 مرداد 1387, 20:58 عصر
نه، چیزی برای این منظور وجود نداره.

xxxxx_xxxxx
شنبه 26 مرداد 1387, 08:09 صبح
يك راه وجود داره كه بهينه تره.

اينكه همين كدها رو تو يك sub جداگانه تعريف كنيد و در هر رويدادي يك متغير به اون sub بفرستي. كه در اون متغير نام شي و روداد اون قرار داشته باشه. اُكِي؟

sohrab o
شنبه 26 مرداد 1387, 11:15 صبح
يك راه وجود داره كه بهينه تره.

اينكه همين كدها رو تو يك sub جداگانه تعريف كنيد و در هر رويدادي يك متغير به اون sub بفرستي. كه در اون متغير نام شي و روداد اون قرار داشته باشه. اُكِي؟

مرسي عزيزم
اگه دقت کني منم دقيقا همين کارو کردم

vbhamed
شنبه 26 مرداد 1387, 11:37 صبح
سلام

اگر نوشتن كد تو همه ماژول ها برات سخت هست، برنامه codesmart مي توني در چند ثانيه برات انجام بده

xxxxx_xxxxx
شنبه 26 مرداد 1387, 12:45 عصر
منظور من اين بود:



public sub Event_Run(byval Object as String, Byval Event as String)

on error goto Errlog

MSChart1.chartType = VtChChartType2dBar

Exit Sub
Errlog:
Log Me.Name, Object & "_" & Event, Err.Number, Err.Description


و بعد در ابتداي همه رويدادها:
به عنوان مثال رويداد كليك option2


Private sub Option2_Click()
Event_Run("Option2","Click")
.
.
.
end sub

sohrab o
شنبه 26 مرداد 1387, 14:08 عصر
منظور من اين بود:



public sub Event_Run(byval Object as String, Byval Event as String)

on error goto Errlog

MSChart1.chartType = VtChChartType2dBar

Exit Sub
Errlog:
Log Me.Name, Object & "_" & Event, Err.Number, Err.Description


و بعد در ابتداي همه رويدادها:
به عنوان مثال رويداد كليك option2


Private sub Option2_Click()
Event_Run("Option2","Click")
.
.
.
end sub


متوجه نشدم
میشه یه پروژه واسم درست کنی؟

sohrab o
شنبه 26 مرداد 1387, 14:09 عصر
سلام

اگر نوشتن كد تو همه ماژول ها برات سخت هست، برنامه codesmart مي توني در چند ثانيه برات انجام بده

میشه یه مثال بزنی

sohrab o
یک شنبه 27 مرداد 1387, 01:02 صبح
سلام

اگر نوشتن كد تو همه ماژول ها برات سخت هست، برنامه codesmart مي توني در چند ثانيه برات انجام بده

راستی این برنامه او نگاه کن و نظر بده

vbhamed
سه شنبه 29 مرداد 1387, 05:12 صبح
سلام

برنامه Code Smart اينجا معرفي شده

http://barnamenevis.org/forum/showthread.php?t=105719&highlight=codesmart

بعد از اينكه نصب شده وارد محيط ويژوال شو و Ctrl + F12 رو بزن تا پنجره Insert Custom Code بياد و تست كن