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

Langage Delphi Discussion :

Fluent LiveBindings pour tout faire dans le code


Sujet :

Langage Delphi

  1. #1
    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
    Points : 3 611
    Points
    3 611
    Par défaut Fluent LiveBindings pour tout faire dans le code
    Ils sont un peu fous ces australiens, mais je ne peux qu'admirer l'effort de Malcom Grove qui propose la librairie Fluent LiveBindings pour coder les liens entre composants depuis les programmes plutôt que les écrans. Du coup c'est forcément plus lisible et surtout plus facile à retrouver en maintenance.

    Reste à voir si son dépôt GitHub aura le succès qu'il mérite:
    https://github.com/malcolmgroves/FluentLiveBindings

    En tout cas, une chose est presque sûre : @SergioMaster va y jeter un coup d'oeil et probablement nous pondre un tutoriel ou des adaptations sur les existants pour comparer les liens à la souris et voir si ce qui le gênait dans le concepteur de fiches sera plus facile à faire avec ces helpers.

    Oui, je suis comme ça, aujourd'hui j'apprends à déléguer.
    (à peu près)

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    une chose est presque sûre : @SergioMaster va y jeter un coup d'oeil et probablement nous pondre un tutoriel ou des adaptations sur les existants pour comparer les liens à la souris et voir si ce qui le gênait dans le concepteur de fiches sera plus facile à faire avec ces helpers.
    Pas ce soir, mais demain peut-être

    Non, je rigole, j'ai déjà vu quelques trucs sur ce que Malcolm Groves conceptualisait avec ce "Fluent" (dernier coderage il me semble). Impressionnant. S'il fait du LiveBindings en plus c'est sur je vais me pencher dessus. Moi de mon côté, je n'en était qu'à quelques petits templates (efficaces) pour tout ce qui était ce que je nommais "l'écriture à la main".
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Je viens d'y jeter un œil et relève ceci dans le texte de présentation de l'unité
    Citation Envoyé par Malcolm Groves
    Après avoir grogné à ce sujet pendant des années, j'ai finalement décidé de faire quelque chose de plus utile à ce sujet.
    Comme quoi il n'y a pas que moi

    Comme je n'ai pas encore fait d'essai in extenso mais juste regardé les exemples et l'explication, il me reste quand même un doute.
    Dans le cas de ce que je nomme mes liens manuels je mets le tout dans une fonction (ou procédure cela dépend) appellée au début de la forme pour que les liens soient actifs. Comme dans la démo tout est fait par "presse bouton" c'est lègèrement différent.

    Hier soir, je me suis trompé sur l'auteur de la présentation CodeRage à laquelle je pensai, il s'agissait de : Fluent Creation: Creating FMX Components at Runtime - Frank Lauter


    Comme quoi il n'y a pas que les australiens qui soient un peu fou

    Cette histoire de Fluent, ça me botte mais, en bon , ce terme ne me disait rien qui vaille en plus j'ai l'impression qu'il est utilisé à toutes les sauces (derniers en date : Fluent Design, Fluent LiveBindings, etc..) de quoi me mettre sur la pointe des pieds.

    Pour ce qui est du tutoriel, oui je peux y songer (cela dit j'en ai déjà plusieurs sur le bord de la route). Mais la gestation est longue donc n'attendez pas de miracle, je n'habite pas à Lourdes.
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  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
    Citation Envoyé par SergioMaster Voir le message
    Je viens d'y jeter un œil et relève ceci dans le texte de présentation de l'unité

    Comme quoi il n'y a pas que moi
    moi non je suis pas très LiveBindings...cette approche fluent est intéressante, mais je ne suis pas certain que j'adhèrerais malgré tout

    par contre il m'est déjà arrivé de créer un moteur de type "binding" sauf qu'au lieu d'utiliser des noms de propriétés avec des évaluations d'expression j'utilisait un lieur par type de composant dans une approche POO plus traditionnelle.

    Citation Envoyé par SergioMaster Voir le message
    ...
    Cette histoire de Fluent, ça me botte mais, en bon , ce terme ne me disait rien qui vaille en plus j'ai l'impression qu'il est utilisé à toutes les sauces (derniers en date : Fluent Design, Fluent LiveBindings, etc..) de quoi me mettre sur la pointe des pieds.
    Désignation chaînée en français...c'est pas top (en bon français). Donc le principe c'est juste d'enchaîner les appels de fonction. J'utilise cela en Javascript pour construire mes UI dynamiquement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      this.append(new htmlSpan('Hello')).onclick("alert('helllo')").addStyle('color', 'red');
    pas trop sous Delphi pour l'instant. Je ne suis pas certain que je préfèrerais écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      TButton.Create(Self).SetParent(Self).SetCaption('OK').SetClick(OnButtonClick);
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      with TButton.Create(Self) do
      begin   
        Parent := Self;
        Caption := 'OK';
        OnClick := OnButtonClick;
      end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Je suis assez d'accord Paul, je reste encore "vieille école" quant à la construction de composant à l'exécution
    la présentation à rallonge ne serait pas trop mon truc même si
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TButton.Create(Self)
                         .SetParent(Self)
                         .SetCaption('OK')
                         .SetClick(OnButtonClick);
    devient "lisible"

    Dans mon blog, une première partie en réponse au défi de pprem. Tout commentaire sera bien sûr bienvenue (je suis sûr qu'il reste des fôtes )

    Pemière partie veux dire aussi seconde (pas encore rédigée/peaufinée) qui se consacrera à la partie runtime mais aussi une troisième qui sera ma vision de l'outil rêvé : une solution à mi-chemin entre les deux serait le top. J'avais déjà pensé à ce genre de chose il y a déjà deux ou trois ans et jeté quelques idées : un outil à inclure dans l'IDE, parsant le dfm pour extraire les liens, un fichier pour stocker les commentaires de fiche.
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    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
    cette présentation me fait penser que j'avais soumis une requête pour ajouter les points sur le with pour lever les ambiguïtés, mais ça n'a pas été retenu
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    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
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    cette présentation me fait penser que j'avais soumis une requête pour ajouter les points sur le with pour lever les ambiguïtés, mais ça n'a pas été retenu
    euh... des points ? pourquoi pas la colonne 7 pour mettre une étoile si on veut faire un commentaire ?

    blague à part, je suis déjà pas très fan du Width, mais là, c'eut été hyper illisible en maintenance de code de tiers, non ?

  8. #8
    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
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Dans mon blog, une première partie en réponse au défi de pprem. Tout commentaire sera bien sûr bienvenue (je suis sûr qu'il reste des fôtes )
    merci, un peu de lecture pour la soirée ou plutôt demain après avoir joué avec caméra et Android TV

  9. #9
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Deuxième partie mise en ligne https://www.developpez.net/forums/bl...s-l-execution/
    Las, las que de déceptions
    J'ébauche déjà la troisième partie : Quel serait l'outil idéal ?
    On peut toujours rêver
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  10. #10
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Et voilà, la dernière partie de cette série est passé du stade de l'ébauche à la publication
    À aujourd'hui vous avez été plus de 180 à lire le premier billet, plus de 70 pour le second paru hier, encourageant.
    Pour ce dernier billet n'hésitez pas à faire part de vos idées.
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  11. #11
    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
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Et voilà, la dernière partie de cette série est passé du stade de l'ébauche à la publication
    on ne t'arrête plus, je me demande si j'ai eu raison de mettre le lien

  12. #12
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Rassure-toi j'arrête là (sauf s'il y a des commentaires sur mes billets).
    Je suis en panne d'imagination (du moins ce matin)
    Peut-être que la tempête Alex m'a vidé le cerveau (à vrai dire je n'ai rien entendu et dormi comme une souche)

    Si tu as quoique ce soit, ainsi que tous ceux qui me lisent, des informations sur comment on peut "analyser ?" un dfm/fmx et le modifier (IDE ouvert) je prend
    En attendant je vais me tester un peu sur OTA ce week end (si j'émerge de mon brouillard du jour)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. Probleme ADO adapter une requete sql pour l'utiliser dans mon code vb6
    Par jacko842 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 22/04/2009, 15h53
  2. instruction pour ouvrir url dans un code c#
    Par xx_FiFty_xx dans le forum C#
    Réponses: 1
    Dernier message: 23/05/2008, 16h31
  3. cliquer sur un bouton pour tout selectionner dans une liste multiple
    Par PAYASS59 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/07/2007, 15h33
  4. alert toute simple dans le code asp
    Par vanou dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/05/2006, 16h04
  5. Suppression de paramètre pour procédure stockée dans le code
    Par 24 faubourg dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/01/2006, 10h51

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