С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/43: Рейтинг темы: голосов - 43, средняя оценка - 4.84
 Аватар для Artpro
0 / 0 / 1
Регистрация: 12.09.2011
Сообщений: 14

Подсчет количества строк и символов в TextBox

23.03.2012, 11:29. Показов 8942. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите решить такую задачу:

Есть текстовое поле, т.е TextBox со свойствами:
Multiline = True
ScrollBars = 2-Вертикаль
Нужно сделать подсчет строк и символов в строке.

Мой исходник с моим решением:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
' Подсчет строк 
Public Function Strok() As Long
Strok = UBound(Split(TextBox.Text, vbNewLine)) + 1
End Function
 
' Подсчет символов
Public Function Simvols() As Long
Simvols = Len(TextBox.Text)
End Function
 
'Вывод происходит в Label:
Label1.Caption = "Кол-во строк:" & " " & Strok & " " & "Кол-во символов: " & Simvols
Показ кол-ва строк происходит при нажатие кнопки Enter, но мне бы хотелось сделать так чтобы дойдя до конца строки текстового поля он автоматически переходил на новую строку, и автоматически прибавлял к количеству 1 строку. А то так он показывает например: на самом деле написано 2 строки, а он в результате выводит 1 строку.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.03.2012, 11:29
Ответы с готовыми решениями:

Подсчёт количества символов и количества строк в файле
Нужно написать программу, которая запрашивает у пользователя имя (адрес) текстового файла, далее открывает его и считает в нем количество...

Подсчёт количества символов в каждой строке textBox
Здравствуйте. Есть задача, нужно в textBox (с включённым свойством MultiLine), просчитать длину строки и если длинна превышает 5...

Подсчет количества символов, строк и цифр.
Очень нужна помощь с этими заданиями, помогите пожалуйста

4
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
23.03.2012, 13:22
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
 
Private Const EM_GETLINECOUNT = &HBA
 
Function Strok() As Long
Strok = SendMessage(TextBox.hWnd, EM_GETLINECOUNT, 0, 0)
End Function
 
Function Simvols() As Long
Simvols = Len(TextBox.Text)
End Function
 
Private Sub TextBox_Change()
  Label1.Caption = "Кол-во строк:" & " " & Strok & " " & "Кол-во символов: " & Simvols
End Sub
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.03.2012, 13:22
Цитата Сообщение от Artpro Посмотреть сообщение
но мне бы хотелось сделать так чтобы дойдя до конца строки текстового поля он автоматически переходил на новую строку, и автоматически прибавлял к количеству 1 строку.
При Multiline, когда строка пишется сначала текстового поля, не происходит образования новой строки. Понятие строки включает в себя специальные символы ( Chr(10) И Chr(13) ), по которым вы и ведете счет так:
Visual Basic
1
Strok = UBound(Split(TextBox.Text, vbNewLine)) + 1
А если вам нужно провести подсчет линий в текстовом поле, то способ будет другой. Делается это так :
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Const EM_GETLINECOUNT = 186
 
' Подсчет строк
Public Function Strok() As Long
Strok = UBound(Split(TextBox.Text, vbNewLine)) + 1
End Function
 
' Подсчет символов
Public Function Simvols() As Long
Simvols = Len(TextBox.Text)
End Function
 
Private Sub TextBox_Change()
' Подсчет линий
Lin = SendMessage(TextBox.hwnd, EM_GETLINECOUNT, 0&, 0&)
'Вывод происходит в Label:
Label1.Caption = "Кол-во строк:" & " " & Strok & " " & "Кол-во символов: " & Simvols & " " & "Кол-во линий: " & Lin
 
End Sub
1
 Аватар для Artpro
0 / 0 / 1
Регистрация: 12.09.2011
Сообщений: 14
23.03.2012, 14:14  [ТС]
Pro_grammer, Апострофф,
Большое вам спасибо за разъяснение, очень помогло. Буду знать теперь как правильно подсчитывать строки.

А то копал ответ на этот вопрос в google, несколько дней и правильного и конкретного ответ не находил. спасиб)

Добавлено через 41 минуту
Цитата Сообщение от Апострофф Посмотреть сообщение
Visual Basic
1
2
3
Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Можете объяснить что это означает? в первый раз такое встречаю...
Наверно это глупый вопросы, но я ток учусь...
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
23.03.2012, 14:38
Цитата Сообщение от Artpro Посмотреть сообщение
Можете объяснить что это означает?
Это один из примеров обращения к API - функциям! Продолжай учиться
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.03.2012, 14:38
Помогаю со студенческими работами здесь

Подсчет количества строк и символов в строке
Добрый день! Прошу вашей помощи! Нужно считать из файла количество строк и символов в строке, в самом файле занесена матрица, то есть...

Clojure Обработка строк - подсчет количества заданных символов
Помогите, пожалуйста, решить задачу: Требуется подсчитать количество запятых, а также количество сочетаний знаков точки и следующей буквы...

Подсчёт количества слов в textBox
Здравствуйте! Помогите, пожалуйста, решить проблему! У меня есть textBox, в котором нужно посчитать количество слов введенного текста....

Подсчет количества цифр, букв в textbox-ах
Даны 3 texbox. В 1 водятся цифры во втором буквы в 3 их общее количества без пробела.Как это сделать уже сижу который час помогите кто...

Подсчёт количества символов
И снова здравствуйте, уважаемые. Обращаюсь с просьбой помочь в решении такой задачи: "В каждом параграфе сделать по середине...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru