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

دانلود تکی یا گروهی در مولتی پنل


علی علایی

سوال

سلام من میخاستم تو مولتی پنل با تیک دار کردن چک باکس بتونم تکی یا چندین تا دانلود داشته باشم 

ولی فقط آخریو دانلود میکنه 

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

نمیدونم منظورو رسوندم یا نه

اینم کدهام 

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

Sub Process_Globals
	Private sql1   As SQL
	Public link1 As String
End Sub

Sub Globals
	Private CheckBox1 As CheckBox
	Private ImageView1 As ImageView
	Private Label1 As Label
	Private Label2 As Label
	Private Panel1 As Panel
	Private Panel2 As Panel

	Private ScrollView1 As ScrollView
	Dim Stopint As Int=5%y
    
	Private Cur1  As Cursor

	Dim btnDownload As Button
	
	Dim paneldownload As Panel
	Dim progssbardownload As ProgressBar
	Dim labeldownload As Label
	Dim btnCancel As Button
	Dim btnagindownload As Button
	Dim namedownload As Label
	
	Dim nb As NotificationBuilder
	
	 Dim name As String
End Sub


Sub Activity_Create(FirstTime As Boolean)
	'Activity.LoadLayout("Layout1")
	ScrollView1.Initialize(2000dip)
	File.MakeDir(File.DirRootExternal, "MusicB4A")
	btnDownload.Initialize("btndownload")
	btnDownload.BringToFront
	btnDownload.Color=Colors.Green
	btnDownload.Visible=True
	btnDownload.Text="دانلود"
	btnDownload.TextColor=Colors.White
	btnDownload.TextSize=30
	Activity.AddView(btnDownload,0%X,90%Y,100%X,10%y)
	Activity.AddView(ScrollView1,0,7%Y,100%x,100%y)
	'-----------------------------------
	paneldownload.Initialize("paneldownload")
	progssbardownload.Initialize("progssbardownload")
	labeldownload.Initialize("labeldownload")
	btnCancel.Initialize("btnCancel")
	btnagindownload.Initialize("btnagindownload")
	namedownload.Initialize("namedownload")
	
	Activity.AddView(paneldownload,5%X,15%Y,90%X,20%Y)
	paneldownload.AddView(progssbardownload,5%X,2%Y,80%X,5%y)
	paneldownload.AddView(labeldownload,35%X,9%Y,50%X,5%y)
	paneldownload.AddView(btnCancel,45%x,12%Y,30%X,8%y)
	paneldownload.AddView(btnagindownload,15%X,12%Y,30%X,8%y)
	paneldownload.AddView(namedownload,28%X,5%Y,30%X,6%y)

	paneldownload.Color=Colors.Black
	
	labeldownload.TextSize=22
	labeldownload.TextColor=Colors.Green
	namedownload.TextSize=20
	namedownload.TextColor=Colors.Blue
	btnCancel.Text="انصراف"
	btnagindownload.Text="دانلود دوباره"
	
	'--------------------------------------
	
	ScrollView1.SendToBack
If File.Exists(File.DirInternal,"mo3madahi.db")=False Then
	File.Copy(File.DirAssets,"mo3madahi.db",File.DirInternal,"mo3madahi.db")
	End If
sql1.Initialize(File.DirInternal,"mo3madahi.db",False)
Cur1=sql1.ExecQuery("SELECT * From Tmp3madahi")

For i=0 To Cur1.RowCount-1
Cur1.Position=i
Dim p As Panel
p.Initialize("p")

ScrollView1.Panel.AddView(p,0,Stopint-5%Y,100%x,100%Y)
Stopint=Stopint+25%Y
p.LoadLayout("pnl")
Panel1.Color=Colors.Blue	
Label1.Text=Cur1.GetString("name")
Label1.Tag=Cur1.GetString("name")
ImageView1.Bitmap=LoadBitmapSample(File.DirAssets,"2mahdvi.jpg",ImageView1.Width,ImageView1.Height)
Label2.Tag=Cur1.GetString("linkdownload")
ScrollView1.Panel.Height=Stopint+7%Y
link1=Label2.Tag
name=Label1.Tag
namedownload.Text=Label1.Text
Panel2.Tag=Cur1.GetString("linkdownload")
Next
ScrollView1.Panel.Height = (Cur1.RowCount * 27%Y)

'11111111111111111111111
	nb.Initialize
    nb.SmallIcon = "icon"
	nb.DefaultSound=False
	nb.ContentTitle = Label1.Text
	nb.setProgress(100,1,True)
	nb.OnGoingEvent = False
	'1111111111111
End Sub

