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

Flash Pascal Discussion :

Procédure avec paramètre var


Sujet :

Flash Pascal

  1. #1
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut Procédure avec paramètre var
    Voilà, si j'ai une procedure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure maprocedure( var mon_parametre: TMachin);
    begin
     .......
     ........
     .......
     
     mon_parametre:=une valeur; 
    end;
    je ne peux pas le faire en flashpascal...

    C'est un oubli ou tu ne peux pas ?

    je me suis débrouillé en faisant une fonction mais je voulais poser la question...

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    joli !

    alors c'est un peu des deux...il n'y a dans FlashPascal que ce que j'ai codé car j'en ai eu besoin, donc il manque des choses pourtant évidentes. mais dans le cas présent ce n'est pas si évident que cela à faire en Flash.

    je crois qu'en gros je devrais faire quelque chose comme ça:

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    program Project2;
     
    {$FRAME_WIDTH 550}
    {$FRAME_HEIGHT 400}
    {$FRAME_RATE 12}
    {$BACKGROUND $FFFFFF}
     
    uses
      Flash8;
     
    type
      TVarMovie = class
        m : MovieClip;
      end;
     
    procedure createmovie1(var m:MovieClip);
    begin
      m := MovieClip.Create(_root, '', 1);
    end;
     
    procedure createmovie2(p: TVarMovie);
    begin
      p.m := MovieClip.Create(_root, '', 1);
    end;
     
    var
      p: TVarMovie;
      m: MovieClip;
    begin
      createmovie1(m); // ça ne fonctionne pas !
      m.lineStyle(1,clBlue);
      m.lineTo(100,100);
     
      p := TVarMovie.Create; // utilisation d'une classe temporaire
      createmovie2(p);
      m := p.m; // pour récupérer le paramètre modifié
     
      m.lineStyle(1,clRed);
      m.moveTo(100,0);
      m.lineTo(0,100);
    end.
    c'est à dire que je dois dynamiquement créer un objet que je passe en paramètre pour récupérer un membre modifié...faisable...
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Merci, quand je vois des trucs, je le dis...
    Mais tu as toujours la solution dans la poche
    en effet bien vu pour ton raisonnement

    merci

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par Archimède Voir le message
    Merci, quand je vois des trucs, je le dis...
    Mais tu as toujours la solution dans la poche
    en effet bien vu pour ton raisonnement

    merci
    bon je pensais résoudre ça relativement facilement mais non...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    begin
      a := function_avec_var(a, b) + function_avec_var(c, d)  + d;
    end;
    ça devient un poil compliqué là

    ou alors faut partir dans des fonctions anonymes genre

    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
    23
    24
    25
    26
    27
    28
     
    begin
      a := function()
           var
             p: TVarParam;
           begin
             p.a := a;
             p.b := b;
             t := function_avec_var(p, p);
             a := p.a;
             b := p.b;
             return t
           end
           +
           function()
           var
             p: TVarParam;
           begin
             p.c := c;
             p.d := d;
             t := function_avec_var(p, p);
             c := p.c;
             d := p.d;
             return t
           end
           +
           d
    end;
    c'est sans doute le seul moyen en fait
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    En effet, ça devient un poil compliqué ...
    Le jeu en vaut-il la chandelle ?
    On ne fait pas ça tous les jours et puis une bonne vieille fonction de remplacement fait l'affaire...
    Merci pour ta tentative de correctif.

Discussions similaires

  1. [SQLEXP2005][TSQL]Procédures avec Paramètres optionnels
    Par hsii04 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 12/03/2008, 10h50
  2. appel procédure avec paramètres ds fonction
    Par cpattin dans le forum VB.NET
    Réponses: 7
    Dernier message: 14/06/2007, 22h11
  3. Problème procédure avec paramètres
    Par Aizen64 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/06/2007, 10h40
  4. Fonction ou procédure avec paramètres optionnels ?
    Par [Silk] dans le forum Langage
    Réponses: 3
    Dernier message: 05/05/2006, 13h55
  5. [Débutant]Procédure avec paramètres entrée / sortie
    Par jeromejanson dans le forum Langage
    Réponses: 13
    Dernier message: 10/10/2005, 08h30

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