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 :

Equivalent de Read [Flash Pascal]


Sujet :

Flash Pascal

  1. #1
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    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 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut Equivalent de Read
    Bonjour !

    J'aimerais savoir comment je peux faire entrer un mot à l'utilisateur et attribuer ce mot comme valeur à une variable : bref l'équivalent de ce que fait l'instruction "Read".

    Dans l'exemple Hello, on voit comment l'utilisateur peut saisir du texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    edit1.type_:='input';
    edit1.text:='Hello!';
    Que faudrait-il ajouter pour que l'utilisateur puisse valider sa réponse en appuyant sur Entrée, et que cette réponse reçoive un nom de variable ? Faut-il écrire la procédure de A à Z ou existe-t-elle déjà ? (Et comment faire apparaître le curseur sans que l'utilisateur ait à cliquer sur le bouton comme c'est le cas dans l'exemple ?)

    En général il suffit de demander à Google un "code example" ou un "code Beispiel" pour trouver ce genre de choses. Mais avec Flash Pascal la recherche ne donne rien : on ne trouve pas de ces petits exemples qui vous mettent le pied à l'étrier.

    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  2. #2
    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 445
    Points
    28 445
    Par défaut
    Bonjour,

    tu trouveras plus facilement des réponses en cherchant sur ActionScript vu que FlashPascal utilise les objets ActionsScript 2.

    il faut utiliser key.addListener() pour indiquer que ton objet répond au évènements clavier et c'est onKeyDown qui est invoqué.

    tu trouveras en pièce jointe une version récente du compilateur avec un début d'IDE en beta et un exemple d'utilisation du TextField comme zone de saisie

    samples.zip.

    NB: Peter Gabor a introduit dans FlashPascal 0.8 les alias sur les méthodes et propriétés d'objet...dans la version attachée le compilateur est capable de différencier le mot clé Pascal "type" et la propriété "type" d'une classe Flash, l'alias n'est donc plus nécessaire.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    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 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Merci m'sieur !

    Je crois bien qu'aujourd'hui je vais écrire mon premier programme en Flash Pascal !
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    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 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Suite de mes efforts pour apprendre à utiliser Flash Pascal.

    J'ai travaillé avec les outils proposés par Paul Toth (voir plus haut dans cette discussion). Je voulais transcrire le petit programme que j'ai écrit pour le calcul de la date de Pâques.

    Voici ce que j'ai pu faire :

    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
    program BrouillonDateDePaques;
     
    {$FRAME_WIDTH  320}
    {$FRAME_HEIGHT 200}
     
    uses
      Flash8;
     
    type
      TEditBox = class(TextField)
        procedure onKeyDown;
      end;
     
    var
      e: TEditBox;
      t: TextField;
     
      A,G,C,C4,E_,H,K,P,Q,I,B,J1,J2,R: Integer;
     
    procedure TEditBox.onKeyDown;
    begin
      if Key.getAscii = 13 then
      begin
        //t.Text := e.Text;
     
        A:=0;
        A:=A+1*(Ord(e.Text[4])-48);
        A:=A+10*(Ord(e.Text[3])-48);
        A:=A+100*(Ord(e.Text[2])-48);
        A:=A+1000*(Ord(e.Text[1])-48);
     
        G:=A mod 19;
        C:=A div 100;
        C4:=C div 4;
        E_:=(8*C+13) div 25;
        H:=(19*G+C-C4-E_+15) mod 30;
        K:=H div 28;
        P:=29 div (H+1);
        Q:=(21-G) div 11;
        I:=(K*P*Q-1)*K+H;
        B:=A+(A div 4);
        J1:=B+I+2+C4-C;
        J2:=J1 mod 7;
        R:=28+I-J2;
     
        t.Text := 'Pour A='+IntToStr(A)+', R='+IntToStr(R)+'.';
      end;
    end;
     
    begin
      e := TEditBox.Create(nil, 'input', 0, 10, 10, 150, 21);
      e.type := 'input';
      Selection.setFocus(e);
      Key.addListener(e);
     
      t := TextField.Create(nil, 'output', 1, 10, 40, 150, 21);  
    end.
    J'espère trouver le moyen de l'améliorer.

    Si j'arrive à quelque chose de mieux, je voudrais en faire une page html avec l'exécutable et le code, sur le modèle des pages de démonstration de Flash Pascal : FlashMine

    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  5. #5
    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 445
    Points
    28 445
    Par défaut
    tu peux regarder aussi l'exemple Calc pour une saisie par boutons
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    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 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Merci du conseil. Très joli exemple, soit dit en passant !
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  7. #7
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    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 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut Objet Flash pour le calcul perpétuel de la date de Pâques
    J'ai fini mon exemple de code Flash Pascal. Finalement, à la place d'une entrée utilisateur, je me suis servi de l'unité Date pour obtenir l'année courante et faire automatiquement le calcul pour cette année-là.

    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
    program DateDePaques;
     
    {$FRAME_WIDTH 360}
    {$FRAME_HEIGHT 24}
     
    uses Flash8Ext, Date;
     
    var
      t:TextField;
      f:TextFormat;
     
      Jour:TDate;
      An:Integer;
     
      G,C,C4,E,H,K,P,Q,I,B,J1,J2,R: Integer;
     
    begin
      t:=TextField.Create(nil,'t',0,0,0,360,24);
      f:=TextFormat.Create('Tahoma',16);
     
      Jour:=TDate.Create;
      An:=Jour.getFullYear;
     
      G:=An mod 19;
      C:=An div 100;
      C4:=C div 4;
      E:=(8*C+13) div 25;
      H:=(19*G+C-C4-E+15) mod 30;
      K:=H div 28;
      P:=29 div (H+1);
      Q:=(21-G) div 11;
      I:=(K*P*Q-1)*K+H;
      B:=An+(An div 4);
      J1:=B+I+2+C4-C;
      J2:=J1 mod 7;
      R:=28+I-J2;
     
      t.text:='En '+IntToStr(An)+', le dimanche de Pâques est le ';
     
      if R<32 then
        t.text:=t.text+IntToStr(R)+' mars.'
      else
        t.text:=t.text+IntToStr(R-31)+' avril.';
     
      t.setTextFormat(f);
    end.
    Cela donne un objet Flash (.swf) qui se présente comme une simple ligne de texte, mais qui est bel et bien un programme s'exécutant à chaque ouverture de la page.
    Fichiers attachés Fichiers attachés
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TP] Equivalent de l'instruction read en mode graphique
    Par bkadje dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 28/06/2005, 23h04
  2. [Kylix] Equivalent ShellExec en CLX
    Par Anonymous dans le forum EDI
    Réponses: 7
    Dernier message: 14/08/2002, 11h55
  3. Equivalent à ExeName pour une DLL
    Par Smortex dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2002, 21h07
  4. CheckBox en Read Only
    Par MrJéjé dans le forum C++Builder
    Réponses: 7
    Dernier message: 23/06/2002, 15h00
  5. [Kylix] equivalent winsock avec kylix
    Par Victor dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 07h43

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