Sub Activity_Resume
End Sub

Sub Activity_Pause (UserClosed As Boolean)
End Sub

Sub Panel2_Click
	Dim p As Panel
	p=Sender
	
	If File.Exists(File.DirRootExternal & "/MusicB4A",Label1.Text &".mp3") = True Then 

'	 ToastMessageShow(name&".mp3"&TAB&"در مسیر حافظه کارت و پوشه musicB4a ذخیره شده است"  ,True)
	 Else

	Dim dd As DownloadData
	dd.url = p.Tag
	dd.EventName = "dd"
	dd.Target = Me
	CallSubDelayed2(DownloadService, "StartDownload", dd )
	End If
End Sub
Sub CheckBox1_CheckedChange(Checked As Boolean)

End Sub
Sub btndownload_Click
	If File.Exists(File.DirRootExternal & "/MusicB4A",Label1.Text &".mp3") = True Then 

	 ToastMessageShow(Label1.Text&".mp3"&TAB&"در مسیر حافظه کارت و پوشه musicB4a ذخیره شده است"  ,True)
	 Else

	Dim dd As DownloadData
	dd.url = Label1.Text
	dd.EventName = "dd"
	dd.Target = Me
	CallSubDelayed2(DownloadService, "StartDownload", dd)
	End If
End Sub
Sub dd_Progress(Progress As Long, Total As Long)
	progssbardownload.Progress = Progress / Total * 100
	labeldownload.Text = NumberFormat(Progress / 1024, 0, 0) & "KB / " & _
		NumberFormat(Total / 1024, 0, 0) & "KB"
		change( Progress / Total * 100 , labeldownload.Text )
End Sub

Sub dd_Complete(Job As HttpJob)
	Log("Job completed: " & Job.Success)
	ToastMessageShow("مداحی" & Label1.Text &".mp3" ,True)
	Dim o As OutputStream
    o = File.OpenOutput(File.DirRootExternal & "/MusicB4A",Label1.Text &".mp3", False)
    File.Copy2(Job.GetInputStream, o)
    o.Close
	Job.Release
End Sub

Sub btnCancel_Click
	progssbardownload.Progress=0
	labeldownload.Text=""
	CallSubDelayed2(DownloadService, "CancelDownload", link1)
    StopService(HttpUtils2Service1)
	StopService(DownloadService)
End Sub
Sub change(darsad As Int,Text As String)
	nb.ContentText = Text
nb.setProgress(100,darsad,False)
nb.Notify(1)
End Sub

اینم سورسم 

ممنون میشم راهنمایی ام کنید 

با تشکر

 

 

 

 

 

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

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

ای بابا چن وقت نبودیم کسی جواب نداده 

چقدر من بد شانسم هر کی سوال میپرسه 3سوته به جواب میرسه اون وقت ما .. 

:20:

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

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

" تو حلقه هر دفعه که لینک رو میگرفتین اون رو برابر label1.text قرار می دادین خب معلومه که مقدار label1.text  همیشه برابر آخرین مقدار حلقه میشه " 

حالا چه کار کنم که هر دفعه که لینکو میگرم نام ستون مورد نظر خودشم بگیرم (2 ستون تو دیتابیس دارم یکی لینک و دومی نام ترانه )

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

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

" تو حلقه هر دفعه که لینک رو میگرفتین اون رو برابر label1.text قرار می دادین خب معلومه که مقدار label1.text  همیشه برابر آخرین مقدار حلقه میشه " 

حالا چه کار کنم که هر دفعه که لینکو میگرم نام ستون مورد نظر خودشم بگیرم (2 ستون تو دیتابیس دارم یکی لینک و دومی نام ترانه )

تو رو خدا نا امیدم نکنید 

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

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

" تو حلقه هر دفعه که لینک رو میگرفتین اون رو برابر label1.text قرار می دادین خب معلومه که مقدار label1.text  همیشه برابر آخرین مقدار حلقه میشه " 

حالا چه کار کنم که هر دفعه که لینکو میگرم نام ستون مورد نظر خودشم بگیرم (2 ستون تو دیتابیس دارم یکی لینک و دومی نام ترانه )

up 

کسیت مرا یاری کند؟

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

همین جوری بیخود بی جهت یهوی 

UP 

ببینم بعد 4 ماه کسی به جواب رسیده 

نمونه سورسم تو پست 19 گذاشتم

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

فردا يه سورس ميدم كه فكر كنم مشكلتون حل بشه

 

به اين صفحه  تو سايت مرجع مراجعه كن

 

http://www.b4x.com/android/forum/threads/listview-and-checkboxes-too.44741/#content

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

