Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Количество символов Добавлено: 04.09.08 19:28  

Автор вопроса:  Яр
Подскажите, пожалуйста, как определить количество символов от начала строки до курсора, когда он стоит где-то внутри строки?
Спасибо.

Ответить

  Ответы Всего ответов: 10  

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #1
Добавлено: 04.09.08 19:45
selstart

Ответить

Номер ответа: 2
Автор ответа:
 Яр



Вопросов: 18
Ответов: 24
 Профиль | | #2 Добавлено: 04.09.08 22:50
SelStart показывает начальную позицию выделения текста. А мне нужно посчитать количество символов от начала строки(SelStart=0) до текущей позиции курсора, который нахоится не в конце строки (SelLenght=Len(RichTextBox.Text)), а где-то в ее "середине" (????)

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #3
Добавлено: 05.09.08 00:19
А! ну тогда тебе нужна функция selstart
...странно, ощущение будто я это уже кому-то говорил недавно

Ответить

Номер ответа: 4
Автор ответа:
 VBNet$ik



Вопросов: 1
Ответов: 31
 Профиль | | #4 Добавлено: 15.09.08 13:39
надо вычесть

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #5
Добавлено: 15.09.08 22:17
ага, текущая позиция минус ноль(начало строки)

Ответить

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



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

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #6
Добавлено: 16.09.08 01:46
Вроде козе понятно, что это будет Control.SelStart =) Но только если не мультилайновый текстбокс.

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #7
Добавлено: 16.09.08 17:25
а если да?

Ответить

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



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

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #8
Добавлено: 16.09.08 18:03
  1. Private Sub Command1_Click()
  2. Dim Count As Long
  3. Dim lLine As Long
  4. Dim ret As Long
  5. Dim CursorPosOnLine As Long
  6. 'Text1.MultiLine must be True
  7. Do
  8.     lLine = ret
  9.     ret = InStr(ret + 1, Text1, vbNewLine)
  10.     If (ret = 0) Or (ret > Text1.SelStart) Then Exit Do
  11.     Count = Count + 1
  12. Loop
  13. CursorPosOnLine = Text1.SelStart - lLine
  14. Me.AutoRedraw = True
  15. Me.Print "Курсор находится в " & Str(Count + 1) & " строке, в " & Str(CursorPosOnLine) & " колонке"
  16. End Sub

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #9
Добавлено: 16.09.08 18:28
очень классно, но тут подход другой совершенно

Ответить

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



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

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #10
Добавлено: 16.09.08 18:35
А какой должен быть подход?

Ответить

Страница: 1 |

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



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