سلام.
از شما جناب nevercom واقعا ممنون البته نه به خاطر مثال چون هنوز نديدمش بلكه به خاطر راهنماييتون. شايد در مورد پرسش در باره روال كار درست باشه اما من تقريبا همونطور كه در بالا گفتگ بيلدر رو از راه شكستن مثالهاش ياد ميگيرم در اين مورد هم خواستم دو تا مثال شبيه به هم داشته باشم تا بتونم با تغيراتي كه در مثالها ميدم مبحث بانك اطلاعاتي رو هم ياد بگيرم.
بگذريم با جستجو هايي كه كردم و مثالهاي خود پلاگين ديتابيس و نمونه اي كه جناب evil gates لطف كردن و گذاشتن به اين نتايج دست پيدا كردم :
در مرحله اول بايد پايگاه داده رو با برنامه هاي ساخت بانك اطلاعاتي ايجاد كرد كه البته من در اين مورد مشكل دارم چون نه برنامه رو دارم و نه زياد با دستورات sql آشنايي دارم.
در مرحله دوم فرا خواني پلاگين sqlite و مسير دهي فايل db ساخته شده توسط خودمون هست كه با اسكريپت Initialization كه تقريبا در همه مثالها يكسان هست انجام ميشه.
بعد با استفاده از اسكريپت ReadFirstRow مقادير فيلدها خوانده ميشه و يكي يكي برابر مقدار آيتمهاي مو جود قرار داده ميشه. و بعداسكريپت ReadAllRows اجرا ميشه و در اسكريپت سرچ هم با استفاده از دستور select در جدول به طور مثال contacts و فيلد first name جستجو صورت ميگيره. دو اسكريپت DeleteRecord و UpdateRecord كه كارشون كاملا مشخصه . يعني ركوردهارو حذف كرده و پس از حذف يا تغير يك ركورد بانك داده ها آپديت ميشه.
اين برداشتي بود كه من از مثال sample1 كه همراه دموي پلاگين بود به طور خلاصه داشتم. حالا اگه لطف كنيد به سوال هام جواب بديد ممنون ميشم.
1- در پيج استارت : R=1 يعني چي و چرا از اسكريپت تايمر استفاده ميشه و مثلا از ران اسكريپت استفاده نميشه؟
2- در اسكريپت ReadAllRows
If (Search = 1) Then
If (DBError$='') Then
Delimiter$ = '#'
FirstRows$ = GetArrayItem(Results$,Delimiter$,1)
FirstRows$ = FirstRows$ + '|'
NumberOfFields = GetArrayNum(FirstRows$,|)
******************************************
Country$ = GetArrayItem(FirstRows$,|,1)
LoadText("Country","Country$")
******************************************
ID$ = GetArrayItem(FirstRows$,|,2)
******************************************
Telephone$ = GetArrayItem(FirstRows$,|,3)
LoadText("Telephone","Telephone$")
City$ = GetArrayItem(FirstRows$,|,4)
LoadText("City","City$")
Comment$ = GetArrayItem(FirstRows$,|,5)
LoadText("Comment","Comment$")
Company$ = GetArrayItem(FirstRows$,|,6)
LoadText("Company","Company$")
Email$ = GetArrayItem(FirstRows$,|,7)
LoadText("Email","Email$")
FirstName$ = GetArrayItem(FirstRows$,|,8)
LoadText("FirstName","FirstName$")
LastName$ = GetArrayItem(FirstRows$,|,9)
LoadText("LastName","LastName$")
State$ = GetArrayItem(FirstRows$,|,10)
LoadText("State","State$")
Street$ = GetArrayItem(FirstRows$,|,11)
LoadText("Street","Street$")
Website$ = GetArrayItem(FirstRows$,|,12)
LoadText("Website","Website$")
ZipCode$ = GetArrayItem(FirstRows$,|,13)
LoadText("ZipCode","ZipCode$")
DisplayValue("TotalRecords","Rows")
DisplayValue("CurrentRecord","1")
**************************************
/*
*/
ScriptTimer("ReadAllRows","100")
Else
Message("Error occured:","DBError$")
Return()
End
Else
SQLQuery$ = 'SELECT * FROM contacts;'
PluginSet("PlugIn","SQLQuery$")
PluginRun("PlugIn","Query")
PluginGet("PlugIn","Results$")
PluginGet("PlugIn","Rows")
PluginRun("PlugIn","DBError")
PluginGet("PlugIn","DBError$")
** We have search feature and you know when user search
** for somethings result set changes to what he/she is
** looking for, so we should be aware of that to make
** appropriate result set.
If (DBError$='') Then
Delimiter$ = '#'
FirstRows$ = GetArrayItem(Results$,Delimiter$,1)
FirstRows$ = FirstRows$ + '|'
NumberOfFields = GetArrayNum(FirstRows$,|)
******************************************
Country$ = GetArrayItem(FirstRows$,|,1)
LoadText("Country","Country$")
******************************************
ID$ = GetArrayItem(FirstRows$,|,2)
******************************************
Telephone$ = GetArrayItem(FirstRows$,|,3)
LoadText("Telephone","Telephone$")
City$ = GetArrayItem(FirstRows$,|,4)
LoadText("City","City$")
Comment$ = GetArrayItem(FirstRows$,|,5)
LoadText("Comment","Comment$")
Company$ = GetArrayItem(FirstRows$,|,6)
LoadText("Company","Company$")
Email$ = GetArrayItem(FirstRows$,|,7)
LoadText("Email","Email$")
FirstName$ = GetArrayItem(FirstRows$,|,8)
LoadText("FirstName","FirstName$")
LastName$ = GetArrayItem(FirstRows$,|,9)
LoadText("LastName","LastName$")
State$ = GetArrayItem(FirstRows$,|,10)
LoadText("State","State$")
Street$ = GetArrayItem(FirstRows$,|,11)
LoadText("Street","Street$")
Website$ = GetArrayItem(FirstRows$,|,12)
LoadText("Website","Website$")
ZipCode$ = GetArrayItem(FirstRows$,|,13)
LoadText("ZipCode","ZipCode$")
DisplayValue("TotalRecords","Rows")
DisplayValue("CurrentRecord","1")
**************************************
/*
After showing first record we need To read other
records and save them in arrays To be able To navigate
through them.
*/
ScriptTimer("ReadAllRows","100")
Else
Message("Error occured:","DBError$")
Return()
End
End
قسمت اول دستور قبل از اولين خط سبز يعني چي؟ و چرا از قيلد Country شروع بايد كرد و چرا مقدار دهي در اسكريپت دوبار نوشته شده اونم عين هم.
و اين دستور چكاري انجام ميده؟
ID$ = GetArrayItem(FirstRows$,|,2)
در واقع IDچيه و عدد 2 اينجا چكار ميكنه.
شرمنده ديگه حالا اگه شد اينو جواب بديد تا به بقيه اسكريپتها هم برسيم.
يه سوال ديگه اي كه داشتم اينه كه چرا وقتي تعداد ركوردها مثلا از 60 تا بالا تر ميره برنامه زمان ميبره تا بالا بياد ؟
بازم ممنون.