میخام یکسری آیتم انتخاب بشه بعد با یه باتن همشو دانلود کنه (باتن دانلود خارج از مولتی پنله) 

اگر هم چک باکسی سلکت نشد وقتی رو باتن کلیک کنم بگه آیتمی انتخاب نشده 

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

خدایش اینقدر  تا حالا ایه تاپیکو اپ نکردم بودم 

باور کنید اگر بلد بودم این تاپیکو بالا نمی آوردم

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

سوال برام پیش اومده چرا کسی سوال های منو کسی جواب نمیده ؟ 

لج کردید یا سوال خیلی سخته 

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

سلام

ببینید شما قصد دارید با تیک خوردن هر چک باکس همون لحظه دانلود انجام بشه ؟

یا اینکه یکسری آیتم رو انتخاب و بعد یک دفعه دکمه دانلود رو می زنید ؟

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

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

" تو حلقه هر دفعه که لینک رو میگرفتین اون رو برابر label1.text قرار می دادین خب معلومه که مقدار label1.text  همیشه برابر آخرین مقدار حلقه میشه " 

حالا چه کار کنم که هر دفعه که لینکو میگرم نام ستون مورد نظر خودشم بگیرم (2 ستون تو دیتابیس دارم یکی لینک و دومی نام ترانه )

دوستان کسی نظری نداره؟

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

سلام

به دلایلی بنده فرصت نکردم جوابی رو بهتون بدم

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

در ادامه با کلیک شدن روی هر پنل تگشو به عنوان لینک به متغییر لیست Add  کنید و توی دکمه دیگه بیایید لینک هارو از لیست استخراج کنید و دانلود.

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

در ادامه با کلیک شدن روی هر پنل تگشو به عنوان لینک به متغییر لیست Add  کنید و توی دکمه دیگه بیایید لینک هارو از لیست استخراج کنید و دانلود.

 

الان من تگ پنلو لینک دادم

یه متغیر از لیست هم شاختم بعد اومدم

Sub btndownload_Click
		
		list1.Add(Panel2.Tag)
		
	If File.Exists(File.DirRootExternal & "/MusicB4A",Label1.Text &".mp3") = True Then 

	 ToastMessageShow(Label1.Text&".mp3"&TAB&"در مسیر حافظه کارت و پوشه musicB4a ذخیره شده است"  ,True)
	 Else

	Dim dd As DownloadData
	dd.url = Label1.Text
	dd.EventName = "dd"
	dd.Target = Me
	CallSubDelayed2(DownloadService, "StartDownload", dd)
	End If
End Sub 

تگ پنلو وارد کردم 

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

فک کنم چون پنلی انتخاب نشده از برنامه میاد بیرون 

من فقط میخام خود چک باکس تیک خورد بره برای دانلود 

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

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

شما توی رویداد کلیک پنل بیایید تگ پنل رو بگیرید

توی رویداد کلیک چک خوردن چک باکس رو قرار بدید و برای اینکه تیک چک باکس غیر فعال بشه بهتره که از رویداد LonClick پنل استفاده کنید.

به این تاپیک هم سر بزنید :

http://answercenter.ir/topic/5152-%D9%85%D9%88%D9%84%D8%AA%DB%8C-%D9%BE%D9%86%D9%84-%D9%88-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1-%D9%87%D8%A7%DB%8C-%D8%A2%D9%86/

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

دوستان منم همین مشکلو دارم تو مولتی پنل یه تعداد آیتم داریم که هر کدوم یه چک باکس داره و یه باتن که جزء مولتی پنل نیست و پایین برنامه است و وظیفه دانلود رو داره 

حالا میخام رو هر کدوم از چک باکس کلیک شد باتن تشخیص بده کدوم آیتمه که بتونه دانلود کنه در غیر اینصورت هیچ کاری نکنه 

اینم سورسم 

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

این تاپیک شما رو دیدم 

الان من تو رویداد پنلم اینجوری نوشتم ولی کاری نمیکنه 

تگ چک باکسم هم برابر آی دی گذاشتم

Dim pp As Panel
	pp = Sender
	GetTag = pp.Tag
	Dim Cur As Cursor
	Cur = sql1.ExecQuery("SELECT * FROM Tmp3madahi WHERE id='" & Main.onvan1 & "'")
	Cur.Position = 0
	For Each v As View In Activity.GetAllViewsRecursive
	  If v Is CheckBox Then
	  	Dim Check As CheckBox = v
	    If Check.Tag = GetTag Then
	   Check.Checked = Not(Check.Checked)
	   End If
	  End If
	 Next

به نظرتون مشکل از کجاس

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

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

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