// RT_C123A3A3 : Programme de lecture d'un fichier xls avec parametres Programme = "RT_C123A3A3" Version = "V1.2 du 20120213" Copyright = "Jacques-Deric Rouault - Rastell Toull" // A1 Affichage des commentaires mprintf ("Programme = " + Programme + "\n") mprintf ("Version = " + Version + "\n") mprintf ("Copyright = " + Copyright + "\n" + "\n") // A2 Verification du repertoire [fsce,erreur] = mopen (Programme + ".sce","r"); if erreur<>0 then mprintf ("ERREUR A2 : ERREUR DE REPERTOIRE " + Programme + ".sce\n\n"); abort; end; mclose (fsce); // A3 Ouverture du fichier texte [ftxt,erreur] = mopen(Programme +'.txt','r') if erreur<>0 then mprintf ("ERREUR A3 : FICHIER AUXILLIAIRE NON DETECTE\n\n") abort end // A4 Lecture et controle de l'identificateur RASTELL-TOULL str = mgetl (ftxt,1); if str <> "\\RASTELL-TOULL" then mclose (ftxt); mprintf ("ERREUR A4 : IDENTIFICATEUR RASTELL-TOULL NON CONFORME\n\n"); mclose(ftxt) abort; end; // A5 Lecture et controle de l'identificateur FORMAT str = mgetl (ftxt,1); if str <> "\\FORMAT" then mprintf ("ERREUR A5 : IDENTIFICATEUR FORMAT NON CONFORME\n\n"); mclose (ftxt); abort; end; // A6 Lecture et controle du format str = mgetl (ftxt,1); format_fichier = sscanf (str,"%i"); if format_fichier <> 1 then mprintf ("ERREUR A6 : FORMAT NON CONFORME\n\n"); mclose (ftxt); abort; end; // A7 Lecture et controle de l'identificateur FICHIERS str = mgetl (ftxt,1); if str <> "\\FICHIERS" then mprintf ("ERREUR A7 : IDENTIFICATEUR FICHIERS NON CONFORME\n\n"); mclose (ftxt); abort; end; // A8 Lecture du commentaire Fichier xls à lire et du nom du fichier str = mgetl (ftxt,1); nom_fichier_xls = mgetl (ftxt,1); // A9 Lecture et controle de l'identificateur PARAMETRES str = mgetl (ftxt,1); if str <> "\\PARAMETRES" then mprintf ("ERREUR A9 : IDENTIFICATEUR PARAMETRES NON CONFORME\n\n"); mclose (ftxt); abort; end; // B10 Lecture du commentaire et de la valeur Page du fichier xls str = mgetl (ftxt,1); str = mgetl (ftxt,1); page_xls = sscanf (str,"%i"); // B11 Lecture du commentaire et de la valeur Colonne str = mgetl (ftxt,1); str = mgetl (ftxt,1); colonne = sscanf (str,"%i"); // B12 Lecture du commentaire et de la valeur Ligne_debut str = mgetl (ftxt,1); str = mgetl (ftxt,1); ligne_debut = sscanf (str,"%i"); // B13 Lecture du commentaire et de la valeur Ligne_fin str = mgetl (ftxt,1); str = mgetl (ftxt,1); ligne_fin = sscanf (str,"%i"); // B14 Lecture et controle de l'identificateur FINEND str = mgetl (ftxt,1); if str <> "\\FINEND" then mprintf ("ERREUR B13 : IDENTIFICATEUR FINEND NON CONFORME\n\n"); mclose (ftxt); abort; end; // B15 Fermeture du fichier texte mclose(ftxt) // B16 Ouverture du fichier xls [fxls,liste_ident,noms_pages,position_pages] = xls_open(nom_fichier_xls) // ajouter controle // B17 Lecture de la feuille 1 [Valeurs_num,Valeurs_text] = xls_read(fxls,position_pages(page_xls)) mclose(fxls) // B18 Lecture des valeurs n=ligne_fin-ligne_debut+1; for i=1:n t(i)=Valeurs_num (ligne_debut+i-1,colonne); end // B19 Affichage de controle for i=1:n mprintf ("rang = %i - valeur = %i\n",i,t(i)); end // B20 Fin d'exécution du programme mprintf ("Fin d''execution du programme " + Programme + " conforme \n");