«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
ساخت کادر جستجو یا دیکشنری در بیسیک فور اندروید :: گیم اور _ بازیسازی با unity + مطالب متفرقه

گیم اور _ بازیسازی با unity + مطالب متفرقه

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

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

به نام خدا
--
گروه قدیم ما promakers.ir یا پرومیکرز بود که بالای هزار اموزش توش ساخته بودم به اسم sajjad3011 ولی حیف ادمین سایتش عوض کرد
حالا سوالی بود کاری بود این شمارمه

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

---
سوالی بود بذارید
نظر خصوصی نذارید
پاسخش سخته
دوست داشتید شماره بذارید تو واتساپ یا ایتا یا .... گروه بزنیم.
09358077198

بایگانی
پیوندها

باید آموزش جستجو در دیتا بیس SQL رو بلد باشی و برنامه navicat هم باید نصبیده باشید.
این آموزش رو بخونید :

http://promakers.ir/showthread.php?tid=10325
اینجا هم تمام تاپیک ها و آموزش های قدیمی رو بخونید و یکی یکی برسید به آموزش های جدید:
http://promakers.ir/forumdisplay.php?fid=109&page=5


توضیحات:
ببین قبل از اینکه basic4android یاد بگیرید باید کمی visual basic 6 رو یاد بگیرید(حالا vb.net وی بی دات نت هم شد زیاد فرقی نداره ولی vb6 سبک تره و لینک دانلودشم توی اینترنت هست . نبود پ.خ بزنید بدم لینک رو).
-
بعدش شما باید با دستورات ساده ی SQL (یعنی Structured Query Language = زبان پرس و جوی ساختاری) رو یاد بگیری.
چیز خاصی نداره
مثال :

کد PHP:
SELECT FROM table_name 
دستور بالا برای انتخاب * یا کل ستون های جدول بکار می ره(مثل جدول که دو ستون name و fam داره و ما هم نام و هم فاملیی از تمام سطرها رو از جدول واکشی می کنیم و توی حافظه یا recordSet موقتی کاری می ذاریم)

ما کاری به بقیه چیزا نداریم.

توی هر زبون برنامه نویسی توابعی هست که SQL رو می تونیم به صورت رشته ای بکار ببریم و Execute(اجرا) کنیم.

مثال توی b4a:
ابتدا متغیرهایی از نوع کرسر و س کو ال تعریف می کنیم(در بخش global):
کد PHP:
    Dim SQL1 As SQL
    Dim cursor1 
As Cursor 
سپس با SQL و بانک اطلاعات مثل db1.db ارتباط برقرار می کنیم(در بخش ایجاد اکتیویتی یا Activity_Create):
کد PHP:
    If SQL1.IsInitialized False Then
        SQL1
.Initialize(File.DirInternal"db1.db"False)
    
End If
DBload(""
سپس برای سادگی اینکار در آخر سطر فوق DBload("") رو آوردیم و توی تابع DBload که قبلا تعریف باید کنیم،بقیه ی کدها رو برای انتخاب سطرهای جدول باید اجرا کنیم.
مثال :
کد PHP:
Sub DBload(As String)
Private 
condition As String
q
=q.Trim'remove spaces
condition="WHERE esm LIKE '
%" & q & "%'"
ListView1.Clear'
need to clear the list
cursor1 SQL1.ExecQuery("SELECT * FROM table1 " condition "ORDER BY esm")
For 
0 To cursor1.RowCount 1
cursor1
.Position i
ListView1
.AddSingleLine(cursor1.GetString("esm")& "|" &cursor1.GetString("nomre"))
ListView1.SingleLineLayout.ItemHeight 40
ListView1
.SingleLineLayout.Label.TextSize 20
ListView1
.SingleLineLayout.Label.TextColor Colors.Black
ListView1
.SingleLineLayout.Label.Color Colors.White
Next
End Sub 
به کد بالا خوب نیگا کن.

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

q.Trim باعث میشه اگه توی کادر متنی در سمت چپ و راست فضای خالی بود حذف بشه(البته از توی q)


خط بعدی این است :
کد:
condition="WHERE esm LIKE '%" & q & "%'"
به کد دقت کنید : متغیری به نام condition تعریف کردم که دستور WHERE از SQL هست که یک جور شرط هست که می گه فقط سطرهایی رو واکشی کن که ستون esm اون ها مثل(like) این q باشه یا مثل ورودی ای باشه که ما از کادر متنی خوندیم و ریختیم توی متغیر q.
علامت درصد(%) باعث میشه تا n کاراکتر در سمت چپ رشته ی ورودی بررسی بشه.مثل دستور dir در ویندوز (خط ommand prompt) که اونجا می گفتیم *ali* که این باعث میشد تمام فایل هایی که کلمه ی ali توی اسمشون باشه و اول و آخر نامشون هر تعداد کاراکتر باشه رو برگشت بده.

سپس ListView1.Clear باعث پاک کردن سطرهای لیست ویو میشه.

سپس باید SQL رو طبق شرط condition که بالاتر ساختیم اجرا کنیم و بعد از اجرا متغیر cursor(کرسر) یا اشاره گر رو اشاره می دیم به ابتدای جدولی که اطلاعات واکشی شده رو به طور موقت در اون ذخیره کرده سیستم پایگاه داده ی درونی b4a:
کد:
cursor1 = SQL1.ExecQuery("SELECT * FROM table1 " & condition & "ORDER BY esm")
به کد بالا دقت کنید:
order by esm باعث میشه که سطرهایی که واکشی شدن بر حسب ستون esm واکشی و مرتب بشن(توی جدول موقت واکشی شده)

اطلاعات از جدول table1 خوانده شد و cursor1 داره به ابتدای این حدول اشاره می کنه.

حالا باید یه حلقه ی while یا for بنویسیم که سطر به سطر از این جدول رو برای ما نمایش بده یا به لیست ویو listView1 اضافه کنه.

چون سطر اول شمارش 0 هست آخرین سطر باید n منهای 1 باشه.(cursor1.RowCount - 1)

ما هر بار با دستور cursor1.Position باید پاس بدیم به سطر بعدی و اینکار رو تا رسیدن به آخرین سطر تکرار کنیم و اسم و نمره ی دانش آموزان (واکشی شده بر حسب نام جستجو شده) رو نشون بدیم:
کد:
For i = 0 To cursor1.RowCount - 1
cursor1.Position = i
ListView1.AddSingleLine(cursor1.GetString("esm")& "|" &cursor1.GetString("nomre"))
.
.
.

سپس با دستور ListView1.SingleLineLayout.ItemHeight = 40 اندازه ی ارتفاع هر سطر از listView رو زیاد (روی 40 تنظیم)می کنیم .

سپس با دستور ListView1.SingleLineLayout.Label.TextSize = 20 اندازه ی متن رو روی size 20 تنظیم می کنیم.

سپس رنگ متن رو سیاه و پس زمینه رو سفید می کنیم :
ListView1.SingleLineLayout.Label.TextColor = Colors.Black و ListView1.SingleLineLayout.Label.Color = Colors.White

بقیه هم دیگه نیازی به توضیح نداره.

از جمله دستورانت دیگه ی SQL عبارت است از DELETE و UPDATE و INSERT که به ترتیب برای حذف و به روزرسانی(ویرایش=Edit) ودرج داده ها بکار می ره و دتورات دیگه ای که ما زیاد نیازی بهشون نداریم
http://promakers.ir/showthread.php?tid=11479&pid=120448#pid120448
موافقین ۰ مخالفین ۰ ۹۴/۰۴/۰۲
مدیرکل

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی