Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Membre Expert
    Avatar de Archimède
    Homme Profil pro anthony LAURENT
    Enseignant
    Inscrit en
    avril 2005
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Nom : Homme anthony LAURENT
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2005
    Messages : 1 196
    Points : 1 255
    Points
    1 255

    Par défaut Procédure avec paramètre var

    Voilà, si j'ai une procedure :

    Code :
    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 Confirmé Sénior
    Avatar de Paul TOTH
    Homme Profil pro Paul TOTH
    Freelance
    Inscrit en
    novembre 2002
    Messages
    5 609
    Détails du profil
    Informations personnelles :
    Nom : Homme Paul TOTH
    Âge : 45
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : novembre 2002
    Messages : 5 609
    Points : 16 075
    Points
    16 075

    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 :
    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
    Produits : UPnP, RemoteOffice, FlashPascal
    Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%

  3. #3
    Membre Expert
    Avatar de Archimède
    Homme Profil pro anthony LAURENT
    Enseignant
    Inscrit en
    avril 2005
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Nom : Homme anthony LAURENT
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2005
    Messages : 1 196
    Points : 1 255
    Points
    1 255

    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 Confirmé Sénior
    Avatar de Paul TOTH
    Homme Profil pro Paul TOTH
    Freelance
    Inscrit en
    novembre 2002
    Messages
    5 609
    Détails du profil
    Informations personnelles :
    Nom : Homme Paul TOTH
    Âge : 45
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : novembre 2002
    Messages : 5 609
    Points : 16 075
    Points
    16 075

    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 :
    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 :
    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
    Produits : UPnP, RemoteOffice, FlashPascal
    Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%

  5. #5
    Membre Expert
    Avatar de Archimède
    Homme Profil pro anthony LAURENT
    Enseignant
    Inscrit en
    avril 2005
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Nom : Homme anthony LAURENT
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2005
    Messages : 1 196
    Points : 1 255
    Points
    1 255

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •