Fonction qui supprime un caractère donné dans une chaine en utilisant les pointeurs

Contenu du snippet

la fonction décompose la chaine en caractères, construire une liste chainée avec ces caractères, supprime les caractère désirés puis reconstruction de notre chaine sans le caractère.

Source / Exemple :


function TForm1.SuppChar(var Ref: String; Ch: Char):String;
type PReference = ^TReference;
     TReference = record
                  Valeur : Char;
                  Svt    : PReference;
                  end;
var i: Integer;
    Tete,Ptr,P: PReference;
begin
Tete:=nil;
P:=nil;
for i:=1 to Length(Ref) do begin
        if Ref[i]<>Ch then begin
                Ptr:=P;
                New(P);
                P^.Valeur:=Ref[i];
                P^.Svt:= nil;
                if Tete = nil then
                        Tete:=P else begin
                                Ptr^.Svt:=P;
                                P^.Svt:=nil;
                                     end;
                           end;
                           end;
Ref:='';
Ptr:=Tete;
while Ptr<>nil do begin
Ref:=Ref + Ptr^.Valeur;
Ptr:=Ptr^.Svt;
end;
Dispose(P);
Result:=Ref;
end;

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.