Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.05.2014, 00:28
Igor_Petrenko Igor_Petrenko вне форума
Прохожий
 
Регистрация: 15.05.2014
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Сформировать текстовый файл, в который записать все предложения исходного текста, сод

Всем доброй ночи
Помогите решить такое вот задание:

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


Может что-то из этого кода можно "выковырять"?

Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  //Разделители предложений.
  Df = ['.', '!', '?'];
  //Разделители слов.
  Da = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
var
  S : String;
  //P1 - позиция начала предложения. CntW - счётчик слов в предложении.
  i, CntW, P1, Len : Integer;
begin
  Memo2.Clear;
  
  //Исходный текст.
  S := Memo1.Text;
  Len := Length(S);
 
  //Обработка текста.
  P1 := 0;
  CntW := 0;
  for i := 1 to Len do begin
    //Отслеживаем начало предложения.
    if (i = 1) or (S[i - 1] in Df) then P1 := i;
    //Если символ не является разделителем слова.
    if not (S[i] in Da) then begin;
      //Отслеживаем конец слова и подсчитываем слово.
      if (i = Len) or (S[i + 1] in Da) then Inc(CntW);
    end;
    //Отслеживаем конец предложения.
    if (i = Len) or (S[i] in Df) then begin
      //Если количество слов >= 3, то добавляем это предложение
      //в Мемо результата.
      if CntW >= 2 then Memo2.Lines.Add( Copy(S, P1, i - P1 + 1) );
      //Сброс счётчика слов.
      CntW := 0;
    end;
  end;
end;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:46.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025