Нужно написать программу которая выделяет слова в которых подряд идут две гласных буквы,я в форме поставил компонент memo и кнопку,при нажатии кнопки должны выписываться слова с двумя гласными подряд,т.е я пишу процедуру которая ищет слова в строке и ее ставлю в обработчик событий для кнопки? у меня пока есть процедура ищущая слова в строке и выдающая их,(работает в консольном режиме) и отдельно форма с полем для записи и кнопкой,вообщем как их совместить?Если не трудно то подскажите пожалуйста.
16 ноября 2009 в 16:00
2Валерэн Mr 7,20 Марсель:
похоже, опять сложность изложения.
Либо кидай сюда код с твоей кнопки и заголовок процедуры поиска слов, либо объясни русским языком что надо то.
Проблема в чем? слова не посчитать? Не вывести? Не знаешь как их хранить?
_Конкретно_ скажи что надо, а не "сделайте мне заибись"
15 ноября 2009 в 20:01
2Юрий Foxy Лисичкин
на эту тему есть классная шутка – "если программист понимает, что проблему можно решить с помощью регулярных выражений, то у него уже две проблемы"))
15 ноября 2009 в 15:02
Заходите на сайт программистов и регтесь
//develop-er.ru/forum/index.php?act=idx
15 ноября 2009 в 14:02
Валерэн Mr 7,20 Марсель
ну ты хоть заголовок процедуры то покажи %) желательно с описанием что на входе и что на выходе…
15 ноября 2009 в 13:04
Антон RichDad Кононов спасибо,но процедура поиска слов у меня есть,я имею ввиду как мне ее связать с текстом который я буду в memory писать?
когда добавляю процедуру в обработчик событий кнопки,при ее нажатии слова не выдаются
15 ноября 2009 в 13:03
Валерэн Mr 7,20 Марсель
погугли регулярные выражения, оно полезней будет %)
15 ноября 2009 в 13:02
ДОБАВЛЯЕМСЯ В ДРУЗЬЯ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15 ноября 2009 в 13:01
процедура поиска слов? это в тексте то есть? хм… ну вот:
x := TStringList.Create;
x.Text := StringReplace(Memo1.Text,' ',#13#10,[rfReplaceAll]);
x.Text := StringReplace(Memo1.Text,'.',#13#10,[rfReplaceAll]);
x.Text := StringReplace(Memo1.Text,',',#13#10,[rfReplaceAll]);
теперь в x у нас лежит список всех слов из текста. Я обработал разделители: пробел, точка и запятая. При желании можно еще наделать.
теперь как искать 2 гласных подряд:
берем слово, пробегаем, ищем 2 гласных подряд. Примерно так (использую доп. переменные s,abc:string):
abc := 'уеыаоэяиюё';
for i:=0 to x.Count-1 do
begin
s := x[i];
for k:=1 to Length(s)-1 do
if (pos(s[k],abc)>0) and (pos(s[k+1],abc)>0) then нашли_слово( );
end;