27.05.2022, 00:16
|
Модератор
|
|
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
|
|
Вообще, все можно сделать проще:
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
Leters=['к','п','с','т','ф','х','ц','ч','ш','щ'];
var
Out : String;
sl : TStringList;
I, J : Integer;
Cnt : Integer;
begin
Out := '';
sl := TStringList.Create;
Try
sl.Delimiter := ' ';
sl.Delimitedtext := AnsiLowerCase(Memo1.Lines.Text);
For I := Low(Letters) To High(Letters) Do
Begin
Cnt := 0;
For J := 0 To sl.Count-1 Do
If Pos(Letters[i],sl[J]) > 0 Then Inc(Cnt)
If (Cnt > 0) and (Cnt = sl.Count-1)
Then Out := Out + Letters[i] + ' ';
End;
Finally
sl.Free;
End;
If Out = ''
Then Memo2.Lines.Text := 'Букв, которые не входят только в одно слово, нет!'
Else Memo2.Lines.Text := Out;
end;
Как-то так. Должно работать.
|