begin process at 2010 09 03 22:02:59
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > D7SB - UTILITAIRE DE MISE EN FORME D'UN PROGRAMME PASCAL

D7SB - UTILITAIRE DE MISE EN FORME D'UN PROGRAMME PASCAL


 Information sur la source

Note :
Aucune note
Catégorie :Fichier / Disque Classé sous :présentation, Pascal, Source Beautifier Niveau :Débutant Date de création :03/07/2009 Date de mise à jour :16/07/2010 08:33:29 Vu / téléchargé :2 061 / 171

Auteur : fredelem

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

   Ce . zip contient 3 applications-console, donc inutile de chercher un DFM. La première peut, je pense, être très utile. J'ai écrit les deux autres parce que j'en ai eu besoin pour envoyer la première mais leur intérêt est moins évident.

    Une fois compilées, elles produisent un .EXE qui doit être utilisé sous MSDOS sous forme de ligne de commande. Si vous êtes allergique à la ligne de commande, il y a une autre façon de procéder (voir le fichier Lisezmoi. txt).

- D7SB indente les lignes d'un programme en Pascal (Delphi ou Turbo).

Il donne aussi aux mots-systèmes la forme que l'on souhaite : Begin ou BEGIN ou même si on veut BegiN. Il peut faire la même chose avec les noms de variables et les noms de procédures.

Il existe peut-être d'autres programmes qui font ça mais je n'en ai pas trouvé. Si vous en avez déjà un (autre que BP7SB qui, avec Delphi, est un peu dépassé), désolé, passez éventuellement au paragraphe suivant.

BP7SB m'a été très utile et j'ai apprécié d'y trouver des explications en anglais alors que l'auteur était allemand. C'est pourquoi, j'ai tout fait en anglais dans D7SB qui veut être le successeur de BP7SB.

                              Syntaxe :
  D7SB MonProg. Pas

ou

  D7SB *.PAS  (pour mettre en forme tous les fichiers .PAS

  mais attention : ça marche très bien avec les versions récentes de Windows où les fichiers restent sagement dans l'orde alphabétique. Avec les versions plus anciennes, un fichier, une fois traité va se mettre à la fin du répertoire, et il risque de se produire une boucle sans fin : une fois la totalité des fichiers traités, on recommence.


ou   D7SB / ?       pour en savoir plus.

- REGROUPE sert à supprimer les {$I ...} dans un programme. Si par exemple, vous avez téléchargé fin janvier une calculatrice éparpillée sur une vingtaine de fichiers .PAS vous pourrez rassembler tout ça en un seul fichier. A supposer que votre calculatrice s'appelle Eunice, placez-vous sous MSDOS dans le répertoire où elle se trouve, recopiez-y REGROUPE. EXE et tapez :

Regroupe Eunice.pas      {Validez en tapant la touche Entrée}
Le fichier Eunice.pas grossira considérablement mais il contiendra moins de {$I }. Les .PAS avalés subsisteront. Ne vous hâtez pas trop de les détruire car l'un d'entre eux est peut-être aussi appelé par une autre unité du même programme. (Si vous faites ce travail, profitez-en pour vérifier qu'avec votre calculatrice, -10^2 donne +100.  Si ce n'est pas le cas, il serait utile de refaire le téléchargement.)

REGROUPE m'a été indispensable car mon D7SB était éparpillé sur une trentaine de fichiers .PAS et cela m'aurait peut-être valu quelques remontrances.

- DEGROUPE (même syntaxe, même utilisation) fait le contraire. Il extrait toutes les procedures de la partie IMPLEMENTATION, les remplace par des {$I..} et vous crée autant de petits fichiers . PAS

Attention, si on fait un Regroupe suivi d'un Degroupe, ça peut jouer des tours : Si vous aviez, avant de regrouper, un fichier Init. pas contenant la procedure Initialisation, vous avez, après avoir dégroupé, un fichier Initialisation. pas et sur celui-là qu'il faut travailler, pas sur l'ancien.



 Conclusion

  
   Il me parait inévitable qu'on me trouve quelques bugs mais je me ferai un plaisir de les corriger

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

08 septembre 2009 22:28:20 :
Une petite amélioration: si une variable est de type PROCEDURE ou FUNCTION, elle ne sera plus confondue avec la déclaratiob d0une procédure ou d'une fonction
18 septembre 2009 19:34:39 :
amélioration du traitement des espaces devant une parenthèse ouvrante
08 octobre 2009 17:58:09 :
Correction d'un petit bug qui faisait reculer les ELSE intempestivement
11 octobre 2009 09:05:10 :
Correction d'un autre petit bug qui faisait désindenter des If et des WHILE sans raison
08 décembre 2009 22:58:49 :
Prise en compte du mot Stdcall. Il n'est pas très fréquent mais dans les fichiers où il est utilisé (comme c'est le cas dans la source du RxRichedit), il créait des problèmes.
12 décembre 2009 08:36:36 :
La correction précédente avait pour effet de supprimer des espaces utiles
16 janvier 2010 08:44:59 :
Ajout de 2 options: /S:1 Plusieurs espaces consécutifs seront réduits à un seul: if ( x> 0) then y:= sin (x) devient if ( x> 0) then y:= sin (x) /s:0 Les espaces ne sont conservés que s'ils sont justifiés: if (x>0) then y:=sin(x) Bien entendu, si aucune de ces deux options n'est écrite, les espaces ne sont pas modifiés.
07 février 2010 20:51:31 :
Prise en compte du mot "External"
16 juillet 2010 08:33:29 :
Dans cette dernière version, il y a eu un changement assez important. J'ai abandonné la distinction entre les différentes marges (marges créées par le mot VAR ou le mot TYPE, marges créées par un mot-système etc...) ce qui m'a obligé à créer une nouvelle structure pour chaque mot susceptible d'allonger la marge. Cette nouvelle version sera plus fiable mais aussi un peu plus vorace en mémoire. Je joins à cet envoi un utilitaire supplémentaire : FindWrds. Il permet de créer à partir de MonProg.pas un fichier MonProg. wrd contenant une liste alphabétique des mots contenus dans MonProg. pas : noms de composants, noms de variables, noms de procédures, etc...) à l'exclusion des mots systèmes contenus dans Syswords.txt. Quelle est l'utilité de ces deux fichiers ? Syswords.txt contient les mots systèmes tels que vous souhaitez les voir apparaître (Begin ou BEGIN ou BegiN) après usage de D7SB. Monprog.wrd permet de faire la même chose avec les autres mots.

 Sources du même auteur

