PDA

View Full Version : پیدا کردن متن



r0ot$harp
دوشنبه 26 آذر 1386, 21:42 عصر
سلام

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

man hatsam alan injam kasi nist beh ma begeh chi kareh hasti action="sirab.jpg" sjaklsjakjslka

من می خوام در متن بالا برنامه بیاد دنبال عبارت action="s بگرده یعنی تا قبل از حرف s و باید از بعد از " را تا " بعدی انتخاب کنه و بریزه در داخل یه متغیری . یعنی این sirab.jpg عبارت را بریزه تو متغیر و اینم بگم که sirab.jpg همیشه یکسان نیست شاید یه بار بشه ali mohamad.jpg

ممنون

M8SPY_OK
دوشنبه 26 آذر 1386, 22:29 عصر
کاری نداره که . (البته اگه منظورتو درست متوجه شده باشم)

باید از تابع Instr برای جستجو و از تابع Mid برای جدا نمودن قستمی از متن استفاده کنی ! . از اولین کوتیشن تا آخرین کوتیشن : هر چی متن بین اینها بود رو داخل یک متغیر قرار بده .

درسته منظورت همینه ؟

r0ot$harp
دوشنبه 26 آذر 1386, 22:35 عصر
کاری نداره که . (البته اگه منظورتو درست متوجه شده باشم)

باید از تابع Instr برای جستجو و از تابع Mid برای جدا نمودن قستمی از متن استفاده کنی ! . از اولین کوتیشن تا آخرین کوتیشن : هر چی متن بین اینها بود رو داخل یک متغیر قرار بده .

درسته منظورت همینه ؟

ممنون می شم اگر سوری برنامه رو بدین .

باتشکر

mosab_vb
دوشنبه 26 آذر 1386, 22:46 عصر
سلام.یه حلقه قرار می دید به اندازه len متنتون.mid جزء جزء متنتون رو چک می کنید.اگه مساوی با " بود یه کانتر قرار می دید و مقدار اون رو یکی اضافه می کنید و بعدش حروف بعد از " را در یک متغیر string ذخیره می کنیدحالا مقدار کانتر را چک می کنید اگه مساوی 2 بود کارتون تموم بشه واز حلقه خارج بشه.این ساده ترین روشه.

mosab_vb
دوشنبه 26 آذر 1386, 22:54 عصر
اینم کد که یه آرتیکل هستش.یعنی یه منطقه که بتونین تو برنامتون پیاده سازی کنید:

dim k ,p as integer
dim s as string
for k=1 to len(text)
if mid$(text,k,1)=""" then
p=p+1
end if
if p=1 and mid$(text,k,1)<>""" then
s=s+mid$(text,k,1)
else
exit for
end if
next
print s

r0ot$harp
دوشنبه 26 آذر 1386, 23:03 عصر
کاری نداره که . (البته اگه منظورتو درست متوجه شده باشم)

باید از تابع Instr برای جستجو و از تابع Mid برای جدا نمودن قستمی از متن استفاده کنی ! . از اولین کوتیشن تا آخرین کوتیشن : هر چی متن بین اینها بود رو داخل یک متغیر قرار بده .

درسته منظورت همینه ؟

بله منظورم همینه بیا اونو پیدا کنه و متنش رو قرار بده .

mosab_vb
دوشنبه 26 آذر 1386, 23:11 عصر
من که براتون کدشو نوشتم.و فکر کنم درست باشه.ندیدین؟مطمئنم که منظورتون همینه.

r0ot$harp
دوشنبه 26 آذر 1386, 23:16 عصر
من که براتون کدشو نوشتم.و فکر کنم درست باشه.ندیدین؟مطمئنم که منظورتون همینه.


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

با تشکر

mosab_vb
دوشنبه 26 آذر 1386, 23:26 عصر
اوه.راست میگید.این یه معذلیه.تا حالا به این مسئله برخورد نکرده بودم.نمیشه " رو بین دو تا "" قرار داد.خطا می گیره.دارم روش کار می کنم.

mosab_vb
دوشنبه 26 آذر 1386, 23:43 عصر
Dim p As Integer
Dim s As String
Dim b As Variant
Private Sub Command1_Click()
For k = 1 To Len(Text1.Text)
If Mid$(Text1.Text, k, 1) = Text2.Text Then
p = p + 1
End If
If p = 1 And Mid$(Text1.Text, k, 1) <> Text2.Text Then
s = s + Mid$(Text1.Text, k, 1)
End If
If p = 2 Then Exit For
Next
MsgBox s
End Sub

چون کاری نمیشد کرد این کار رو کردم."رو توی یک تکست دیگه قرار دادم ومقایسه کردم.جواب هم داد.

mosab_vb
سه شنبه 27 آذر 1386, 00:12 صبح
اگه مسئله شما حل شد لطفا این تاپیک رو حل شده اعلام کنید.مرسی.از تشکرشما هم ممنونم.

M8SPY_OK
سه شنبه 27 آذر 1386, 14:39 عصر
آره دیگه باید " رو دخل یک تکست باکس و یا لیبل قرار بدید و از خاصیت Text ویا Caption اون شی برای پیاده سازی کوتیشن در کد برنامه استفاده کنید .

vbhamed
چهارشنبه 28 آذر 1386, 00:22 صبح
سلام
از این روش استفاده کنید

x = instr(strSource, chr$(34))
....