PDA

نسخه کامل مشاهده نسخه کامل : چطوري با استفاده از vb در ورود يك تايمر بنويسم؟



aliali58
06-04-2007, 09:39
با سلام
من يك تايمر ميخوام كه توي word به شرح زير كار كنه ولي ظاهراً بعد از يكي دو هفته كسي نتونسته بنويسه حالا اگر كسي توي vb هم برام اين كار رو بكنه و ترجيحاً خط به خط توضيح بده كه چي كار ميكنه ممنون ميشم

من با استفاده از ماكرو در ورد ميخوام يك تايمر بنويسم كه با فشار دادن يك كليد (مثلا f5) تايمر شروع به كار بكند تا زماني كه من كليد دوم (مثلا f6) را فشار ميدهم آنگاه تايمر متوقف شود و مدت زمان سپري شده را به من بدهد. البته كد زير را كه بعد از طي شدن 600 ثانيه پيام ميدهد را خودم نوشتم ولي به طريق بالا را نياز دارم ممنون ميشم توضيح كد رو هم برام بنويسيد كه چه كار ميكنه؟

اين هم كدي كه خودم نوشتم(البته اينجا خراب شده همين را عيناً در ورد كپي كنيد درست ميشه)

Sub Macro4()
'
' Macro4 Macro
' Macro recorded 16/08/03 by station4
'
'تايمري كه بعد از 10 دقيقه پيغام ميدهد
Dim PauseTime, Start, Finish, TotalTime
If (MsgBox(" را فشار دهيد Yes براي شروع زمان دكمه ", 4)) = vbYes Then
zaman = 5 ' Set duration.
Start = Timer ' Set start time.
Do While Timer < Start + zaman
DoEvents ' Yield to other processes.
Loop
Finish = Timer ' Set end time.
TotalTime = Finish - Start ' Calculate total time.
zx = 1
For zx = 1 To 3
MsgBox "توقف پس از " & TotalTime & " seconds"
Next
Else
End
End If



End Sub

خب دوستان مثل اينكه خودم يه چيزايي پيدا كرم كه كد اون رو مي‌نويسم حالا فقط لطف كنيد ايرادش رو اصلاح كنيد اگه اين رو توي قسمت ماكرو ورد بريزيد كار ميكنه البته نام فايلي رو كه من ذخيره كردم رو با نام فايل خودتون عوض كنيد
Sub timer() '
hms = ActiveDocument.Name
smh = "1-1a.doc"
Start = Time
h1 = Hour(Start)
m1 = Minute(Start)
s1 = Second(Start)
Do While hms = smh
hms = ActiveDocument.Name
DoEvents ' Yield to other processes.
Loop
Finish = Time '
h2 = Hour(Finish) '
m2 = Minute(Finish) '
s2 = Second(Finish) '
h = h2 - h1
m = m2 - m1
s = s2 - s1
TotalTime = h & ":" & m & ":" & s ' Calculate total time.
MsgBox TotalTime
End Sub

net2020
18-04-2007, 20:51
با سلام خدمت تمام عزيزان به زودي در وبلاگ [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) پروژه هاي دانشجويي قرار مي گيرد.(برنامه نويسي و تحقيق) برنامه ها و پروژه هاي در خواستي خود را در قسمت نظرات قرار دهيد

bad_boy_2007
18-04-2007, 23:28
کارهای زیر رو مرحله به مرحله انجام بده درست میشه اگه نشد بگو برنامشو بدم :
1- تو فرمت ویژگی keypreviw رو true کن
2- یک متغییر عمومی بنام tim1 تعریف کن
3- تو رویداد keyup یا keydown که کلیدهای توسعه یافته رو هم قبول میکنن اگر کلید f6 رو زد ویژگی interval تایمرت رو 0 کن و متغییر tim1 رو هم نمایش بده و سپس صفر کن و اگر کلید f5 رو زد interval تایمر رو 1000 کن و متغییر tim1 رو هم رو صفر کن
4- تو رویه اجرای تایمر
الف-در هر بار اجرا یک واحد به tim1 اضافه کن
ب- اگر tim1 از زمان دلخواهت (به ثانیه ) بیشتر شد به کاربر پیغام مناسب بده ، متغییر tim1 رو صفر کن ، interval تایمر رو صفر کن و از رویه تامر خارج شو

bad_boy_2007
20-04-2007, 10:40
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

aliali58
10-09-2007, 17:11
سلام
كسي نتونست مشكل اين برنامه‌اي كه خودم نوشتم رو رفع كنه