1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
int __stdcall parametre (ST_VARIETE * Variet1,ST_VARIETE * Variet2)
{
#define REPIQUAGE 'T'
#define DIRECT 'D'
char Implantation;
char Pre_irrig;
int Ressuyage, Trav_sol, Miseneau, Repiquage, Recolte;
int Contrainte, Duree;
int J_semis_d;
char Fic_met[81];
FILE *buf= NULL;
int n;
char lig[256], rep[256], *s, *t;
/* si le fichier de sortie existe, l'effacer => l'existence du fichier
de sortie indique que la simulatio est allee jusqu'au bout */
if (access( "C:/ELISEE/APPIA/Calcul/vbappia/calcul.$$O", 0)==0) unlink("calcul.$$O");
buf = fopen( "C:/ELISEE/APPIA/Calcul/vbappia/calcul.$$I", "rt");
if (!buf) exit( -1 );
fgets( lig, 255, buf); /* entete */
s=fgets( lig, 255, buf); if (!s) exit(-1); /* durees */
while( *s && *s!='=') s++;
n = sscanf( s+1, "%d %d %d %d %d %c", &Duree, &Trav_sol,
&Miseneau, &Repiquage, &Recolte, &Contrainte);
if (n < 6) exit(-1);
s=fgets( lig, 255, buf); if (!s) exit(-1); /* implantation */
while( *s && *s!='=') s++;
s++;
while( *s && *s==' ') s++;
t = s;
if (*s=='\n') exit(-1);
while( *t && *t!='\n') t++;
*t = 0;
if (stricmp( s, "SEMIS DIRECT")==0) Implantation = DIRECT;
else Implantation = REPIQUAGE;
s=fgets( lig, 255, buf); if (!s) exit(-1); /* pre-irrig */
while( *s && *s!='=') s++;
sscanf( s+1, "%s", rep);
if (n < 1) exit(-1);
if (strcmp( rep, "oui")==0) Pre_irrig = 1;
else Pre_irrig = 0;
s=fgets( lig, 255, buf); if (!s) exit(-1); /* Ressuyage */
while( *s && *s!='=') s++;
sscanf( s+1, "%d", &Ressuyage);
if (n < 1) exit(-1);
s=fgets( lig, 255, buf); if (!s) exit(-1); /* J_semis_d (nb de jours
depuis le 1/01, sans prise en compte d'annee bissextile) ; si 1/01 alors
J_semis_d = 0 */
while( *s && *s!='=') s++;
sscanf( s+1, "%d", &J_semis_d);
if (n < 1) exit(-1);
s=fgets( lig, 255, buf); if (!s) exit(-1); /* Nom variete 1 */
while( *s && *s!='=') s++;
s++;
while( *s && *s==' ') s++;
t = s;
if (*s=='\n') exit(-1);
while( *t && *t!='\n') t++;
*t = 0;
strcpy( Variet1->nom, s);
s=fgets( lig, 255, buf); if (!s) exit(-1); /* Nom variete 2 */
while( *s && *s!='=') s++;
s++;
while( *s && *s==' ') s++;
if (*s=='\n') strcpy( Variet2->nom, Variet1->nom);
else
{
t = s;
while( *t && *t!='\n') t++;
*t = 0;
strcpy( Variet2->nom, s);
}
s=fgets( lig, 255, buf); if (!s) exit(-1); /* Nom fichier meteo */
while( *s && *s!='=') s++;
s++;
while( *s && *s==' ') s++;
t = s;
if (*s=='\n') exit(-1);
while( *t && *t!='\n') t++;
*t = 0;
strcpy( Fic_met, s);
fclose( buf );
return (Ressuyage) ;
} |
Partager