نمایش عکسهای مختلف با کلیک یک باتون در image

saeid3d

Member
پروژه اي براي سربازي ( اكسس و ويژوال )

سلام
چندتا سوال دارم
يك command يك form و يك image box داريم
چطوري مي تونم كدي بنويسم كه وقتي روي command كليك مي كنم اول عكس شماره يك را نشون بده
و براي بار دوم روي همون command كليك مي كنم عكس شماره دوم و براي بار سوم عكس شماره 3 را نشون بده
خواهشا كمكم كنين
 

saalek110

Well-Known Member
روال کلیک باتون یک تابع(یا شاید بهتر باشه بگیم روال 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
نرود تا خطای ران تایم دریافت نکنیم.
 

جدیدترین ارسال ها

بالا