IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

API Tools [Expert]


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 3
    Par défaut 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).

  2. #2
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    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...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 3
    Par défaut
    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

    Merci.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 3
    Par défaut
    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 ...

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    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.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    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).
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    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)
    Fichiers attachés Fichiers attachés
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

Discussions similaires

  1. Bio::Tools::Run::Ensembl et Perl API ensembl
    Par Jasmine80 dans le forum Bioinformatique
    Réponses: 0
    Dernier message: 05/07/2011, 09h10
  2. [Mappy] Création d'outil Mappy.api.map.tools.Tool
    Par Ares777 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 02/03/2010, 13h41
  3. [PHP 5.2] [Google Webmaster Tool Api] Verifier avec meta tags
    Par speed034 dans le forum Langage
    Réponses: 1
    Dernier message: 12/01/2009, 10h27
  4. Tools API
    Par Sékiltoyai dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 06/02/2004, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo