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 :

Version 12.06.15 disponible !


Sujet :

Flash Pascal

  1. #1
    Expert éminent sénior
    Version 12.06.15 disponible !
    Je ne garanti pas que je ferais une nouvelle version tous les jours, mais en voici tout de même une troisième en trois jours

    Ajoute d'une boîte de dialogue sur la création d'un nouveau projet.
    Ajout du Drag&Drop des fichiers vers l'éditeur.
    Correction d'un bug sur le mot clé with

    N'hésitez surtout pas à me remonter les bugs rencontrés, que ce soit lors de l'installation ou la mise à jour du produit, et évidemment lors du développement de vos applications FlashPascal !

    http://flashpascal.execute.re
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  2. #2
    Membre expérimenté
    Bingo ! (pour la boîte de saisie...)
    Super, je teste au cas où il y aurait des bugs...
    Mais ne te sens pas obligé de faire une version tous les jours !
    je pense que là, tu vas pouvoir te reposer... Les éléments essentiels sont présents pour pouvoir assurer.

  3. #3
    Rédacteur/Modérateur

    Citation Envoyé par Paul TOTH Voir le message
    N'hésitez surtout pas à me remonter les bugs rencontrés
    Il y a un bug dans le titre de la discussion (05 au lieu de 15).

    Plaisanterie à part, le nouvel éditeur a vraiment de l'allure. Je n'ai pas encore eu le temps de l'essayer de façon approfondie, mais ce sera bientôt chose faite.

  4. #4
    Membre expérimenté
    premier essai avec le textfield qui ne passait pas :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure RealMovie.RTextout(x,y,width,height,Depth:number;font:TextFormat;txt:String);
    var Field:TextField;
    begin
     Field:=TextField.Create(self,'',Depth,xo+Gx*(x),yo-Gy*(y),width,height);
     with Field do
     begin
      setNewTextFormat(font);
      text:=txt;
     end;
    end;


    concluant

  5. #5
    Membre expérimenté
    Deuxième test...méthodes héritées :

    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
     
    program Project1;
     
    {$FRAME_WIDTH 550}
    {$FRAME_HEIGHT 400}
    {$FRAME_RATE 32}
    {$BACKGROUND $FFFFFF}
     
    uses
      Flash8,URealmovie;
     
    var mc:Realmovie;
     
    begin
      mc:=Realmovie.create(nil,'essai with méthodes héritées',1);
      with mc do
      begin
       setsize(550,400,-10,-10,10,10);
       linestyle(3,$ff0000); //méthode héritée qui passe ! bravo !
       beginFill($00ff00);//idem
       RRectangle(-5,-5,5,5);
      end;
     
    end.


    ça passe !!

  6. #6
    Membre expérimenté
    Petite remarque à l'utilisation...
    Si on ne désire pas ajouter de onFrameEnter, le Frame_rate est inutile et tu devrais ajouter un radiobutton ou un checkbox pour faire le choix de l'introduction de {$FRAME_RATE } ou pas.
    tu as toujours ton bouton rétablier

    sinon nickel grand chef !

  7. #7
    Membre expérimenté
    Encore un soucis... avec le with....

    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
     
    procedure Horloge.onEnterFrame;
    var i:integer;
        fig:TArrayofPoint;
    begin
      d:=TDate.Create;
      with espace do
      begin
       clear;
       //grande aiguille
       fig :=Rrotationarraypoint(0,0,2*pi*(d.getMinutes+d.getSeconds/60)/60,Gaiguille); //à la place de fig:=espace.Rrotation... ça ne marche pas
       linestyle(3,$000000);
       beginfill($FFD700);
       moveto(Fig[0].x,Fig[0].y);
       for i:=1 to 4 do lineto(Fig[i].x,Fig[i].y);
       endFill();
      //petite aiguille
       fig :=Rrotationarraypoint(0,0,2*pi*(d.getHours+d.getMinutes/60)/12,Paiguille); //idem
       beginFill($FFD700);//ici j'avais oublié espace.
       moveto(Fig[0].x,Fig[0].y);
       for i:=1 to 4 do lineto(Fig[i].x,Fig[i].y);
       endfill();
       //trotteuse
       linestyle(4,$FF4500);
       beginfill($FF4500);
       Rcircle(0,0,2);
       RLine(0,0,42*cos(-2*pi*d.getSeconds/60+pi/2),42*sin(-2*pi*d.getSeconds/60+pi/2));
       RLine(0,0,-7*cos(-2*pi*d.getSeconds/60+pi/2),-7*sin(-2*pi*d.getSeconds/60+pi/2));
       endFill();
      end;
      RTextout(-10.75,-28,250,30,0,myfont2,IntToStr2(d.getHours)+#32#58#32+IntToStr2(d.getMinutes)+#32#58#32+IntToStr2(d.getSeconds));
    end;


    j'ai un plantage général à cause de la méthode qui permet la rotation de tableau de points...

    j'ai remplacé :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    fig := espace.Rrotationarraypoint(0,0,2*pi*(d.getHours+d.getMinutes/60)/12,Paiguille);


    par:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    with espace do
     begin
      ........
      fig :=Rrotationarraypoint()...
     end;


    il y peut-être d'autres sources d'erreur mais celle-ci est avérée...

    Ce n'est pas facile tout ça....

  8. #8
    Membre expérimenté
    En fait fig est une variable locale, avec le with, ça fait espace.fig et c'est là que ça plante puisque fig n'est pas une propriété d'espace. Il faudrait gérer des exceptions. En delphi, ça passe.

  9. #9
    Membre expérimenté
    La trotteuse ne tourne plus et n'est plus dimensionnée.
    Sans doute que espace affecte aussi math.cos, sin...
    Lorsqu'un objet est accompagné d'un with, il faudrait que l'affectation ne prenne effet que sur ses méthodes ou ses méthodes héritées (mais ça, c'est déjà fait) et pas sur l'ensemble des objets à l'intérieur du begin end.
    A voir.

  10. #10
    Rédacteur/Modérateur

    Citation Envoyé par Archimède Voir le message
    La trotteuse ne tourne plus et n'est plus dimensionnée.
    Sans doute que espace affecte aussi math.cos, sin...
    Lorsqu'un objet est accompagné d'un with, il faudrait que l'affectation ne prenne effet que sur ses méthodes ou ses méthodes héritées (mais ça, c'est déjà fait) et pas sur l'ensemble des objets à l'intérieur du begin end.
    A voir.
    Si je peux me permettre, je trouve que c'est bien compliqué ce que tu demandes. Tu veux un with, mais qui ne soit pas tout à fait un with. Quel est l'intérêt ? Et comment fera-t-on pour comprendre quelque chose à un code bâti sur ce principe ?

  11. #11
    Membre expérimenté
    Un with selon ta conception aussi réducteur ne présente pas beaucoup d'intérêt...
    Vas faire un tour sur lazarus ou delphi, tu comprendras.

    ps: c'est là d'ailleurs que l'on voit toute la souplesse et la subtilité d'un outil comme delphi. Je mesure toute la difficulté d'arriver au même résultat.
    Mais avec Paul Toth rien n'est impossible ou presque.

  12. #12
    Expert éminent sénior
    Citation Envoyé par Archimède Voir le message
    Petite remarque à l'utilisation...
    Si on ne désire pas ajouter de onFrameEnter, le Frame_rate est inutile et tu devrais ajouter un radiobutton ou un checkbox pour faire le choix de l'introduction de {$FRAME_RATE } ou pas.
    tu as toujours ton bouton rétablier

    sinon nickel grand chef !
    le frame_rate est toujours défini, c'est inhérent à Flash. Quand la directive n'est pas présente il est fixé arbitrairement à 32.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  13. #13
    Membre expérimenté
    Citation Envoyé par Paul TOTH Voir le message
    le frame_rate est toujours défini, c'est inhérent à Flash. Quand la directive n'est pas présente il est fixé arbitrairement à 32.
    ok, je comprends. C'est un détail...

  14. #14
    Expert éminent sénior
    pour le bug du with il est lié au code généré...en fait même sous ActionScript il y a une subtilité que je dois reproduire en FlashPascal, le préfix "this" (équivalent du Self) n'est pas obligatoire en ActionScript...mais si tu ne le mets pas dans un with, il ne retrouve pas les membres de la classe.

    et en ajoutant Self dans ton code je me suis rendu compte que je ne le gérais pas bien non plus, ça va me corriger deux bugs d'un coup tout ça
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  15. #15
    Membre expérimenté
    Citation Envoyé par Paul TOTH Voir le message
    pour le bug du with il est lié au code généré...en fait même sous ActionScript il y a une subtilité que je dois reproduire en FlashPascal, le préfix "this" (équivalent du Self) n'est pas obligatoire en ActionScript...mais si tu ne le mets pas dans un with, il ne retrouve pas les membres de la classe.

    et en ajoutant Self dans ton code je me suis rendu compte que je ne le gérais pas bien non plus, ça va me corriger deux bugs d'un coup tout ça
    Tu nous as demandés de relever des anomalies ou des bugs, je fais mon boulot...
    Tu prends ton temps.., moi je vois tout simplement le fait de faire avancer ton projet pour lequel j'éprouve beaucoup de considération. (il le mérite !)
    voilà, c'est tout.

    ce n'est surtout pas pour t'embêter...

    Il est déjà génial comme ça

###raw>template_hook.ano_emploi###