PDA

View Full Version : تابع شمارش تعداد بکار رفتن یک رشته



A.Farzin
شنبه 23 تیر 1386, 18:00 عصر
با سلام

اگر بخواهیم بدانیم که یک رشته خاص چند مرتبه در درون یک رشته دیگر استفاده شده است از چه تابعی باید استفاده کرد.
مثال
رشته اول: "ABCDEFGHABKLPN"

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

ممنون

shamsoft
شنبه 23 تیر 1386, 18:14 عصر
فکر نکنم وی بی به طور پیش فرض این تابع رو داشته باشه. ولی اگه خودت هم بخوای اینو بنویسی کار سختی نیست

noorsoft
شنبه 23 تیر 1386, 19:10 عصر
با یک حلقه FOR و تابع Instr میتونی این کار ار انجام بدی

__siavash__
شنبه 23 تیر 1386, 19:24 عصر
منم فکر نمیکنم ویژوال بیسیک تابعی برای این کار داشته باشه اما اگه بخوای خودت بنویسی باید ببینی رشته دوم چند حرفیه مثلا 2 حرفی؛
بعد رشته اول رو 2 حرف 2 حرف جدا کنی و تو یه آرایه بریزی بعد از اندیس پایین آرایه تا اندیس بالای آرایه یکی یکی با این رشته دوم چک کنی !!!
البته بسته به این که دقیقا میخوای چه کار کنی ممکنه روش کار فرق کنه !

فردان فردان
شنبه 27 بهمن 1386, 13:10 عصر
من هم دنبال چنین تابعی برای شمارش تعداد یک حرف در یک رشته هستم. اگر کسی میدونه دریغ نکنه!

mononok
شنبه 27 بهمن 1386, 21:47 عصر
سلام
فکر می کنم این کد مشکل شما رو حل بکنه
البته این طور کدها جزئیات زیادی دارند که وقتی تست می شوند معلوم میشود ولی با یک تغییر کوچک می شود مشکل رو حل کرد:لبخندساده:

Dim a, b As String
a = Txt1.Text
b = Txt2.Text
c = Len(a)
t = Len(b)

For i = 1 To (c - t + 1)
s = Mid(a, i, t)
If s = b Then
Co = Co + 1
End If
Next
Print Co

Mbt925
شنبه 27 بهمن 1386, 21:51 عصر
نمونه زیر رو ببینید:

ramin1800
یک شنبه 28 بهمن 1386, 14:27 عصر
سلام
اگه بخوایم کلمه هایی را که پیدا کرده ایم را رنگی کنیم مثل مرورگر فایرفوکس باید چکار کرد؟

mononok
یک شنبه 28 بهمن 1386, 14:47 عصر
من در این کد به جای textbox اول که کل رشته در آن قرار دارد از richtextbox که مانند texbox است ولی قابلیت بیشتری دارد استفاده کردم و textbox دوم هم رشته مورد جست وجو است

c = Len(Txt1.Text)
a = InStr(1, Rich.Text, Txt1.Text, vbTextCompare)
Do While a <> 0
Rich.SelStart = a - 1
Rich.SelLength = c
Rich.SelBold = vbBlue
Rich.SelBold = True
a = InStr(a + 1, Rich.Text, Txt1.Text, vbTextCompare)
Loop
موفق باشید:لبخندساده:

Mbt925
یک شنبه 28 بهمن 1386, 17:39 عصر
سلام
اگه بخوایم کلمه هایی را که پیدا کرده ایم را رنگی کنیم مثل مرورگر فایرفوکس باید چکار کرد؟

TextBox معمولی ویبی این قابلیت رو نداره ،
برای این کار همون طور که دوستمون مثال زدن باید از RichTextBox استفاده کنید.