Страница: 1 |
Страница: 1 |
Вопрос: textbox
Добавлено: 11.12.07 14:11
Автор вопроса: Andrey
проблема такая. Есть textbox. В нем содержиться 25 строк текста. Нужно первые 6 строк удалить либо просто заменить..а остальные строки не трогать..Проще говоря первые шесть строк меняем остальной текст должен остаться прежним.
Обидно, но я так и не понял как мне эту простую на первый взгляд задачу решить...Кто поможет?
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Andrey
Вопросов: 2
Ответов: 4
Профиль | | #1
Добавлено: 11.12.07 14:51
не ответили...ответ нашел сам..кому надо будет вот он
Function ReplaceAll(SourceString As String, ReplaceThis As String, WithThis As String)
Dim Temp As Variant
Temp = Split(SourceString, ReplaceThis)
ReplaceAll = Join(Temp, WithThis)
End Function
Private Sub Form_Load()
Text2 = ReplaceAll(Text2, "текст который меняем", "текст На который меняем"
End Sub
Номер ответа: 2
Автор ответа:
Docal
ICQ: 408802757
Вопросов: 9
Ответов: 147
Профиль | | #2
Добавлено: 11.12.07 17:28
А можно проще берёш
Private Sub Command1_Click()
result = Split(Text1.Text, vbCrLf)
For i = 0 To UBound(result)
If i >= 6 Then
Text2.Text = Text2.Text + CStr(result(i)) + vbCrLf
End If
Next i
End Sub
через Replace ето делать как то тупо
Номер ответа: 3
Автор ответа:
Retupa
Вопросов: 1
Ответов: 51
Профиль | | #3
Добавлено: 11.12.07 22:36
А я вообще там Replace не увидел, если не считать названия ф-ии. А что до самой функции, бред какой-то, там вообще не то (по сабжу) да и вообще, какой-то тупой вариант реадизации стандартной ф-ии replace. -> Replace(Text2, "текст который меняем", "текст На который меняем"...
Номер ответа: 4
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #4
Добавлено: 12.12.07 02:11
1: Это реально бред!
2: Используй Replace, потому что
3: Создавать массив, чтобы удалить данные, и сразу же его объединять обратно - это конечно хитрО и интересно, но GoTo 1:
Номер ответа: 5
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #5
Добавлено: 12.12.07 02:51
Docal, а зачем
If i >= 6 Then
Можно же
result = Split(Text1.Text, vbNewLine)
m = UBound(result)
For i = 7 To m
Text2.Text = Text2.Text + CStr(result(i)) + vbNewLine
Next i
Номер ответа: 6
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #6
Добавлено: 12.12.07 16:37
давно мечтал использовать параметр Start у реплейса
For i = 1 To 6: m = InStr(m + 1, Text1.Text, vbNewLine) + 2: Next i 'нашли позицию начала 7-й строки
Text1.Text = Replace(Text1.Text, vbNullString, vbNullString, m) 'отрезали начало
Номер ответа: 7
Автор ответа:
Docal
ICQ: 408802757
Вопросов: 9
Ответов: 147
Профиль | | #7
Добавлено: 12.12.07 18:45
Executioner только у тебя ошыбка ты не учитываеш что массив начинаетса с 0 а не з 1 и потому отрезаютса первые 7 елементов
по поводу етого ReplaceAll
нах велосипед то изобретать если такое уже есть :
Function Replace(Expression As String, Find As String, Replace As String, [Start As Long = 1], [Count As Long = -1], [Compare As VbCompareMethod = vbBinaryCompare]) As String
Номер ответа: 8
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #8
Добавлено: 12.12.07 23:00
ну и что, что есть? а ты знаешь, какие у тебя первые шесть строк, чтобы их Replace заменять?
Номер ответа: 9
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #9
Добавлено: 12.12.07 23:00
ну и что, что есть? а ты знаешь, какие у тебя первые шесть строк, чтобы их Replace заменять?
Номер ответа: 10
Автор ответа:
Docal
ICQ: 408802757
Вопросов: 9
Ответов: 147
Профиль | | #10
Добавлено: 13.12.07 19:29
так и я отомже.
Номер ответа: 11
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #11
Добавлено: 13.12.07 19:34
Вот наваял вариат без Split и Replace...ноо.. зато с InStr и Mid
ret = 1
t(1) = ""
Do
ret = InStr(ret + 1, t(0), vbNewLine)
If ret = 0 Then Exit Do
i = i + 1
If i = 6 Then
t(1) = Mid(t(0), ret + 2)
Exit Do
End If
Loop
Номер ответа: 12
Автор ответа:
Docal
ICQ: 408802757
Вопросов: 9
Ответов: 147
Профиль | | #12
Добавлено: 14.12.07 16:34
бля повсюду извращенцы
Номер ответа: 13
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #13
Добавлено: 14.12.07 16:45
это точно