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 :

Nouvelle version du 29/04/2013 de FlashPascal 2


Sujet :

Flash Pascal

  1. #1
    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 430
    Points
    28 430
    Par défaut Nouvelle version du 29/04/2013 de FlashPascal 2
    Sortie de la version 13.04.29 de FlashPascal 2
    Avec, comme nouveauté principale, l'ajout des ensembles



    http://flashpascal.execute.re/

    Bonjour,

    Je viens de publier une nouvelle version de FlashPascal 2 !

    Au programme :

    - Correction du constructeur des classes utilisateurs : il est maintenant possible de dériver d'une autre classe correctement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    type
      TMaClass = class
      end;
     
      TMaClass2 = class(TMaClass)
      end;
    - Ajout des SET et SET OF avec les opérateurs IN + - * et de Include et Exclude.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    type
      TValue = (un = 1, deux, trois);
      TValues = set of TValue;
    - Ajout d'un préfixe "." pour les membres d'un Variant dans un With (sans ce point, le compilateur ne peut pas savoir qu'il faut faire référence au Variant car il n'a pas de description !).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var
      v: Variant;
    begin
      with v do
      begin
        .lineTo(0,0);
        .color := clBlue;
      end;
    end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  2. #2
    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 , je regarde ça quand le temps me le permettra.
    Encore bien actif malgré tes nouvelles fonctions de papa aguerri

    a+

    anthony

  3. #3
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    Excellent !

    Je me suis penché sur le type set of, qui est une particularité du Pascal que j'aime bien.

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    program Set1;
     
    {$FRAME_WIDTH 320}
    {$FRAME_HEIGHT 200}
     
    const
      LARGEUR = 320;
      HAUTEUR = 200;
     
    type
      Number = Double;
     
      MovieClip = external class
      end;
     
      TextField = external class
        constructor Create(Parent: MovieClip; Name: string; Depth, Left, Top, Width, Height: Number) as Parent.createTextField;
        property text: string;
      end;
     
    var
      textField1: TextField;
      sortie: string;
     
    function BoolStr(b: boolean): string;
    begin
      if b then Result := 'VRAI' else Result := 'FAUX';
    end;
     
    type
      tJour = (dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi);
     
    var
      s1, s2, s3: set of tJour;
     
    begin
    ////////////////////////////////////////////////////////////////////////////////
      textField1 := TextField.Create(nil, 'textField1', 0, 0, 0, LARGEUR, HAUTEUR);
    ////////////////////////////////////////////////////////////////////////////////
     
      s1 := [dimanche, lundi];
      s2 := [jeudi];
      s3 := s1 + s2;
     
      sortie := BoolStr(lundi in s3);
     
    { Résultat : VRAI }
     
    ////////////////////////////////////////////////////////////////////////////////
      textField1.text := sortie;
    ////////////////////////////////////////////////////////////////////////////////
    end.
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    program Set2;
     
    {$FRAME_WIDTH 320}
    {$FRAME_HEIGHT 200}
     
    const
      LARGEUR = 320;
      HAUTEUR = 200;
     
    type
      Number = Double;
     
      MovieClip = external class
      end;
     
      TextField = external class
        constructor Create(Parent: MovieClip; Name: string; Depth, Left, Top, Width, Height: Number) as Parent.createTextField;
        property text: string;
      end;
     
    var
      textField1: TextField;
      sortie: string;
     
    function BoolStr(b: boolean): string;
    begin
      if b then Result := 'VRAI' else Result := 'FAUX';
    end;
     
    type
      tJour = (dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi);
     
    var
      s1, s2, s3: set of tJour;
     
    begin
    ////////////////////////////////////////////////////////////////////////////////
      textField1 := TextField.Create(nil, 'textField1', 0, 0, 0, LARGEUR, HAUTEUR);
    ////////////////////////////////////////////////////////////////////////////////
     
      s1 := [dimanche, lundi];
      s2 := [jeudi];
      s3 := s1 * s2;
     
      sortie := BoolStr(lundi in s3);
     
    { Résultat : FAUX }
     
    ////////////////////////////////////////////////////////////////////////////////
      textField1.text := sortie;
    ////////////////////////////////////////////////////////////////////////////////
    end.
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    program Set3;
     
    {$FRAME_WIDTH 320}
    {$FRAME_HEIGHT 200}
     
    const
      LARGEUR = 320;
      HAUTEUR = 200;
     
    type
      Number = Double;
     
      MovieClip = external class
      end;
     
      TextField = external class
        constructor Create(Parent: MovieClip; Name: string; Depth, Left, Top, Width, Height: Number) as Parent.createTextField;
        property text: string;
      end;
     
    var
      textField1: TextField;
      sortie: string;
     
    function BoolStr(b: boolean): string;
    begin
      if b then Result := 'VRAI' else Result := 'FAUX';
    end;
     
    type
      tJour = (dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi);
     
    var
      s: set of tJour;
     
    begin
    ////////////////////////////////////////////////////////////////////////////////
      textField1 := TextField.Create(nil, 'textField1', 0, 0, 0, LARGEUR, HAUTEUR);
    ////////////////////////////////////////////////////////////////////////////////
     
      s := [dimanche, lundi];
     
      include(s, vendredi);
     
      sortie := BoolStr(vendredi in s);
     
    { Résultat : VRAI }
     
    ////////////////////////////////////////////////////////////////////////////////
      textField1.text := sortie;
    ////////////////////////////////////////////////////////////////////////////////
    end.
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    program Set4;
     
    {$FRAME_WIDTH 320}
    {$FRAME_HEIGHT 200}
     
    const
      LARGEUR = 320;
      HAUTEUR = 200;
     
    type
      Number = Double;
     
      MovieClip = external class
      end;
     
      TextField = external class
        constructor Create(Parent: MovieClip; Name: string; Depth, Left, Top, Width, Height: Number) as Parent.createTextField;
        property text: string;
      end;
     
    var
      textField1: TextField;
      sortie: string;
     
    function BoolStr(b: boolean): string;
    begin
      if b then Result := 'VRAI' else Result := 'FAUX';
    end;
     
    type
      tJour = (dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi);
     
    var
      s: set of tJour;
     
    begin
    ////////////////////////////////////////////////////////////////////////////////
      textField1 := TextField.Create(nil, 'textField1', 0, 0, 0, LARGEUR, HAUTEUR);
    ////////////////////////////////////////////////////////////////////////////////
     
      s := [dimanche, lundi];
     
      exclude(s, dimanche);
     
      sortie := BoolStr(dimanche in s);
     
    { Résultat : FAUX }
     
    ////////////////////////////////////////////////////////////////////////////////
      textField1.text := sortie;
    ////////////////////////////////////////////////////////////////////////////////
    end.
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    program Set5;
     
    {$FRAME_WIDTH 320}
    {$FRAME_HEIGHT 200}
     
    const
      LARGEUR = 320;
      HAUTEUR = 200;
     
    type
      Number = Double;
     
      MovieClip = external class
      end;
     
      TextField = external class
        constructor Create(Parent: MovieClip; Name: string; Depth, Left, Top, Width, Height: Number) as Parent.createTextField;
        property text: string;
      end;
     
    var
      textField1: TextField;
      sortie: string;
     
    type
      tJour = (dimanche = 1, lundi, mardi, mercredi, jeudi, vendredi, samedi);
     
    const
      ChaineJour: array[1..7]of string = ('dimanche', 'lundi', 'mardi', 'mercredi',
      'jeudi', 'vendredi', 'samedi');
     
    var
      s: set of tJour;
      j: tJour;
     
    begin
    ////////////////////////////////////////////////////////////////////////////////
      textField1 := TextField.Create(nil, 'textField1', 0, 0, 0, LARGEUR, HAUTEUR);
    ////////////////////////////////////////////////////////////////////////////////
     
      s := [dimanche, lundi];
     
      s := s + [mercredi];
     
      sortie := '';
      for j := dimanche to samedi do
        if j in s then
          begin
            sortie := sortie + ChaineJour[Ord(j)];
            sortie := sortie + Chr(13);
          end;
     
    { Résultat :
      dimanche
      lundi
      mercredi }
     
    ////////////////////////////////////////////////////////////////////////////////
      textField1.text := sortie;
    ////////////////////////////////////////////////////////////////////////////////
    end.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  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 430
    Points
    28 430
    Par défaut
    ah merci de faire des tests, ça améliore le produit
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

Discussions similaires

  1. [Flash Pascal] Nouvelle version du 02/06/2013 de FlashPascal 2
    Par Paul TOTH dans le forum Flash Pascal
    Réponses: 6
    Dernier message: 12/08/2013, 10h18
  2. [Flash Pascal] Nouvelle version du 03/07/2013
    Par Paul TOTH dans le forum Flash Pascal
    Réponses: 2
    Dernier message: 03/07/2013, 15h39
  3. Office Web Apps : nouvelle version dans la lignée d’Office 2013
    Par Gordon Fowler dans le forum Cloud Computing
    Réponses: 1
    Dernier message: 23/07/2012, 22h51
  4. [Flash Pascal] Nouvelle version 0.7 du compilateur FlashPascal
    Par Paul TOTH dans le forum Flash Pascal
    Réponses: 4
    Dernier message: 13/07/2011, 22h38

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