• اطلاعیه ها

    • H@mid.RS

      جذب نیرو   پنجشنبه, 10 فروردین 1396

      درود به دوستان عزیز به چند نفر مدیر برای بخش های php و گرافیک نیازمندیم درصورت تمایل درخواست خود را در پیام خصوصی بفرستید  
    • H@mid.RS

      تغییر نام کاربری   دوشنبه, 28 فروردین 1396

      درود دوستانی که نام کاربری انها با ایمل شان یکی بود تغییر کرد مثلا نام کاربری sss@tmail.com به sss تغییر کرد دوستانی که مشکل ورود دارند @ به بعد را پاک کنند
    • H@mid.RS

      کسب درآمد   پنجشنبه, 31 فروردین 1396

      دوستانی که میخواهند با انجمن خودشون همکاری کنند و از محیط انجمن درآمد کسب کنند به بنده پیام خصوصی بفرستند
    • H@mid.RS

      راه اندازی وبلاگ برای انجمن   دوشنبه, 18 اردیبهشت 1396

      درود به همه دوستان عزیز از این پس کاربران ویژه  - همکاران - و مدیران میتوانند در انجمن برای خود وبلاگ بسازند
  • 0
arastooms

تشخیص یک کلمه در رشته

سوال

سلام به همه دوستان و عزیزان و اساتید در انجمن 

 

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

 

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

 

فرض میکنیم دیتابیس ما 10 سطر داره به صورت زیر و با همین ترتیب در پایین (( شماره ها آیدی ها هستند))

 

1-من و حسام و محمد و علی به سینما رفتیم

2-حسن و محمد به سینما رفتند

3-علی  بستنی خرید

4- محمد و علی هر دو ورزشکار هستند

5- سمیه کلاس اول است

6-خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند

7-علی کجاست؟
9-محمد رفته است علی را با حسین آشنا کند

10-انجمن بسیار خوب است

 

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

CUR_1=SQL_1.ExecQuery("SELECT * FROM tbl1 WHERE jomleha LIKE '"&EditText1.text&"%'LIMIT 40 OFFSET 0") 

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

که به ترتیب از بالا به پایین میشه

 

 

1-من و حسام و محمد و علی به سینما رفتیم

 

3-علی  بستنی خرید

4- محمد و علی هر دو ورزشکار هستند

 

6-خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند

7-علی کجاست؟
9-محمد رفته است علی را با حسین آشنا کند

 

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

For i = 0 To CUR_F.RowCount-1

CUR_F.Position=i
																											
ListView1.AddSingleLine(CUR_F.GetString("jomle"))	

Next

لیست ویو به این شکا میشه

من و حسام و محمد و علی به سینما رفتیم
علی  بستنی خرید
 محمد و علی هر دو ورزشکار هستند
خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند
علی کجاست؟
محمد رفته است علی را با حسین آشنا کند

مشکل اینجاست که:

 

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

علی کجاست؟
علی با پدرش و برادرش رفتند به بستنی فروشی و بستنی خریدند
 محمد و علی هر دو ورزشکار هستند
محمد رفته است علی را با ماشین به منزل حسن ببرد تا با هم فوتبال بازی کنند
من و حسام و محمد و علی به سینما رفتیم
خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند

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

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

:yes1:  :yes1:  :yes1:  :yes1: 

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


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

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

  • 0

باسلام با اینکه موضوتون یکم پیچیده بود خیلی خوب توضیح دادید

 

راه حلی که من به ذهنم میرسه اینه که شما بعد از اینکه نتیجه رو از دیتا بیس گرفتید بیاید یه لیستی از map  ایجاد کنید که مپ دو خاصیت داشته باشه یکی jomle  که متن توش باشه یکی place  که مکان شروع علی توش باشه بعد بیاید یه سورت بنویسید که بر حسب place سورت کنه واسه گرفتن مکان علی از کد زیر استفاده کنید

Dim st As String
Dim a As Int
a=st.LastIndexOf("علی")
پسند شده توسط arastooms

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


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

 

باسلام با اینکه موضوتون یکم پیچیده بود خیلی خوب توضیح دادید

 

