Mantixd,
Cita:
Empezado por nlsgarcia
Pregunto: ¿Quieres colocar en Memo3 solamente las líneas que tenga Memo1 y no estén en Memo2?, eso difiere de lo expresado en el Msg #1.
|
Cita:
Empezado por Mantixd
...es exactamente así como tu preguntaste...SOLO HABRA UN DATO EN EL MEMO1 QUE SERA DIFERENTE Y ESE APARECERA EN EL MEMO3...
|
Revisa este código:
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Memo2: TMemo;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Memo3: TMemo;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i,j : Integer;
L1, L2 : String;
Match : Boolean;
begin
Memo3.Clear;
for i := 0 to Memo1.Lines.Count - 1 do
begin
Match := False;
L1 := Trim(Memo1.Lines.Strings[i]);
for j := 0 to Memo2.Lines.Count - 1 do
begin
L2 := Trim(Memo2.Lines.Strings[j]);
if CompareText(L1,L2) = 0 then
begin
Match := True;
Break;
end;
end;
if not Match then
Memo3.Lines.Add(L1);
end;
end;
end.
El código anterior en Delphi 7 bajo Windows 7 Professional x32, coloca en TMemo3
solamente las líneas que tenga TMemo1 y no estén en TMemo2?, como se muestra en la siguiente imagen:
Nota: En el código propuesto se eliminan los espacios en blanco al principio y final de las líneas a comparar,
pero no los internos por lo cual puede haber diferencias en las comparaciones por desigualdad de los espacios en blanco de las líneas a comparar.
Espero sea útil
Nelson.