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

Turbo Pascal Discussion :

[TP] Echanger des données entre deux programmes [Non suivi]


Sujet :

Turbo Pascal

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [TP] Echanger des données entre deux programmes
    Bonjour !

    Dans le cadre de mes études aux Beaux-arts, je tente de créer un programme d'animation en direct de mots sur un écran (mode texte). Cependant, il me faut deux ordinateurs : un écran où s'affichent les animations, et un deuxième écran pour contrôler ces dernières en live (pour accompagner un musicien). Le programme en lui-même est assez avancé, et je l'ai structuré de façon à pouvoir aisément le séparer en deux programmes distincts : je cherche donc à savoir comment échanger des données (type record, assez légères) entre deux programmes situés sur deux ordinateurs.
    Je travaille sur Turbo Pascal sous windows : on m'a dit que ce langage ne serait pas suffisant en soi pour réaliser ce type d'échanges de données. Puis-je toutefois créer un programme intermédiaire, ou en inclure un dans celui déjà existant...

    ...au passage, j'ai 19 ans et mon niveau de programmation est le produit de souvenirs des leçons que me donnait mon frangin lorsque j'étais sixième...

    si quelqu'un pouvait m'aider j'en serais vraiment ravi !

    cordialement,

    raphaël

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Sur quelles plate-formes ces deux programmes doivent-ils tourner ?
    Tu parles de programmes en mode texte : cela signifie-t-il qu'ils sont compilés pour le mode réel (DOS) ?

    A toutes fins utiles, le sujet du développement d'une application Client-Serveur a déjà été abordé sur ce forum :
    http://www.developpez.net/forums/vie...light=r%E9seau
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Pardon du retard... (encore des difficultés informatiques...)

    La "plate-forme" ? C'est l'OS ? ça serait pour deux ordinateur PC ou portable. Actuellement je code sous Windows 2000 mais comme le deuxième ordinateur me sera certainement prêté, ça risque d'être du windows XP.

    Je ne vois pas ce qu'est le mode réel
    Je lance mon TP 5.5 à partir de l'explorateur windows et le programme est fait pour un mode texte 80x25 comme sur le vieux 486 de mon enfance...
    En fait, au départ j'imaginais transmettre un fichier type record du PC de contrôle vers l'ordi sur lequel tournerait le programme d'affichage afin que celui-ci le lise. Mais d'après le peu de théorie que j'ai, cela poserait des problèmes sachant que deux applications ne peuvent accéder en même temps à un fichier...
    Au niveau matériel, je pensais utiliser un câble série ou un câble ethernet...

    Pour ce qui est du lien vers l'autre topic... euh, je comprends pas ce qu'ils racontent

    Merci en tout cas de ta réponse... Je ne sais pas si je t'ai apporté des informations suffisantes.

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Voilà le frangin en question ;-)

    Au passage, pour le public qui jette un oeil par ici, le "frangin" ne fait plus de Pascal depuis près de 4 ans, merci de votre indulgence ;-p

    Citation Envoyé par ILIAS Raphaël
    La "plate-forme" ? C'est l'OS ?
    Yep, la plate-forme, c'est l'ensemble des éléments qui composent l'environnement d'exécution d'un logiciel. Ca inclue donc au moins l'OS et le hardware de la machine (en l'occurence, ce qui nous intéresse c'est que tu programmes sous DOS sur PC).

    Citation Envoyé par ILIAS Raphaël
    Je ne vois pas ce qu'est le mode réel
    C'est un mode de fonctionnement "primitif" des microprocesseurs de nos PC, un héritage des 8086/80186... DOS fonctionne essentiellement en mode-réel, contrairement à Windows et sa console (que l'on confond souvent avec DOS) qui fonctionnent en mode protégé. A noter qu'en mode réel, seul 1 Mo de mémoire est accessible, sous laquelle on ne peut trouver que 640 Ko de RAM...

    Donc la réponse dans ton cas, c'est que tu travailles en mode-réel. Et l'intérêt de cette question, c'est de savoir précisément sur quel OS tu développes. Car avec DOS dans ce mode de fonctionnement, on ne peut pas dire que tu auras beaucoup de services logiciels, en particulier, le support réseau n'est pas présent par défaut.

    Citation Envoyé par ILIAS Raphaël
    Je lance mon TP 5.5 à partir de l'explorateur windows et le programme est fait pour un mode texte 80x25 comme sur le vieux 486 de mon enfance...
    A mon avis, ça vaudrait le coup de tenter de basculer sur freepascal, qui en plus d'être libre est plus récent. En utilisant un IDE comme on peut le voir dans la discussion citée par Alcatiz, ça ne devrait pas te poser beaucoup de difficultés. Je regarde de mon coté ce que ça donne, si tu as le temps, essai de ton coté aussi.

    Citation Envoyé par ILIAS Raphaël
    En fait, au départ j'imaginais transmettre un fichier type record du PC de contrôle vers l'ordi sur lequel tournerait le programme d'affichage afin que celui-ci le lise.
    Bon réflexe que d'utiliser un record pour formater les données à échanger. Mais comme tu t'en rends compte toi-même : un fichier (ordinaire) n'est pas très pratique pour échanger des informations de façon dynamique entre deux applications. Et pour cause : un fichier n'est pas fait pour ça

    Dans l'immédiat, il y a une solution qui me paraît assez simple à mettre en oeuvre : relier les deux PC avec un câble série.

    Première chose à faire : vérifier que les port série des deux PC sont bien configurés de la même façon. Configuration conseillée :
    - vitesse : 9600 bps ou 38400 bps
    - bits de données : 8
    - bits de stop : 1
    - parité : aucune
    - contrôle de flux : aucun

    En lançant un hyperterminal sur chaque PC, tu devrais pouvoir vérifier que la communication fonctionne bien. En tapant au clavier sur un PC, les caractères devraient s'afficher sur l'autre.

    Ceci étant vérifié, la communication peut se mettre en place assez facilement. En effet, la liaison série, que ce soit sous DOS ou Windows, est représentée par le fichier virtuel "COM1" (ou COM2, etc...). Il suffit d'accéder à ce fichier comme avec un autre. Les données écrites dedans sont envoyées sur la liaison série, et inversement.

    Je ne peux que te conseiller de commencer par faire un petit programme pour essayer, avant d'implanter la communication dans ton programme (un problème à la fois, c'est toujours la bonne façon de faire pour bien programmer).

    Ce qui est sympa avec cette solution, c'est que, si elle te convient, il suffira d'utiliser FreePascal et de remplacer "COM1" par "/dev/ttyS0" pour que ça fonctionne sous GNU/Linux... Parce que là, je te plainds ;-)

    Citation Envoyé par ILIAS Raphaël
    Au niveau matériel, je pensais utiliser un câble série ou un câble ethernet...
    Juste pour le background technique...

    Un câble ethernet implique généralement un réseau de protocole TCP/IP (programmation généralement via ce qu'on appelle les "sockets").

    Un câble série n'implique pas de protocole (logiciel) particulier. On peut y mettre ce que l'on veut (le sien, PPP pour faire du TCP/IP, ...). Traditionnellement, on y accède à travers un fichier (dit de périphérique).

    PS : c'est une très bonne idée que d'avoir posé ton problème ici, pour la suite des événements, continue à faire part de ton avancement ici même...

Discussions similaires

  1. [XL-2010] Extraire des données sous conditions entre deux bornes
    Par benadry dans le forum Excel
    Réponses: 4
    Dernier message: 13/02/2015, 11h57
  2. Réponses: 8
    Dernier message: 01/06/2014, 15h49
  3. Réponses: 9
    Dernier message: 18/02/2011, 16h23
  4. Echange des données sur deux bases
    Par vlksoft dans le forum Modélisation
    Réponses: 7
    Dernier message: 29/12/2008, 09h03
  5. [Base de données Spatial] Distance entre deux points
    Par Pumpkins dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/11/2006, 12h18

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