ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/outil/src/ot_parametres.cpp
Revision: 338
Committed: Tue May 29 18:48:10 2012 UTC (12 years, 11 months ago) by cuillier
File size: 2677 byte(s)
Log Message:
Bug dans renvoi de parametres sous de string

File Contents

# User Rev Content
1 francois 258 #include "gestionversion.h"
2 francois 265 #include <stdio.h>
3 francois 258 #include "ot_parametres.h"
4    
5    
6    
7    
8    
9    
10    
11    
12    
13    
14    
15    
16    
17    
18     OT_PARAMETRES::OT_PARAMETRES()
19     {
20     }
21    
22     OT_PARAMETRES::OT_PARAMETRES(OT_PARAMETRES &mdd)
23     {
24 francois 283 int taille=nom_param.size();
25     for (int i=0;i<taille;i++)
26     {
27     nom_param.insert(nom_param.end(),mdd.nom_param[i]);
28     valeur_param.insert(valeur_param.end(),mdd.valeur_param[i]);
29     aide_param.insert(aide_param.end(),aide_param[i]);
30     }
31 francois 258 }
32    
33    
34     OT_PARAMETRES::~OT_PARAMETRES()
35     {
36     }
37    
38    
39     void OT_PARAMETRES::ajouter(std::string chaine,double valeur,std::string aide)
40     {
41 francois 283 nom_param.insert(nom_param.end(),chaine);
42     char mess[255];
43     sprintf(mess,"%lf",valeur);
44     valeur_param.insert(valeur_param.end(),mess);
45     aide_param.insert(aide_param.end(),aide);
46 francois 258 }
47    
48     void OT_PARAMETRES::ajouter(std::string chaine,std::string valeurstring,std::string aide)
49     {
50 francois 283 nom_param.insert(nom_param.end(),chaine);
51     valeur_param.insert(valeur_param.end(),valeurstring);
52     aide_param.insert(aide_param.end(),aide);
53 francois 258 }
54    
55     void OT_PARAMETRES::enregistrer(char *nom)
56     {
57 francois 283 FILE* in=fopen(nom,"wt");
58     int taille=nom_param.size();
59     for (int i=0;i<taille;i++)
60     fprintf(in,"%s = %s //%s\n",nom_param[i].c_str(),valeur_param[i].c_str(),aide_param[i].c_str());
61     fclose(in);
62 francois 258 }
63    
64     void OT_PARAMETRES::lire(char *nom)
65     {
66 francois 283 FILE* in=fopen(nom,"rt");
67     while (!feof(in))
68     {
69     char chaine[4000];
70     char* res=fgets(chaine,4000,in);
71     if (!feof(in))
72     {
73     char nom[255],c;
74     char nom2[255];
75     nom2[0]=0;
76     int nb=sscanf(chaine,"%s %c %s",nom,&c,nom2);
77     ajouter(nom,nom2);
78     }
79     }
80     fclose(in);
81 francois 258 }
82    
83    
84    
85     double OT_PARAMETRES::get_valeur(std::string chaine)
86     {
87 francois 283 int taille=nom_param.size();
88     for (int i=0;i<taille;i++)
89     {
90     std::string valtmp=nom_param[i];
91     if (valtmp==chaine)
92     {
93     double val;
94     sscanf(valeur_param[i].c_str(),"%lf",&val);
95     return val;
96     }
97    
98     }
99     return 0.;
100 francois 258 }
101    
102     std::string OT_PARAMETRES::get_nom(std::string chaine)
103     {
104 francois 283 int taille=nom_param.size();
105     for (int i=0;i<taille;i++)
106     {
107     std::string valtmp=nom_param[i];
108     if (valtmp==chaine)
109     {
110 cuillier 338 return valeur_param[i];
111 francois 283 }
112    
113     }
114     return "";
115 francois 258 }
116    
117 francois 271 double OT_PARAMETRES::get_valeur(int num)
118     {
119 francois 283 double val;
120     sscanf(valeur_param[num].c_str(),"%lf",&val);
121     return val;
122 francois 271 }
123    
124     std::string OT_PARAMETRES::get_nom(int num)
125     {
126 francois 283 return nom_param[num];
127 francois 271 }
128    
129     int OT_PARAMETRES::get_nb(void)
130     {
131 francois 283 return nom_param.size();
132 francois 271 }
133    
134    
135 francois 258 void OT_PARAMETRES::vide(void)
136     {
137 francois 283 nom_param.clear();
138     valeur_param.clear();
139     aide_param.clear();
140 francois 258 }
141