####################################################################################################################################### # # # V E R I F I C A T I O N D E S D E C I M A L E S / C H I F F R E S U T I L I S E S : # # # # # # Author of '$xiirv/.CheckChiffresDecimales.01.$U' : # # # # Jean-Francois COLONNA (LACTAMME, 20240818102346). # # # ####################################################################################################################################### $Z SETParam _____FDecimalesDejaOBase $NEXIST $Z if ($?CheckChiffresDecimales == $EXIST) then $Z # Pour activer les editions, il faut au prealable faire : # $Z # # $Z # setenv CheckChiffresDecimales $EXIST # $Z # # $Z # sous le '$CSH'... # $Z set ScRiPtZ=$0 $Z Techo "SCRIPT=$ScRiPtZ" $Z set DeBuT_FiN=`echo $ScRiPtZ | $SE -e "s/^.*xxxx\.//" -e "s/\""$Z"'$//'` $Z echo "Generation......... = {Debut_listG_$DeBuT_FiN,Fin_listG_$DeBuT_FiN}" $Z saut $Z set NoMbRe_ChIfFrEs_I=50 $Z set NoMbRe_ChIfFrEs_O=10 #20240904084431____:$Z set NChIfFrEs_I=$_____NIterations # $Z SIZE $FiLeDeCiMaLeS $Z if ($Fsize == 0) then $Z set KnL="@" $Z set NChIfFrEs_I=`$CA $FiLeDeCiMaLeS.1 | $R "$K_NL" "$KnL" | $SE -e 's/\.//' -e "s/\\//g" -e "s/$KnL//g" | $WCc` $Z # Cas ou '$FiLeDeCiMaLeS.1' est deja dans la bonne base... # $Z unset KnL $Z else $Z set NChIfFrEs_I=`$CA $FiLeDeCiMaLeS | $GRE "^[$Alphabet_0_9]" | $xcp/substitue.01$X c01="[;\.]" s01="" | $WCc` $Z # Cas ou '$FiLeDeCiMaLeS.1' n'est pas dans la bonne base... # $Z endif $Z unset Fsize $Z set NChIfFrEs_O=`$CA $FiLeDeCiMaLeS.9 | $WCl` $Z echo "_____FDecimales.... = $_____FDecimales"" (# $NChIfFrEs_I)" $Z echo "FiLeDeCiMaLeS.1.... = $FiLeDeCiMaLeS.1" $Z echo "FiLeDeCiMaLeS.9.... = $FiLeDeCiMaLeS.9"" (# $NChIfFrEs_O)" $Z saut $Z FilSTmpB FCoNvErTiSsEuR $Z if ($_____FDecimalesDejaOBase == $NEXIST) then #20240822101655____:$Z $CA $FiLeDeCiMaLeS | \ # #20240822101655____:$Z $xcp/substitue.01$X c01="\\\n" s01="" \ # #20240822101655____:$Z c02=";" s02="" | \ # #20240822101655____:$Z $xcg/head.01$X nombre_caracteres=$NoMbRe_ChIfFrEs_I \ # #20240822101655____:$Z >> $FCoNvErTiSsEuR # $Z $CA $FiLeDeCiMaLeS | \ $Z $xcp/substitue.01$X c01="\\\n" s01="" \ $Z c02=";" s02="" | \ $Z $xcg/head.01$X utiliser_caracteres=VRAI \ $Z nombre_caracteres=$NoMbRe_ChIfFrEs_I \ $Z >> $FCoNvErTiSsEuR $Z else $Z echo "ibase = 6\n""obase = 6\n""nombre = " \ $Z > $FCoNvErTiSsEuR.1 #20240822101655____:$Z $CA $_____FDecimales | \ # #20240822101655____:$Z $xcp/substitue.01$X c01="\n" s01="" \ # #20240822101655____:$Z > $FCoNvErTiSsEuR.2 # #20240822101655____:$Z $CA $FCoNvErTiSsEuR.1 $FCoNvErTiSsEuR.2 | \ # #20240822101655____:$Z $xcp/substitue.01$X c01="\(nombre *= *\)\n" s01="\1" | \ # #20240822101655____:$Z $xcg/head.01$X nombre_caracteres=$NoMbRe_ChIfFrEs_I \ # #20240822101655____:$Z >> $FCoNvErTiSsEuR # $Z $CA $_____FDecimales | \ $Z $xcp/substitue.01$X c01="\n" s01="" \ $Z > $FCoNvErTiSsEuR.2 $Z $CA $FCoNvErTiSsEuR.1 $FCoNvErTiSsEuR.2 | \ $Z $xcp/substitue.01$X c01="\(nombre *= *\)\n" s01="\1" | \ $Z $xcg/head.01$X utiliser_caracteres=VRAI \ $Z nombre_caracteres=$NoMbRe_ChIfFrEs_I \ $Z >> $FCoNvErTiSsEuR $Z endif $Z set BaSe_I=`$CA $FCoNvErTiSsEuR | $GRE "^ibase" | $SE -e "s/^ibase *= *//"` $Z set BaSe_O=`$CA $FCoNvErTiSsEuR | $GRE "^obase" | $SE -e "s/^obase *= *//"` $Z set NoMbRe_I=`$CA $FCoNvErTiSsEuR | $GRE "^nombre" | $SE -e "s/^nombre *= *//"` $Z # Le fichier '$FCoNvErTiSsEuR' contient le nombre a convertir par '$BC'... # $Z set PoInT_Ou_ViRgUlE=`echo "$NoMbRe_I" | $GRE "[.,]"` $Z set NoMbRe_O1=`$CA $FiLeDeCiMaLeS.1 | $xcg/head.01$X uc=VRAI nc=$NoMbRe_ChIfFrEs_O` $Z # Le fichier '$FiLeDeCiMaLeS.1' contient le resultat complet de la conversion par '$BC'... # $Z set NoMbRe_O1=`echo "$NoMbRe_O1" | $SE -e "s/ //g"` $Z set NoMbRe_O9=`$HEA -$NoMbRe_ChIfFrEs_O $FiLeDeCiMaLeS.9` $Z # Le fichier '$FiLeDeCiMaLeS.9' contient le resultat de la conversion par '$BC' # $Z # eventuellement prive de sa partie entiere et du point decimal... # $Z set NoMbRe_O9=`echo "$NoMbRe_O9" | $SE -e "s/ //g"` $Z set NChIfFrEs_I=`echo "$NChIfFrEs_I" | $SE -e 's/\(.\)\(......\)$/\1.\2/'` $Z set NChIfFrEs_O=`echo "$NChIfFrEs_O" | $SE -e 's/\(.\)\(......\)$/\1.\2/'` $Z set NChIfFrEs_I=`echo "$NChIfFrEs_I" | $SE -e 's/\(.\)\(...\)$/\1.\2/'` $Z set NChIfFrEs_O=`echo "$NChIfFrEs_O" | $SE -e 's/\(.\)\(...\)$/\1.\2/'` $Z set MeSsAgE_C="Conversion du nombre" $Z set MeSsAgE_I="$NoMbRe_I... de $NChIfFrEs_I chiffres -base $BaSe_I-" $Z if ("$NoMbRe_O1" == "$NoMbRe_O9") then $Z set MeSsAgE_O="en $NoMbRe_O1... de $NChIfFrEs_O chiffres -base $BaSe_O-" $Z else $Z set MeSsAgE_O="en $NoMbRe_O1..., soit $NoMbRe_O9... de $NChIfFrEs_O chiffres -base $BaSe_O-" $Z endif $Z if ($_____SupPartieEntiere == $EXIST) then $Z set M_PE_1="sans" $Z else $Z set M_PE_1="avec" $Z endif $Z set M_PE_2="la partie entiere" $Z if ("$PoInT_Ou_ViRgUlE" == "$K_VIDE") then $Z echo "$MeSsAgE_C entier $MeSsAgE_I $MeSsAgE_O $M_PE_1 $M_PE_2." $Z else $Z echo "$MeSsAgE_C decimal $MeSsAgE_I $MeSsAgE_O $M_PE_1 $M_PE_2." $Z endif $Z FilSTmpE FCoNvErTiSsEuR $Z saut $Z set NoM_ImAgeS=`echo $DeBuT_FiN | $R "_" "."` $Z PushdC $xiMi $Z ls | \ $Z $GRE "^$NoM_ImAgeS" | \ $Z $SE -e "s/\""$D"'$//' | \ $Z $SE -e "s/^/$Prompt""Pcreation /" $Z PopdC $Z saut $Z exit $Z # Et on arrete la... # $Z # # $Z # On rappelle le 20240904084431 que tous les fichiers '$FiLeDeCiMaLeS*' sont conserves # $Z # puisque le : # $Z # # $Z # FilSTmpE FiLeDeCiMaLeS # $Z # # $Z # n'est finalement pas execute... # $Z else $Z endif