راه حلی که من به ذهنم میرسه اینه که شما بعد از اینکه نتیجه رو از دیتا بیس گرفتید بیاید یه لیستی از map  ایجاد کنید که مپ دو خاصیت داشته باشه یکی jomle  که متن توش باشه یکی place  که مکان شروع علی توش باشه بعد بیاید یه سورت بنویسید که بر حسب place سورت کنه واسه گرفتن مکان علی از کد زیر استفاده کنید

Dim st As String
Dim a As Int
a=st.LastIndexOf("علی")

سلام سپاس از راهنمایی شما دوست عزیز 

آیا ممکنه من رو با چند خط سورس راهنمایی بفرمایید 

از جایی که کرسور رو پُر میکنم 

چه طور باید مقدار ها رو در map قرار بدم 

و بعد دوباره از مپ در لیست ویو بریزم؟؟

ممنون میشم راهنمایی بفرماید ( من در کار با map مبتدی هستم )

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


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

سلام به همه دوستان و عزیزان و اساتید در انجمن 

 

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

 

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

و

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

و لی 

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

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

با یک مثال در زیر ادامه میدم 

 

فرض میکنیم دیتابیس ما 10 سطر داره به صورت زیر و با همین ترتیب در پایین (( شماره ها آیدی ها هستند))

 

1-من و حسام و محمد و علی به سینما رفتیم

2-حسن و محمد به سینما رفتند

3-علی  بستنی خرید

4- محمد و علی هر دو ورزشکار هستند

5- سمیه کلاس اول است

6-خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند

7-علی کجاست؟

9-محمد رفته است علی را با حسین آشنا کند

10-انجمن بسیار خوب است

 

خوب حالا فرض میکنیم 

کار بر در ادیت تکس کلمه " علی " رو جستجو کنه و دکمه جستجو رو بزنه 

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

CUR_1=SQL_1.ExecQuery("SELECT * FROM tbl1 WHERE jomleha LIKE '"&EditText1.text&"%'LIMIT 40 OFFSET 0") 

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

که به ترتیب از بالا به پایین میشه

 

 

1-من و حسام و محمد و علی به سینما رفتیم

 

3-علی  بستنی خرید

4- محمد و علی هر دو ورزشکار هستند

 

6-خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند

7-علی کجاست؟

9-محمد رفته است علی را با حسین آشنا کند

 

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

For i = 0 To CUR_F.RowCount-1

CUR_F.Position=i
																											
ListView1.AddSingleLine(CUR_F.GetString("jomle"))	

Next

لیست ویو به این شکا میشه

من و حسام و محمد و علی به سینما رفتیم
علی  بستنی خرید
 محمد و علی هر دو ورزشکار هستند
خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند
علی کجاست؟
محمد رفته است علی را با حسین آشنا کند

مشکل اینجاست که:

 

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

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

یعنی به صورت زیر

علی کجاست؟
علی با پدرش و برادرش رفتند به بستنی فروشی و بستنی خریدند
 محمد و علی هر دو ورزشکار هستند
محمد رفته است علی را با ماشین به منزل حسن ببرد تا با هم فوتبال بازی کنند
من و حسام و محمد و علی به سینما رفتیم
خانواده آقای محمدی دو پسر و یک دختر دارد پسر ها به نتمهای علی و محمد هستند

 در واقع من نیاز دارم که طبق (( چندمین حرف در استرینگ و رشته مرتب بشه ))

باید وقتی کار بر وارد میکنه علی بیام و عمع جملاتی که علی داره رو ببینم

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

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

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

:yes1:  :yes1:  :yes1:  :yes1: 

CUR_1=SQL_1.ExecQuery("SELECT id,jomleha,  substr(replace(offsets(tbl1)," ",""),0,7) srt FROM tbl1 WHERE jomleha MATCH '"&EditText1.text&"%' order by cast(srt as integer) LIMIT 40 OFFSET 0") 

این کوئری تا 99% جواب سوال شماست، البته به روش فول تکست که باید تیبل مربوطه هم از نوع virtual باشه

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


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

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


Dim lst As List
lst.Initialize
For i = 0 To CUR_F.RowCount-1
CUR_F.Position=i
Dim mp As Map
mp.Initialize
mp.Put("jomle",CUR_F.GetString("jomle"))
mp.Put("place",CUR_F.GetString("jomle").IndexOf("علی"))
lst.Add(mp)																											
Next

