![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Помогите, пожалуйста, сделать задачу: Найти в тексте (edit1) слова, содержащие заданную букву (задается в edit2) и вывести их в edit3 .
|
|
#2
|
|||
|
|||
|
Код:
procedure FindWords;
var
C, S, W: string;
Q: Boolean;
P, I: Integer;
begin
Edit3.Clear;
S := Edit1.Text;
C := Edit2.Text;
W := '';
P := Pos(C, S); // Находим первое вхождение символа
Q := P > 0;
while Q do
begin
W := C; //начинаем составлять слово
I := P - 1;
while (I > 0) and (S[i] <> ' ') do //добавляем в слово предыдущие по пробела символы
begin
W := S[i] + W;
Dec(I);
end;
I := P + 1;
while (I <= Length(S)) and (S[i] <> ' ') do //добавляем к слову последующие до пробела символы
begin
W := W + S[i];
Inc(I);
end;
Edit3.Text := Edit3.Text + W + ', ';
S := Copy(S, I, Length(S)); // отрезаем из текста рассмотренный кусок текста
P := Pos(C, S);
Q := P > 0;
end;
end;Вот, как-то так наверно, не проверял, конечно. Последний раз редактировалось Kapitoshka438, 27.12.2009 в 19:35. |
|
#3
|
|||
|
|||
|
спс, опробую
|