| 
| 
 | Вопрос # 3 732/ вопрос решён / | 
 |  Приветствую, уважаемые эксперты!
 Подскажите, пожалуйста!
 
 Допустим на форме, имеется 3-поля Memo.
 В 1-поле и во  2-поле находятся строки (количество строк может быть разным и не совпадать).
 Вопрос:
 Как найти строки, которых нет в 1-поле, но есть во 2-поле, и записать их в 3 поле
 если во 2-поле таковых строк нет, то в 3 поле ничего не писать ?
 
|  |   Вопрос задала: 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 (статус: Посетитель), 5 февраля 2010, 09:46 [#1]:Большое Спасибо! |  31 января 2011, 19:36: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |