Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 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 | | Calendrier |
|
|
| Numerotation ligne de programme | |
| | Auteur | Message |
---|
659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Numerotation ligne de programme Ven 7 Mai 2010 - 9:11 | |
| Un petit utilitaire pour numéroter un programme .bas pour pouvoir le mettre sur le forum. - Code:
-
' Programme pour inscrire les numéros des lignes pour ' les passer sur le Forum ' Initialisation des variables dim a$ ,b% ,f$ ,c% ,d$,E$ b%=0 ' Ouvrir la boite de dialogue open_dialog 1 ' Choisir le fichier a traiter a$=file_name$(1) ' récupérer le nombre de caratères du nom de fichier c% = len(a$) ' récuperer le nom du fichier sans l'extension d$= left$(a$,C%-3) ' ajouter l'extension txt" d$= d$+"txt"
' Ouvrir le fichier en lecture a traiter file_open_read 2, a$ ' ouvrir le fichier d'écriture file_open_write 3,d$ ' test si pas fin de fichier while file_eof(2) <>1 ' Lecture d'un ligne de fichier file_readln 2,f$ ' Incrémentation du compteur de ligne b%=b%+1 ' changement de la variable numerique en string e$=str$(b%) print e$ ' ajout d'un blanc e$ = e$+" "+f$ ' ecrire la ligne danq le fichier file_writeln 3,e$ ' fin de la boucle end_while ' Fermeture des fichier file_close 2 file_close 3 terminate
Donnera ceci - Code:
-
1 ' Programme pour inscrire les numéros des lignes pour 2 ' les passer sur le Forum 3 ' Initialisation des variables 4 dim a$ ,b% ,f$ ,c% ,d$,E$ 5 b%=0 6 ' Ouvrir la boite de dialogue 7 open_dialog 1 8 9 ' Choisir le fichier a traiter 10 a$=file_name$(1) 11 12 ' récupérer le nombre de caratères du nom de fichier 13 c% = len(a$) 14 ' récuperer le nom du fichier sans l'extension 15 d$= left$(a$,C%-3) 16 ' ajouter l'extension txt" 17 d$= d$+"txt" 18 19 ' Ouvrir le fichier en lecture a traiter 20 file_open_read 2, a$ 21 ' ouvrir le fichier d'écriture 22 file_open_write 3,d$ 23 ' test si pas fin de fichier 24 while file_eof(2) <>1 25 ' Lecture d'un ligne de fichier 26 file_readln 2,f$ 27 ' Incrémentation du compteur de ligne 28 b%=b%+1 29 ' changement de la variable numerique en string 30 e$=str$(b%) 31 print e$ 32 ' ajout d'un blanc 33 e$ = e$+" "+f$ 34 ' ecrire la ligne danq le fichier 35 file_writeln 3,e$ 36 ' fin de la boucle 37 end_while 38 ' Fermeture des fichier 39 file_close 2 40 file_close 3 41 terminate
A Plus | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Numerotation ligne de programme Ven 7 Mai 2010 - 9:18 | |
| Bonne idée ! As-tu pensé à la directive #INCLUDE ? Elle "insère" un fichier source entier à l'endroit où elle se trouve, et les numéros de ligne continuent à augmenter. Si tu fais cela, alors on a un vrai outil qui pallie à ce problème de décalage apparent de numéros de ligne lorsqu'on pet au point un programme contenant des #INCLUDE. | |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: re : petit programme Ven 7 Mai 2010 - 9:25 | |
| Non pas pensé. car pour le moment je n'ai pas encore utiliser l'include et je ne sais pas encore comment il fonctionne. Mais je vais voir.
A plus | |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: suite Ven 7 Mai 2010 - 17:02 | |
| Voila j'ai regarder. Le petit programme ouvre le programme include incréménte le nombre de lignes mais ne numérote pas les lignes du programme include. Entre autre j'ai un problème avec l'ouverture des fichiers ?????????? Le programme decode bien le nom du fichier en relatif ou incrémental. Si le #include est en remarque pas de renumérotation soit si ' ou rem. - Code:
-
' Programme pour inscrire les numéros des lignes pour ' les passer sur le Forum ' Initialisation des variables dim a$ ,b% ,f$ ,c% ,d$,E$ ,flgins$,flag_instr% ,I% b%=0 flgins$="#include" flag_instr%=0 label include ' Ouvrir la boite de dialogue open_dialog 1 ' Choisir le fichier a traiter a$=file_name$(1) ' récupérer le nombre de caratères du nom de fichier c% = len(a$) ' récuperer le nom du fichier sans l'extension d$= left$(a$,C%-3) ' ajouter l'extension txt" d$= d$+"txt"
' Ouvrir le fichier en lecture a traiter file_open_read 2, a$ ' ouvrir le fichier d'écriture file_open_write 3,d$ ' test si pas fin de fichier while file_eof(2) <>1 ' Lecture d'un ligne de fichier file_readln 2,f$ ' Incrémentation du compteur de ligne b%=b%+1 ' changement de la variable numerique en string e$=str$(b%)
' ajout d'un blanc e$ = e$+" "+f$
' ecrire la ligne dans le fichier file_writeln 3,e$ ' Tester si la chaine #include existe dans la ligne flag_instr%=instr(f$,flgins$) ' Test si le drapeau flag_instr$ différent de zero if flag_instr%>0 ' Test si le premier caractère est bien un # ' si oui c'est bien un include on va au sous-prog include if "#"= left$(f$,1) then gosub include
end_if
' fin de la boucle end_while ' Fermeture des fichier file_close 2 file_close 3 terminate include:
' longueur de la chaîne c%=len(f$)
' On convertit la caractère " a$=chr$(34)
' position ou se trouve le premier ..."... I%=instr(f$,a$)
' on rajoute pour avoir le compte correct c%=(C%-I%)+2
' On a le nom du fichier Include f$= right$(f$,c%)
' Dans la variable f$ j'ai bien le nom du fichier ' Mais chez moi j'ai différents problèmes avec l'ouverture de fichier ' avec ou sans variables ' On ouvre le fichier en lecture a traiter ' file_open_read 4,"c:\exemples\text_3d.bas" file_open_read 4,f$ ' test si pas fin de fichier while file_eof(4) <>1 ' Incrémentation de la boucle b%=b%+1 ' Lecture d'un ligne de fichier file_readln 4,f$ end_while flag_instr%=0 return
| |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: marche ok Sam 8 Mai 2010 - 12:28 | |
| Corriger le bug d'un blanc devant le nom du fichier include - Code:
-
' Programme pour inscrire les numéros des lignes pour ' les passer sur le Forum ' Initialisation des variables dim a$ ,b% ,f$ ,c% ,d$,E$ ,flgins$,flag_instr% ,I% b%=0 flgins$="#include" flag_instr%=0 label include ' Ouvrir la boite de dialogue open_dialog 1 ' Choisir le fichier a traiter a$=file_name$(1) ' récupérer le nombre de caratères du nom de fichier c% = len(a$) ' récuperer le nom du fichier sans l'extension d$= left$(a$,C%-3) ' ajouter l'extension txt" d$= d$+"txt"
' Ouvrir le fichier en lecture a traiter file_open_read 2, a$ ' ouvrir le fichier d'écriture file_open_write 3,d$ ' test si pas fin de fichier while file_eof(2) <>1 ' Lecture d'un ligne de fichier file_readln 2,f$ ' Incrémentation du compteur de ligne b%=b%+1 ' changement de la variable numerique en string e$=str$(b%)
' ajout d'un blanc e$ = e$+" "+f$
' ecrire la ligne dans le fichier file_writeln 3,e$ ' Tester si la chaine #include existe dans la ligne flag_instr%=instr(f$,flgins$) ' Test si le drapeau flag_instr$ différent de zero if flag_instr%>0 ' Test si le premier caractère est bien un # ' si oui c'est bien un include on va au sous-prog include if "#"= left$(f$,1) then gosub include
end_if
' fin de la boucle end_while ' Fermeture des fichier file_close 2 file_close 3 terminate include:
' longueur de la chaîne c%=len(f$)
' On convertit la caractère " a$=chr$(34)
' position ou se trouve le premier ..."... I%=instr(f$,a$)
' on rajoute pour avoir le compte correct c%=(C%-I%)+2
' On a le nom du fichier Include f$= right$(f$,c%)
f$=ltrim$(f$)
file_open_read 4,f$ ' test si pas fin de fichier while file_eof(4) <>1 ' Incrémentation de la boucle b%=b%+1 ' Lecture d'un ligne de fichier file_readln 4,f$ end_while file_close 4 flag_instr%=0 return
| |
| | | Contenu sponsorisé
| Sujet: Re: Numerotation ligne de programme | |
| |
| | | | Numerotation ligne de programme | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |