MATH_Constantes    [Utilitaires]

Par Teddy Linet (Math4D v2)
Nouvelle recherche
Si (Faux)
   ` MATH_Constantes [Teddy LINET 05/2003]
   ` ---------------------------------------------
   ` Crée les constantes des méthodes de MATH4D
   ` dans la structure si celles-ci n'existe pas
   ` ---------------------------------------------
   ` Prend un parametre optionnel
   ` -1 : suppression des constantes
   ` 0 : mise à jour "automatique" (correspond à +1)
   ` Ne crée pas 2 fois les constantes une fois fait (sauf forcer)
   ` ---------------------------------------------
   ` MATHERROR : N'attend pas d'erreur
   ` ---------------------------------------------
   ` EXEMPLES :
   ` MATH_Constantes : création des constantes
 
Fin de si 

C_ENTIER LONG($1;$vCommande_L)
TABLEAU ENTIER LONG($tNumerosRessource_L;0)
TABLEAU TEXTE($tNomsRessource_T;0)
TABLEAU TEXTE($tNomsConstantes_T;0)
C_ENTIER LONG($i_L;$vNumRessourceSTRD_L;$vNumRessource4DKD_L)
C_BLOB($vBlobRessource_Q)
C_TEXTE($vAlerte_T)
C_BOOLEEN($vPoursuivre_B)
C_ENTIER LONG($vVersionConstantes_L)
Si (Nombre de parametres>0)
 $vCommande_L:=$1
Sinon 
 $vCommande_L:=0
Fin de si 

LISTE RESSOURCES("4DK#";$tNumerosRessource_L;$tNomsRessource_T)
$i_L:=Chercher dans tableau($tNomsRessource_T;"MATH_ConstantesMethodes")
Si ($i_L=-1)  ` Le fichier n'existe pas déjà
 $vPoursuivre_B:=Vrai
Sinon 
 SUPPRIMER RESSOURCE("4DK#";$tNumerosRessource_L{$i_L})
 Au cas ou 
  : ($vCommande_L=1)  ` Forcer => on efface avant de recommencer
  $vPoursuivre_B:=Vrai
  : ($vCommande_L=-1)  ` Supprimer => on efface avant de recommencer
  $vPoursuivre_B:=Faux
  : ($vCommande_L=0)  ` Mise à jour "automatique" : pas de différence avec +1 à ce jour
  $vPoursuivre_B:=Vrai
 Sinon 
  $vPoursuivre_B:=Faux
 Fin de cas 
Fin de si 

Si ($vPoursuivre_B)
   ` On crée d'abord un ficher "STR#"
 LISTE RESSOURCES("STR#";$tNumerosRessource_L;$tNomsRessource_T)
 $vNumRessourceSTRD_L:=15000
 Tant que (Chercher dans tableau($tNumerosRessource_L;$vNumRessourceSTRD_L)#-1)  `dans un endroit libre de préférence
  $vNumRessourceSTRD_L:=$vNumRessourceSTRD_L+1
 Fin tant que 
   ` On crée le tableau des constantes pour la méthode MATH_Unités
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_Constantes:1:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_Categorie:2:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_UniteReference:3:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_ValeurConversion:4:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_ValeurZero:5:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_Dimension:6:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_SystemeMetrique:7:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_Totale:8:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_NomComplet:9:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_NomUI:10:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_ConstantesForcées:11:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_ToutesUnites:Toutes:S"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_Symbole:13:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Unite_CategorieParUnite:14:L"
   ` Pour la méthode MATH_IntervalleConfiance
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Confiance_Proportions:1:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Confiance_Moyenne:2:L"
   ` Pour la méthode MATH_LoiNormale
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Normale_p:p:S"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Normale_Z:Z:S"
   ` Pour la méthode MATH_MatriceLigne
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Matrice_Multiplier:1:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Matrice_Permuter:2:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Matrice_Ajouter:3:L"
   ` Pour la méthode MATH_Newton
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Newton_F:1:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Newton_FP:2:L"
   ` Pour la méthode MATH_Segment
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Segment_Corde:1:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Segment_Arc:2:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Segment_Fleche:3:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Segment_Surface:4:L"
   ` Pour la méthode MATH_SurfaceGraphe
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Graphe_Abscisses:1:L"
 INSERER LIGNES($tNomsConstantes_T;1)
 $tNomsConstantes_T{1}:="Graphe_Origine:2:L"
 TABLEAU VERS LISTE DE CHAINES($tNomsConstantes_T;$vNumRessourceSTRD_L)
   ` On crée ensuite un ficher "4DK#"
 LISTE RESSOURCES("4DK#";$tNumerosRessource_L;$tNomsRessource_T)
 $vNumRessource4DKD_L:=15001
 Tant que (Chercher dans tableau($tNumerosRessource_L;$vNumRessource4DKD_L)#-1)  `dans un endroit libre de préférence
  $vNumRessource4DKD_L:=$vNumRessource4DKD_L+1
 Fin tant que 
   ` On déplace les "STR#" fraichement créés vers les constantes "4DK#"
 LIRE RESSOURCE("STR#";$vNumRessourceSTRD_L;$vBlobRessource_Q)
 SUPPRIMER RESSOURCE("STR#";$vNumRessourceSTRD_L)  ` Plus utile => poubelle !
 ECRIRE RESSOURCE("4DK#";$vNumRessource4DKD_L;$vBlobRessource_Q)
 ECRIRE NOM RESSOURCE("4DK#";$vNumRessource4DKD_L;"MATH_ConstantesMethodes")
 $vAlerte_T:="Les constantes des unités sont inclues à la structure;"+Caractere(Retour chariot )
 $vAlerte_T:=$vAlerte_T+"Réouvrir la base pour pouvoir en profiter;"
 ALERTE($vAlerte_T)
Fin de si