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

 C Discussion :

utlisation d'une application externe


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut utlisation d'une application externe
    Bonjour,

    Pouvez vous répondre à une question bien précise svp. voila je code avec du C mais il se trouve que pour mon code j'ai besoin d'une liste qui à été crée dans une autre application. je ne sais pas si il y a un moyen de récupérer cette liste et bien sur tous les champs de chaque élément de cette liste sans faute afin que je puisse l'utiliser.

    Au fait si je veux récupérer la liste c'est parce que c'est l'unique élément qui m'intéresse dans la deuxième application à la base je devais faire une continuité de l'application mais comme je ne comprends rien au code de la personne qui la faite je préfère récupérer sa liste (liste en C ) et faire ensuite ma propre application à partir des données que j'aurai récupère de l'application externe.

    J'ai pensé à ajouter les .h de l'application externe dans mon application mais ça ne marche pas vu que le compilateur m'affiche

    Classes.hpp no sush file or directory
    Contols.hpp no such file or directory
    stdctrls.hpp no such file or directory


    Merci d'avance

    Bonne fin de journée

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Par défaut
    Si j'ai bien compris, ton application "première" affiche une liste à l'ecran et tu es chargé d'en faire une deuxième qui lit cette liste pour la traiter (peu importe le traitement), j'ai juste?

    Si oui, l'application première écrit-elle dans le terminal?
    Dans ce cas, il te suffit de faire un pipe entre les deux applications tu pourra lire sur l'entree standard de maniere transparente

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    prog1 arg1 arg2 | prog2 arg1 arg2
    Ou alors tu peux passer par un fichier commun...mais pense à le fermer avec un avant de l'ouvrir avec l'autre.

  3. #3
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut Utilisation d'une variable externe à mon application
    Bonjour,
    je te remercie pour la réponse. Je m'explique il existe une application en traitement d'image qui fait de la segmentation ( d'une manière bien précise) cette application stock ses segments trouvés dans une liste chainée.


    Moi de mon coté je veux récupérer cette liste et l'utiliser dans mon application afin de la traiter et trouver un moyen d'optimiser la segmentation faite dans l'application qui existe déjà.

    Pour le fichier tu peux m'expliquer d'une manière détaillée car je ne m y connais pas en programmation du coup j'ai du mal a te suivre.

    Je te remercie d'avance pour ta patience.

  4. #4
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut Utilisation d'une variable externe à mon application
    J'ai oublié de dire que l'application de mon amie est faite en C en utilisant builder et la mienne est faite en C en utilisant Dev-C

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Accéder directement à la mémoire d'une application pour la lire est très complexe.

    Pour pouvoir récupérer le résultat du premier programme, il faut que celui-ci l'exporte d'une façon ou d'une autre. Il existe plusieurs moyens de faire transiter des données d'un programme à l'autre. La méthode la plus simple est certainement l'utilisation de fichiers.

    On peux aussi nommer les pipes, les sockets et plus anecdotiquement la mémoire partagée. (Dans ce dernier cas le premier programme utilise volontairement de la mémoire à laquelle un autre programme peut accéder).

    À moins que tu ne veuilles te lancer dans l'écriture d'un déboggueur, il faut que ton amie modifie son programme pour exporter les informations qui t'intéressent.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Par défaut
    Comme le dit si bien mabu, plusieurs moyens sont à ta disposition.
    Pour chacun d'eux, tu devrai trouver sans peine sur internet de la doc pas trop complexe.

    (mais si tu es adepte des bricolages, j'aurai tendance à te proposer quelquechose d'assez simple: trouve dans le programme de ton ami(e) un endroit où la liste chaînée est remplie et tu la printf. Comme ca, avec un bon vieux pipe, tu récupère le tout derrière.
    Ok, c'est moche et pas à faire mais juste pour regarder si ca marche, ca devrai aller nickel)

  7. #7
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut Utilisation d'une variable externe dans mon application
    Bonjour ,

    Merci pour vos réponses et une fois que la liste a été affiché avec un printf ? je n'ai pas bien compris la procédure tu peux détailler un peu plus stp ?

    Aussi je voulais savoir si je trouve la liste et que je crée un fichier et mettre le contenu de la liste à l'intérieur ca peut marcher il suffit juste de faire appel au fichier dans mon application non ?

    si je fais ca une fois que la liste est mise dans un fichier je la récupère normalement sans problème
    ? mon compilateur va surement pas la reconnaitre vu que c'est une variable externe non ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Si j'ai bien compris, vous voulez intégrer dans votre code écrit en C non Builder un bout de code écrit en C Builder.
    Si c'est bien ça, voilà ce que je ferais, en supposant que le code ce votre ami est bien écrit;
    1- j'ajouterais le code, dans le vôtre, ce que vous avez fait.
    2- le compilateur signale qu'il ne trouve pas certains fichiers d'entête, c'est normal.
    3- mettez un commentaire devant les lignes concernées et relancez la compile.
    4- Le compilateur va vous précisez les fichiers d'entête manquants. Si vous les avez mettez les et recommencer.
    5- après deux ou trois essais de compile, ça devrait marcher. Sinon, au pire, comme j'ai Builder, on pourra trouver une solution.
    Si mon hypothèse de départ n'est pas bonne, je n'ai pas vraiment compris ce que vous voulez faire.
    Cordialement.

  9. #9
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut Utilisation d'une variable externe à mon application
    Bonjour ,

    Je te remercie infiniment pour ta réponse. Je m'explique moi c'est pas vraiment son code qui m'interesse mais le resultat qu'elle a mis dans une liste chainée et pour ca j'avais mis son fichier.h dans le fichier include de mon compilateur et meme avec ca il ne le reconnais pas et il ne reconnais pas aussi ses variables du coup je pense mnt à

    1. au niveau de son application et dans la fonction qui met les résultats dans la liste je vais creer un fichier et je metterai la liste à l'interieur

    2. au niveau de mon application je vais lire le fichier et l'utiliser

    mais je ne sais pas si je peux faire ca surtout que son code est très compliqué à comprendre

    Merci pour ta patience

  10. #10
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut Utilisation d'une variable externe à mon application
    Je voulais aussi te demander vu que tu as builder j'ai une version Builder qui ne veux pas s'installer sur mon pc (Window7) je me demande ou est le problème? et je dois pouvoir l'installer pour que je puisse compiler le code de mon amie car sous Dev-c je n y arrive pas

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Par défaut
    Si tu veux modifier le code de ton amie, il va te falloir les bibliothèques manquantes car tu va être contraint de compiler ce code, que ce soit pour ajouter un systeme de fichier, ou un simple printf avec un pipe.

  12. #12
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut
    oui justement donc si je comprends bien on ne peut pas compiler du builder sur du dev-c ? si je veux modifier le code de mon amie et pouvoir le compiler il me faut builder c'est bien ca ?

    Merci d'avance

  13. #13
    Invité
    Invité(e)
    Par défaut
    Mais non,
    Un code est composé de fichiere .c et de fichiers d'entête .h
    Si on t'a donné le code, on t'a donné un ou des fichiers .c et un ou des fichiers .h
    Si le code est écrit avec une syntaxe correcte, c'est à dire standard, il devrait être compilé par n'importe quel compilateur C.
    Il semble que le seul problème technique est la présence de fichiers d'entête .hpp qui sont une spécialité de Builder, mais qui, je pense, est possible à contourner.
    Avoir un code ne sert à rien si on ne peut pas le faire tourner, quitte à le recopier-transposer entre-temps.
    Une liste chainée est une méthode de stockage et de recherche d'information en mémoire. Je précise bien -EN MEMOIRE- c'est à dire pendant que le programme tourne. Les données elles-mêmes existent ailleurs, ou sont fabriquées par le programme.
    Donc, dans tous les cas de figure, il faut réussir à exécuter le code.

  14. #14
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par id_rima Voir le message
    oui justement donc si je comprends bien on ne peut pas compiler du builder sur du dev-c ?
    C'est bien ça.

    Citation Envoyé par id_rima Voir le message
    si je veux modifier le code de mon amie et pouvoir le compiler il me faut builder c'est bien ca ?
    Oui. Il est à ma connaissance impossible de compiler du code c++builder avec autre chose que c++builder (même avec les bibliothèques qui vont bien).

    EDIT: (suite à la réponse de Pierre Dolez)
    Oui un code C standard peut être compilé avec un compilateur C standard.
    Mais les erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Classes.hpp no sush file or directory
    Contols.hpp no such file or directory
    stdctrls.hpp no such file or directory
    témoignent du fait que le programme c++ builder n'est pas du C mais du C++.
    On peut supposer qu'il y a une interface graphique à ce programme. Or l'interface graphique de borland est la VCL, qui est basée sur des classes delphi. Le système fonctionne parfaitement, mais il est tellement alambiqué qu'il semble impossible de compiler du code c++builder (avec GUI) avec gcc (le compilateur de devc++)

  15. #15
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut
    Bonjour,

    Après ton explication si j'ai pas encore compris il va falloir que j'arrête tout llol je te remercie infiniment pour ta réponse au moins maintenant je vais déjà enlever cette probabilité je pense que je vais récupérer tout son code (du C standard du genre fonctions... ) et le reprendre dans le mien ou peut être travailler avec builder.

    Encore une fois merci à tout le monde pour votre patience

    bonne fin de journée

Discussions similaires

  1. Réponses: 12
    Dernier message: 23/01/2008, 09h17
  2. Fermer une application externe
    Par jean tof dans le forum C++Builder
    Réponses: 2
    Dernier message: 02/05/2006, 16h18
  3. [Système][Runtime]lancer une application externe
    Par mencaglia dans le forum API standards et tierces
    Réponses: 14
    Dernier message: 22/09/2005, 17h27
  4. Réponses: 6
    Dernier message: 07/09/2005, 20h31
  5. [Excel] Utiliser une application externe par une macro
    Par thierry2.dlp dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2005, 22h07

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