Execute News

Des nouvelles fraƮches de http://www.execute.frRSS [Home]

Formater un texte que l'on colle

PubliƩ le 18/06/2018 [Delphi]
Voici un petit bout de code que j'utilise dans une application qui attends un numéro de téléphone sur 10 chiffres maxi et qui reçoit des copier/coller d'une application qui place des espaces tous les deux caractères.

en ajoutant cette unité dans la partie interface des forms qui utilisent des TEdit dont la taille est limité à 10 caractères, ceux-ci acceptent le texte espacé (à adapter pour d'autres formats ou contraintes).

unit UEditPhone;

interface

uses
  Winapi.Messages,
  System.SysUtils,
  Vcl.StdCtrls;

type
  TEdit = class(Vcl.StdCtrls.TEdit)
    procedure WMPaste(var Msg: TMessage); message WM_PASTE;
  end;

implementation

uses
  Vcl.Clipbrd;

{ TEdit }

procedure TEdit.WMPaste(var Msg: TMessage);
var
  Str: string;
begin
  if MaxLength = 10 then
  begin
    Str := Clipboard.AsText;
    Clipboard.AsText := StringReplace(Str, ' ', '', [rfReplaceAll]);
    inherited;
    Clipboard.AsText := Str;
  end else begin
    inherited;
  end;
end;

end.