PDA

View Full Version : جدا کردن متن های داخل یک تکست



vahid_d_0101
دوشنبه 07 بهمن 1392, 22:34 عصر
سلام من تازه با vb2005 دارم کار میکنم
قبلا vb6 کار کردم الان من یک تکست دارم که داخل مثلا این حروف هست
vahid:rrrr:dfvd:salam:2345:001:oooo:eeee:
حالا من میخوام هر کدوم از کلمه هایی که بین دو نقطه هست را جدا جدا در چند تکست نمایش بدم
باید از چه کدی استفاده کنم

hamed.alinejad
دوشنبه 07 بهمن 1392, 22:50 عصر
دوست عزیز این کار راه های زیادی
یکی از این راه ها به نظر من:
من الگوریتمش رو میگم که خودت راحت تبدیل به کد کنی اگه نتونستی کد هاشم میگم

1- طول رشته داخل تکس رو بخون داخل یه متغیر بذار
2- یه حلقه تعریف کن از 1 تا اندازه همون متغیر ( طول رشته )
3- هر بار که حلقه اجرا میشه توش چند تا دستور و شرط میذاری :
الف : از کاراکتر اول شروع میکنه تا اخر یکی یکی کنترل
ب : هر کاراکتر که خوندش اون رو با یه شرط مقایسه میکنه که اگه اون کاراکتر دو نقطه بود کاراکتر های بعدی رو توی تکست بذاره
ج : شرط دیگه به دو نقطه دیگه رسید اگه در حال نوشتن توی تکست جدید بود اونو تموم میکنه اگه توی هیچ تکستی نمینوشت شروع میکنه باز نوشتن توی تکست کاراکتر به کاراکتر



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

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

vahid_d_0101
دوشنبه 07 بهمن 1392, 23:00 عصر
گفتم من قبلا vb6 کار کردم اگه کدش را بزارید ممنون میشم
بعد باید سرعت این کار بالا باشه با کد کم
چون این کد روی یه برد با سی پی یو 1 اجرا میشه و تقریبا هر 400 میلی ثانیه باید این کد اجرا بشه پس کد باید حداقل کد نویسی و حداکثر سرعت را داشته باشه

HM2020
سه شنبه 08 بهمن 1392, 00:34 صبح
گفتم من قبلا vb6 کار کردم اگه کدش را بزارید ممنون میشم
بعد باید سرعت این کار بالا باشه با کد کم
چون این کد روی یه برد با سی پی یو 1 اجرا میشه و تقریبا هر 400 میلی ثانیه باید این کد اجرا بشه پس کد باید حداقل کد نویسی و حداکثر سرعت را داشته باشه

سلام

با اجازه دوستان



Dim str As String = "vahid:rrrr:dfvd:salam:2345:001:oooo:eeee"
For i = 0 To str.Split(":").Count - 1
MsgBox(str.Split(":")(i))
Next

sagggad
سه شنبه 08 بهمن 1392, 06:41 صبح
دوستان چرا پیچیده میکنید؟
اصلا احتیاجی به حلقه نیست
شما میتونی از تابع Split استفاده کنی و اون رو به یک آرایه نسبت بدی
بعد به راحتی میتونی اون رو داخل هر تکس باکسی که خواستی فراخوانی کنی

Hossis
سه شنبه 08 بهمن 1392, 17:51 عصر
Dim str1 as string ="vahid:rrrr:dfvd:salam:2345:001:oooo:eeee"
Dim arry() ss String =Split(str1,":")
For Each st As String In arry
Msgbox st
Next