1. #1
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2011
    Messages
    2 976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : décembre 2011
    Messages : 2 976
    Points : 10 601
    Points
    10 601
    Billets dans le blog
    4

    Par défaut 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
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    novembre 2002
    Messages
    6 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : novembre 2002
    Messages : 6 723
    Points : 21 447
    Points
    21 447

    Par défaut

    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
    FlashPascal2-16.07.11.zip
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Produits : UPnP, RemoteOffice, FlashPascal

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2011
    Messages
    2 976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : décembre 2011
    Messages : 2 976
    Points : 10 601
    Points
    10 601
    Billets dans le blog
    4

    Par défaut

    Merci beaucoup Paul !

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/10/2010, 20h11
  2. Réponses: 2
    Dernier message: 13/02/2010, 16h34
  3. Sub et valeurs par défaut d'un paramètre
    Par ldujard dans le forum ASP.NET
    Réponses: 1
    Dernier message: 30/01/2007, 17h57
  4. Réponses: 3
    Dernier message: 20/09/2005, 08h59
  5. Réponses: 2
    Dernier message: 18/10/2003, 14h42

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