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 :

Valeur par défaut d'un paramètre de type énuméré


Sujet :

Flash Pascal

  1. #1
    Rédacteur/Modérateur

    Valeur par défaut d'un paramètre de type énuméré
    Bonjour !

    Je voudrais suggérer deux améliorations concernant les types énumérés.

    Premièrement, Flash Pascal ne supporte pas actuellement une valeur par défaut pour un paramètre de type énuméré :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    program parameterdefaultvalue;
     
    // Flash Pascal 2 14.04.22
     
    type
      TEnum = (a, b, c);
     
    function Func(aEnum: TEnum = a): integer; // Type mismatch
    begin
    end;
     
    begin
    end.


    Deuxièmement, les valeurs de type énuméré ne sont pas acceptées pour dimensionner un tableau :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    program arraydimension;
     
    // Flash Pascal 2 14.04.22
     
    type
      TEnum = (a, b, c);
     
    var
      arr: array[a..c] of integer; // Integer expected
     
    begin
    end.


    Mais c'est peut-être beaucoup de travail pour pas grand chose.

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

    ça faisait longtemps que je n'avais pas regardé les sources de FlashPascal 2

    la valeur par défaut c'est facile, "TEnum" étant un alias de "(a, b, c)" le test ne passe pas, il manque un appel à la fonction RealType() qui passe de l'alias au type.

    par contre les tableaux ne fonctionnent qu'avec des Integer, ce n'est pas une modification insupportable mais ça demande un peu de temps ... et j'en manque beaucoup en ce moment

    ceci dit c'est écrit dans le code // todo: GetRange : array of [Word], array of [TValues], ....

    voici une version compilée qui corrige le premier problème même pas le temps de mettre à jour le site officiel
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Rédacteur/Modérateur

    Merci beaucoup Paul !