Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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()
Dim reuslt() As String
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-сайт: winandfx.narod.ru
 Профиль | | #4
Добавлено: 12.12.07 02:11
1: Это реально бред!
2: Используй Replace, потому что
3: Создавать массив, чтобы удалить данные, и сразу же его объединять обратно - это конечно хитрО и интересно, но GoTo 1:

Ответить

Номер ответа: 5
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #5
Добавлено: 12.12.07 02:51
Docal, а зачем
For i = 0 To UBound(result)
  If i >= 6 Then
???
Можно же
Dim reuslt() As String, i as integer, m as integer
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-сайт: sur.hotbox.ru/
 Профиль | | #6
Добавлено: 12.12.07 16:37
давно мечтал использовать параметр Start у реплейса :)
Dim i As Integer, m As Integer
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-сайт: domkratt.com
 Профиль | | #8
Добавлено: 12.12.07 23:00
ну и что, что есть? а ты знаешь, какие у тебя первые шесть строк, чтобы их Replace заменять? =)

Ответить

Номер ответа: 9
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #9
Добавлено: 12.12.07 23:00
ну и что, что есть? а ты знаешь, какие у тебя первые шесть строк, чтобы их Replace заменять? =)

Ответить

Номер ответа: 10
Автор ответа:
 Docal



ICQ: 408802757 

Вопросов: 9
Ответов: 147
 Профиль | | #10 Добавлено: 13.12.07 19:29
так и я отомже.

Ответить

Номер ответа: 11
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #11
Добавлено: 13.12.07 19:34
Вот наваял вариат без Split и Replace...ноо.. зато с InStr и Mid :)
Dim i As Long, ret As Long
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-сайт: domkratt.com
 Профиль | | #13
Добавлено: 14.12.07 16:45
это точно =)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам