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.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.