-
API Tools [Expert]
Bonjour,
je suis en train de concevoir un expert Delphi (D9) qui recherche un mot clé dans un ensemble de fichiers source (.pas) pour en extraire les signatures de procédure s/fonctions.
Une fois la proc/func choisie, sa signature est insérée dans le code source là où se trouve de curseur.
Tout se passe bien, seulement j'aimerai améliorer cet outil pour en plus ajouter l'unité correspondante dans la clause "uses" du block "implementation" et là ça coince.
Quelqu'un saurait quelle interface/service d'API Tools permet ceci ??
Merci bcp pour votre aide.
(recherches google infructueuses).
-
Je ne suis pas sur d'avoir compris ton pb (ni le but de ton soft d'ailleurs) mais tu peux aller voir GExpert http://www.gexperts.org/ dont certains utilitaires manipulent les sources d'un projet pour en extraire des informations.
Comme le projet est Open Source tu peux donc t'en inspirer.
Par ailleurs si ton utilitaire est d'interet 'public' et si tu veux le diffuser tu peux les contacter pour le rajouter à leur soft...
-
Le soft est plutôt destiné à une utilisation interne, mais pourquoi pas ..
Le but est très simple, nous sommes une équipe de dev nous avons un tas
d'unité delphi situées dans un espace commun qui regorgent de proc/func communes à tout le monde.
Le but est de facilité la recherche de proc/func dans cette jungle d'unités..
Donc si vous avez la réponse à ma question n'hésitez pas :P
Merci.
-
J'ai trouvé des infos ds les newsgroups.
A priori aucune interface d'API Tool n'implémente cette possibilité.
Il faut le faire manuellement en chargeant le code source à l'aide de IOTAEditReader, en parsant manuellement le source et en l'insérant à l'aide du IOTAWriter.
Voili, si ça peut en aider d'autre ...
-
Bonjour,
Vous dites "nous avons un tas d'unités delphi situées dans un espace commun qui regorgent de proc/func communes à tout le monde. Le but est de faciliter la recherche de proc/func dans cette jungle d'unités".
Il se trouve que j'ai créé pour ma frangine qui collectionne un nombre envahissant de recettes de cuisine sur Internet un petit logiciel que j'ai fignolé pour l'utiliser aussi moi-même et retouver rapidement mes fonctions Delphi préférées.
En bref, son principe de fonctionnement consiste à créer un "espace commun" sorte de "bloc"-notes qui regroupe dans un seul fichier texte les copies d'extraits ou de l'intégralité d'une unité Delphi : chaque copie constitue une "fiche" distincte du bloc-notes. Une fonction "Cherche" fait apparaître dans un 1er temps la liste des fiches qui contiennent le ou les 2 mots-clef recherchés (la 1ère ligne non vide est considérée comme étant le titre de la fiche) puis un click sur un titre provoque l'affichage de la fiche-recette-de-cuisine-ou-fonction correspondante. Comme le tout (excepté les pièces jointes) est chargé en mémoire vive le résultat de la recherche s'affiche presque instantanément. (Un des boutons donne accès à deux fonctions "test de rapidité" qui génère un fichier de simulation).
Si cela vous tente, en voiçi une copie ... et comme le fichier .Zip ci-joint contient le mode d'emploi j'arrête ici les re-dites ... en signalant cependant que ce mode d'emploi n'est pas tout à fait à jour vu que j'ai apporté tout récemment une modif au logiciel à la demande de ma frangine pour y ajouter entre-autres une fonction "Ajouter automatiquement une fiche avec le texte extrait de tel et tel fichier situé sur le disque dur". La présélection peut se faire soit par glisser-déposer depuis l'explorateur ou via un OpenDialog avec MultiSelect et un filtre *.txt, *.doc, et *.pas ... les autres formats sont ignorés par la fonction de capture.
Cette dernière fonction est moins rapide qu'une recherche en mem vive puisqu'elle broute le disque dur et que pour éviter qu'elle ne trébuche celle-ci est de plus ralentie par un Application.ProcessMessages placé dans la boucle ... mais c'est bigrement plus rapide que x-mille sélectionner-copier-coller manuels.
Bon test, et désolé pour la question sur les API.
-
Bigre! j'ai du faire une fausse manip en joignant le fichier .Zip qui n'est pas joint ! Pigé : max = 512 Ko de zip par message.
Donc voiçi déjà le .Zip du logiciel (451 Ko). (Zip du mode d'emploi au message suivant).
-
1 pièce(s) jointe(s)
Re-bigre ! Où est passé la pièce jointe à mon message précédent.
Nouvelle tentative, voiçi (si ça marche) le Zip du mode d'emploi (254 Ko)
-
Suite du message précédent.
Et voici le .Zip du logiciel. Eh ben non : "Quota de pièces jointes dépassé !!!".
Désolé.