Path: ...!weretis.net!feeder8.news.weretis.net!news.imp.ch!news.alphanet.ch!alphanet.ch!.POSTED!not-for-mail From: Joseph B Newsgroups: fr.comp.sys.mac.programmation Subject: Re: Verifier la presence d'un mot dans tous les champs Date: Sun, 5 Mar 2023 13:35:41 -0000 (UTC) Organization: =?UTF-8?B?Qm9m4oCm?= Message-ID: References: <1q6wq7l.wkh7dy1ty8eazN%andre_favre@af.invalid> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Sun, 5 Mar 2023 13:35:41 -0000 (UTC) Injection-Info: shakotay.alphanet.ch; posting-account="joseph25b"; logging-data="18664"; mail-complaints-to="usenet@alphanet.ch"; posting-host="49079705135647d36d766b8a46d17cd4.nnrp.alphanet.ch" User-Agent: MacCafe/2.10/peaberry (Mac OS X 10.13.6 (17G14042) - iMac12,1) Cancel-Lock: sha1:UbBna9+2pZESR/z5ieXrYPJPuXI= sha256:xA9ZumGkz4TtILrZ8UIqWL0tqW0Zey1LHA+SX0WrYHw= sha256:JO77WruXEIziMrkEPMtSfskfXuuM6t9XBU49QfNrg0s= X-No-Archive: YES In-Reply-To: Bytes: 4231 Lines: 58 Olivier Miakinen, le 5 mars 2023 à 12:36 dans écrivait : > Il s'agissait de reconnaître la validité d'une chaîne > pour représenter un nombre selon la syntaxe commune à la majorité > des langages de programmation (C, java, javascript, python, etc.), > et la question était de savoir comment écrire en Applescript un > programme sachant reconnaître /cette/ syntaxe qui n'est pas la > sienne. Je te répondrai que c'est au programmeur en C, Perl ou autre de considérer qu'il va devoir traiter des entrées numériques avec un séparateur décimal "," s'il fait tourner son programme dans un pays qui l'utilise au lieu du "." qu'il utilise en interne. Et à considérer comme les programmes connus s'en tirent correctement en France, on peut assurer que c'est bien ce qu'il font. Il n'est pas raisonnable d'inverser la charge de prévoir qui et où sera l'utilisateur de ma feuille Excel française, par exemple ;-) L'intérêt est plutôt d'écrire une routine (en applescript pour le thème de cette discussion) qui soit universelle et transparente, d'identification, et si besoin mise en conformité, d'une valeur numérique externe à injecter dans une fonction de calcul du programme. Le script que M. V. proposait dans moyennant une infime modification (permutation entre les deux types de séparateur, selon le pays) remplirait bien ce rôle (j'ai fait une adaptation avec son dernier script juste pour avoir les deux listes affichées, qui retourne, quel que soit le pays : set numList to {"0", "+1,5", "1e+99", "-19E-7", "1.7e003", ".3", "1.2.3", "", "1E3.4", "--1", "e+99", ".", "+1e"} Les éléments valides sont : 0 +1,5 (--> la fonction "Replace()" transforme en "." si besoin) 1e+99 -19E-7 1.7e003 (--> la fonction "Replace()" transforme en "," si besoin) .3 (--> la fonction "Replace()" transforme en "," si besoin) Les éléments invalides sont : 1.2.3 1E3.4 --1 e+99 . +1e ) -- J.B. Votre Seigneurie, je ne peux pas induire le rayon parce que la turbulence statique est sur le point d'inverser le bi-calcifrage balistique !