Показать сообщение отдельно
  #3  
Старый 11.04.2019, 13:01
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
По умолчанию

Не причесано, на коленке, но, работает, оптимизацию, обработку ошибок и другие разделители оставлю вам на закуску:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 fL : TStringList;
 i : integer;
maxlenstr, s, s2 :string;
 lastchar:char;
begin
  maxlenstr:='';
  s:='';
  s2:='';
  fL := TStringList.Create;
  try
    fL.Delimiter := ' ';
    fL.StrictDelimiter := True;
    fL.DelimitedText := edit1.text;
    for i := 0 to fl.Count - 1 do
     if Length(fL[i])>Length(maxlenstr) then
      maxlenstr:=fL[i];
      //
      lastchar:= maxlenstr[length(maxlenstr)];
      //
    showmessage('max len word: '+maxlenstr+#13#10+'word len = '+ inttostr(length(maxlenstr))+#13#10+
    'word last char = '+lastchar);
    //
        for i := 0 to fl.Count - 1 do
        begin
        s:=fL[i];
        if Trim(S)<>'' then
         begin
     if s[length(s)] = lastchar then
     s2:=s2+ ' ' + s;
         end;
        end;
        //
        memo1.Lines.add(s2);
  finally
    fL.Free
  end;
end;
Ответить с цитированием