function FindWordInString(S:string): TStringList;
var i:integer;
S2:string;
begin
Result := TStringList.Create;
For i:=1 to Length(S) do
begin
if s[i]<>' ' then
S2:=s2+s[i]
else
if s2<>'' then
begin
Result.Add(S2);
S2:='';
end;
end;
if s2<>'' then Result.Add(S2);
end;
Теперь о том, как все это работает. Мы перебегаем посимвольно всю строку S в цикле и если проверяемый символ не пробел, то мы его добавляем к строке S2, иначе (если пробел) если в S2 уже что-то накопилось (есть какоето слово), то добавляем в StringList. На случай если пользователь введет строку со словами разделенными не одним пробелом, то без условия if s2<>'' then программа добавит помимо слов еще и много пробелов.
Ну и после выхода из цикла в переменной S2 может храниться еще одно слово. Мы его и добавляем.
Пример использования:
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items := FindWordInString(Edit1.Text);
end;
Просмотров: 7857
Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.