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

  1. #1
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    février 2013
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2013
    Messages : 1 407
    Points : 20 032
    Points
    20 032
    Billets dans le blog
    84
    Par défaut LiveBindings avec Delphi : écrire un composant observable - un tutoriel de Serge Girard
    LiveBindings avec Delphi : écrire un composant observable
    un tutoriel de Serge Girard

    Au cours de son introduction aux LiveBindings, Serge Girard avait utilisé un VCL.TTrackBar et en particulier sa propriété Position.Vous aviez alors découvert que ce composant n'était pas observable et un contournement vous avait été proposé pour résoudre ce problème : l’utilisation d’un lien non géré et l’instruction Notify. L'objectif de ce nouveau tutoriel est d'apprendre à rendre une propriété d'un composant observable et même d’ajouter d’autres propriétés qui pourront être liées.


    Nom : android_combines.png
Affichages : 11378
Taille : 27,1 Ko

    Le tutoriel est ici : https://serge-girard.developpez.com/...s/Composant_A/

    Encouragé lors des rencontres Delphi récemment organisées en France, Serge est déjà à pied d’œuvre pour le second volet de ce travail sur les composants FMX : qu'il en soit ici remercié au nom de la communauté Delphi de developpez.com.

    Que pensez-vous de ce tutoriel ?
    Comment gérez-vous les composants avec FMX ?

    Les meilleurs cours et tutoriels pour apprendre la programmation Delphi
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  2. #2
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2018
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2018
    Messages : 156
    Points : 106
    Points
    106
    Par défaut
    Bonjour,

    Bravo Serge !

    Mais je suis tout à fait incapable de produire un tel composant de manière "autonome". Je me demande quel temps de recherche représente cette approche. Pour moi, elle serait tellement conséquente… que je préfère renoncer . Je crois même que mon hypothétique utilisation de C++ Builder serait gâtée compte tenu de la 'gymnastique" nécessaire : mon manque de souplesse serait rédhibitoire. Franchement cette approche m'est toujours aussi indigeste voire insupportable. Quelle curieuse tournure d'esprit imposée ! J'utiliserai FMX donc Delphi que quand je ne pourrai pas passer ni par Qt, ni par Lazarus.

    Mais quand même, chapeau l'Artiste

    A bientôt. Gilles.
    Windows, Linux, mac OS X ► Qt - FMX - Lazarus || Androïd, iOS ►FMX - Qt - Windev Mobile - Autres

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 986
    Points : 27 950
    Points
    27 950
    Billets dans le blog
    27
    Par défaut
    Bonsoir Gilles,
    Citation Envoyé par Selzig Voir le message
    Je crois même que mon hypothétique utilisation de C++ Builder serait gâtée compte tenu de la 'gymnastique" nécessaire : mon manque de souplesse serait rédhibitoire.
    Tous ceux qui me connaissent te diront que je suis physiquement loin d'être souple (et peu enclin à la gymnastique) c'est d'ailleurs à cause de mes raideurs que je choisis mes places dans les salles de façon très stratégique (pour ne pas avoir à tourner la tête). Bon cela dit je pense que tu voulais parler de gymnastique intellectuelle.

    C'est vrai que de prime abord FMX est une bête étrange mais dans ce tutoriel il y a peu de pur FMX , je commence d'ailleurs par du VCL. Le seul point utilisé n'est pas tant FMX que Livebindings et ses particularités nécessaires pour les liaisons. Et Livebindings qu'est-ce ? En grossissant à peine le trait c'est une chose qui existe depuis des lustres : les RTTIs encapsulés avec des nouveautés
    mais de l'existant !
    Je concède que peu utilisent les RTTIs moi-même dans toute ma carrière ne l'ai-je utilisé que quelques fois et surtout pour du "cosmétique" genre changement de couleurs de mon interface.

    FMX n'est pas LiveBindings même si Livebindings semble assez incontournable dès qu'il s'agit de FMX. FMX n'est pas non plus Delphi puisque avec C++ Builder on peut très bien faire des programmes multi-plateformes

    Mais quand même, chapeau l'Artiste
    Merci


    Citation Envoyé par gvasseur58
    Serge est déjà à pied d’œuvre pour le second volet de ce travail sur les composants FMX
    Pas aussi facile celui-là, la création de ce volet est en dents de scie
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  4. #4
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2018
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2018
    Messages : 156
    Points : 106
    Points
    106
    Par défaut
    Bonjour Serge,

    je crois que c'est l'approche globale qui me... lasse : du Livebinding, des styles à Gogo, des composants dont l'environnement de programmation (les à-côtés, les "déclarations") devient délirant. J'apprécie de placer mes composants sur une Form, une QMainWindow et ensuite de retourner sur mon éditeur (de textes) pour tout coder en Pascal ou en C++.

    Suite à notre visite à Nantes, je me suis demandé s'il était possible de faire aussi bien que les ControlImage présentés par Patrick pour gérer le 4K et autres Retina. Le ScaleBy de Lazarus permet la mise à l'échelle d'une Form complète dans les 3 OS (y compris des polices automatiquement). Donc j'ai d'abord "fabriqué" une approche identique : glyph16, glyph32, glyph64,... avec un peu de code très classique pour déterminer au resize qu'elle est le glyph dont la taille est la plus proche de celle de l'objet redimensionné en privilégiant la réduction à l'augmentation...

    Un de mes stagiaires qui est venu à Nantes a trouvé le système "dépassé" et m'a proposé d'utiliser SVG. Donc acte. J'ai testé sur un Retina : impeccable. Et évidemment portable sur Qt. Durée de la mise à jour de ma ligne de composants graphiques : BitButton, SpeedButton, Image,... et un composant non graphique de procédure d'affichage dans les Grids par exemple : une journée tout compris et je suis parti de TGraphicControl et TCustomControl, donc de la base. Il me reste à voir les menus.

    Je laisse pour l'instant Delphi dans son coin sauf éventuellement pour le mobile. La partie non code (i.e. purement Pascal ou C++) d'une Form me semble représenter une part trop importante du développement, trop subtile pour moi et surtout trop floue donc extrêmement chronophage en production... qui devient insupportable quand le développement est conséquent. Effectivement ce n'est pas qu'une histoire de génération mais certainement, plus une capacité d'adaptation.

    Bonne journée. A bientôt.
    Gilles
    Windows, Linux, mac OS X ► Qt - FMX - Lazarus || Androïd, iOS ►FMX - Qt - Windev Mobile - Autres

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 986
    Points : 27 950
    Points
    27 950
    Billets dans le blog
    27
    Par défaut
    Bonjour,
    Citation Envoyé par Selzig Voir le message
    Un de mes stagiaires qui est venu à Nantes a trouvé le système "dépassé" et m'a proposé d'utiliser SVG.
    Marrant, c'est justement ce que je suis en train de "tester à fond" cf Codes sources à télécharger
    et commence même un petit topo sur le sujet (pas sur le SVG mais sur TPath)
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    10 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 986
    Points : 27 950
    Points
    27 950
    Billets dans le blog
    27
    Par défaut Post Scriptum, petite mise à jour
    Bonjour,

    Par M.P. l'on m'a fait remarquer que les images n'étaient pas centrées ce qui rendait le tutoriel moins esthétique.
    Après m'être un peu bagarré avec le fichier, je viens de mettre en ligne la version révisée.
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

Discussions similaires

  1. Grilles et LiveBindings, un tutoriel de Serge Girard
    Par gvasseur58 dans le forum Delphi
    Réponses: 2
    Dernier message: 03/09/2018, 22h29
  2. Introduction au LiveBindings avec Delphi
    Par gvasseur58 dans le forum Delphi
    Réponses: 4
    Dernier message: 28/02/2017, 14h35

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