رفتن به مطلب

آموزش تصویری ساخت و خواندن اطلاعات دیتابیس با Multi Panel


مهدی ایزدی

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

درود خدمت دوستان عزیز

خب بالاخره دیدیم خیلی ها توی این خوندن اطلاعات از دیتابیس(آفلاین) و آوردنشون توی Multi Panel

به جای ListView مشکل دارن ...

گفتم یک آموزش تصویری براتون آماده کنم *hendoone*

توضیحات اضافی نمیدم

ویدئو رو میتونید به صورت آنلاین در آپارات مشاهده کنید: مشاهده در آپارات

چون آپارات کیفیت فیلم هارو کم میکنه توی PicoFile هم براتون آپلود کردم که بتونید با کیفیت اصلی دانلود و مشاهده کنید:

دانلود فیلم از سرور Picofile

سورس رو هم از عمد پیوست نکردم . یکی از دوستان لطف کنه و سورس رو بنویسه و پیوست کنه.

توی سورس پیوستی میخوام گرافیک رو به کار گرفته باشید *laie*

همه ی کسایی که آموزش رو دیدن هم میتونن نمونه سورس و اسکرین از نمونه برنامشون رو توی پست به نمایش بزارن.

همین کارها میتونه بیشتر حمایت از ما باشه ♥

ما را از نظرات سازندتون بی نصیب نزارید *like*

این هم عکس دمو از آموزش :

multi_panel.gif

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

  • پاسخ 76
  • ایجاد شده
  • آخرین پاسخ

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

خسته نباشید و خدا قوت بهتون میگم *solh*

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

خیلی خیلی ممنون من که خیلی دنبالش بودم خدا خیرت بده عزیز

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

تشکر فراوان آقا ایزدی

خوب کاری میکنید سورس نمیزارید این جوری حداقل طرف میره روش کار میکنه

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

ولی سورس آماده آدمو تنبل میکنه

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

  • 3 هفته بعد...

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

فقط من 2تا سوال داشتم:

1- من برای هر آیتمی که ذخیره میشه یه دکمه واسه حذف کردن و یه دکمه برای share کردن گذاشتم چیکار کنم با زدن این دکمه ها فقط همون ایتم حذف بشه ؟

2- چطوری وقتی یه آیتم جدید رو ذخیره میکنیم بیاد به عنوان اولین آیتم نمایش داده بشه ؟

attachment.php?attachmentid=1748&stc=1

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

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

Dim st As Int=3%y

Dim su As StringUtils

Dim p As Panel

("")p.Initialize

