Как?
Мне надо, что бы удалялась первая строка из TextBox'a (Multi), когда число строк будет больше 3х. Вообщем что-то типа лог файла...
Option Explicit
Dim lineNr As Long
Private Sub Command1_Click()
lineNr = lineNr + 1
Text1.Text = Text1.Text & vbCrLf & "line " & lineNr
End Sub
Private Sub Form_Load()
Text1.Text = "line 1" & vbCrLf & "line2" & vbCrLf & "line 3" & vbCrLf & "line 4"
lineNr = 4
End Sub
Private Sub Text1_Change()
Dim t As String
Dim p As Long
Dim i As Long
t = Text1.Text
'удалить пустые строки
Do While (InStr(1, t, vbCrLf & vbCrLf))
t = Replace(t, vbCrLf & vbCrLf, vbCrLf)
Loop
'удалить ведущие пустые строки
Do While (Left$(t, 2) = vbCrLf)
t = Mid$(t, 3)
Loop
'удалить концевые пустые строки
Do While (Right$(t, 2) = vbCrLf)
t = Left$(t, Len(t) - 2)
Loop
'найти последние 3 троки, т.е. найти третий vbCrLf справа
p = -1
For i = 1 To 3
p = InStrRev(t, vbCrLf, p)
If (p = 0) Then GoTo ok
Next
If (p) Then t = Mid$(t, p + 2)
ok:
Text1.Text = t
End Sub
Option Explicit
Dim lineNr As Long
Private Sub Command1_Click()
lineNr = lineNr + 1
Text1.Text = Text1.Text & vbCrLf & "line " & lineNr
Text1.SelStart = Len(Text1.Text)
End Sub
Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot и гости: 23