lstmap.jpg

 

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

 

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

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
CUR_1=SQL_1.ExecQuery("SELECT id,jomleha,  substr(replace(offsets(tbl1)," ",""),0,7) srt FROM tbl1 WHERE jomleha MATCH '"&EditText1.text&"%' order by cast(srt as integer) LIMIT 40 OFFSET 0") 

این کوئری تا 99% جواب سوال شماست، البته به روش فول تکست که باید تیبل مربوطه هم از نوع virtual باشه

 

 

سلام

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

کد ارور میده و فکر میکنم در تایپ کردن خطایی داشته باشه

من هم از این کد خیلی سر در نمیارم که چه کار میکنه ؟؟!!!

ممکنه باز نگری بفرمایید 

 

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


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

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


Dim lst As List
lst.Initialize
For i = 0 To CUR_F.RowCount-1
CUR_F.Position=i
Dim mp As Map
mp.Initialize
mp.Put("jomle",CUR_F.GetString("jomle"))
mp.Put("place",CUR_F.GetString("jomle").IndexOf("علی"))
lst.Add(mp)																											
Next

lstmap.jpg

 

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

 

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

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

انجام دادم همه مراحل رو و گزینه ها در لیست هست

مرتب کردن دستورات لیست بر اساس " place " رو با چه دستوری باید انجام بدم و آیا دوباره باید بریزم تو یه لیست دیگه بعد از مرتب کردن 

یا فقط باید بریزم تو لیست ویو و به کار بر نشون بدم؟؟

 

الان دستوراتم اینه


Dim lst As List
lst.Initialize

cur2=SQL2.ExecQuery("SELECT * FROM tbl1 WHERE jomle LIKE '%"&EditText1.Text&"%'LIMIT 40 OFFSET 0") 'شروع کلمه با چیزی که در ادیت تکس نوشته شده را سرچ میکند''
For i = 0 To cur1.RowCount-1
	cur2.Position=i
	
Dim mp As Map
mp.Initialize
mp.Put("jomle",cur2.GetString("jomle"))
mp.Put("place",cur2.GetString("jomle").IndexOf("علی"))
lst.Add(mp)
Log("mp.Get(i)=" & mp)
	ListView_sort.AddSingleLine(cur2.GetString("jomle"))
Next
	

و خروجی لوگ این هست

** Service (starter) Destroy **
** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
علی
mp.Get(i)=(MyMap) {jomle=محمد علی کریمی, place=5}
mp.Get(i)=(MyMap) {jomle=محمد علی, place=5}
mp.Get(i)=(MyMap) {jomle=حسن و محمد و علی , place=13}
mp.Get(i)=(MyMap) {jomle=علی, place=0}
mp.Get(i)=(MyMap) {jomle=علیمردان, place=0}
mp.Get(i)=(MyMap) {jomle=علی و علی, place=0}
mp.Get(i)=(MyMap) {jomle=حسن و محمد و علیلیخانی, place=13}
mp.Get(i)=(MyMap) {jomle=علی و حسن, place=0}
mp.Get(i)=(MyMap) {jomle=حسن و محمد و علیعلیخان مجیدی, place=13}
mp.Get(i)=(MyMap) {jomle=محمد علی کریمیبخششمند, place=5}

به نظرم خوب پیشرفتم  :DD:

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


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

سلام

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

کد ارور میده و فکر میکنم در تایپ کردن خطایی داشته باشه

من هم از این کد خیلی سر در نمیارم که چه کار میکنه ؟؟!!!

ممکنه باز نگری بفرمایید 

 

http://basic4x.ir/topic/981-%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%DB%8C%DA%A9-%DA%A9%D9%84%D9%85%D9%87-%D8%AF%D8%B1-%D8%B1%D8%B4%D8%AA%D9%87/#entry4245

پست قبلی به خوبی پاسخ سوال شما رو داده...

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


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

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

ولی خیلی بهتر هست که توسط کد نویسی در اس کیو ال  بتونیم این مشکل رو حل کنیم (( یعنی با کد مستقیمی که شما فرمودید ))

تا اینکه بیایم و مسیر غیر از دستورات اسکیو ال رو اجرا کنیم (( در واقع دور بزنیم برای رسیدن به نتیجه )) 

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

اگر هم نیاز هست من سورس تست رو بنویسم قرار بدم تا دوستان و اعضای دیگر هم اگر مایل هستند و احتیاج دارند استفاده کنند 

