سلام.
من تو پروژم هیچ فرمی ندارم.
ولی نیاز به تایمر دارم. یه روش اینه که با حلقه ها تایمر رو شبیه سازی کنم. ولی اگه بخوام از خود تایمر در ماژول استفاده کنم چطور باید این کار رو انجام بدم؟ حتما باید از تایمر خود ویبی استفاده کنم.
نمی دونم به دردت می خوره یا نه ولی می تونی از دستور Timer استفاده کنی...
A = Timer
While Timer - A < 10
Wend
{.... Commands}
بطور کلی اگر پنجره ای ( فرم ) در کار نباشه از تایمر معمولی ویندوز نمیشه استفاده کرد چراکه تایمر ویندوز بر اساس ارسال پیغام WM_TIMER به پنجره برنامه شما عمل میکنه !
یکی از راه های مورد استفاده نوعی تایمر خاص ویندوز یا همون Multimedia Timer هست . یه راه دیگه هم ایجاد حلقه هست که اصلا جالب نیست چراکه سرعت کامپیوتر شما رو کند میکنه و دقیق هم نیست !
هر دوتا مثال رو میتونی اینجا پیدا کنی :
http://www.thevbzone.com/s_cls_modules.htm
(به ترتیب کلاس ها با اسمهای cTimer.cls و cTimer_NoSC.cls )
خب مگه نمیشه از کلاس timerتوش استفاده کرد(یک ابجکت توش تعریف کنی از کلاس timerباشه)
سلام.
ممد ممنونم. ولی میخوام از خود تایمر استفاده کنم. نه تابع و api. مطمنی امکان پذیر نیست؟
lord_viper منم همین کار رو خواستم بکنم. ولی نشد. ببین میتونی این کار بکنی.
نه ممکن نیست
خود Mamad2003 هم گفت:
ما برای ایجاد تایمر احتیاج به قسمتی داریم که بتونیم روال رویداد درش تعریف کنیم,
تا به این ترتیب بشه پیغام رویداد رو دریافت کرد.
درون ماژول نمی شه همیچین کاری کرد!
اما می شه با API ایجاد کرد ولی فقط دورن مثلا یک فرم کار خواهد کرد. نمونش تو
خود سایت هم پبدا می شه...
درسته ! بدون وجود پنجره ساخت همچین چیزی قابل انجام شدن نیست . تایمر ویندوز ( تایمر وی بی همون توابع API تایمر رو صدا میزنه ، فقط بشکل یه کنترل درش آوردن که کار شما آسون بشه) با ارسال پیغام کار میکنه . ویندوز در مدت زمانی خاص یا همون Interval یک تابع callback معین ( تابعی که اتوماتیک توسط ویندوز توی برنامه صدا زده میشه ) رو توی برنامه شما صدا میزنه ( کنترل وی بی این رو به شکل یک event درآورده که برای برنامه نویس ها ساده تر به نظر بیاد ).
علت اصلی اینه که تابع SetTimer که توی تایمر API برای ساخت و ایجاد تایمر در ویندوز بکار میره از شما هندل پنجره میخواد . همچنین ویندوز پیغام WM_TIME رو به پنجره برنامه میفرسته ، پس در نتیجه نبود پنجره یعنی نداشتن قابلیت استفاده از تایمر ویندوز ( یا کنترل تایمر ) !
شما راهی نداری جز همون Multimedia Timer . این مدل تایمر دقت بسیار بسیار بالایی داره ولی در زمان استفاده ازش باید دقت کرد چون یک اشتباه کوچیک میتونه روند برنامه و حتی سیستم رو مختل کنه .
سلام.
چه بد. پس لطف میکنی در مورد مالتی مدیا تایمر یه توضیح بدی.
اینم تو سایت های دیگه پیدا کردم. گذاشتم دوستان ببینن.
برات که لینک گذاشتم . کلاسش رو دانلود کن و کدش رو ببین . خیلی راحته . حتما متوجه میشی !
سلام.
درسته. دستت درد نکنه. توجه نکردم که لینک مربوط به مالتی تایمره. اینه که گفتم توضیح بده.
دانلود کردم. جالب بود.
قربانت