Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2010, 16:40   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
type TSlovo = set of char;
var Slovo : TSlovo;
  i, iMax, Max, Cur : integer;

  function CountSimvol(s : string; Sl : TSlovo) : integer;
  var i, cnt :integer;
  begin
    cnt := 0;
    for i:=1 to length(s) do
      if s[i] in Sl then inc(cnt);
    Result := cnt;
  end;
begin
  // разберём слово из Edit1 на буквы
  Slovo := [];
  for i:=1 to length(Edit1.Text) do
    include(Slovo, Edit1.Text[i]);

  // найдём строчку с максимальным содержанием нужных букв
  iMax := -1;
  Max := 0;
  for i:=0 to Memo1.Lines.Count - 1  do begin
    Cur := CountSimvol(Memo1.Lines[i], Slovo);
    if Cur > Max then begin
      Max := Cur;
      iMax := i
    end;
  end;

  // присвоим строчку содержащую макс. букв Кнопке
  if iMax>=0 {т.е. нашли максимум} then
   Button1.Caption := Memo1.Lines[iMax];

end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Высота строки в Memo Maxs Общие вопросы Delphi 2 09.12.2009 12:35
memo поиск и перенос строки andrey poki Общие вопросы Delphi 4 22.03.2009 06:54
Удаление конкретной строки Memo JakSon Общие вопросы Delphi 6 03.03.2008 09:35
Удалить из Memo повторяющиеся строки Etar Компоненты Delphi 2 28.06.2007 18:34