Remplacer dans un Bloc de texte une chaine comme [a] par Arobas

Description


unit Unit_Arobas;

//https://emmetrop.antrepeaux.net/espace-pro/contacter-lequipe

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit_find: TEdit;
    Button_arobas: TButton;
    Memo_Arobas: TMemo;
    procedure Button_arobasClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button_arobasClick(Sender: TObject);
var chaine,obtenu:array[0..8182] of char;
      pc_find:array[0..128] of char;
    pc,p:pchar;
    i:integer;
const CRLF = #13+#10;
begin
strcopy(obtenu,'');
strcopy(chaine,'');
strpcopy(pc_find,Edit_find.Text);
for i:=1 to self.Memo_Arobas.Lines.Count do
 strcat(chaine,pchar(Memo_Arobas.Lines[i]+CRLF));
pc:=@chaine;
p:=strpos(pc,pc_find);
while p<>nil do
 begin
  p^:=#0;
  strcat(strcat(obtenu,pc),'@');
  inc(pc,strlen(pc_find)+strlen(pc));
  p:=strpos(pc,pc_find);
  end;
strcat(obtenu,pc);
self.Memo_Arobas.Lines.SetText(obtenu);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Memo_Arobas.Height:=self.height-80;
Memo_Arobas.Text:='';
Memo_Arobas.Lines.Clear;
end;

end.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.