PDA

View Full Version : مبتدی: تبدیل جای خالی(space) به " " در تکست باکس



morteza1376
سه شنبه 22 مرداد 1392, 16:29 عصر
سلام دوستان
من یه تکست باکس دارم که متنیو از یه جایی می گیره مثلا:
c:\windows\m m\my program
حالا می خوام به جای اون اسپیس های وسطشون کوتیشن به این شکل بذارم " " که اینجوری بشه:
c:\windows\m" "m\my" "program
حالا چطوری انجامش بدم ؟
ممنون

nasim bahari
سه شنبه 22 مرداد 1392, 16:40 عصر
text2.text=replace(text1.text," ", """",1,text1.textlenght)

morteza1376
سه شنبه 22 مرداد 1392, 16:56 عصر
text2.text=replace(text1.text," ", """",1,text1.textlenght)
ممنون درست شد
کد شما رو یه کم ویرایش کردم درست شد اما یه چیز؟
TextBox1.Text = Replace(TextBox1.Text, " ", """ """, 1)
این کد زمانی کار میکنه که یه اسپیس بین کلمات باشن
ولی وقتی که 2 یا 3 تا میشن به هم میریزه
مثلا:
a b
باید بشه این:
a" "b
اما میشه این:
a" "" "b
ممنون میشم اگه جواب بدین

nasim bahari
سه شنبه 22 مرداد 1392, 17:21 عصر
کد اسکی کارکترها رو بخون اگه 32 نبود که هیچی ولی اگه بود یه شمارنده بزار و یه دونه بهش اضافه کن و کارکتر بعدی رو هم بخون و اگه space بود یکی به شمارنده اضافه کن و .....................

حسش نیست توضیحاتم رو کامل کنم ولی فکر کنم منظورم رو فهمیدی.....

خودم بدجوری گیر افتادم باید پروژه ام رو پس فردا تحویل بدم و گرنه کد رو برات می نوشتم

hosein320
سه شنبه 22 مرداد 1392, 21:58 عصر
سلام



Private Function Tr(ByVal Str As String, OldChar As String, NewChar As String) As String
Dim I As Integer = 0
Dim A As String = ""
Dim Co As Integer = 0

While Co < Str.Length
Co += 1
Do While I < Str.Length
I += 1
If Mid(Str, I, 1) = OldChar Then
A &= Mid(Str, I, 1)
ElseIf A <> "" Then
Str = Replace(Str, A, NewChar, , 1)
I = I - A.Length
A = ""
End If
Loop
End While

Return Str
End Function


TextBox1.Text = Tr(TextBox1.Text, " ", """")
:چشمک:

مهرداد صفا
چهارشنبه 23 مرداد 1392, 18:42 عصر
با سلام.
با این روش مطمئن می شوید که دو space متواری باقی نخواهد ماند:

While text.IndexOf(" ") >-1
text=text.replace(" "," ")
end while