("p.LoadLayout("tmpsm

(scv.Panel.AddView(p,0,st,100%x,100%y

( "lmatn.Text = c.getString("sms

(lmatn.Height =su.MeasureMultilineTextHeight(lmatn,lmatn.Text

prnt.Height=lmatn.Height+17%Y

st=st+lmatn.Height+18%Y

scv.Panel.Height=st

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

سلام. آموزشت فوق العاده بود. فقط یه سوال:

برای ایجاد لیست علاقه مندی برای کتابی که با مولتی پنل ساخته شده ، چطور میشه روی هر آیتمی که کلیک شد، فقط همون آیتم توی دیتابیس ،ستون fav اش از 0 بشه 1؟

ممنون میشم جواب بدین.

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

چشم دوست عزیز فقط یکم خوب متوجه شو شاید یکم پیچیده بنظر بیاد... اول از همه یک ماژول از نوع code module درست کن و کد ساب های زیر رو بنویس:

Sub bookmark(sID As String)As Boolean
Dim m1 As Map
m1.Initialize
If File.Exists(File.DirInternal,"bookmark") Then
m1=File.ReadMap(File.DirInternal,"bookmark")
End If
If m1.ContainsKey(sID)=True Then
m1.Remove(sID)
File.WriteMap(File.DirInternal,"bookmark",m1)
Return False
Else
m1.Put(sID,"")
File.WriteMap(File.DirInternal,"bookmark",m1)
Return True
End If
End Sub

Sub getbookmarklist As Map
Dim m1 As Map
m1.Initialize
If File.Exists(File.DirInternal,"bookmark")Then
m1 = File.ReadMap(File.DirInternal,"bookmark")
Return m1
Else
Return Null
End If
End Sub

Sub chbookmark(sID As String)As Boolean
Dim m1 As Map
m1.Initialize
If File.Exists(File.DirInternal,"bookmark") Then
m1 = File.ReadMap(File.DirInternal,"bookmark")
If m1.ContainsKey(sID)=True Then
Return True
Else
Return False
End If
Else
Return False
End If
End Sub

بعدش یه باتون میزاریم و این کد رو مینویسیم:

Dim v1 As View
v1=Sender
If myLibrary.bookmark(v1.Tag)=True Then
   v1.SetBackgroundImage(LoadBitmap(File.DirAssets,"folder-bookmark-icon2.png"))
   ToastMessageShow("نشانه گزاری شد",False)
   Else
   v1.SetBackgroundImage(LoadBitmap(File.DirAssets,"folder-bookmark-icon.png"))
   ToastMessageShow("از نشانه گذاری شده ها حذف شد",False)
   End If

کد دومی اینطور عمل میکنه که اگه تگ sender برابر با true بود به معنی اینکه بوکمارک شده در غیر اینصورت از بوکمارک حذف شده و من در اینجا دو پس زمینه برای دکمه ایجاد کردم.........

امیدوارم این آموزش مفید باشه

انشالله خدا مشکل همه جوونا رو حل کنه♥♥

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

واقعا آموزشه کاربردی هست بهترین انجمن بیسیک فور اندرویده به نظرم چون آموزشاش تکه و اکثرا فری خسته نباشی مهدی جان

♥

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

داداش تو این آموزش یادم رفت یه چیزی رو بگم

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

داخل اکتیویتی که میخوای بوکمارک رونشون بدی باید توی رویداد کلیک دکمه ماندد کد زیر :

btnBookmark:نام دکمه بوکمارک

btnBookmark.tag = cur.GetString("sContent")

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

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

اول از همه یه ماژول کلاس درست کن و این کدرو داخلش بنویس

اسم ماژول مثلا myDb میزارم

Sub Class_Globals

Dim sql1 As SQL

Type sSMS(sID As Int,sBody As String,sRead As Int,sStar As String)

End Sub

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

Public Sub Initialize

If File.Exists(File.DirInternal,"sq.db") = False Then

File.Copy(File.DirAssets,"sq.db",File.DirInternal,"sq.db")

End If

sql1.Initialize(File.DirInternal,"sq.db",False)

End Sub

Sub changeRead(sID As String,sRead As Int) As Boolean

If sID = "" Then

Return False

End If

sql1.ExecNonQuery2("update tbl_sms set sRead = ? where sID = ?",Array As String(sRead,sID))

Return True

End Sub

Sub changeStar(sID As String,sRate As Int) As Boolean

If sID = "" Then

Return False

End If

sql1.ExecNonQuery2("update tbl_sms set sStar = ? where sID = ?",Array As String(sRate,sID))

Return True

End Sub

Sub getLimitSMS(sID As String) As sSMS

Dim cur As Cursor

cur = sql1.ExecQuery2("SELECT * FROM tbl_sms WHERE sID = ?",Array As String(sID))

cur.Position = 0

Dim sms1 As sSMS

sms1.Initialize

sms1.sBody = cur.GetString("sContent")

sms1.sID = cur.GetInt("sID")

sms1.sRead = cur.GetInt("sRead")

sms1.sStar = cur.GetInt("sStar")

Return sms1

End Sub

بعدش تو اکتیوتی اینو مینویسی:

تو گلوبال تعریف میکنیم

Dim l1 As List

Dim db As myDB

اکتیویتی کریت:

l1.Initialize

db.Initialize

lbltitle.Text = "نشانه گزاری شده ها"

lbltitle.TextSize=17

Dim m1 As Map

m1.Initialize

m1=myLibrary.getbookmarklist

For i = 0 To m1.Size-1

Dim ss As sSMS

ss.Initialize

Try

ss=db.getLimitSMS(m1.GetKeyAt(i))

Catch

Return

End Try

additem(ss)

Sub additem(sms1 As sSMS)

Dim p As Panel

p.Initialize("")

p.LoadLayout("tmpsms")

sv.Panel.AddView(p,0,st,100%x,100%y)

lmatn.Text = sms1.sBody

lmatn.Height =su.MeasureMultilineTextHeight(lmatn,lmatn.Text)

prnt.Height=lmatn.Height+pr.top +18%y

st=st+lmatn.Height+prnt.Top+20%y

sv.Panel.Height=st

pr.Top=lmatn.Top + lmatn.Height+8%y

end sub

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

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

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

سلام

آقایون مهندسا دمتون جلیز جلیز

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

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

سلام و خسته نباشید

چطوری میشه هر id دیتابیس روازهر باتون جداگانه خواست ؟

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

خواهشا راهنمایی کنید بنده تازه کارم

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

سلام و خسته نباشید

چطوری میشه هر id دیتابیس روازهر باتون جداگانه خواست ؟

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

خواهشا راهنمایی کنید بنده تازه کارم

درود !

این همون بحث استفاده از Tag و Sender هست

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

بایگانی شده

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

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

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