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

Pascal Discussion :

Persitance des données


Sujet :

Pascal

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut Persitance des données
    alors voilà , j'ai créé en binome un programme , qui compile !
    Malheureusement , j'ai l'impression que le programme ne retient pas les données qui sont entrées...
    J'ai quelques idées sur le pourquoi ça ne retient pas , mais j'aurai besoin d'un peu d'aide pour le résoudre... Mais seulement des conseils , je ne veux pas pour le moment avoir une solution , mais simplement comprendre afin de progresser..
    EDIt : programme effacé . Il sera remis une fois l'examen terminé.
    pour toute demande d'info complémentaires MP moi svp.


    alors mes idées sont : que dans chaque procédure , x et y sont des inconnues ( autrement dit complètement vierges ) et que c'est pour cela que le programme ne retient rien... Comment faire pour que ce qu'on rentre comme données soit mémorisées , et ne pas être obligé de faire une comparaison entre le nom de l'équipe ( ou un numéro) et celui qui vient de marquer ?

    Merci des renseignements que vous pourriez m'apporter.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Citation Envoyé par Largo62 Voir le message
    j'ai l'impression que le programme ne retient pas les données qui sont entrées...
    Je n'ai pas lu tout le code, mais j'ai une question :
    Tu veux que ton logiciel "retienne" les données pendant son exécution ou entre deux utilisations ?
    Pour le second cas, tu dois les sauvegarder dans un fichier (ce que je n'ai pas vu en survolant rapidement ton code)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut
    Bonjour , je souhaiterais que le programme garde en mémoire les données et ce pendant son exécution uniquement.

    Pour vous expliquer le programme : il s'agit d'un programme permettant de compter les points. Ainsi chaque equipe est définie comme Record avec des différentes caractéristiques ( nb points , nb jeux etc...)

    Je voudrais donc qu'a chaque point de fait , on voit apparaitre le score depuis le début ( d'où le fait d'avoir mis les pts sous forme de tableau).

  4. #4
    Membre expérimenté Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Par défaut
    je ne vois pas le problème?

    si tu ne modifies pas le tableau, les points se gardés en mémoire.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut
    Le problème c'est qu'il n'affiche déjà pas le nom du joueur quand cela lui est demandé... je n'ose même pas imaginé le désordre quand ça sera l'incrémentation du score...

  6. #6
    Responsable Pascal, Lazarus et Assembleur


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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 058
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Pour ne pas te compliquer la vie, tu devrais afficher des lignes de tableau vierges (juste les traits) et aller ensuite inscrire les données au bon endroit avec GotoXY.

    Pour la conservation du score des différents sets au cours de la partie, tu peux créer un tableau global que tu mets à jour à chaque fois qu'un jeu est remporté.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Type tScoreMatch = Array [1..2{Nb joueurs},1..5{5 sets au maximum}] of Integer;
    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]

  7. #7
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Bonjour,

    En pascal, il existe 2 façon de passer des paramètres à une procédure : par valeur pour par variable.

    La première fait une copie conforme de ta variable et la passe à la procédure, ainsi le traitement effectué par ta procédure sur cette variable n'affectera en rien ta variable en dehors de la procédure.

    La seconde passe simplement une référence vers ta variable, ce qui fait que tout traitement effectué sur ta variable dans la procédure modifiera aussi la variable en dehors de cette procédure.

    Apparement, ce que tu souhaites pour ton programme, c'est la deuxième solution.

    Bon après, ça fait trop longtemps que je n'ai pas touché au Pascal, du coup je ne me souviens plus quelle est la façon de faire pour avoir le passage par valeur ou par variable, mais ce que je sais c'est que ça se fait à la déclaration de ta procédure grâce au mot clef var. Ce code de test te dira laquelle des 2 méthodes permet la persistance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    program test;
    uses crt; (* wincrt; *)
     
    procedure proc1(var param : int);
    begin
      param := 1;
    end;
     
    procedure proc2(param : int);
    begin
      param := 2;
    end;
     
    var i : int;
    begin
      i := 0;
      writeln("Avant appel de procédure : i = ",i);
      proc1(i);
      writeln("Après passage avec var : i = ",i);
      proc2(i);
      writeln("Après passage sans var : i = ",i);
    end.

  8. #8
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Citation Envoyé par Loceka Voir le message
    Bonjour,
    [.....]
    Bon après, ça fait trop longtemps que je n'ai pas touché au Pascal, du coup je ne me souviens plus quelle est la façon de faire pour avoir le passage par valeur ou par variable, mais ce que je sais c'est que ça se fait à la déclaration de ta procédure grâce au mot clef var. Ce code de test te dira laquelle des 2 méthodes permet la persistance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    program test;
    uses crt; (* wincrt; *)
     
    procedure proc1(var param : int);
    begin
      param := 1;
    end;
     
    procedure proc2(param : int);
    begin
      param := 2;
    end;
     
    var i : int;
    begin
      i := 0;
      writeln("Avant appel de procédure : i = ",i);
      proc1(i);
      writeln("Après passage avec var : i = ",i);
      proc2(i);
      writeln("Après passage sans var : i = ",i);
    end.
    Bonjour alors rappel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    {Passage par parametre ou par variable}
    procedure proc1(var param : integer);
    begin
      param := 1;
    end;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    {Passage par valeur}
    procedure proc2({Const}param : integer);
    begin
      param := 2;
    end;
    Je sais que forcement l'usage d'autres langages t'ont fait oublier que en Pascal c'est integer et non int

    Cordialement

  9. #9
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Citation Envoyé par krachik Voir le message
    Je sais que forcement l'usage d'autres langages t'ont fait oublier que en Pascal c'est integer et non int

    Et j'ai fait pire en javascript, j'ai écrit un := au lieu d'un = pour faire une affectation, je suis pas réveillé aujourd'hui...

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut
    Le problème a été résolu par mon binome . Il manquait en fait le "Var" dans Procedure nomdelaprocedure( VAR....);

    Merci en tout cas des réponses que vous m'avez apporté .

  11. #11
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 974
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 974
    Par défaut
    Kei,
    Citation Envoyé par Largo62 Voir le message
    Le problème a été résolu par mon binome . Il manquait en fait le "Var" dans Procedure nomdelaprocedure( VAR....);
    Bref, ce que t'avais dit Loceka un peu plus haut.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR7]Actualisation des données depuis VB
    Par elifqaoui dans le forum SDK
    Réponses: 4
    Dernier message: 24/11/2003, 14h44
  2. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 18h44
  3. Réponses: 13
    Dernier message: 20/03/2003, 09h11
  4. Structure des données en retour d'un DBExtract ?
    Par mikouts dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/01/2003, 16h15
  5. Réponses: 2
    Dernier message: 18/12/2002, 11h30

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