Собственно,вопрос в том как узнать количество символов в тексте?
Как посчитать количество символов
Как посчитать количество символов
|
17.02.2010 17:44:44
|
|
|
|
|
|
17.02.2010 17:53:38
Текст это одна строка и что значит "узнать количество символов"? Количество каждого символа или сумма всех символов?
|
|
|
|
|
|
17.02.2010 17:58:57
Допустим, есть у меня текст в Memo, мне нужно посчитать сумму всех символов в нем.
|
|
|
|
|
|
17.02.2010 18:05:53
Вот так
|
|||
|
|
|
|
17.02.2010 18:37:34
При таком подсчете количество символов получиться больше на количество строк умноженных на 2.
|
|
|
|
|
|
17.02.2010 19:05:27
А почему такое происходит?
|
|
|
|
|
|
17.02.2010 19:30:02
Потому что в конце каждой строки есть #13#10
|
|
|
|
|
|
17.02.2010 19:31:14
Вот так правильно будет
|
|||
|
|
|
|
17.02.2010 19:48:11
-1 лишний, правильно вот так
|
|||
|
|
|
|
17.02.2010 20:06:37
Странно, у меня как раз без -1 на 2 символа больше
|
|
|
|
|
|
17.02.2010 20:14:28
Попробуйте набрать в Memo
1 2 3 4 5 И посчитать количество символов, с -1 получится 7, но это же не так |
|
|
|
|
|
17.02.2010 20:28:31
Нет, с -1 получится как раз 5,а без него всего 3
|
|
|
|
|
|
17.02.2010 20:41:15
Действительно, думал наоборот.
|
|
|
|
|
|
17.02.2010 20:43:26
Виктор, у Вас, конечно, все правильно, но если в тексте нет ни одного символа, то результат получится 2 символа.
|
|
|
|
|
|
17.02.2010 21:08:10
Ну тогда нужно поставить условие и в этом приравнивать значение к нулю.
|
|
|
|
|
|
17.02.2010 21:25:47
Ага, а еще если поставить один символ в итоге получится -1, отрицательного количества быть не может.
|
|
|
|
|
|
17.02.2010 22:37:46
Тогда нужно брать значение по модулю.
|
|
|
|
|
|
17.02.2010 22:44:32
Можно и так, но выглядеть написанное будет некрасиво
|
|
|
|
|
|
17.02.2010 23:19:42
Что-бы все эти условия не ставить, нужно делать так
|
|||
|
|
|
|
17.02.2010 23:36:04
Красиво, но медленно.
|
|
|
|
|
|
17.02.2010 23:58:33
Да, я уже думал над этим, но ничего лучше не придумал.
|
|
|
|
|
|
18.02.2010 00:18:07
Скорее всего, здесь проблема в length. Потому что если применить length к Memo.Lines.Text, то есть весь текст скопировать в одну строку,а потом посчитать в ней все символы, то результат получится намного быстрее. Но ведь в Вашем варианте копирования не происходит. Значит проблема именно в этой функции.
|
|
|
|
|
|
18.02.2010 00:54:25
Не думаю. Скорее проблема в Memo.Lines, так как каждый раз вызывается WinAPI (SendMessage) за получение каждой строки
|
|
|
|
|
|
16.03.2010 04:12:44
в мертвом теле здоровый дух
|
|||
|
|
|
|
02.06.2010 18:19:02
А не проще будет сделать вот так
свободный страннык
|
||||
|
|
|
|||
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)