PDA

View Full Version : جدا کردن حروف بعد از کلمه ی مورد نظر|visual basic



mahdimk
یک شنبه 15 آذر 1388, 00:48 صبح
سلام
یه درخواست داشتم
می خواستم ببینم چجوری می شه با ویژوال بیسیک یه فایل تکست رو لود کرد و حرف های بعد از : و خود : رو حذف کنه و نتیجه رو به ما بده
خیلی ممنوم می شم جواب بدید

xxxxx_xxxxx
یک شنبه 15 آذر 1388, 01:25 صبح
سلام،
با پیدا کردن موقعیت کاراکتر : از طریق تابع Instr و جدا کردن هرچیزی قبل از آن با تابع Left و یا Mid
به طور مثال دارید:


This is a test:Barnamenevis.org
حالا اینطور عمل کنید:


Dim MyStr As String
MyStr = "This is a test:Barnamenevis.org"
pos = InStr(1, MyStr, ":") - 1
MsgBox Left(MyStr, pos)

برای باز کردن فایل متنی جستجو کنید در این رابطه تاپیک زیاد هست.

موفق باشید/

mahdimk
یک شنبه 15 آذر 1388, 01:48 صبح
میشه سورس رو قرار بدید؟/

ممنون می شم اگر این کار رو انجام بدید
تا همینجا هم ممنونم
کارم گیره اگر بتونید این کارو انجام بدید خوشحال می شم.

ƒxmahdi
یک شنبه 15 آذر 1388, 09:49 صبح
نمونه زیر فقط در یک خط یکبار چک می کنه !

mahdimk
یک شنبه 15 آذر 1388, 17:05 عصر
خیلی ممنون
حالا اگر بخوام چیزهایی رو که توی lis1 میده بیاره توی یه تکست نشون بده کدش چی می شه؟

text1.text = list1.list
که نمی شه
پس چی میشه؟
خیلی ممنونم

quantomquery
یک شنبه 15 آذر 1388, 17:52 عصر
سلام



For i = 1 To List1.ListCount
Text1.Text = Text1.Text + vbNewLine + List1.List(i)
Next i

xxxxx_xxxxx
یک شنبه 15 آذر 1388, 17:53 عصر
متد List از ListBox یک مقدار ورودی دارد که شماره آیتم لیست هست. و متد ListIndex به آیتم انتخاب شده لیست باکس اشاره میکند. پس مثلاً برای نمابش آیتم انتخاب شده از لیست باکس باید نوشت:


MsgBox List1.List(List1.ListIndex)


موفق باشید/

mahdimk
یک شنبه 15 آذر 1388, 18:15 عصر
توی اون سورسی که fxmahdi قرار داد چجوری میشه محتوایت list1 روی ذخیره کرد داخل فایل تکست؟

xxxxx_xxxxx
یک شنبه 15 آذر 1388, 18:38 عصر
توی اون سورسی که fxmahdi قرار داد چجوری میشه محتوایت list1 روی ذخیره کرد داخل فایل تکست؟

بلافاصله بعد از این که فایل Txt.txt باز شد، یه فایل دیگه باز کنید اما این بار برای Output (نوشتن در فایل). به این صورت:


Open App.Path & "\New.txt" For Output As #2
در آخر حلقه Do While - Loop (یعنی یک خط قبل از Loop) محتوای متغیر str2 را درون فایل جدیدی که ایجاد کردید ذخیره کنید. به این صورت:


Print #2, str2
در انتهای sub هم پیشنهاد می کنم فایل های باز شده رو ببندید:


Close #1
Close #2
در این روش برای جداسازی رشته موردنظر از حلقه for استفاده شده، خب هم پیچیده تر هست و هم زمان بر، این حلقه:


For i = 1 To Len(str1)
If Mid(str1, i, 1) = ":" Then
Exit For
Else
str2 = str2 & Mid(str1, i, 1)
End If
Next i
این حلقه کار همون دوخطی رو میکنه که در پست شماره 2 نوشتم:


pos = InStr(1, str1, ":") - 1
str2 = Left(str1, pos)
موفق باشید/

mahdimk
یک شنبه 15 آذر 1388, 18:42 عصر
شما که دارید ذخمت می کشید جواب من رو میدید
ازتون خواهش می کنم این کار رو روی سورس انجام بدید.

xxxxx_xxxxx
یک شنبه 15 آذر 1388, 18:48 عصر
فکر می کردم لذت یادگیری بیشتر باشه!
یعنی حتی کپی کردنش هم سخته؟ یکم تلاش کنید دوست عزیز.

mahdimk
یک شنبه 15 آذر 1388, 19:08 عصر
ممنون ولی درست شد