رفتن به مطلب
  • 0

استفاده از دکمه قبل و بعد عکس با دیتابیس


love

سوال

سلام من میخوام یه کتاب داستان تصاویر بسازم که عکس داشته باشه دو تا دکمه پایینش که یه دکمه بره عکس بعدی یه دکمه بره عکس قبلی مثل البوم حالا میخوام این عکس ها رو از دیتابیس بگیرم  چطور از دیتابیس بگیرم و دکمه ها عکس قبلی و بعدی رو نشون بده ممنون میشم راهنماییم کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

6 پاسخ به این سوال تاکنون داده شده است

ارسال های توصیه شده

در در 1396/06/20, 03:47:08، love گفته است :

این کد هم زدم اما وقتی روی دکمه کلیک میکنم این ارور رو میده

invalid index 1،size is 0

من اون سورس رو گزاشتم که روالش رو متوجه بشید 

خودتون چک کنید سایز لیست و محدودیت بزارید که مثلا اگه عکس اولی بود اونوقت دکمه عکس قبل غیر فعال بشه که اررور نده همچنین وقتی به عکس اخر رسید دکمه عکس بعد غیر فعال بشه 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 4 ساعت قبل، love گفته است :

سلام من میخوام یه کتاب داستان تصاویر بسازم که عکس داشته باشه دو تا دکمه پایینش که یه دکمه بره عکس بعدی یه دکمه بره عکس قبلی مثل البوم حالا میخوام این عکس ها رو از دیتابیس بگیرم  چطور از دیتابیس بگیرم و دکمه ها عکس قبلی و بعدی رو نشون بده ممنون میشم راهنماییم کنید

سلام 

اگه از دیتابیس افلاین میخواید بگیرید پیشنهاد میکنم عکسا رو بزارید توی پوشه برنامه و فقط اسمشون رو بزارید توی دیتابیس 

برای نمایش هر کدوم هم اسم رو از دیتابیس فراخونی کنید و از پوشه assets عکس مورد نظر رو به ویوو مورد نظر بدید 

برای عکس قبل و بعد هم

توی رویداد کلیک دکمه بعد دوباره اسم عکس رو فراخونی کنید با این تفاوت که آی دی عکس بعدی رو یکی اضافه میکنید و اسم عکس بعدی رو میخونید و برای عکس قبلی هم به همین شکل اسم عکس با ای دی یکی کمتر رو فراخونی کنید و از پوشه  assets عکس مورد نظر رو پیدا کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من عکسامو تو پوشه گذاشتم و اسم عکسامو تو دیتابیسم گذاشتم وقتی برنامه رو ران میکنم عکس رو میاره از دیتابیس ولی وقتی رو دکمه مثلا عکس بعدی میزنم هیچی نشون نمیده  این کدهام هست

 

Sub Activity_Create(FirstTime As Boolean)

	Activity.LoadLayout("img")
	'If File.Exists(File.DirInternal,"mesali.db") = False Then
	File.Copy(File.DirAssets,"mesali.db",File.DirInternal,"mesali.db")
	'End If
	'If sql1.IsInitialized = False Then
		sql1.Initialize(File.DirInternal,"mesali.db",True)
	'End If
	
	cur=sql1.ExecQuery("SELECT * FROM ax")
For i=0 To cur.RowCount-1
cur.Position=i
  bbbb.Initialize(File.DirAssets,cur.GetString("ax")& ".jpg")
   img.Bitmap=bbbb
   img.Width=90%x
   m=m+i
Next

End Sub
Sub next_btn_Click


		cur2=sql1.ExecQuery("SELECT ax1 FROM ax ")
For i=m To cur2.RowCount-1
cur2.Position=m
 ddd.Initialize(File.DirAssets,cur2.GetString("ax1")& ".jpg")
   ImageView1.Bitmap=ddd
   ImageView1.Width=20%x
Next
 
End Sub

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 20 ساعت قبل، love گفته است :

