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

C++Builder Discussion :

Relier une BD


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut Relier une BD
    Bonjour tout le monde, je développe un programme à l'aide de C++ Builder CodeGear 2009, j'ai terminé l'interface mais il m'en reste la base de donnée qui doit être relié avec l'interface ....
    Le travail consiste à :
    -Cliquer sur un bouton, pour en créer un autre dynamiquement, ce qui est fait.
    Chaque bouton créé sera un processus à stocker dans la base de donnée.
    -Cliquer sur un bouton dynamique engendre l'ouverture d'une nouvelle fenêtre où entrer les informations dans des DBEtdit.
    -Un processus se compose de trois types d'enregistrement: Un enregistrement père est requis pour chaque processus, les deux autre sont optionnel (0 ou plusieurs enregistrements enfants, et 0 ou un seul enregistrement mère).
    chaque enregistrement comporte plusieurs information (champs) à remplir dans différentes fenêtre associé à chaque type d'enregistrements.
    J'espère que j'ai bien détaillé mon problème, merci à vous d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 164
    Par défaut
    Une petite question comme ça, chiti, c'est un travail pour l'école que tu dois faire ou tu fais ça pour t'amuser?

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut
    Non, c'est pas pour l'école, je suis en deuxième année informatique générale, donc, ce genre de trucs est hors de notre porté, et ce n'est pas pour m'amuser non plus !

  4. #4
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Hello
    Chaque bouton créé sera un processus à stocker dans la base de donnée.
    que veut tu stocker en base de donnée le PID qui je le rappelle n'est valable que pendant la durée du process

    Cliquer sur un bouton dynamique engendre l'ouverture d'une nouvelle fenêtre où entrer les informations dans des DBEtdit.
    Quelle est est ton objectif final ?
    Les données sotckées dans ta BD doivent elle être utisées pour recrèer a nouveau les process créés auparavant ?

    Un peu de code que tu a déja crées nous permettrait de mieux d'aider

    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut
    Voici le code de Form1 (Form principale)


    Unit1.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
    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
    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <ComCtrls.hpp>
    #include <Menus.hpp>
    #include <DBGrids.hpp>
    #include <Grids.hpp>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published:	// Composants gérés par l'EDI
    	TPageControl *PageControl1;
    	TTabSheet *TabSheet1;
    	TButton *Button1;
    	TButton *Button2;
    	TButton *Button3;
    	TButton *Button4;
    	TButton *Button5;
    	TButton *Button6;
    	//TButton *MonBouton1;
    	TTabSheet *TabSheet2;
    	TPageControl *PageControl2;
    	TTabSheet *TabSheet3;
    	TTabSheet *TabSheet4;
    	TTabSheet *TabSheet5;
    	TTabSheet *TabSheet6;
    	TTabSheet *TabSheet7;
    	TTabSheet *TabSheet8;
    	TMainMenu *MainMenu1;
    	TMenuItem *Fichier1;
    	TMenuItem *Quitter1;
    	TMenuItem *Edition1;
    	TMenuItem *Aide1;
    	TMenuItem *Executer1;
    	TDBGrid *DBGrid1;
    	TDBGrid *DBGrid2;
    	TDBGrid *DBGrid3;
    	TDBGrid *DBGrid4;
    	TDBGrid *DBGrid5;
    	TDBGrid *DBGrid6;
    	void __fastcall Button1Click(TObject *Sender);
    	void __fastcall Button2Click(TObject *Sender);
    	void __fastcall Button3Click(TObject *Sender);
    	void __fastcall Quitter1Click(TObject *Sender);
    	void __fastcall FormCreate(TObject *Sender);
     
     
    private:	// Déclarations utilisateur
    public:		// Déclarations utilisateur
    	__fastcall TForm1(TComponent* Owner);
    	TButton *MonBouton1;
    	TButton *MonBouton2;
    	TButton *MonBouton3;
    	TButton* A;
    	TButton* B;
    	TButton* C;
    	void __fastcall MonBouton1Click(TObject *Sender);
    	void __fastcall MonBouton2Click(TObject *Sender);
    	void __fastcall MonBouton3Click(TObject *Sender);
    	void __fastcall TForm1::MonBouton1MouseMove(TObject *Sender, TShiftState, int, int);
    	void __fastcall TForm1::MonBouton2MouseMove(TObject *Sender, TShiftState, int, int);
    	void __fastcall TForm1::MonBouton3MouseMove(TObject *Sender, TShiftState, int, int);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif
    Unit1.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
    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
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    include <vcl.h>
    #pragma hdrstop
    #include "Unit1.h"
    #include "TBouton.cpp"
    #include "Unit2.h"
    #include "Unit3.h"
    #include "Unit4.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    //---------------------------------------------------------------------------
    TForm1 *Form1;
     
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
     
    //---------------------------------------------------------------------------
    int creation=1, etape=1, fin=1;
    int leftCre = 300, topCre=0, topEta = 0;
    String trait = "___________________________";
    UnicodeString nom = "Création";
    UnicodeString nom2 = "Etapes";
    UnicodeString nom3 = "Fin";
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    //Ce bouton permet de créer des boutons création autant qu'on veut.
    	if (topEta > topCre)
    		topCre = topEta;
    	topCre += 50;
    	MonBouton1 = new TButton(this);
    	MonBouton1->Left = leftCre;//Definir la position du bouton
    	MonBouton1->Top = topCre;
    	MonBouton1->Parent = Form1;//Définir le conteneur du bouton
    	MonBouton1->Height = 25;
    	MonBouton1->Width = 100;
    	MonBouton1->Caption = "Création"+IntToStr(creation);//Le nommer suivant le nombre de création
    	creation ++;
    	MonBouton1->OnClick = MonBouton1Click;//Gérer l'événement du clique de la souris
    	MonBouton1->OnMouseMove = MonBouton1MouseMove;//Gérer l'evt du mouvement de la souris enfoncée.
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    //Ce bouton permet de créer des bouton étapes autant qu'on veut.
    	etape=creation-1;
    	if (topCre <= topEta)
    		topEta += 50;
    	else
    		topEta = topCre;
    	MonBouton2 = new TButton(this);
    	MonBouton2->Top = topEta ;
    	MonBouton2->Left = leftCre + 150;
    	MonBouton2->Parent = Form1;
    	MonBouton2->Caption = "Etape"+IntToStr(etape);
    	MonBouton2->Height = 25;
    	MonBouton2->Width = 100;
    	TLabel *MonLabel;//Création d'un lien visuel du bouton etapes avec la dernière création
    	MonLabel = new TLabel(this);
    	MonLabel->Top = topCre;
    	MonLabel->Left = leftCre;
    	MonLabel->Caption = trait;
    	MonLabel->Parent = Form1;
    	MonBouton2->OnClick = MonBouton2Click;
    	MonBouton2->OnMouseMove = MonBouton2MouseMove;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
    //Ce bouton permet de créer des bouton fin autant qu'on veut.
    	MonBouton3 = new TButton(this);
    	MonBouton3->Left = leftCre + 300;
    	MonBouton3->Top = topEta;
    	MonBouton3->Parent = Form1;
    	MonBouton3->Caption = "Fin"+ IntToStr(etape);
    	MonBouton3->Height = 25;
    	MonBouton3->Width = 100;
    	TLabel *MonLabel;//Création d'un lien visuel du bouton fin avec la dernière étape.
    	MonLabel = new TLabel(this);
    	MonLabel->Top = topEta;
    	MonLabel->Left = leftCre + 150;
    	MonLabel->Caption = trait;
    	MonLabel->Parent = Form1;
    	MonBouton3->OnClick = MonBouton3Click;
    	MonBouton3->OnMouseMove = MonBouton3MouseMove;
    }
    //---------------------------------------------------------------------------
    //La création du bouton Creation se fait normalement, la création du bouton Etape sera
    //Just à coté du dernier bouton Cration qu'on a ajouté, et la création du bouton Fin sera
    //just à coté du dernier bouton Etapes créé.
     
    void __fastcall TForm1::MonBouton1Click(TObject *Sender)
    {
    	A = (TButton*) Sender;
    	Form2->Show();
    	//Afficher la fenêtre "Création"
    }
     
    void __fastcall TForm1::MonBouton2Click(TObject *Sender)
    {
    	B = (TButton*) Sender;
    	Form3->Show();
    	//Afficher la fenêtre "Etapes"
    }
     
    void __fastcall TForm1::MonBouton3Click(TObject *Sender)
    {
    	C = (TButton*) Sender;
    	Form4->Show();
    	//Afficher la fenêtre "Fin"
    }
     
    void __fastcall TForm1::MonBouton1MouseMove(TObject *Sender, TShiftState, int, int)
    {
       // traitement du déplacement du bouton Création
       A = (TButton*) Sender;
       ReleaseCapture();
       SendMessage(A->Handle, WM_SYSCOMMAND, 0xF012, 0);
     
    }
    void __fastcall TForm1::MonBouton2MouseMove(TObject *Sender, TShiftState, int, int)
    {
       // traitement du déplacement du bouton Etape
       B = (TButton*) Sender;
       ReleaseCapture();
       SendMessage(B->Handle, WM_SYSCOMMAND, 0xF012, 0);
     
    }
    void __fastcall TForm1::MonBouton3MouseMove(TObject *Sender, TShiftState, int, int)
    {
       // traitement du déplacement du bouton Fin
       C = (TButton*) Sender;
       ReleaseCapture();
       SendMessage(C->Handle, WM_SYSCOMMAND, 0xF012, 0);
     
    }
     
     
     
    //---------------------------------------------------------------------------
     
     
    void __fastcall TForm1::Quitter1Click(TObject *Sender)
    {
    Form1->Close();
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
     
    }

  6. #6
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Ok pour le code
    aprés conpilation de ton code:
    mes constats:
    click sur button1 provoque la création d'un bouton Création incrémenté avec le nombre de click
    le (s)click sur les boutons créés provoque l'affichage de la fenêtre création
    il est possible de déplacer dynamiquement ces boutons

    click sur button2 provoque la création d'un bouton Etape avec une valeur égale au dernier bouton création -1
    le (s)click sur les boutons créés provoque l'affichage de la fenêtre Etapes
    il est possible de déplacer dynamiquement ces boutons

    click sur button3 provoque la création d'un bouton Fin avec une valeur égale au dernier bouton création -1
    le (s)click sur les boutons créés provoque l'affichage de la fenêtre Fin
    il est possible de déplacer dynamiquement ces boutons

    mais je ne vois nulle part la création de process?
    Que veux tu exactement faire avec une base de donnée ?
    veux tu faire de la sérialisation de manière à recréer automatiquement les boutons et evt autres élèments créés dynamiquement à partir d'un fichier

    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

Discussions similaires

  1. peut-on relier une vue avec une Table?
    Par geof dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 04/03/2008, 15h27
  2. Relier une carte mère et un PC
    Par Flophx dans le forum Matériel
    Réponses: 4
    Dernier message: 29/12/2007, 12h02
  3. comment relier une table qui a deux maîtres
    Par tchimou dans le forum Bases de données
    Réponses: 7
    Dernier message: 07/05/2007, 20h15
  4. Réponses: 1
    Dernier message: 12/04/2007, 18h58
  5. Réponses: 1
    Dernier message: 25/02/2006, 07h30

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