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 :

Organisation d'une Form


Sujet :

Delphi

  1. #21
    Invité
    Invité(e)
    Par défaut
    Bonjour Serge,

    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    pourquoi moi non je plaisante
    Je préférerais être autonome... Le pire est que des tutos (et des cours) j'en fais en PDF de manière hebdomadaire et que j'ai même automatisé la réalisation des documents... Mais je suppose que cela ne conviendra pas.
    Question idiote : tu as précisé qu'il fallait placer les images en dehors du document... Je suppose que tu pointes avec des liens (à partir du document)... Mais les images, les mets-tu à la taille de celles qui figurent dans le document -qui corrige automatiquement leur taille au moment de leur incorporation- ou laisses-tu les images d'origine avec la taille des copies d'écrans ?

    Pour en revenir aux ancrages, avec un peu de calcul (un tout petit peu) on peut faire les choses très proprement et efficacement. J'ai (encore) modifié mon approche ce matin pour diminuer le nombre de Panels dans le respect de l'orthodoxie afin de rester compatible avec les évolutions futures de Delphi.

    OK pour les layouts en FMX. D'autant que l'approche est globalement semblable.

    Pour les traductions, en Delphi je n'ai pas encore essayé. En Lazarus et Qt, j'utilise i18n. Et dans une vieille discussion je crois me rappeler qu'à l'époque les Delphistes utilisaient une autre approche. Là, ce serait un casse tête de plus.

    Enfin pour les composants... Quand j'ai quitté Delphi (7), je privilégiais l'approche avec des dll externes que je réalisais. C'est Chris37 qui m'a fait comprendre la supériorité des composants en Lazarus et appris à les réaliser. J'en ai "dérivé" un nombre important... au point que mes propres composants sont devenus la base de mes développements. C'est vraiment rapide, permet de corriger immédiatement des bugs ou de l'adapter à la plateforme cible... Du TLabel à la TStringGrid en passant même par des TSQLxxx, j'ai créé les miens, parfois avec peu de modifications (les TSQLxxx) et parfois avec beaucoup d'apports comme les TStringGrids (Tris multiples intégrés, multisélection, affichage des memos,...)... La chose qui m'a manqué est la gestion du HTML... Et là, il faut être un spécialiste en "wrappers". Je ne pense pas faire aussi bien en Delphi... même VCL... et encore moins FMX. Pour l'instant, le manque n'est pas encore là. Mais j'y reviendrais certainement.

    Je corrige mon document et je t'envoie un lien ftp par la messagerie privée. Le document sera un peu "brut". J'évite les enrichissements qu'il faudrait enlever pour le formater et qui serait une perte de temps. Par contre, précise-moi la taille des images à fournir : tailles d'origine ou tailles corrigées par le TT ?

    PS : pour illustrer l'usage des calculs. J'ai repris le code de ShaileTroll.
    le dfm est celui-ci (un seul TGridPanel au lieu de 3 Panels)
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    object Form1: TForm1
      Left = 0
      Top = 0
      Caption = 'Form1'
      ClientHeight = 243
      ClientWidth = 472
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      OnCreate = FormCreate
      DesignSize = (
        472
        243)
      PixelsPerInch = 96
      TextHeight = 13
      object GridPanel1: TGridPanel
        Left = 176
        Top = 96
        Width = 137
        Height = 41
        Anchors = []
        Caption = 'GridPanel1'
        ColumnCollection = <
          item
            SizeStyle = ssAuto
            Value = 50.000000000000000000
          end
          item
            SizeStyle = ssAuto
            Value = 100.000000000000000000
          end>
        ControlCollection = <
          item
            Column = 0
            Control = Label1
            Row = 0
          end
          item
            Column = 1
            Control = Edit1
            Row = 0
          end
          item
            Column = 0
            Control = Label2
            Row = 1
          end
          item
            Column = 1
            Control = Edit2
            Row = 1
          end>
        RowCollection = <
          item
            Value = 50.000000000000000000
          end
          item
            Value = 50.000000000000000000
          end>
        TabOrder = 0
        DesignSize = (
          137
          41)
        object Label1: TLabel
          Left = 1
          Top = 4
          Width = 31
          Height = 13
          Anchors = [akLeft]
          Caption = 'Label1'
          ExplicitTop = 16
        end
        object Edit1: TEdit
          AlignWithMargins = True
          Left = 40
          Top = 1
          Width = 113
          Height = 19
          Margins.Left = 8
          Margins.Top = 0
          Margins.Right = 0
          Margins.Bottom = 0
          Anchors = [akLeft]
          TabOrder = 0
          Text = 'Edit1'
          ExplicitTop = 8
        end
        object Label2: TLabel
          Left = 1
          Top = 23
          Width = 31
          Height = 13
          Anchors = [akLeft]
          Caption = 'Label2'
          ExplicitTop = 16
        end
        object Edit2: TEdit
          AlignWithMargins = True
          Left = 40
          Top = 20
          Width = 113
          Height = 20
          Margins.Left = 8
          Margins.Top = 0
          Margins.Right = 0
          Margins.Bottom = 0
          Anchors = [akLeft]
          TabOrder = 1
          Text = 'Edit2'
          ExplicitTop = 8
        end
      end
    end
    Avec un petit calcul qui utiliserait max(pour déterminer la valeur de la longueur principale)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Label2.Caption := 'Un mot très long';
      GridPanel1.Width := Label2.Width + Edit2.Width + Edit2.Margins.Left +2;
      // 2 = les 2 BevelWidth de 1
    end;
    Résultat :
    Dernière modification par Invité ; 26/10/2014 à 10h30.

  2. #22
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    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 042
    Points : 40 952
    Points
    40 952
    Billets dans le blog
    62
    Par défaut
    Gilles
    Citation Envoyé par selzig Voir le message
    Question idiote : tu as précisé qu'il fallait placer les images en dehors du document... Je suppose que tu pointes avec des liens (à partir du document)... Mais les images, les mets-tu à la taille de celles qui figurent dans le document -qui corrige automatiquement leur taille au moment de leur incorporation- ou laisses-tu les images d'origine avec la taille des copies d'écrans ?
    pas si idiote . Je me casse pas la tête , se sont les images "d'origine" des captures d'écrans . La feuille de style fournie par le toolkit
    Pour les traductions, en Delphi je n'ai pas encore essayé. En Lazarus et Qt, j'utilise i18n. Et dans une vieille discussion je crois me rappeler qu'à l'époque les Delphistes utilisaient une autre approche. Là, ce serait un casse tête de plus.
    j'ai utilisé plusieurs types
    ITE (celui intégré à Delphi) en deux mots : une horreur
    dgGetText , bien (très bien même) souvent utilisé dans le monde Linux mais "lourd" (répertoires, sous-répertoires etc... par programme) moi j'ai plusieurs programme pour une application , ça passe mal
    dklang , celui que je préconiserai beaucoup plus simple ('simpliste' dirait certains) en gros , les traductions vont tout bonnement dans un fichier type ini file ce qui rappelle la solution que certains utilise (je ne sais plus où j'ai lu ça dans le forum)
    i18n , je ne connaissais pas , utilisable en delphi ? je vais regarder
    (d'ailleurs je voulais faire un petit tuto à ce sujet aussi)

    Enfin pour les composants... Quand j'ai quitté Delphi (7), je privilégiais l'approche avec des dll externes que je réalisais.
    Menfin , je parlais pas de composant , mais d'un "plugin" , je ne sais plus comment on nomme cela en delphi, qui serait proposé dans le menu contextuel du composant

    Je corrige mon document et je t'envoie un lien ftp par la messagerie privée.
    hâte de le lire (après avoir déposé mon tablier de cuisinier) . De mon coté j'ai bien lancé la rédaction de mon tutoriel sur la zeoslib (il a tendance à grossir le bougre, je n'en suis encore qu'au premier composant de la bibliothèque)
    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. #23
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Gilles
    Menfin , je parlais pas de composant , mais d'un "plugin" , je ne sais plus comment on nomme cela en delphi, qui serait proposé dans le menu contextuel du composant
    Ce qui suppose de dériver le composant initial pour y intégrer les nouvelles propriétés. J'ai réalisé un "truc" semblable pour mes StringGrids en Lazarus pour regrouper des propriétés de tris (index + liste des champs du tri + ordre ASC/DESC pour chaque champ). Il est vrai que Delphi n'incite pas à créer ses composants. Peu de bugs (c'est un des 2 motifs) et de nombreux composants tiers qui proposent les enrichissements nécessaires (en Lazarus, c'est le 2ème motif de création de ses composants parce que les composants tiers sont peu nombreux et mal maintenus). N'empêche que pour y avoir goûté, c'est une possibilité extraordinaire aussi bien techniquement qu'intellectuellement parlant.

    ZeosDbo, cela fonctionne en FMX ? Je pourrais récupérer une partie de mes codes Lazarus même si finalement j'avais opté pour les SQL natifs.
    Mais utilisé avec mySQL (ou autre d'ailleurs), les connecteurs de Zeos disposent-ils d'une fonction autoreconnect ? Comme je travaille sur des bases hébergées, elles se déconnectent automatiquement régulièrement. J'ai bien un code de reconnexion basé sur la gestion des exceptions mais c'est lourd (à implanter à chaque requête) et lent.
    Et je suppose que comme avec FireDac, il faut fournir les librairies clients du SGDB avec le programme (genre libmysql.dll) ?
    Je n'ai pas encore testé UniDac qui normalement est "autonome" à ce niveau et qui donc permet certainement une souplesse inégalée sous Androïd. Le temps file : je passe toutes mes vacances sur Delphi pour remettre les bases à niveau et les To-do lists se remplissent à une vitesse folle. Je pourrais être moins locasse sur le forum mais comme tu le vois à partir d'un sujet, on apprend plein de choses...

    Citation Envoyé par SergioMaster Voir le message
    La feuille de style fournie par le toolkit
    Jean-Luc m'a déjà transmis les coordonnées et la procédure... sans les exploiter à ce moment. Et comme je change d'appareil assez régulièrement... Le toolkit, tu aurais une adresse ? Dans ce cas, je l'installe et j'utilise les messages privés si je suis bloqué... Et je t'envoie un article plus finalisé pour corrections et améliorations... Cela te soulagera et me rendra plus autonome pour l'article suivant, plus rapidement en exploitant tes commentaires et conseils.

    Et comme je parle de Jean-Luc :
    A Alcatiz (ou autre responsable du site),

    Bonjour,
    pendant qu'on y est...en parlant de perte de temps et parce que ras le bol de me faire "rouspéter -mais de manière justifiée" parce que mes messages sont modifiés au fur et à mesure. Je sauvegarde régulièrement de manière trop fréquente, il est vrai, en cours de saisie parce qu'une fois le court timeout passé, la boucle de ré-identification efface le message en cours de saisie (et Impossible d'enregistrer un message vide....). Cela ne vient pas du réglage de mes navigateurs... Et c'est d'un pénible ! Il n'y a vraiment rien à faire ?
    Dernière modification par Invité ; 26/10/2014 à 11h47.

  4. #24
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    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 042
    Points : 40 952
    Points
    40 952
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par selzig Voir le message
    Ce qui suppose de dériver le composant initial pour y intégrer les nouvelles propriétés.
    non , non , un truc qui s'installe dans l'EDI (comme par exemple les GExperts ou certaines choses de la vcl ) mais comme déjà écrit je me rappelle plus du nom exact (alzheimer me guette)
    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. [VB.NET]Comment Imprimer une form
    Par bernard06 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/10/2011, 17h43
  2. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 12h45
  3. ouverture d'une form en fondu transparent
    Par nicholz dans le forum Composants VCL
    Réponses: 9
    Dernier message: 08/01/2003, 11h06
  4. [VB6] masquer la barre de titre d'une form
    Par tiboleo dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/12/2002, 17h54
  5. [VB6][Formulaire]Appliquer un Scrollbar a une Form
    Par Boil dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/11/2002, 03h51

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