با تشکر

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


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

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

انجام دادم همه مراحل رو و گزینه ها در لیست هست

مرتب کردن دستورات لیست بر اساس " place " رو با چه دستوری باید انجام بدم و آیا دوباره باید بریزم تو یه لیست دیگه بعد از مرتب کردن 

یا فقط باید بریزم تو لیست ویو و به کار بر نشون بدم؟؟

 

الان دستوراتم اینه


Dim lst As List
lst.Initialize

cur2=SQL2.ExecQuery("SELECT * FROM tbl1 WHERE jomle LIKE '%"&EditText1.Text&"%'LIMIT 40 OFFSET 0") 'شروع کلمه با چیزی که در ادیت تکس نوشته شده را سرچ میکند''
For i = 0 To cur1.RowCount-1
	cur2.Position=i
	
Dim mp As Map
mp.Initialize
mp.Put("jomle",cur2.GetString("jomle"))
mp.Put("place",cur2.GetString("jomle").IndexOf("علی"))
lst.Add(mp)
Log("mp.Get(i)=" & mp)
	ListView_sort.AddSingleLine(cur2.GetString("jomle"))
Next
	

و خروجی لوگ این هست

** Service (starter) Destroy **
** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
علی
mp.Get(i)=(MyMap) {jomle=محمد علی کریمی, place=5}
mp.Get(i)=(MyMap) {jomle=محمد علی, place=5}
mp.Get(i)=(MyMap) {jomle=حسن و محمد و علی , place=13}
mp.Get(i)=(MyMap) {jomle=علی, place=0}
mp.Get(i)=(MyMap) {jomle=علیمردان, place=0}
mp.Get(i)=(MyMap) {jomle=علی و علی, place=0}
mp.Get(i)=(MyMap) {jomle=حسن و محمد و علیلیخانی, place=13}
mp.Get(i)=(MyMap) {jomle=علی و حسن, place=0}
mp.Get(i)=(MyMap) {jomle=حسن و محمد و علیعلیخان مجیدی, place=13}
mp.Get(i)=(MyMap) {jomle=محمد علی کریمیبخششمند, place=5}

به نظرم خوب پیشرفتم  :DD:

 

خب دیگه تمومه دیگه کاری نداره یه حلقه تو در تو میذاری و سورت میکنی 

نیازی به لیست جدید نیس

تو همون لیست سورت کنید

پسند شده توسط arastooms

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


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

خب دیگه تمومه دیگه کاری نداره یه حلقه تو در تو میذاری و سورت میکنی 

نیازی به لیست جدید نیس

تو همون لیست سورت کنید

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

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

ولی مشکلش اینه که فقط یک خط آخر رو در map داره و سورت میکنه 

در واقع سایز مپ رو یک درنظر میگیره و فقط خط آخر رو داره

https://www.b4x.com/android/forum/threads/how-to-sort-map-by-value.15612/#content

 

من الان دستوراتم اینه (( کمی تعریف مپ رو تغیر دادم ))


Dim lst As List
lst.Initialize

cur2=SQL2.ExecQuery("SELECT * FROM tbl1 WHERE jomle LIKE '%"&EditText1.Text&"%' LIMIT 40 OFFSET 0") 'شروع کلمه با چیزی که در ادیت تکس نوشته شده را سرچ میکند''
For i = 0 To cur1.RowCount-1
	cur2.Position=i
	

map1.Initialize

'خط زیر رو عوض کردم
map1.Put(cur2.GetString("jomle"),cur2.GetString("jomle").IndexOf("علی"))
lst.Add(map1)

ListView_sort.AddSingleLine(cur2.GetString("jomle"))
Log("map1.Get("&i&")=" & map1)
Next
'---------------------------------------------------------------------------
Log("1111111111111111111111111111111111")
Log("mapsize="&map1.Size)
Log("2222222222222222222222222222222222")
Log("lst.Size==>"&lst.Size)
Log("lst"&lst)
Log("3333333333333333333333333333")
'---------------------------------------------------------------------------
 SortMap(map1)	
'---------------------------------------------------------------------------

خوب ساب های سورت هم طبق گفته سایت مرجه اینطوری مسشه


