Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 732

/ вопрос решён /

Приветствую, уважаемые эксперты!

Подскажите, пожалуйста!

Допустим на форме, имеется 3-поля Memo.
В 1-поле и во 2-поле находятся строки (количество строк может быть разным и не совпадать).
Вопрос:
Как найти строки, которых нет в 1-поле, но есть во 2-поле, и записать их в 3 поле
если во 2-поле таковых строк нет, то в 3 поле ничего не писать ?

Ket Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задала: Ket (статус: Посетитель)
Вопрос отправлен: 4 февраля 2010, 00:17
Состояние вопроса: решён, ответов: 2.

Ответ #1. Отвечает эксперт: vlsavkin

Здравствуйте, Ket!
Например, такое решение:

procedure TForm1.Button1Click(Sender: TObject);
var i,j:Integer;
    f:Boolean;
begin
  Memo3.Lines.Clear;
  for i:=0  to memo2.Lines.Count-1 do
  begin
  f:=false;
   for j := 0 to memo1.Lines.Count-1 do
   begin
    if Memo2.Lines[i]=memo1.Lines[j] then
    begin
      f:=true;Break;
    end;
    end;
    if not f then Memo3.Lines.Add(Memo2.Lines[i]);
  end;
end;

Ответ отправил: vlsavkin (статус: 2-ой класс)
Время отправки: 4 февраля 2010, 01:57
Оценка за ответ: 5

Ответ #2. Отвечает эксперт: min@y™

Предложу свой вариант:

procedure TMainForm.ButtonClick(Sender: TObject);
var
  Index: Integer;
begin
  Memo3.Lines.BeginUpdate();
  try
    Memo3.Clear();
    for Index:= 0 to Memo2.Lines.Count - 1 do
      if Memo1.Lines.IndexOf(Memo2.Lines[Index]) = -1
        then Memo3.Lines.Add(Memo2.Lines[Index]);
  finally
    Memo3.Lines.EndUpdate();
  end;
end;

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 4 февраля 2010, 08:23
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 5 февраля 2010, 09:46; участников в обсуждении: 1.

4 февраля 2010, 10:06: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Алгоритмы, преобразования модератором Ерёмин А.А.

Ket

Ket (статус: Посетитель), 5 февраля 2010, 09:46 [#1]:

Большое Спасибо!

31 января 2011, 19:36: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:48
Выполнено за 0.03 сек.