Try

alexyou Messages postés 14 Date d'inscription dimanche 4 juin 2006 Statut Membre Dernière intervention 17 octobre 2009 - 21 mai 2007 à 01:45
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 21 mai 2007 à 19:18
Salut
J'aimerais bien savoir comment lire dans une varibale de type chaîne que les lettres avec le Try
Merci d'avance

3 réponses

cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
21 mai 2007 à 13:31
salut,

pourquoi avec le try? sais-tu ce qu'est le try? (je te recommande de lire l'aide de Delphi a ce sujet)

pour extraire les lettres d'une chaîne de char:

algo: (cad que je ne l'ai pas testé, ni compilé):

type
  TSetOfChar = set of char;

function OnlyCharInSet (aStringToParse : string; aSet : TSetOfChar) : string;
var i : integer;
begin
  result := '';
  for i := 1 to Length(aStringToParse) do
    if aStringToParse[i] in aSet then
      result := result + aStringToParse[i];
end;

function OnlyLetter (aString: string) : string;
begin
  result :=  OnlyCharInSet (aString, ['a'..'z','A'..'Z']); //complet le set avec ce que tu appel "que les lettres"
end;

bon code,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
21 mai 2007 à 14:33
re,

j'avais pas vu, mais F0xi nous a fait une méthode qui pourrait t'intéresser:
http://www.codyx.org/snippet_exclure-caracteres-chaine_376.aspx
(note le type pour le set)

bon code,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
21 mai 2007 à 19:18
Salut,


Voici une variante de la fonction de F0xi ...

Mais en plus court et surtout en plus rapide (1.84 X plus rapide) presque 2 fois

Function ExcludeChars(Const S : String; const CS : TSysCharSet): String;
Var P, PR : PByte;

    BS : Set  Of Byte Absolute CS;

    Size, I    : Integer;
Begin

  P    := PByte(S);

  Size := Length(S);

  SetLength(Result, Size);

  PR   := PByte(Result);

  I := 0;

  While P^ <> $0 do Begin

    If  Not (P^ in BS) Then  Begin

      Pr^ : = P^;

      Inc(Pr);

    End

    Else Inc(I);

    Inc(P);

  End;

  If I > 0 Then SetLength(Result, Size - I)
End;

 
@+
Cirec

<hr size="2" />

 
@+
Cirec

<hr size="2" />
0
Rejoignez-nous