Page principale | Hiérarchie des classes | Liste alphabétique | Liste des classes | Liste des fichiers | Membres de classe | Membres de fichier | Pages associées

Référence du fichier TestDBFunc.cpp

Test de la classe DataBase. Plus de détails...

#include "TestDB.h"

Aller au code source de ce fichier.

Fonctions

void ListTable (DataBase *pBase)
 Liste les tables.
void GereTable (DataBaseTable *pTable)
 Gere une table.
void ListEntry (DataBaseTable *pTable)
 Liste les entrées.
void GereEntry (DataBaseTable *pTable, int iId)
 Gere une entrée.


Description détaillée

Test la classe DataBase avec une console de gestion. Peut servir de gestionnaire manuel d'une base.

Auteur:
aerith (contact@aerith.biz - www.aerith.biz)
Version:
1.0
Date:
18/12/2005

Définition dans le fichier TestDBFunc.cpp.


Documentation des fonctions

void GereEntry DataBaseTable pTable,
int  iPos
 

Gere une entrée (Datas).

Paramètres:
pTable pointeur sur la table contenant l'entrée à gérée.
iPos position de l'entrée dans la table.

Définition à la ligne 204 du fichier TestDBFunc.cpp.

Références ConsoleClear(), DataBaseData::GetData(), DataBaseTable::GetData(), DataBaseTable::GetLabel(), DataBaseTable::GetName(), DataBaseTable::GetNbData(), DataBaseData::GetSize(), KeyGet(), et DataBaseData::SetData().

Référencé par GereTable().

00205 {
00206     int     Nb;
00207     char    Name[1024];
00208     char    Buffer[1024];
00209 
00210     do
00211     {
00212         ConsoleClear();
00213 
00214         printf("--- Gestion d'une entree ---\n\n");
00215 
00216         printf("Nom de la table : %s\n", pTable->GetName());
00217         printf("Id de l'entree  : %i\n\n", iId);
00218 
00219         for(Nb = 0; Nb < pTable->GetNbData(); Nb++)
00220             printf("%i \t %s\t %i : %s\n", Nb + 1, pTable->GetLabel(Nb), pTable->GetData(iId, Nb)->GetSize(), pTable->GetData(iId, Nb)->GetData());
00221 
00222         printf("\n\t Entrez l'id de la data a modifiee, 0 pour quitter\n\n: ");
00223 
00224         scanf("%i", &Nb);
00225 
00226         ConsoleClear();
00227 
00228         if(Nb && (Nb <= pTable->GetNbData()))
00229         {
00230             printf("Ancienne data \'%s\': \n", pTable->GetLabel(Nb - 1));
00231             printf("%i : %s\n\n", pTable->GetData(iId, Nb - 1)->GetSize(), pTable->GetData(iId, Nb - 1)->GetData());
00232             printf("\t Entrez la nouvelle data\n\n: ");
00233 
00234             scanf("%s", Buffer);
00235 
00236             if(pTable->GetData(iId, Nb - 1)->SetData(Buffer) == strlen(Buffer))
00237                 printf("\n\nData modifiee");
00238             else
00239                 printf("\n\nModification impossible");
00240 
00241             printf("\n\nPressez \'entree\' pour continuer\n");
00242             KeyGet();
00243         }
00244     }
00245     while(Nb);
00246 }

void GereTable DataBaseTable pTable  ) 
 

Gere une table (entrées et parametres).

Paramètres:
pTable pointeur sur la table à gérée.

Définition à la ligne 28 du fichier TestDBFunc.cpp.

Références DataBaseTable::AddEntry(), DataBaseTable::AddLabel(), ConsoleClear(), DataBaseTable::DelEntry(), DataBaseTable::DelLabel(), GereEntry(), DataBaseTable::GetEntry(), DataBaseTable::GetLabel(), DataBaseTable::GetName(), DataBaseTable::GetNbData(), DataBaseTable::GetNbEntry(), KeyGet(), ListEntry(), et DataBaseTable::SetLabel().

