X
تبلیغات
پیکوفایل
رایتل
عنصر تایمر در ویژوال بیسیک

 آشنایی با عنصر Timer در زبان برنامه نویسی ویژوال بیسیک

از عنصر تایمر زبان ویژوال بیسیک برای بوجود آوردن مفهوم زمان در برنامه ها استفاده می شود. در این فرصت با ذکر یک مثال با این عنصر بیشتر آشنا می شویم.

یک عنصر Timer (به شکل ساعت در جعبه ابزار محیط برنامه نویسی ویژوال بیسیک) وارد فرم کنید. این عنصر در هر فاصله زمانی مشخص مجموعه ای از دستورات را به صورت متناوب اجرا می کند. فاصله زمانی مذکور توسط خاصیتی با عنوان Interval مشخص می شود. اگر بر روی تایمر دابل کلیک کنید زیربرنامه ای - که از دو خط تشکیل شده - تولید می شود. دستوراتی که در این زیربرنامه نوشته شود در فواصل زمانی مشخص شده - با Timer1.Interval - اجرا خواهند شد.

 مثال:

می خواهیم برنامه ای بنویسیم که رشته ای را از ورودی خوانده، و آنرا به طور منظم بر روی عنوان فرم - Form1.Caption - حرکت دهد. این رشته از سمت راست وارد، و از سمت چپ خارج می شود. فرمی مانند زیر تهیه کنید:

 تصویر شماره 1

 نام جعبه متن  را به String_txt ، و نام دکمه را به State_cmd تغییر دهید. Interval عنصر Timer1 را هم با عدد 400 تنظیم کنید.

برای ادامه طراحی باید به توابع رشته ای زیر مجهز شویم:

 1) تابع رشته ای Left:

Str2 = left ( Str1 , n )

n کاراکتر اول از سمت چپ رشته Str1 انتخاب شده ، و جایگزین Str2 می شود.

 2) تابع رشته ای Right:

Str2 = Right ( Str1 , n )

n کاراکتر آخر از سمت راست رشته Str1 انتخاب شده ، و جایگزین Str2 می شود.

 3) تابع Len:

n = Len ( Str )

طول رشته Str را در متغیر عددی n قرار می دهد.

 در ادامه به دو متغیر عددی نیازداریم: یکی برای نگه داری طول رشته ( n )، و دیگری برای تغییر پیاپی عنوان فرم ( i ). دو متغیر رشته ای هم لازم است: یکی برای خواندن رشته از تکست باکس ( Str ) و دیگری متغیر Space (تا ابتدا وانتهای Str به هم نچسبند). هر چهار متغیر را از نوع عمومی تعریف می کنیم (مانند سطرهای 1و2).

بر روی تک تک عناصر فرم دابل کلیک کرده، و کدهای زیر را در محلهای مناسبش مطابق تصویر بنوسید.

 تصویر شماره 2

 توضیح سطرها:

در رویداد کلیک عنصر Button برحسب اینکه عنوان دکمه چیست در مورد شروع یا توقف تغییر عنوان فرم تصمیم گیری می شود. سطر 18 به این خاطر است که اگر در حین اجرای برنامه رشته ورودی تغییر کند، متغیر Str و به تبع آن عنوان فرم نیز با آن به روز شود.

خطوطی که با آکولاد نشان داده شده قسمت اصلی برنامه است، که در هر 400 میلی ثانیه Form1.Caption را به روز می کند. هنگامی که یک دور تمام شد، شمارنده i را صفر می کند تا برنامه مانند یک حلقه گردش کند.

حال کاملا مشهود است که چرا آن چهار متغیر عمومی تعریف شدند. در ضمن اگر برنامه را اجرا کنید متوجه می شوید که به چه دلیل از رشته Space استفاده شده است.

نکته دیگر این که می توانستیم به جای تعریف شمارنده i در قسمت General - برای عمومی کردن - آنرا به صورت زیر نیز تعریف کنیم:

 تصویر شماره 3

 متغیرهای استاتیک متغیرهایی هستند که در هنگام خروج از زیرروال آخرین مقدار خود را در حافظه ذخیره می کنند؛ تا به هنگام ورود دوباره به آن بار دیگر از محتویاتش استفاده شود.