من عکسامو تو پوشه گذاشتم و اسم عکسامو تو دیتابیسم گذاشتم وقتی برنامه رو ران میکنم عکس رو میاره از دیتابیس ولی وقتی رو دکمه مثلا عکس بعدی میزنم هیچی نشون نمیده  این کدهام هست

 


Sub Activity_Create(FirstTime As Boolean)

	Activity.LoadLayout("img")
	'If File.Exists(File.DirInternal,"mesali.db") = False Then
	File.Copy(File.DirAssets,"mesali.db",File.DirInternal,"mesali.db")
	'End If
	'If sql1.IsInitialized = False Then
		sql1.Initialize(File.DirInternal,"mesali.db",True)
	'End If
	
	cur=sql1.ExecQuery("SELECT * FROM ax")
For i=0 To cur.RowCount-1
cur.Position=i
  bbbb.Initialize(File.DirAssets,cur.GetString("ax")& ".jpg")
   img.Bitmap=bbbb
   img.Width=90%x
   m=m+i
Next

End Sub

Sub next_btn_Click


		cur2=sql1.ExecQuery("SELECT ax1 FROM ax ")
For i=m To cur2.RowCount-1
cur2.Position=m
 ddd.Initialize(File.DirAssets,cur2.GetString("ax1")& ".jpg")
   ImageView1.Bitmap=ddd
   ImageView1.Width=20%x
Next
 
End Sub

 

یه کار دیگه هم میتونید بکنید 

اینکه همون اول بیاید و اسم همه عکسا  رو بریزید توی یه لیست و با هر بار کلیک روز دکمه بعد یا قبل اسم مورد نظر رو از لیست بگیرید و از پوشه فایل ها عکسا رو لود کنید 

این سورسو ببینید متوجه میشید

 

دانلود

 

#Region  Project Attributes 
	#ApplicationLabel: B4A Example
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: True
#End Region

Sub Process_Globals
	
	Dim sql1 As SQL
	Dim cur As Cursor
	
End Sub

Sub Globals


	Private ImageView1 As ImageView
	Private Button1 As Button
	Private Button2 As Button
	
	Dim list As List
	Dim PicId As Int
	
End Sub

Sub Activity_Create(FirstTime As Boolean)
	
	Activity.LoadLayout("Layout1")
	If File.Exists(File.DirInternal , "db.db") = False Then
		File.Copy(File.DirAssets,"data.db",File.DirInternal , "db.db")
	Else 
	End If
	
	If sql1.IsInitialized = False Then
		sql1.Initialize(File.DirInternal,"db.db",False)
	End If
	
	
	list.Initialize
	Activity.Title = PicId

End Sub

Sub Activity_Resume

'اینجا میام و اشم همه عکسا رو میریزیم توی یه لیست

	cur = sql1.ExecQuery("SELECT * FROM tbl")
	
	For i = 0 To cur.RowCount - 1	
		cur.Position = i
		list.Add(cur.GetString("Name"))
	Next
	
	' همون اول توی یه متغیر عددی ، اسم اولین عکس رو از لیست میگیرم و اولین عکس رو میدیم به ایمیج ویوو
	PicId = 0
	ImageView1.Bitmap = LoadBitmap(File.DirAssets,list.Get(PicId)&".png")
	

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub Button1_Click
	' با هر بار کلیک بر روی دکمه ، متغیر عددی رو تغییر میدیم و اسم عکس بعدی یا قبلی رو لیست میگیریم و با توجه به اسم عکس بعد ، عکس رو میدیم به ایمیج ویوو
	PicId = PicId + 1
	ImageView1.Bitmap = LoadBitmap(File.DirAssets,list.Get(PicId)&".png")
	Activity.Title = PicId
End Sub

Sub Button2_Click
	PicId = PicId - 1
	ImageView1.Bitmap = LoadBitmap(File.DirAssets,list.Get(PicId)&".png")
	Activity.Title  = PicId
End Sub

 

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...