Sub SortMap(m As Map)
	
   Dim list1 As List
   list1.Initialize
   
   Dim m2 As Map
   m2.Initialize
   
   For i = 0 To m.Size - 1
      Dim word As String = m.GetKeyAt(i)
      Dim count As Int = m.GetValueAt(i)
	
      Dim l As List
      l = m2.Get(count)
	
	      If l.IsInitialized = False Then
	         l.Initialize
	         m2.Put(count, l)
	         list1.Add(count)
	      End If
		
      l.Add(word)
   Next
   
   list1.Sort(False) 'set to true for ascending sort.
   'print the sorted values:
   For i = 0 To list1.Size - 1
      Dim count As Int
      count = list1.Get(i)
      Dim l As List
      l = m2.Get(count)
      For c = 0 To l.Size - 1
         Log("Count = " & count & ", word = " & l.Get(c))
      Next
   Next
End Sub
  

و خروجی هم در لوگ به این صورت هست

علی
map1.Get(0)=(MyMap) {ررررعلیمحمد=4}
map1.Get(1)=(MyMap) {رررررر علی=7}
map1.Get(2)=(MyMap) {ررررررررررررررررررررررررررررررررررررررررررررررررررعلی=50}
map1.Get(3)=(MyMap) {رعلی=1}
map1.Get(4)=(MyMap) {علی ررررررررررر=0}
map1.Get(5)=(MyMap) {رررررررر علی رررررررررر=9}
map1.Get(6)=(MyMap) {رررررررررررررررررررررررررررررر علی=31}
map1.Get(7)=(MyMap) {رر علی رررر علی  ررر علی   =3}
map1.Get(8)=(MyMap) {رر علی=3}
map1.Get(9)=(MyMap) {رررر علی=5}
map1.Get(10)=(MyMap) {رررررررررررررررررررررررررررعلی=27}
map1.Get(11)=(MyMap) {علی رر=0}
map1.Get(12)=(MyMap) {ررعلی=2}
map1.Get(13)=(MyMap) {ر علی=2}
map1.Get(14)=(MyMap) {ر علی ر=2}
map1.Get(15)=(MyMap) {رعلی ر=1}
map1.Get(16)=(MyMap) {رررر علی ر=5}
map1.Get(17)=(MyMap) {رررر علی=5}
map1.Get(18)=(MyMap) {ررر علی=4}
map1.Get(19)=(MyMap) {ررعلی=2}
map1.Get(20)=(MyMap) {علی ر=0}
map1.Get(21)=(MyMap) {رر علی رررر=3}
map1.Get(22)=(MyMap) {رعلی=1}
map1.Get(23)=(MyMap) {رررعلی علی=3}
map1.Get(24)=(MyMap) {رر علی رررررررررررررررر=3}
map1.Get(25)=(MyMap) {رررعلی=3}
map1.Get(26)=(MyMap) {ررر علی ر علی رررر=4}
map1.Get(27)=(MyMap) {ررعلیعلی=2}
map1.Get(28)=(MyMap) {ررر علی رررررررر=4}
map1.Get(29)=(MyMap) {رررعلیعلی=3}
map1.Get(30)=(MyMap) {رعلیعلی=1}
map1.Get(31)=(MyMap) {ررر علی ر علی رر=4}
map1.Get(32)=(MyMap) {ررعلی علی=2}
map1.Get(33)=(MyMap) {ررر علی ر علی =4}
map1.Get(34)=(MyMap) {رعلی علی=1}
map1.Get(35)=(MyMap) {علی=0}
map1.Get(36)=(MyMap) {علی=0}
map1.Get(37)=(MyMap) {علی علی=0}
map1.Get(38)=(MyMap) {ر علی ر علی ر علی ر علی=2}
map1.Get(39)=(MyMap) {رعلیرعلیرعلیرعلی=1}
1111111111111111111111111111111111
mapsize=1
2222222222222222222222222222222222
lst.Size==>40
lst(ArrayList) [{ررررعلیمحمد=4}, {رررررر علی=7}, {ررررررررررررررررررررررررررررررررررررررررررررررررررعلی=50}, {رعلی=1}, {علی ررررررررررر=0}, {رررررررر علی رررررررررر=9}, {رررررررررررررررررررررررررررررر علی=31}, {رر علی رررر علی  ررر علی   =3}, {رر علی=3}, {رررر علی=5}, {رررررررررررررررررررررررررررعلی=27}, {علی رر=0}, {ررعلی=2}, {ر علی=2}, {ر علی ر=2}, {رعلی ر=1}, {رررر علی ر=5}, {رررر علی=5}, {ررر علی=4}, {ررعلی=2}, {علی ر=0}, {رر علی رررر=3}, {رعلی=1}, {رررعلی علی=3}, {رر علی رررررررررررررررر=3}, {رررعلی=3}, {ررر علی ر علی رررر=4}, {ررعلیعلی=2}, {ررر علی رررررررر=4}, {رررعلیعلی=3}, {رعلیعلی=1}, {ررر علی ر علی رر=4}, {ررعلی علی=2}, {ررر علی ر علی =4}, {رعلی علی=1}, {علی=0}, {علی=0}, {علی علی=0}, {ر علی ر علی ر علی ر علی=2}, {رعلیرعلیرعلیرعلی=1}]
3333333333333333333333333333
Count = 1, word = رعلیرعلیرعلیرعلی
 

