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

Discussion :

Void dans un module séparé ?

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut Void dans un module séparé ?
    Bonjour,

    Je connais et j'ai déjà travaillé avec plusieurs langages comme le PHP, VBA, VB, Pascal...
    Je m’intéresse au C++ sous QT.

    Je cherche un moyen d'organiser mon code en regroupant dans des modules.
    Par exemple sous VBA, je peux avoir un module nommé "Fonctions" qui contiendra toutes mes fonctions, et un module "Requetes" qui contiendra toutes mes requetes SQL etc etc.

    Je souhaite depuis ces modules, pouvoir manipuler des formulaires, c'est à dire, mettre à jour des données contenues dans un formulaire (MainWindow).

    Sous QT, j'ai donc créé un nouveau "Class Module" mais je me dis que ce n'est peut être pas adapté à mon besoin. Car si c'est un module de classe, alors le fonctionnement doit être le même que sous VBA, c'est à dire qu'il est possible de regrouper des éléments dans un même module, et, tous les éléments affectés prendront automatiquement le même code. Donc déjà je ne suis pas sûr d'utiliser le bon module...

    Donc, ma question est : comment puis-je faire pour créer un module qui me permette de stocker du code et d'appeler ce code quand j'en ai besoin depuis n'importe quelle partie du programme, en passant le Parent en paramètre afin de manipuler le formulaire ?

    J'ai déjà lu et relu ces explications : https://qt.developpez.com/faq/?page=...xetslots-creer
    Mais ça ne m'aide pas trop.

    Merci d'avance pour votre aide.
    C'est très frustrant de ne pas trouver comment faire, surtout quand on est à l'aise dans d'autres langages. Il faut se réadapter et c'est compliqué !

  2. #2
    Membre éprouvé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par défaut
    Pour donner plus d'info, je souhaite avoir un module pour stocker mes "procédures" de connexion à la base de données, de deconnexion, et mes différentes requêtes SQL.
    j'ai donc créé un module Class nommé "mrequetes" j'ai un fichier mrequetes.h et un fichier mrequetes.cpp
    L'object premier est de me connecter à la base de données dès l'ouverture du formulaire, et d'afficher dans la statusbar du formulaire, si la connexion est établie ou non.

    Contenu fichier mrequetes.h
    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
    #ifndef MREQUETES_H
    #define MREQUETES_H
     
    #include <QObject>
    #include <QCoreApplication>
    #include <QtSql/QtSql>
    #include <QtSql/QSqlDatabase>
    #include <QtSql/QSqlQuery>
    #include <iostream>
     
    #include <QMainWindow>
    using namespace std;
     
     
    class MRequetes
    {
        Q_OBJECT
    public:
        void ConnexionBase(QMainWindow *parent);
    };
     
    #endif // MREQUETES_H
    Contenu fichier mrequetes.cpp
    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
    #include "mrequetes.h"
     
    void MRequetes::ConnexionBase(QMainWindow *parent)
    {
        QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
            db.setHostName("MyHost");
            db.setPort(3311);
            db.setUserName("root");
            db.setPassword("*****");
            db.setDatabaseName("base_test");
     
            if(db.open()){
                cout << "Database connected" << endl;
     
            }
            else{
                cout << "Connection failed" << endl;
            }
    }

    Dans le fichier mainwindows.cpp j'ai ajouté la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MRequetes::ConnexionBase(this);
    j'ai bien sur ajouté la ligne suivante dans mainwindows.h
    Aperçu fichier mainwindows.cpp
    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
    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
     
    #include <QMainWindow>
    #include "mrequetes.h"
     
    namespace Ui {
    class MainWindow;
    }
     
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
     
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
     
     
    private slots:
        void on_BtnValider_clicked();
     
    private:
        Ui::MainWindow *ui;
    };
     
    #endif // MAINWINDOW_H
    Je pense que mes erreurs doivent vous piquer les yeux... Mais il y a un début à tout.
    Merci d'avance de votre indulgence.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je ne comprend pas bien ce que vous voulez faire et où se situe le problème. Peut-être devriez-vous reformuler autrement, en explicitant davantage ce que vous voulez au niveau fonctionnel ?

Discussions similaires

  1. Comparaison de code dans plusieurs modules
    Par jbaudin dans le forum Access
    Réponses: 2
    Dernier message: 03/10/2005, 11h47
  2. Fonction retournant un recordset dans un module
    Par suspiria dans le forum Access
    Réponses: 3
    Dernier message: 29/09/2005, 15h46
  3. violation d'adresse dans le module 'bdert70.bpl'
    Par Magnus dans le forum Bases de données
    Réponses: 6
    Dernier message: 19/08/2005, 13h34
  4. type void* dans une structure
    Par barbapapaz dans le forum C
    Réponses: 3
    Dernier message: 16/07/2004, 16h11
  5. [VB.NET] Appeler une sub public dans un module de form
    Par SergeF dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/06/2004, 13h08

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