Source avec Zip ALPHA DE CRONBACH (INDICE UTILISÉ EN PSYCHO)
Source avec Zip CALCULATRICE POUR POËTES

 Sources de la même categorie

Source avec Zip Source avec une capture ENREGISTREMENT DES DONNÉES DANS L'EXE par yanb
Source avec Zip Source avec une capture LOCKDISK (AUTORISER UN CD/DVD SUR VOTRE PC) par diglas
Source avec Zip SAUVEGARDE DE PLUSIEURS DISQUES/PARTITIONS par danfranjo
Source avec Zip Source avec une capture FICLOCK : LOCKEZ LES FICHIERS par JulioDelphi
Source avec Zip Source avec une capture MODIFICATION DES EXTENSIONS DE FICHIERS par JeremyLecouvert

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture GENERATION ET RECHERCHE DE SORTIE D'UN LABYRINTHE par timmalos
JEU DE BOULE par abdellahsaida
Source avec Zip SNAKE GAME par darrylsite
Source avec Zip Source avec une capture SELECTDIRECTORY AVEC UNE CHECKBOXE. par ROCABDEL
Source avec Zip ANALYSEUR SYNTAXIQUE PASCAL (YACC) par Ali_usto

Commentaires et avis

Commentaire de Bacterius le 03/07/2009 19:50:25

Tiens, justement cet après-midi je pensais à faire un indenteur automatique de fichiers Delphi ... eh bien c'est déjà fait :p

Cordialement, Bacterius !

Commentaire de Guillemouze le 03/07/2009 20:51:24

tu as l'excellent GExperts qui te permet (parmi tant d'autres chose), d'indenter ton code, de modifier la casse des mots, ... tout ca directement dans l'EDI.

Commentaire de cantador le 04/07/2009 10:42:43

bonjour,
Sans oublier aussi le DelForEx qui est free comme GExperts.

Commentaire de Delphiprog le 04/07/2009 23:06:49 administrateur CS

Sans oublier non plus le non moins connu Jedi Code Format :
http://jedicodeformat.sourceforge.net/

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Ai je le droit sur ce site de mettre des programmes sous turbo Pascal 7??? [ par mastave ] Ai je le droit sur ce site de mettre des programmes sous turbo Pascal 7??? pblèm de compréhension [ par eedy31 ] j'ai consulté différent cours d'internet qui m'ont été conseillé par des membre de delphifr mais le pblème c'est ke ces cour parlent trop scientific!a turbo pascal [ par gotie3147 ] Bonjour, je suis en prépa hec, j'ai un petit prog à faire : ecrire un programme qui choisit 12 entiers au hasard entre 0 et 20 et qui les classe dans problème d'algorithmique pascal [ par manudel ] J'ai une condition en "if".Si contrat = 0 alors je dois boucler 2 fois sur ma variable iSinon je dois boucler une seule fois sur ma variable i.Le prob T.Pascal [ par pheubus ] pheubusBonjour,J'ai windows millenium et je voudrais utiliser T.Pascal sous MS-DOS. Le problème c'est la reconnaissance de mon clavier. Bien entendu, Pascal / ASM - Erreur.... :-( [ par smena ] Bonjour.J'ai un probleme avec les sources dun logiciel. En fait je veux changer le type dune variable pour pouvoir lui affecter une valeur plus grande programmation jeu de dames sur delphi4.0 en pascal [ par Laurie ] Comment programmer un jeu de dames avec un stringgrid pour que les pionts ne puissent pas reculer? Comment faire apparaître une dame et controler ses Livre Delphi ou Pascal ? [ par stailer ] Salut,Comme je l'ai déjà dit plus bas dans ce forum je programme en Delphi depuis 3 mois.Je m'en sors assez bien avec les bases de données et les comp Isoler un caractère d'une chaîne... [ par mentral ] Bonjour à tous ! Je viens du monde Pascal sous DOS et j'assure une transition sur le Delphi. Sous Pascal, je peux isoler les caractères d'une chaîne e est-il utile d'apprendre le language pascal ? [ par msoin ] slt, tous.Alors, je debute sous delphi 7.Mais malgré toutes les fonctions, certaines doivent être programmées manuelement, sauf que je comprend pas tr


Nos sponsors


Sondage...

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales