PDA

Ver la Versión Completa : Comparar dos edit y eliminar palabras iguales


exequielmatias1
25-08-2013, 20:10:16
Hola!!! estoy con un codigo que no me deja seguir.. seguro es facil...
necesito comparar el texto de 2 edit, y que en uno de ellos se elimine la palabra que es igual en el otro edit.
ej: tengo en el edit1 este texto: pablo pedro juan marcos
en el edit2: juan
quiero que en el edit1 se elimine juan.

Casimiro Notevi
25-08-2013, 20:34:10
Pistas: copy (http://www.delphibasics.co.uk/RTL.asp?Name=Copy) y pos (http://www.delphibasics.co.uk/RTL.asp?Name=Pos)

nlsgarcia
25-08-2013, 21:42:28
exequielmatias1,


...necesito comparar el texto de 2 edit, y que en uno de ellos se elimine la palabra que es igual en el otro edit...


Revisa este código

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, StrUtils;

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Source, Target : String;
P, L : Integer;

begin

// Normaliza los String a LowerCase
Source := LowerCase(Edit1.Text);
Target := LowerCase(Edit2.Text);

// Establece la posición y longitud del String de Búsqueda
P := PosEx(Target,Source);
L := Length(Target);

// Elimina el String de Búsqueda del String Original
Delete(Source,P,L);

// Muestra el String Original Modificado
ShowMessage(Source);

end;

end.

El código anterior elimina un Substring de un String por medio de la función Delete.

Revisa este link:

Delphi Basics : http://www.delphibasics.co.uk/

Espero sea útil :)

Nelson.

ecfisa
25-08-2013, 22:31:16
Hola exequielmatias1.

Otra opción:

Edit1.Text := StringReplace(Edit1.Text, Edit2.Text, '', [rfReplaceAll]);


Saludos. :)

nlsgarcia
25-08-2013, 23:14:02
exequielmatias1,

Una combinación del código de los Msgs #3 y #4:

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(StringReplace(Edit1.Text,Edit2.Text,'',[rfReplaceAll,rfIgnoreCase]));
end;

Espero sea útil :)

Nelson.