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))
....
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.