Показать сообщение отдельно
  #3  
Старый 16.07.2010, 20:46
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Пусть текст находится в Memo1.
Разделители слов - пробелы. Все слова без переноса (-), т.е. одно слово всегда находится на строке. И еще одно усливие - нет двойных/тройных/и т.д. пробелов. Тогда самый простой способ такой:
1. StringReplace заменяет пробел на комбинацию запятая-пробел.
2. Проходим по все строкам и добавялем в конце еще по запятой.

Код:
procedure TForm1.btnCommaClick(Sender : TObject);
var
  I : Integer;
begin
  Memo1.Lines.Text := StringReplace(Memo1.Lines.Text,' ',', ',[rfReplaceAll]);
  For I := 0 to Memo1.Lines.Count-1 Do
     Memo1.Lines[i] := Memo1.Lines[i]+',';
end;

Случай вырожденный, конечно, но для лабы/контрольной сойдет.
Ответить с цитированием