TStrings.ExpandValuesAsMacros
| TStrings = class (TObject) | Interface de TStrings | Exemples de TStrings |
Dans une chaîne source, remplace des chaînes de caractères par d'autres, définies dans la TStrings
Syntaxe
function ExpandValuesAsMacros(src: String; macroStart: String; macroEnd: String): String
src : Chaîne source à transformer
macroStart : Caractères de début de macro
macroEnd : Caractères de fin de macro
Principes
- D'une part, la chaîne source src contient des éléments variables placés entre caractères spéciaux (macroStart et macroEnd).
- D'autre part, la TStrings liste des éléments dont les noms sont ceux des éléments variables et les valeurs sont les chaînes de remplacement.
- La fonction remplace dans src les éléments variables entre macros par la valeur correspondante dans la TStrings.
Remarques
- La TStrings doit être au format (nom = valeur).
- La fonction retourne la chaîne modifiée.
- macroStart et macroEnd doivent être des chaînes (éventuellement identiques) qu'on est sûr de ne pas rencontrer dans la chaîne source src (ex : "¤").
- Cette fonction est très utile pour traiter dynamiquement des chaînes (stockées dans une ressource par exemple) en isolant des éléments variables en vue d'une traduction, ou de la constitution d'un fichier (XML, HTML, ...).
Exemples
var src : String = 'Bonjour, M. ¤prenom¤ ¤nom¤, vous avez ¤age¤ ans.';
var liste := TStrings.Create;
liste.Values['nom'] := 'Martin';
liste.Values['prenom'] := 'Jean';
liste.Values['age'] := '32';
Println(liste.ExpandValuesAsMacros(src,'¤','¤')); // Affiche 'Bonjour, M. Jean Martin, vous avez 32 ans.'
var liste := TStrings.Create;
liste.Values['nom'] := 'Martin';
liste.Values['prenom'] := 'Jean';
liste.Values['age'] := '32';
Println(liste.ExpandValuesAsMacros(src,'¤','¤')); // Affiche 'Bonjour, M. Jean Martin, vous avez 32 ans.'