![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Как посчитать количество Слов в текскте в мемо?
|
|
#2
|
||||
|
||||
|
Можно как количество пробелов +1. Так проще всего. Или предлоги с союзами не нужно?
Ну есть ещё ньюансы если есть перенос строки, но думаю мысль ясна. |
|
#3
|
|||
|
|||
|
нужно все считать и предлоги, и союзы.
|
|
#4
|
|||
|
|||
|
функция но она не работает может кто подскажет почему
Код:
function KolSlov(var AMemo : Tmemo) : integer;
Var
n : integer;
i : byte;
Begin
n := 0;
for i := 1 to AMemo.Lines.Count-1 do
begin
if (AMemo.Lines[i]<>' ') and (AMemo.Lines[i+1]=' ') then
n:=n + 1;
end;
end;Код:
ValueListEditor2.Values['Слов'] := IntToStr(KolSlov(memo1)); Последний раз редактировалось WeG, 06.03.2010 в 13:33. |
|
#5
|
||||
|
||||
|
Цитата:
Потому как Lines - это строки. а тебе нужно их содержимое. |
|
#6
|
|||
|
|||
|
Спасибо огромное! Все, дошло до меня
![]() |
|
#7
|
|||
|
|||
|
Подсчет кол-ва слов, подсчетом кол-ва пробелов.
На самом деле не самый удачный способ считать пробелы, так как, если пробелы будут вподряд стоять, то кол-во слов подсчитает неправильно. Код:
function GetWordsCount(const aMemo:TMemo):Integer;
var
i:integer;
begin
Result:=0;
with aMemo do
if Length(Text)>0 then
begin
for i:=1 to Length(Text) do
if (Text[i] in [' ', #13]) then
Inc(Result);
if not (Text[i] in [' ', #13]) then inc(Result);
end;
end; |
|
#8
|
||||
|
||||
|
Цитата:
Функция: Код:
function WordCount(Text : String) : LongWord; var i : LongWord; begin Result:=0; for i:=0 to Length(Text) do if (Text[i]=' ') or ((Text[i]=#13) and (Text[i+1]=#10)) then inc(Result); if Result<>0 then inc(Result); end; Вызов: Код:
ShowMessage('Words count: '+IntToStr(WordCount(Memo1.Text)));Работает если между словами есть пробел, либо если есть переводы строк. Дерзай PS> Кстати 2 пробела между двумя словвами ставить нельзя)) Последний раз редактировалось Ferra, 06.03.2010 в 13:41. |