Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Comparar dos edit y eliminar palabras iguales (https://www.clubdelphi.com/foros/showthread.php?t=83991)

exequielmatias1 25-08-2013 20:10:16

Comparar dos edit y eliminar palabras iguales
 
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 y pos

nlsgarcia 25-08-2013 21:42:28

exequielmatias1,

Cita:

Empezado por 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
Código Delphi [-]
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:
Cita:

Delphi Basics : http://www.delphibasics.co.uk/
Espero sea útil :)

Nelson.

ecfisa 25-08-2013 22:31:16

Hola exequielmatias1.

Otra opción:
Código Delphi [-]
  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:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(StringReplace(Edit1.Text,Edit2.Text,'',[rfReplaceAll,rfIgnoreCase]));
end;
Espero sea útil :)

Nelson.


La franja horaria es GMT +2. Ahora son las 14:27:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi