Page 1 sur 1

Expressions rationnelles

MessagePublié: 05 Juil 2018 21:31
par Alphonse Capriani
Bonjour tout le monde ! Salut Patrick !

Nouvelle petite suggestion pour la future version de TeXgraph !

Cela fait déjà quelques temps que les chaînes de caractères ont fait leur apparition dans TeXgraph, mais je me rends compte qu'une fonctionnalité très utile liée à celles-ci n'est pas dispo. Comme le titre du fil l'indique, je parle bien sûr de la gestion des expressions rationnelles. Les 2 opérations de base, recherche et remplacement, seraient très pratiques.

Tu penses que cette fonctionnalité pourrait être ajoutée ou ça te semble compliqué ?

Re: Expressions rationnelles

MessagePublié: 11 Juil 2018 18:45
par P.Fradin
Salut Alphonse,

Je pense qu'il doit y avoir une unité dédiée en Pascal pour cela mais je ne suis pas sûr qu'elle marche très bien (par ouï dire).
Si tu parles des fonctions recherche/remplacement lorsqu'on édite du code dans TeXgraph, on ne peut pas utiliser les expressions régulières, il vaut mieux utiliser de vrais éditeurs de textes comme gedit ou geany par exemple (qui ont cette fonction).
Mais pour un usage ponctuel dans TeXgraph, il est possible par le biais d'une macro de faire appel à l'utilitaire sed de linux
Code: Tout sélectionner
[
//SedStr(pattern,string) //pattern = commande à destination de sed
$fileIn:=Concat(TmpPath,"entree.txt"),
$fileOut:=Concat(TmpPath,"sortie.txt"),
if OpenFile(fileOut) then WriteFile(""),CloseFile() fi,
if OpenFile(fileIn) then
   WriteFile(%2),CloseFile(),
   Exec("bash -c ""sed",Concat(%1, " entree.txt > sortie.txt"""),TmpPath,1),
   ReadData(fileOut,0,LF),
fi
]


Exemple :
Code: Tout sélectionner
SedStr("-e 's/t/T/'  -e 's/x/X/'", "texgraph")

renvoie
Code: Tout sélectionner
"TeXgraph"

Re: Expressions rationnelles

MessagePublié: 12 Juil 2018 07:43
par Alphonse Capriani
Mmmmmmh... C'est vrai que je pense jamais à sortir de TeXgraph pour utiliser les fonctionnalités bash...

Du coup, je suis en train de faire une bricole en ce moment pour lequel j'avais besoin d'identifier des chaînes de caractères basiques : j'ai fait ça en mode gros sagouin avec des if imbriqués. Ça marche, mais au niveau du code, ça pique un peu les yeux et c'est pas particulièrement lisible.

Je vais regarder ça de plus près.

Concernant la chose mystérieuse que je suis en train de faire en ce moment, elle devrait être dispo d'ici une semaine (sans la doc je pense, mais on verra :D) et j'espère (je pense) qu'elle servira a nombreux utilisateurs de TeXgraph !