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

Delphi Discussion :

action en boucle sur bouton + initialiser l'appli ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut action en boucle sur bouton + initialiser l'appli ?
    bonjour ... ou plutot bonsoir


    -pour initialiser une appli (pour par exemple creer un tableau avec une boucle avant son utilisation dans l'appli) j'utilise pour l'instant une procedure que je mets sur l'evenement onCreate du Form1 mais ceci ne me semble pas tres propre ... auriez vous une soluce plus propre ?


    -je me demande aussi comment faire un "onEnterFrame" ... je m'explique : j'aimerais qu'une action/procedure soit executé en boucle tant qu'un bouton reste cliqué ...
    j'ai bien essayé d'assigner un nom de procédure a l'evenement onMouseDown mais il ce comporte comme le onClick.

    quelqu'un a une idée sur la marche a suivre sans utiliser les horribles timer ?
    peut etre que les timers sont obligatoires ?



    merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    implementation
     
    intialization
        le code d'initialisation ici ->           
     
    finalization
     
    end.

  3. #3
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    merci

    un peu galere a placer mais j'ai fini par comprendre que le "bloc" d'ini. et de fini. doivent être placés tout a la fin ... apres les declarations des procedures.

    par contre j'ai fait plusieurs tests et j'ai l'impression que le bloc d'initialization est executé avant la mise en place des objets posés sur le formulaire mais apres l'ini du formulaire ... resultat quand je fais référence a un de ces objets il me dit :
    [Erreur] Unit1.pas(119): Identificateur non déclaré : 'Edit1'

  4. #4
    Membre émérite
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Par défaut
    normalement tu devrais placer ton code d'initialisation dans le OnCreate ou le OnActivate

    autrement tu peux aussi placer un code d'initialisation directement dans le .dpr du projet : va dans le menu voir -> unités (ou Ctrl + F12), tu tombes sur la liste des unités plus celle du projet. choisis ce dernier, tu verras un fichier du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    program Project1;
    uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1};
    {$R *.res}
    begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
    juste avant le Application.Run tu peux placer du code d'initialisation

  5. #5
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    j'ai essayé de mettre un bout de code la aussi mais meme probleme :
    [Erreur] Project2.dpr(12): Identificateur non déclaré : 'Edit1'
    les objets de la scene ne sont pas encore déclarés a ce moment la, je peux juste agir sur les variables



    quelqu'un a une idée pour la 2eme question de mon 1er message ?


    merci

  6. #6
    Membre émérite
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Par défaut
    les objets de la scene ne sont pas encore déclarés a ce moment la, je peux juste agir sur les variables
    il faut sans doute préciser la form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1.Edit1.Text := ...
    quelqu'un a une idée pour la 2eme question de mon 1er message ?
    à ta place j'utiliserai un timer. si vraiment tu souhaites faire sans, tu peux imaginer de lancer une fonction qui se lance lors du MouseDown sur le bouton, puis à la dernière ligne de la fonction, elle vérifie si le bouton est toujours appuyé, si c'est le cas elle se relance elle-même, etc... attention à bien rajouter un Application.ProcessMessages dans ta fonction. mais à mon avis le timer est tout indiqué

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Par défaut
    Tu ne peux faire appel aux composants de la fiche qu'une fois celle-ci créée. Logique non?

    Pour le second cas, je suggère cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    begin
    ---
    while (csLButtonDown in Button1.ControlSTate) do
    begin
       maProcedure;
    ----

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

Discussions similaires

  1. Actions en boucle sur un navigateur internet
    Par bandontherun dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 06/04/2008, 14h21
  2. [FLASH 8] boucle fonction sur bouton
    Par bractar dans le forum Flash
    Réponses: 2
    Dernier message: 31/01/2006, 18h34
  3. Action sur bouton de commande
    Par uloaccess dans le forum Access
    Réponses: 3
    Dernier message: 16/11/2005, 15h53
  4. [FLASH MX PRO] Action répétée sur bouton
    Par dens63 dans le forum Flash
    Réponses: 4
    Dernier message: 15/04/2004, 14h16
  5. [MFC] Boucle sur un bouton
    Par karl3i dans le forum MFC
    Réponses: 6
    Dernier message: 17/02/2004, 11h37

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