PDA

View Full Version : تابعی برای قراردادن کاراکتر در محل خاصی از رشته؟



one hacker alone
پنج شنبه 23 شهریور 1391, 14:55 عصر
با یاد خدا
سلام دوستان
دنبال یه تابع میگردم که بتونم در مثلا 4 کاراکتر یک رشته عبارت "A" یا هرچیزی رو وارد کنم
یه جورایی مثل تابع mid اما با این تفاوت که تابع مید برای خواندن به کار میره من میخوام در محل خاصی از یک رشته، رشته دیگری بنویسم

sara_t
پنج شنبه 23 شهریور 1391, 15:14 عصر
برداشتی که من از صحبت شما دارم همون تابع mid هست میشه با یه مثال توضیح بدین دقیقا چیکار میخاین انجام بدین؟

محسن واژدی
پنج شنبه 23 شهریور 1391, 15:14 عصر
سلام علیکم
کد زیر را بررسی کنید:
Private Sub Command1_Click()
Dim sText$
sText$ = "ABC-EF"
MsgBox sText$, , "Before"
Mid(sText$, 4) = "D"
MsgBox sText$, , "After"
End Sub

موفق باشید

ho3ein.3ven
پنج شنبه 23 شهریور 1391, 16:52 عصر
سلام . با اجازه جناب واژدی
منم یک روش دیگه به ذهنم رسید که گفتم بزارم اینجا :
Private Sub Command1_Click()
Text1.SelStart = 1
Text1.SelLength = 1
Text1.SelText = "sa434"
End Sub

الان کد بالا از کاراکتر شماره 1 تا کاراکتر شماره 2 را حذف کرده و کاراکتر های مورد نظر را جایگزین می کنه.

محسن واژدی
پنج شنبه 23 شهریور 1391, 18:58 عصر
تابع زیر را هم بررسی کنید:

Public Function AddToString(sMainString$, sStrForAdd$, iPos%) As String
Dim sS1$, sS2$
sS1$ = Mid$(sMainString$, 1, iPos%)
sS2$ = Mid$(sMainString$, iPos% + 1)
AddToString = sS1$ & sStrForAdd$ & sS2$
End Function


برای مثال:

Private Sub Command1_Click()
Dim sText$
sText$ = "ABCEF"
MsgBox sText$, , "Before"
sText$ = AddToString(sText$, "D", 3)
MsgBox sText$, , "After"
End Sub

موفق باشید

one hacker alone
یک شنبه 26 شهریور 1391, 14:19 عصر
ممنون دوستان ظاهرا تابعی نبود خودمون باید مینوشتیم منم یکی نوشتم

Public Function Insertstr(ByVal Orginalstr As String, ByVal Place As Integer, ByVal Newstr As String) As String
Dim str1 As String
Dim strlen As Integer
strlen = Len(Orginalstr)
str1 = Left(Orginalstr, Place)
str2 = Right(Orginalstr, strlen - Len(str1))
Insertstr = str1 & Newstr & str2
End Function