• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Как Программно Посчитать Количество Слов В Тексте.

Sascha Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,562
Баллы
155
Приведу маленький пример как программно посчитать количество слов в тексте.
Кидаем на форму Memo,Button,Label

memo.JPG
Далее создадим функцию по подсчету слов :
Код:
function CountWords(InputString: string): integer;
var
  aChar: char;
  WordCount: integer;
  IsWord: boolean;
  i: integer;
begin
  WordCount := 0;
  IsWord := False;
  for i := 0 to Length(InputString) do
  begin
    aChar := InputString[i];
    if (aChar in [
      'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
        't', 'u', 'v', 'w', 'x', 'y', 'z',
        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
        'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '''', '-'
        ]) then
    begin
      if not IsWord then Inc(WordCount);
      IsWord := True;
    end
    else if aChar = '\' then IsWord := True
    else IsWord := False

  end;

  IsWord := False;
  Result := WordCount;
end;
Далее нажимаем на Button и вписываем код
Код:
Label1.Caption := IntToStr(CountWords(Memo1.Text));
вписываем или загружаем текст и считаем только латинские слова

Не забываем ставить лаки!drink
 
Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155
С этой функцией можно сделать так же подсчет слов в тексте или знаков,спасибо очень полезно.
 
Sascha Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,562
Баллы
155
Ищё один код только для консоли, подсчитать количество слов.

[HIDE=10]
Код:
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
   SysUtils;

var
i,n,count:integer;
t:string;
p:boolean=false;

function Rus(mes:string):string;   <--- Можно создавать для любого языка в данный момент это Русский
  var
     i:integer;
begin
   for i:=1 to length(mes) do
     case mes[i] of
     'А'..'п': mes[i]:=Chr(Ord(mes[i])-64);         <--- Меняем алфавит языка 
       'р'..'я': mes[i]:=Chr(Ord(mes[i])-16);       <---- продолжение
     end;
   Rus:=mes;
end;
begin
  writeln(rus('Введите текст '));readln(t);
n:=length(t);

if (n>0) then begin
count:=1;
for i:=1 to n-1 do begin
  if ((t[i]=' ') or (t[i]='.') or (t[i]=',')) and (not p) then
   begin
    inc(count);
    p:=true;
   end
    else
   if (t[i]<>' ') and (t[i]<>'.') and (t[i]<>',') then
     p:=false;
end;
end
else count:=0;
if (t[n]=' ') or (t[n]=',') then
  count:=1;
write(count);
readln;

end.
[/HIDE]
 
Вверх Снизу