« RegularExpression (rtl) » : différence entre les versions

De Wiki1000
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
<source lang='delphi'>Function RegularExpression(const aSource:string; const aExpression:string; aResult:TStrings):integer;</source>
<source lang='delphi'>Function RegularExpression(const aSource:string; const aExpression:string; aResult:TStrings):integer;</source>


Cette fonction parse une chaine suivant une expression régulière et retourne les différents tokens identifiés dans une stringlist.
Cette fonction parse une chaine suivant une expression régulière et retourne les différents tokens identifiés dans une liste de chaîne.


{|class="wikitable"
{|class="wikitable"
Ligne 15 : Ligne 15 :
|-
|-
|aResult
|aResult
|String list recevant les tokens.
|Liste de chaîne recevant les tokens.
|}
|}


Ligne 21 : Ligne 21 :


<source lang='delphi'>
<source lang='delphi'>
//Function RegExpDonneeBaliseFormat(aStr:string; aExprReg:string):string;
var vStrList:TStringList;
begin
begin
Result := '';
vStrList := TStringList.Create;
RegularExpression( aStr ,aExprReg ,vStrList);
if (vStrList.count=0) then
  exit;
if (vStrList.count=1) then
  result := vStrList.Strings[0]
else
  raise ERule.Create(Format(_TP('Exception RegExpDonneeBaliseFormat , donnée lue : "%s", expression : "%s", retourne plusieurs réponses'),[varDonneeLue,aExprReg]));
end;
end;
</source>
</source>

Version du 11 août 2009 à 14:01

<source lang='delphi'>Function RegularExpression(const aSource:string; const aExpression:string; aResult:TStrings):integer;</source>

Cette fonction parse une chaine suivant une expression régulière et retourne les différents tokens identifiés dans une liste de chaîne.

Result Nombre de token identifiés.
aSource Chaine de caractère à parser.
aExpression Expression régulière.
aResult Liste de chaîne recevant les tokens.

Exemple

<source lang='delphi'> //Function RegExpDonneeBaliseFormat(aStr:string; aExprReg:string):string; var vStrList:TStringList; begin

Result := ;
vStrList := TStringList.Create;
RegularExpression( aStr ,aExprReg ,vStrList);
if (vStrList.count=0) then
  exit;
if (vStrList.count=1) then
  result := vStrList.Strings[0]
else
  raise ERule.Create(Format(_TP('Exception RegExpDonneeBaliseFormat , donnée lue : "%s", expression : "%s", retourne plusieurs réponses'),[varDonneeLue,aExprReg]));

end; </source>

Voir aussi:

{{#if:Développement DSM|

{{#if:Développement DSM|— Développement DSM |}} — Développement DSM

|

{{#if:|— [[{{{1}}}]] |}} — Développement DSM

}}