00029 {
00030     char        Key;
00031     char        Name[1024];
00032     int         Nb, i;
00033 
00034     do
00035     {
00036         ConsoleClear();
00037 
00038         printf("--- Gestion d'une table ---\n\n");
00039         printf("Nom de la table  : %s\n", pTable->GetName());
00040         printf("Nombre d'entrees : %i\n", pTable->GetNbEntry());
00041         printf("Nombre de labels : %i\n\n", pTable->GetNbData());
00042         printf("\t a : Ajouter une entree\n");
00043         printf("\t d : Supprimer une entree\n");
00044         printf("\t g : Gerer une entree\n\n");
00045         printf("\t l : Ajouter un label\n");
00046         printf("\t r : Renomer un label\n");
00047         printf("\t s : Supprimer un label\n\n");
00048         printf("\t q : Pour retourner au menu principal\n\n");
00049         printf("\t Entrez le numero de l'action souhaiter : ");
00050 
00051         fflush(stdin);
00052         Key = KeyGet();
00053 
00054         ConsoleClear();
00055 
00056         switch(Key)
00057         {
00058             case    'a' :
00059                 printf("- Ajout d'une entree -\n\n");
00060 
00061                 i = pTable->GetNbEntry();
00062                 pTable->AddEntry();
00063 
00064                 if((i + 1) == pTable->GetNbEntry())
00065                     printf("Entree ajoutee");
00066                 else
00067                     printf("Ajout impossible");
00068                 break;
00069 
00070             case    'd' :
00071                 printf("- Suppression d'une entree -\n\n");
00072 
00073                 ListEntry(pTable);
00074 
00075                 printf("\t Entrez l'Id de l'entree a supprimer, 0 pour quitter\n\n: ");
00076                 scanf("%i",&Nb);
00077 
00078                 if(pTable->GetEntry(Nb))
00079                 {
00080                     i = pTable->GetNbEntry();
00081                     pTable->DelEntry(Nb);
00082 
00083                     if((i - 1) == pTable->GetNbEntry())
00084                         printf("\n\nEntree supprimee");
00085                     else
00086                         printf("\n\nSuppression impossible");
00087                 }
00088                 else
00089                     printf("\n\nEntree non trouvee");
00090 
00091                 break;
00092 
00093             case    'g' :
00094                 printf("- Gestion d'une entree -\n\n");
00095 
00096                 ListEntry(pTable);
00097 
00098                 printf("\t Entrez l'Id de l'entree a gerer, 0 pour quitter\n\n: ");
00099                 scanf("%i",&Nb);
00100 
00101                 if(Nb)
00102                     GereEntry(pTable, Nb);
00103                 else
00104                     printf("\n\nEntree non trouvee");
00105 
00106                 break;
00107 
00108             case    'l' :
00109                 printf("- Ajout d'un label -\n\n");
00110 
00111                 for(i = 0; i < pTable->GetNbData(); i++)
00112                     printf("%i\t : %s\n", i, pTable->GetLabel(i));
00113 
00114                 printf("\t Entrez le nom, 0 pour quitter\n\n: ");
00115                 scanf("%s", Name);
00116 
00117                 if(Name)
00118                 {
00119                     if(pTable->AddLabel(Name))
00120                         printf("\n\nLabel ajouter");
00121                     else
00122                         printf("\n\nAjout impossible");
00123                 }
00124 
00125                 break;
00126 
00127             case    'r' :
00128                 printf("- Renomage d'un label -\n\n");
00129 
00130                 for(i = 0; i < pTable->GetNbData(); i++)
00131                     printf("%i\t : %s\n", i + 1, pTable->GetLabel(i));
00132 
00133                 printf("\t Entrez l'id, 0 pour quitter\n\n: ");
00134                 scanf("%i", &Nb);
00135 
00136                 if(Nb && (Nb <= pTable->GetNbData()))
00137                 {
00138                     printf("\t Entrez le nom, 0 pour quitter\n\n: ");
00139                     scanf("%s", Name);
00140 
00141                     if(*Name != '0')
00142                     {
00143                         if(pTable->SetLabel(Nb - 1, Name))
00144                             printf("\n\nLabel renomer");
00145                         else
00146                             printf("\n\nRenomage impossible");
00147                     }
00148                 }
00149 
00150                 break;
00151 
00152             case    's' :
00153                 printf("- Suppression d'un label -\n\n");
00154 
00155                 for(i = 0; i < pTable->GetNbData(); i++)
00156                     printf("%i\t : %s\n", i + 1, pTable->GetLabel(i));
00157 
00158                 printf("\t Entrez le nom, 0 pour quitter\n\n: ");
00159                 scanf("%s", Name);
00160 
00161                 if(*Name != '0')
00162                 {
00163                     if(pTable->DelLabel(Name))
00164                         printf("\n\nLabel supprimer");
00165                     else
00166                         printf("\n\nSuppression impossible");
00167                 }
00168 
00169                 break;
00170         }
00171 
00172         if(Key != 'q')
00173         {
00174             printf("\n\nPressez \'entree\' pour continuer\n");
00175             KeyGet();
00176         }
00177     }
00178     while(Key != 'q');
00179 }

