ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/outil/src/ot_parametres.cpp
Revision: 396
Committed: Thu Apr 18 15:09:10 2013 UTC (12 years, 4 months ago) by francois
File size: 3320 byte(s)
Log Message:
Ajout du type pour OT_PARMETRES afin de pourvoir les reecrire comme y faut

File Contents

# Content
1 #include "gestionversion.h"
2 #include <stdio.h>
3 #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 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(),mdd.aide_param[i]);
30 type_param.insert(type_param.end(),mdd.type_param[i]);
31 }
32 }
33
34
35 OT_PARAMETRES::~OT_PARAMETRES()
36 {
37 }
38
39
40 void OT_PARAMETRES::ajouter(std::string chaine,double valeur,int typep,std::string aide)
41 {
42 nom_param.insert(nom_param.end(),chaine);
43 char mess[255];
44 sprintf(mess,"%lf",valeur);
45 valeur_param.insert(valeur_param.end(),mess);
46 aide_param.insert(aide_param.end(),aide);
47 type_param.insert(type_param.end(),typep);
48 }
49
50 void OT_PARAMETRES::ajouter(std::string chaine,std::string valeurstring,int typep,std::string aide)
51 {
52 nom_param.insert(nom_param.end(),chaine);
53 valeur_param.insert(valeur_param.end(),valeurstring);
54 aide_param.insert(aide_param.end(),aide);
55 type_param.insert(type_param.end(),typep);
56 }
57
58 void OT_PARAMETRES::enregistrer(char *nom)
59 {
60 FILE* in=fopen(nom,"wt");
61 int taille=nom_param.size();
62 for (int i=0;i<taille;i++)
63 fprintf(in,"%s = %s //%s\n",nom_param[i].c_str(),valeur_param[i].c_str(),aide_param[i].c_str());
64 fclose(in);
65 }
66
67 void OT_PARAMETRES::lire(char *nom)
68 {
69 FILE* in=fopen(nom,"rt");
70 while (!feof(in))
71 {
72 char chaine[4000];
73 char* res=fgets(chaine,4000,in);
74 if (!feof(in))
75 {
76 char nom[255],c;
77 char nom2[255];
78 nom2[0]=0;
79 int nb=sscanf(chaine,"%s %c %s",nom,&c,nom2);
80 double val;
81 int num=sscanf(nom2,"%lf",&val);
82 if (num==1) ajouter(nom,nom2,DOUBLE);
83 else ajouter(nom,nom2,STRING);
84 }
85 }
86 fclose(in);
87 }
88
89
90
91 double OT_PARAMETRES::get_valeur(std::string chaine)
92 {
93 int taille=nom_param.size();
94 for (int i=0;i<taille;i++)
95 {
96 std::string valtmp=nom_param[i];
97 if (valtmp==chaine)
98 {
99 double val;
100 sscanf(valeur_param[i].c_str(),"%lf",&val);
101 return val;
102 }
103
104 }
105 return 0.;
106 }
107
108 std::string OT_PARAMETRES::get_nom(std::string chaine)
109 {
110 int taille=nom_param.size();
111 for (int i=0;i<taille;i++)
112 {
113 std::string valtmp=nom_param[i];
114 if (valtmp==chaine)
115 {
116 return valeur_param[i];
117 }
118
119 }
120 return "";
121 }
122
123 int OT_PARAMETRES::get_type(std::string chaine)
124 {
125 int taille=nom_param.size();
126 for (int i=0;i<taille;i++)
127 {
128 std::string valtmp=nom_param[i];
129 if (valtmp==chaine)
130 {
131 return type_param[i];
132 }
133
134 }
135 return 0;
136 }
137 double OT_PARAMETRES::get_valeur(int num)
138 {
139 double val;
140 sscanf(valeur_param[num].c_str(),"%lf",&val);
141 return val;
142 }
143
144 std::string OT_PARAMETRES::get_nom(int num)
145 {
146 return nom_param[num];
147 }
148
149 int OT_PARAMETRES::get_type(int num)
150 {
151 return type_param[num];
152 }
153 int OT_PARAMETRES::get_nb(void)
154 {
155 return nom_param.size();
156 }
157
158
159 void OT_PARAMETRES::vide(void)
160 {
161 nom_param.clear();
162 valeur_param.clear();
163 aide_param.clear();
164 type_param.clear();
165 }
166