Ecrasement d'un fichier

Signaler
Messages postés
7
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
11 janvier 2012
-
Messages postés
7
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
11 janvier 2012
-
Bonjour,

Je débute sur Delphi dans le cadre d'un projet pour les cours et je suis face à un problème auquel je ne trouve pas de réponse.
L'objectif est de mettre en place une routine pour convertir un fichier .obs en .xml afin de pouvoir utiliser aisément un logiciel de calculs géodésique (Projet GNU-GAMA).
Le problème est que je dois aller chercher des données dans un autre fichier (.cor). J'arrive à appeler ce fichier et à faire les opérations que je souhaite mais les résultats ne s'écrivent pas au bon endroit. Au lieu de s'écrire dans mon fichier xml, elles écrasent les données de mon fichier .cor.

J'imagine que je ne suis pas très clair et de plus, je ne sais pas trop quel fichier du projet partager (maudit débutant ^^).
Donc voilà le début de ce que j'ai tapé. La partie "Traitement des observations s'écrit bien dans mon XML mais pas l'entête ni le traitement des coordonnées.

// conversion d'un fichier obs en fichier GnuGama
Procedure obs2gnugama(Tabobs : tab_observation ; NTabobs : integer ; nomfic_gnu : string ; Tabcor : tab_cor ; NTabcor : integer ; nomfic_cor : string);
Var
      ficgnu                                          : TextFile;
      i,j,l,c,m,index,p,r                             : integer;
      observation                                     : TLigne_obs;
      last_code                                       : string[1];
      lecture                                         : real;
      k, n, Comm                                      : string;
      ouvert                                          : Boolean;
      q                                               : char;
      label etiquette1;

begin
assignfile(ficgnu,nomfic_cor);
rewrite(ficgnu);
{************************* entête du fichier xml **************************}
writeln(ficgnu,''+gnu_line1);
writeln(ficgnu,''+gnu_line2);
writeln(ficgnu,''+gnu_line3);
writeln(ficgnu,''+gnu_line4);
writeln(ficgnu,''+gnu_line5);
writeln(ficgnu,''+gnu_line6);
{************************* Traitement des coordonnées **************************}
writeln(ficgnu,'coucou');

closefile(ficgnu);
{************************* Traitement des observations **************************}
assignfile(ficgnu,nomfic_gnu);
reset(ficgnu);

last_code:='x';
ouvert := False;

for i := 0 to (NTabobs-1) do begin

    observation := Tabobs[i];

        observation.ch2:=' < obs from="">';
        //nom station
        insert(observation.nomsta,observation.ch2,14);

        if (observation.cod='7') and (ouvert=True) then
        begin
        writeln(ficgnu,'</obs>');
        ouvert := False;
        end;

        if (observation.cod='7') and (ouvert=False) then
        begin
        writeln(ficgnu,observation.ch2);
        ouvert := True;
        end;


J'espère ne tuer personne avec ceci !
Merci d'avance
Jordane

1 réponse

Messages postés
7
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
11 janvier 2012

Problème résolu !!

Si un mod passe par là, merci de fermer voir même de supprimer ce post.

Jordane