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 :

Composant et module


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 30
    Points : 17
    Points
    17
    Par défaut Composant et module
    Bonjour, j'ai ma première Unit1.pas et ma deuxième fiche FicheModule.pas contenant tout les composants types base de données SqlConnection, je voudrais savoir comme je pourrais l'activer dans la fiche Unit1 avec SqlConnection.Acitve := true; sachant que je n'arrive pas à importer l'un dans l'autre?
    Merci,

  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
    Bonjour,

    il faut déclarer l'utilisation de l'unité FicheModule dans l'unité Unit1. Il y a plusieurs méthodes/endroits pour le faire cependant.

    -le faire "à la main" en ajoutant FicheModule dans les clauses uses
    -utiliser le menu Fichier/utiliser l'unité (raccourci Alt+F11) et sélectionner l'unité FicheModule

    reste le choix de la position
    Interface ou (exclusif) Implementation qui va définir la portée de la déclaration , en général un Datamodule sera mis dans la partie implémentation (seul moyen par exemple d'ouvrir des tables dans la partie Oncreate de la forme) .
    De même, en général le datamodule sera créé avant la fiche dans la création du projet (voir options du projet ou source de ce dernier)
    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
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    j'ai déjà fais le uses FicheModule, mais il ne veut pas me faire le FicheModule.TForm3.SqlConnection := true; Donc je fais comment pour réaliser cette commande de la fiche 1 (Unit1) grâce à la FicheModule ou se trouve mon sqlconnection?

  4. #4
    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
    Bonjour,

    si unit1 correspond à la Form3 et contient bien le uses alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm3.FormCreate(Sender : TObject);
    begin
    FicheModule.SqlConnection := true;
    end;
    rien n'est plus complexe que de répondre avec aucun code ! proposé une réponse révèle de la chiromancie (ou tout autre mode de voyance) !
    merci de fournir votre code, ou du moins des parties, si vous voulez des réponses précises.
    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

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    Non, pas exactement, enfaîte j'ai donc une fiche FicheModule ou j'ai tous mes modules ou composants type SqlConnection avec en haut de la hiérarchie, Frame3. Puis j'ai mon application, Contenu sur Unit2 avec en haut de la hiérarchie, From2. J'ai bien mis les uses Unit1, FicheModule; dans le code de Unit2 sous implémentation, je ne pas pas copié mon code car j'ai plusieurs millier de ligne sur tout le programme, mais je peux mettre un bout : J'ai souligné et mis en gras ce que je souhaite faire.
    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
    procedure TForm2.Button45Click(Sender: TObject);
    var
      Envoi_Data: TMyClassClient;
      Requete_Reussie:boolean;
      RowRecount, Num_Perso : String;
      I : Integer;
    begin
      //FDTableTravailleur.Active := true;//active la liste stringgrid8
      try
             FicheModule.TForm3.SqlConnection1.Connected := true;
             FicheModule.TFrame3.CDS_Personnel.Active:=true;
      except
        on e: Exception do
        begin
          ShowMessage(e.Message);
        end;
      end;

  6. #6
    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
    Bonjour,

    je ne comprend pas votre logique/structure

    FicheModule comme son nom semblait l'indiquer était pour moi un datamodule (c'est généralement ainsi que l'on procède)
    Unit1 et Unit2 des formes
    et maintenant vous amenez en plus Frame3 !!!

    une structure "simple" serait
    1 Datamodule : FicheModule
    2 Unités contenants des formes UnitForm1 , UnitForm2 (un nom plus explicite est toujours mieux)
    1 Frame (puisque frame il y a) UnitFrame

    Form2 semblant être votre forme principale (la renommer en mainform, par exemple, serait plus lisible )

    le code que vous avez présenté deviendrai ceci

    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
    procedure TForm2.Button45Click(Sender: TObject);
    var
      Envoi_Data: TMyClassClient;
      Requete_Reussie:boolean;
      RowRecount, Num_Perso : String;
      I : Integer;
    begin
    with Fichemodule do
          begin
            try  
              SqlConnection1.Connected := true;
              CDS_Personnel.Active:=true;
              FDTableTravailleur.Active := true;//active la liste stringgrid8 
          except
             on e: Exception do
           begin
              ShowMessage(e.Message);
           end;
      end;
    end;
    une recommandation (que l'on ne fait jamais assez) NOMMEZ LES COMPOSANTS explicitement (il y a des conventions de nommage)
    pensez : 'et si je devais reprendre mon code dans 5 ans, si quelqu'un d'autre que moi devais le reprendre, si un autre programmeur devait le lire'
    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

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    Sinon, comment vous feriez vous pour créer une nouvelle fiche pour mettre tout les composants, peut être n'ai je pas pris la bonne. Si vous pouviez me dire la démarche à suivre, merci. Je sais pas si les termes sont correctes, donc c'est sa que je veux regrouper sur une autre fiche. Voilà ce que je voudrais faire : http://prntscr.com/75u4yd

  8. #8
    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
    Bonjour,

    je vous ai déjà indiqué que je n'utiliserai pas une Fiche mais un DataModule que je mettrai (je pense) l'utilisation de cette unité en Interface pour chaque unité l'utilisant. Par contre pour ce qui est des liaisons je préférerai les mettre dans la fiche l'utilisant.

    voilà un schéma rapide
    // crées dans l'ordre
    Datamodule
    connection // ouvert à la création du datamodule
    tables
    Querys

    MainUnit // fiche principale (par exemple menu)
    implementation
    uses unit1,unit2

    // non crées dans le project mais par CreateForm()
    unit1 // crée au besoin enfant de mainunit
    interface uses datamodule
    Form1
    Grid
    Liaison Grid/Table
    ....
    ouverture de datamodule.table à la création

    unit2 // crée au besoin enfant de mainunit
    interface uses datamodule
    form2
    Edits
    Liaison Edit/Query
    ...
    ouverture de datamodule.Query
    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

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    OO merci, c'était bien sa que je voulais. Dites, si je peux demander sans refaire un sujet, comment feriez vous pour zommer sur un stringgrid(Un tableau quoi) car il est minuscule sur mon téléphone? Quand je change le scale, sa fait n'importe quoi avec la largeur des colonnes et je ne peux pas les régler.?

  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
    Citation Envoyé par Sky14b Voir le message
    OO merci, c'était bien sa que je voulais.
    un petit et un alors.

    Dites, si je peux demander sans refaire un sujet, comment feriez vous pour zommer sur un stringgrid(Un tableau quoi) car il est minuscule sur mon téléphone? Quand je change le scale, sa fait n'importe quoi avec la largeur des colonnes et je ne peux pas les régler.?
    règle du forum et tout simplement de bons sens : autre question = autre sujet car il faut en faire profiter la communauté.
    De plus qui dit tableau sur téléphone dit FMX donc autant poster un nouveau sujet dans le bon sous/forum
    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

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 31/07/2012, 10h27
  2. [Joomla!] Tutoriel composants et modules
    Par rfily dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 20/12/2010, 17h06
  3. Recherche composant ou module pour newsletter+Joomla
    Par clem62173 dans le forum Autres
    Réponses: 1
    Dernier message: 11/01/2010, 17h00
  4. [Joomla!] Creation Composants et Modules Joomla
    Par rfily dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 01/04/2009, 14h42
  5. Comment accéder aux composants du module de données distant ?
    Par bds2006 dans le forum Bases de données
    Réponses: 1
    Dernier message: 23/06/2006, 00h47

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