Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2008, 17:48   #1
photozaz
Пользователь
 
Регистрация: 05.04.2008
Сообщений: 66
По умолчанию Отбор в RichEdit

Помогите, надо отсоротировать предложения, в которых имеется не менне 5-ти слов..
я пробывал отобрать предложения, но при запуске тупит ::
Код:
s := RichEdit1.Text;
d:=Length(RichEdit1.Text);
 repeat
    endpos := pos('.', s);
    if pt <> 0 then
      begin
        findpos := pos(' ', s);
        if pz <> 0 then
          i:= i+1;
      end;
  until ((endpos = d) or (findpos = d));
Отредактируйте пожалуйста..
photozaz вне форума Ответить с цитированием
Старый 25.05.2008, 19:07   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Конечно "тупит" - цикл ведь бесконечен
Переносит из RichEdit1 в RichEdit2 те предложения, где более пяти слов.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  s, st, s0:tcaption;
  endpos, ProbelPos, ProbelCount: integer;
begin
s := RichEdit1.Text;
 repeat
    endpos := pos('.', s); //ищем конец предлож
    st := trim(copy(s, 1, endpos)); //вытаскиваем его
    s0 := st;
    delete(s, 1, endpos); //и удаляем
    ProbelCount := 0;
    repeat //в вытащенном предложении считаем пробелы
      ProbelPos := system.Pos(' ', s0); 
      if ProbelPos<>0 then inc(ProbelCount);
      delete(s0, 1, ProbelPos);
    until (ProbelCount>=4)or(ProbelPos=0);
    if ProbelCount >= 4 then richedit2.Lines.Add(st);
  until endpos = 0;
end;
eoln вне форума Ответить с цитированием
Старый 25.05.2008, 19:49   #3
photozaz
Пользователь
 
Регистрация: 05.04.2008
Сообщений: 66
По умолчанию

спасибо большое!!! Еще один вопрос:: мне интересна сама технология, как сделать так, чтобы концовкой предложения считалась не только точка, но и "!" и "?" ??
photozaz вне форума Ответить с цитированием
Старый 25.05.2008, 19:54   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

pos('.', s) pos('!', s) pos('?', s);
выбираем из них минимальное

Последний раз редактировалось eoln; 25.05.2008 в 19:57.
eoln вне форума Ответить с цитированием
Старый 26.05.2008, 08:48   #5
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Посмотрите в сторону AnsiPos, LastDelimiter
BOBAH13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отбор записей по введенным буквам irr33 Microsoft Office Access 4 17.06.2008 19:31
Как сделать отбор нужно информации TaLi4 БД в Delphi 1 09.06.2008 16:27
Отбор по двум полям MPa БД в Delphi 4 06.02.2008 20:14
Отбор по колонкам Romuald Microsoft Office Excel 35 28.12.2007 11:40