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 :

Nouvelle version 12.07.02 disponible !


Sujet :

Flash Pascal

  1. #1
    Expert éminent sénior
    Nouvelle version 12.07.02 disponible !
    Version 12.07.02

    Modification importante sur la gestion des événements.
    Ajout des mots clés private, protected et public, ils passent à la compilation mais sont ignorés pour l'instant.
    Ajout des propriétés sur les classes utilisateur : property Items[Index: Integer] read GetItem write SetItem; default;.
    Création de quelques composants à la Delphi : FlashCL.

    Retrouvez tout cela sur le site http://flashpascal.execute.re, rubrique Versions.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  2. #2
    Membre expérimenté
    Bravo !
    Encore un joli travail, ça commence à prendre de plus en plus forme...
    l'encapsulation... nickel. les événements, le facteur (sender)...
    Bien pour les composants...c'est indispensable.


  3. #3
    Rédacteur/Modérateur

    Citation Envoyé par Paul TOTH Voir le message
    Version 12.07.02

    Modification importante sur la gestion des événements.
    Ajout des mots clés private, protected et public, ils passent à la compilation mais sont ignorés pour l'instant.
    Ajout des propriétés sur les classes utilisateur : property Items[Index: Integer] read GetItem write SetItem; default;.
    Création de quelques composants à la Delphi : FlashCL.

    Retrouvez tout cela sur le site http://flashpascal.execute.re, rubrique Versions.
    J'ai regardé l'exemple Events. J'arrive à peu près à suivre.

    Non, sérieusement, il y a un point sur lequel j'aimerais que tu reviennes, parce qu'il me gêne toujours.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    constructor TButton.Create(Name: string; x, y: Integer);
    begin
      inherited Create(_root, Name, _root.getNextHighestDepth);


    Je crois deviner que ça veut dire quelque chose comme : quand l'objet parent (ici _root) sera créé, l'objet descendant sera créé du même coup. Mais ensuite je vois dans la boucle principale une instruction pour créer le bouton :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Button1 := TButton1.Create('Button1', 10, 40);


    Du coup je ne vois plus à quoi peut servir le mot inherited.

    Sinon une petite remarque sur l'emploi des mots-réservés comme noms de variables (label dans cet exemple, type dans le jeu des points). Je ne sais pas si c'est un avantage de pouvoir faire cela, mais l'éditeur ne sait pas faire la différence et affiche ces mots en gras.

  4. #4
    Membre expérimenté
    bonsoir, en attendant, je peux essayer de t"aider à comprendre...
    TButton hérite de movieclip :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    TButton=class (movieclip)

    l'héritage est que TButton va récupérer les méthodes de movieclip.
    _Root n'est que le parent des instances de TButton...

    pour les composants, tu dois télécharger en plus : FlashCL

    Voilà

  5. #5
    Rédacteur/Modérateur

    Citation Envoyé par Archimède Voir le message
    TButton hérite de movieclip :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    TButton=class (movieclip)

    l'héritage est que TButton va récupérer les méthodes de movieclip.
    _Root n'est que le parent des instances de TButton...
    Merci pour ta réponse.

    Citation Envoyé par Archimède Voir le message
    pour les composants, tu dois télécharger en plus : FlashCL
    Vu !

  6. #6
    Membre expérimenté
    De rien, en fait tu as confondu l'ancêtre (movieclip) dont va hériter TButton avec le parent.
    Et je rajoute que _root.getNextHighestDepth définit le niveau sur lequel sera situé l'instance créée de TButton sur son parent (ici _root). Le niveau de la couche sur laquelle sera située l'instance sera le prochain disponible sur _root.

  7. #7
    Rédacteur/Modérateur

    Citation Envoyé par Archimède Voir le message
    De rien, en fait tu as confondu l'ancêtre (movieclip) dont va hériter TButton avec le parent.
    Et je rajoute que _root.getNextHighestDepth définit le niveau sur lequel sera situé l'instance créée de TButton sur son parent (ici _root). Le niveau de la couche sur laquelle sera située l'instance sera le prochain disponible sur _root.
    D'accord.

    Autrement je viens de parcourir le début de documentation. J'étais passé à côté. C'est drôlement bien ! Et les exemples sont parfaits. Chapeau, patron !

  8. #8
    Membre expérimenté
    Oui quand l'encapsulation sera opérationnelle avec un affichage des méthodes publiques des objets dans l'éditeur au moment de la frappe de objet. , le tour sera joué...
    Là, le download sur son site risque de s'accélérer

  9. #9
    Rédacteur/Modérateur

    Le site de Paul devient très attrayant, en effet.

  10. #10
    Expert éminent sénior
    Hello,

    inherited c'est, comme l'explique Archimède, pour appeler la méthode portant le même nom dans la classe ancêtre ... TButton.Create appelle la méthode héritée MovieClip.Create.

    pour _root, cette page devrait t'éclairer.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  11. #11
    Rédacteur/Modérateur

    Citation Envoyé par Paul TOTH Voir le message
    pour _root, cette page devrait t'éclairer.
    En effet, merci.

    Ce passage, en particulier, m'a apporté une réponse au sujet de nil comme "parent". Je suis soulagé de savoir que rien ne "descend" du néant.

    dans le cas particulier d'un pseudo-constructeur qui attend un paramètre de type MovieClip, FlashPascal remplace automatiquement le mot clé "nil" par une référence à l'objet "_root".
    Deux petites questions encore.

    1° Dans l'exemple Events, je ne vois pas ce que devient la variable Caption.

    2° La procédure ou méthode onClick3 est déclarée avec un paramètre, mais le paramètre n'est jamais passé explicitement.

  12. #12
    Expert éminent sénior
    Caption n'est utilisé que dans TButton.Create.

    tu peux l'utiliser pour modifier le texte du bouton : Button1.Caption.Text := 'hello'.

    rappel: TButton1 hérite de TButton et donc de Caption

    pour le paramètre Sender de onClick3, c'est une nouvelle fonctionnalité des événements.

    ça permet dans FlashCL de gérer dans une seule procédure le clic des différents RadioButton par exemple. Sender est alors le bouton radio qui déclenche l'événement.

    Ce paramètre est optionnel, il n'est d'ailleurs pas utilisé sur onCheck dont on sait que le déclencheur est forcément CheckBox1.

    Sender est une notion directement inspirée de Delphi, elle n'existe pas en ActionScript.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store