همونطور که میبینی محمد جان سایز مپ 1 هست!!!!

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

و خروجی هم همینه فقط نمی دونم چرا یک خط آخر رو تو خروجی سورت میکنه ؟

 

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


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

  • مطالب مشابه

    • توسط arastooms
      با سلام به همه اساتید عزیز 
      با توجه به اینکه من بسیار بسیار مبتدی هستم در زمینه php نیاز به کمک و راهنمایی اساتید دارم در زمینه زیر 
       
      داده های مسئله :  
      من با بیسیک 4 کار میکنم 
      یک هاست داریم و یک دیتابیس با یوزر و ... 
      یک جدول 5 ستونی در دیتابیس داریم 
      نام دیتابیس masterdb
      نام جدول tbl1
      نام ستونها  id / name / famil /codemeli/tel
       
      خوب اومدم دربیسیک این مقادیر رو از کاربر میگیرم و با دستور و کتابخانه okhttputils2  ورژن 2و20
      تمام این داده ها رو میفرستم به دیتابیس و کاملا منتقل میشه و میشینه تو دیتابیس
      با این دستور 
      jobadd.PostString("http://xxx.ir/xxxxx/xxxxxxxxxx.php","name="&name&"&famil="&famil&"&tel="&tel&"&codemeli="&codemeli)
       
      حالا مشکل اینجاست
                
      در دیتابیس باید کنترل کنم که اگر "" کد ملی "" codmeli 
      تکراری بود 2تا کار انجام بده 
      1-مقادریر مربوط به کد ملی تکراری رو  برگردونه به بیسیک با مشخصات موجود اون کد تکراری که من بتونم به کاربرم نشون بدم
      مثلا بگم در یک مسیج 
      این کد ملی قبلا به نام ..... و فامیل ..... و تلفن ...... ثبت شده است!

      و دوم 
      2- دیگه در دیتابیس ثبتش نکنه 
       
      کد های من که تا اونجایی که این 4 پارامتر رو میگیره و میریزه تو دیتابی این ها هست 
      ممنون میشم قسمت شرط کد نویسی و کنترل وجود "" کد ملی رو راهنماییم بفرمایید ""
      $con = mysql_connect("localhost","xxxxxxx","xxxxxxx");
      mysql_query("SET character_set_results=utf8,character_set_client=utf8,character_set_connection=utf8, character_set_database=utf8,character_set_server=utf8",$con);
      mysql_select_db("xxxxxxxxxxx", $con);

      mysql_query("SET CHARACTER SET utf8;");
      mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'");
      ///////////////////////////

      $name = $_POST['name'];
      $famil = $_POST['famil'];
      $tel = $_POST['tel'];
      $codmeli = $_POST['codmeli'];

      //اینجا نیاز دارم چک کنم ببینم کد ملی ارسال شده در دیتابیس در ستون کد ملی هست یا نه
      // اگر هست مقادیر متناظر با اون رو بفرستم به بیسیک برای نمایش به کاربر
      //و اگر نیست
      //خط زیر رو اجرا کنم و در دیتابیس ثبت کنم
      //دقت کنید فقط و فقط میخام کد ملی چک بشه نه چیز دیگه ای

      mysql_query("INSERT INTO tbl1 (name,famil,tel,codmeli) VALUES ('$name','$famil','$tel','$codmeli')");