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 :

[DEBUTANT] Existe-t-il l'équivalent d'une fonction main en Delphi ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2020
    Messages : 32
    Par défaut [DEBUTANT] Existe-t-il l'équivalent d'une fonction main en Delphi ?
    Bonjour à tous,

    Je voudrais savoir s'il existe une fonction qui tourne tout le temps dans le code.
    Je m'explique.
    Je voudrais savoir en permanence si la batterie est en charge ou non. Et étant donné que je débute je ne sais pas où placer mon code.
    Tout ce que je sais c'est qu'il existe FormCreate qui se déclenche dès que le programme s'exécute. Cependant existe t'il une fonction qui tourne toujours ? Un peu comme un main.
    Je ne sais pas si je me suis fais comprendre ?

    Merci à tous.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 660
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    L'utilisation d'un Timer (TTimer) avec sa gestion de l'événement OnTimer pourrait être une solution.
    Il y a aussi OnIdle de l'application mais je n'en suis pas un fan

    P.S. indiquer la version de Delphi utilisée et le type de programme (VCL/FMX) serait une bonne habitude à prendre même si dans ce cas le TTimer existe depuis les débuts de Delphi (au moins D3)

  3. #3
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Le onIdle a des effets douteux selon la plateforme (Apple pour ne pas le nommer, qui fait des trucs empêchant le idle de se produire), mieux vaut préférer le TTimer même s'il a également ses inconvénients.

    Juste une précision par rapport à la question. En général le main() n'est pas exécuté en permanence, c'est le point d'entrée des programmes. C'est au développeur d'y faire une boucle s'il veut que quelque chose s'y produise.

    Sous Delphi le main() c'est le bloc "begin end" en fin du source du programme.
    La boucle d'exécution dans les interfaces graphiques étant assurée par le Application.run qui y est appelé et le traitement des messages de l'interface (et des composants) est traité par Application.ProcessMessages géré par le framework (VCL, FMX ou autre).

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 493
    Par défaut
    salut


    pour la fonction main celle ci se trouve dans le dpr
    quelque soit la version de delphi que tu soit en graphique ou non

  5. #5
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    L'utilisation d'un Timer (TTimer) avec sa gestion de l'événement OnTimer pourrait être une solution.
    Il y a aussi OnIdle de l'application mais je n'en suis pas un fan
    Et un thread, c'est pas une bonne solution ?
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 660
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Lung Voir le message
    Un thread, c'est pas une bonne solution ?
    J'ai vu [DÉBUTANT] dans le titre, je me suis dit que de me lancer dans des explications sur les Threads seraient peut-être un peu trop surtout que les nouvelles versions ont apporté pas mal de facilités (en exemple le TTask)

  7. #7
    Membre averti
    Femme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2020
    Messages : 32
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,
    L'utilisation d'un Timer (TTimer) avec sa gestion de l'événement OnTimer pourrait être une solution.
    Il y a aussi OnIdle de l'application mais je n'en suis pas un fan

    P.S. indiquer la version de Delphi utilisée et le type de programme (VCL/FMX) serait une bonne habitude à prendre même si dans ce cas le TTimer existe depuis les débuts de Delphi (au moins D3)
    Un grand merci pour ta réponse, j'ai réussi à faire ce que je voulais avec le Timer.

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 660
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par zohra051 Voir le message
    Un grand merci pour ta réponse, j'ai réussi à faire ce que je voulais avec le Timer.
    Un grand merci se notifie par un petit sur la réponse qui a aidé et puisque c'est réussi, ne pas oublier le
    Cela aidera la communauté

  9. #9
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Par défaut
    Bonjour,

    il y a 2 solutions possibles :

    - soit tu utilises en TTimer et du mets dans son événement OnTimer le contrôle de ta batterie. C'est la methode la plus pratique et simple
    - soit tu utilises un Thread qui bouclera en permanence dans ton appli. Cette méthode est un peu plus compliqué à mettre en oeuvre

    Voila bon courage !

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

Discussions similaires

  1. L'équivalence d'une fonction VB.Net en Php
    Par paradeofphp dans le forum Langage
    Réponses: 3
    Dernier message: 16/05/2007, 13h41
  2. Réponses: 21
    Dernier message: 20/06/2006, 16h49
  3. [Fichiers&Repertoires] équivalence d'une fonction C# ?
    Par bakonu dans le forum Général Java
    Réponses: 9
    Dernier message: 09/06/2006, 10h26
  4. Existe-t-il une fonction Eval() sous Delphi ?
    Par Hell dans le forum Langage
    Réponses: 5
    Dernier message: 20/12/2004, 17h45

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