void ListEntry DataBaseTable pTable  ) 
 

Liste les entrée (ID et Datas)

Paramètres:
pTable pointeur sur la table contenant les entrées à listées.

Définition à la ligne 181 du fichier TestDBFunc.cpp.

Références DataBaseData::GetData(), DataBaseTable::GetDataNo(), DataBaseTable::GetEntryNo(), DataBaseEntry::GetId(), DataBaseTable::GetLabel(), DataBaseTable::GetNbData(), DataBaseTable::GetNbEntry(), et DataBaseData::GetSize().

Référencé par GereTable().

00182 {
00183     int     i, j;
00184 
00185     printf("Id\t | Size:Data (%i fois)\n\n\t", pTable->GetNbData());
00186 
00187     for(i = 0; i < pTable->GetNbData(); i++)
00188         printf(" | %s\t", pTable->GetLabel(i));
00189 
00190     printf("\n");
00191 
00192     for(i = 0; i < pTable->GetNbEntry(); i++)
00193     {
00194         printf("%i\t", pTable->GetEntryNo(i)->GetId());
00195 
00196         for(j = 0; j < pTable->GetNbData(); j++)
00197             printf(" | %i:%s\t", pTable->GetDataNo(i, j)->GetSize(), pTable->GetDataNo(i, j)->GetData());
00198 
00199         printf("\n");
00200     }
00201     printf("\n");
00202 }

void ListTable DataBase pBase  ) 
 

Liste les tables (ID et NbEntry).

Paramètres:
pBase pointeur sur la base contenant les tables à listées.

Définition à la ligne 14 du fichier TestDBFunc.cpp.

Références DataBaseTable::GetId(), DataBaseTable::GetName(), DataBaseTable::GetNbData(), DataBaseTable::GetNbEntry(), DataBase::GetNbTable(), et DataBase::GetTableNo().

00015 {
00016     printf("Id\t | Nom\t\t | Nb entree\t | Nb label\n");
00017 
00018     for(int i = 0; i < pBase->GetNbTable(); i++)
00019     {
00020         printf("%i\t | %s\t | %i\t\t | %i\n", pBase->GetTableNo(i)->GetId(), pBase->GetTableNo(i)->GetName(),
00021             pBase->GetTableNo(i)->GetNbEntry(), pBase->GetTableNo(i)->GetNbData()
00022         );
00023     }
00024 
00025     printf("\n");
00026 }


Généré le Thu Oct 12 01:00:44 2006 pour GestionAsso par  doxygen 1.3.9.1