Re: recherche tout aide pour finir mon projet |
Sujet: Re: recherche tout aide pour finir mon projet par Anonyme sur 18/5/2006 12:07:38 Je vais expliquer la partie qui me bloque le plus: En fait je dois trier deux fichiers textes, les séparer en blocs. Une fois ce tri fait je dois mettre un bloc du fichier 1 et un bloc du fichier 2 ... jusqu'à avoir trier tous les blocs. Un bloc commence toujours par "(--- start of cut #i ---)" avec i un entier qui peut varier jusqu'à 200 voir plus. Il se finit par "(--- fin de passe #i ---)". Entre ces deux chaines on trouve plusieurs lignes qui contiennent des données. Entre deux blocs il y a des informations que l'on utilise pas pour le fichier final. Mon projet s'articule autour de 9 fenetres dans lesquelles j'effectuent d'autres traitements qui fonctionnent. Voici le code de la fentetre où je traite la séparation en bloc du premier fichier. En fait je lis le fichier, je prends toutes les info dont j'ai besoin et je les mets dans une chaine OP. // traitement par blocs de ce fichier nomfichier est une chaîne nomfichier=NOML1 numfichier est un entier ip est un entier Textec est une chaîne Textec ="(--- debut de passe #" Textes est une chaîne Textes ="(--- fin de passe #" final est une chaîne final=" ---)" chain est une chaîne indice est une chaîne OP est une chaîne ip= fOuvre(nomfichier,foLectureEcriture) SI ip=0 ALORS Erreur("erreur"+nomfichier, ErreurInfo()) SINON BOUCLE chain=fLitLigne(ip) SI chain[[1 A 21]]=Textec ALORS indice=recherche(chain) // utilisation de la procedure locale recherche pour identifier le i FIN SI chain=Textec+indice+final ALORS SI chain=Textes+indice+final ALORS SORTIR FIN OP=OP+RC+chain //OP sert à stocker le contenu de tous les blocs FIN FIN fFerme(ip) FIN // creation du fichier temporel pour verifier le contenu de OP rescreation est un entier fichiervir est un chaîne rescreation=fOuvre(fichiervir,foCréationSiInexistant) SI rescreation<>-1 ALORS res est un entier res=fEcrit(rescreation,OP)// ecriture de la chaine OP dans le fichier appele fichiervir SI res=-1 ALORS Erreur("erreur décriture",ErreurInfo()) FIN fFerme(rescreation) FIN PROCEDURE recherche(chain) indice est une chaîne pos est un entier pos=Position(chain,"#") pos=pos+1 indice=chain[[pos]] RENVOYER indice Ce code ne fonctionne pas. J'ai essayer plusieurs méthodes pour trier les fichiers mais en vain. Que faire?? |