روال کلیک باتون یک تابع(یا شاید بهتر باشه بگیم روال sub ) است.
شما می خواهید این تابع دارای حافظه باشد یعنی بداند قبلا کلیک شده باتون.
یک راه داشتن یک متغیر برای ایجاد این حافظه است.
من چون ویژوال بیسیک یادم رفته بود به گوگل مراجعه کردم.
ابتدا این را سرچ کردم:
کد:
"visual basic 6.0"+local+variable
در همان سایت اول که آمد فهمیدم می توانیم متغیری از نوع static داشته باشیم.
بعد برنامه زیر را با یک باتون روی فرم ساختم:
کد:
Private Sub Command1_Click()
Static a As Integer
Print a
a = a + 1
End Sub
درست شد.
حالا دکمه ما دارای حافظه شده.
یعنی با هر بار کلیک دکمه متغیر ما یک واحد افزایش می یابد.
برای ادامه کار برای نمایش عکسها یک راه این است که با دستور switch بگوییم که با صفر بودن a چه عکسی نشان داده شود و با 1 بودن a چه عکسی و الی آخر. برای یافتن سینتکس دستور switch به آموزشهای موجود مراجعه کنید.
-------------------------------
برای انداختن یک عکس در حالت اجرا :
کد:
Private Sub Command1_Click()
Image1.Picture = LoadPicture(App.Path + "\" + "a.bmp")
End Sub
در کد بالا App.Path یعنی همان مسیر هارد که فایل اجرایی ما قرار دارد. پس برای اجرای برنامه بالا...
یک فرم - یک باتون - یک ایمیج.
سیو در هارد.
ذخیره عکسی با نام a.bmp در پوشه پروژه.
--------------------------------------------
اگر نخواهید از ساختار سوئیچ استفاده کنید می توانید از کد زیر استفاده کنید:
کد:
Private Sub Command1_Click()
Static a As Integer
a = a + 1
If a <= 3 Then
Image1.Picture = LoadPicture(App.Path + "\" + "pic" + Trim(Str(a)) + ".bmp")
End If
End Sub
یعنی شماره کلیک دکمه میشه جزوی از نام عکس. باید 3 عکس با نامهای:
pic1.bmp
pic2.bmp
pic3.bmp
در پوشه پروژه موجود باشد.
و شرط گذاری:
کد:
If a <= 3 Then
' .....
End If
برای این است که برنامه دنبال:
pic4.bmp
نرود تا خطای ران تایم دریافت نکنیم.