projet Fichiers structurés
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
Voir le deal

les changements (changelog)

+2
davy
amine
6 participants

Page 3 sur 4 Précédent  1, 2, 3, 4  Suivant

Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Dim 11 Mai - 10:41

salut
un changement dans la classe Base.
le constructeur avec parametre string devient void setTabName(strng) (comme tu l'a dit Nico) qui a exactement les memes fonctions, c'est juste la signature qui change (pour faciliter la communication depuis une autre classe.


pour aujourd'hui, j'essaye de virer tous les cout et les cin de Base. pour les mettre dans une classe Console a part

bye
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  nico Dim 11 Mai - 14:12

ah cool, ça évitera de le rajouter à chaque fois.

Par contre il y a un vrai problème quand on utilise l'interface : dès qu'on change de table à afficher, ça fait un nouveau setTableName.
problème, toutes les clés de la table précédentes sont gardées en mémoire.
en gros, on ouvre la table "table1" qui contient trois donées, avec comme clés 1, 2 et 3
ensuite on ouvre la table "table2", si je veux ajouter une donnée avec comme clé 2, ça passera pas

et quand j'appelle le destructeur, tout plante, du coups faudrait ajouter quelque chose en début du setTableName qui réinitialise tout...
nico
nico

Messages : 52
Date d'inscription : 30/01/2008
Age : 36
Localisation : Montpellier

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Dim 11 Mai - 15:59

en gros, faut rajouter un truc dans setTabName(string) au debut qui ecrase toute la map, c'est bien ça?
si oui, je pense que ça posera pas de problemes Wink

EDIT: j'ai modifié

Code:

void Base::setTabName(string tabName)
{
   
    //on ecrase le contenu de la key_map qui peut garder le contenu de l'ancienne table.
    key_map.clear();
   
    clairFile = "clair.txt";
    dataPath = "data/"+tabName+".db";
    structPath = "data/"+tabName+".struct";
    sizeFile = "data/"+tabName+".size";
   
    nbCh = getNbChamps();


je pense que ça fera l'affaire ça, a tester.

sinon moi j'ai ajouter une classe Lire pour remplacer le bon vieu cin (parce que le cin il gere pas des entrées avec des espaces) et aussi une classe Console qui remplacera tous les cin et cout dans la Base, et qui jouera le role de l'interface graphique quand on lance le prog en mode texte.

et Bonus, des couleurs en console (que sous Unix)
http://amineb.e3b.org/projet/FCHConsole.png
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  nico Dim 11 Mai - 21:20

en effet, ça règle le problème, merci Wink

sympa l'idée de remplacer les cin et les cout
nico
nico

Messages : 52
Date d'inscription : 30/01/2008
Age : 36
Localisation : Montpellier

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  davy Dim 11 Mai - 21:23

Il existe une librairie pour faire l'écriture en couleur dans la console mais je sais plus si c'est en C ou C++.

Sinon ja'i mis ubuntu avec qdevelop donc je vais regarder les codes voir si de l'amélioration et possible et savoir quels sont les options manquantes.


Ton key_map.clear(), ne serait pas mieux dans le destructeur de la classe Base ?

davy

Messages : 26
Date d'inscription : 31/01/2008

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Dim 11 Mai - 22:16

pour le destructeur... il ne s'execute pas comme ça, comme un methode.

pour les couleurs en console, j'utilise des commandes shell (si tu le passe sous windows, y aura pas de couleur xD.
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  davy Lun 12 Mai - 0:47

Puis on va pas s'embêter pour des couleurs, si on avait plus de temps j'aurais recodé cette partie pour els rajouter sur windows mais maintenant ça ne vaut plus le coup.
BOn j'essaie de dl le projet mais le svn est long ce soir chez moi..... Sad Sad

davy

Messages : 26
Date d'inscription : 31/01/2008

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  nico Lun 12 Mai - 0:51

oué ya eu une "restructuration" des fichiers du svn haha
le truc long, c'est la dll de qt qui fait 8mo (faudrait la virer d'ailleurs)

sinon davy je t'ai ajouté sur msn
nico
nico

Messages : 52
Date d'inscription : 30/01/2008
Age : 36
Localisation : Montpellier

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Lun 12 Mai - 10:10

(les dll dans notre repertoire de projet ça fait classe n'est ce pas?) Laughing
pour les couleurs, on a mis dans le cahier des charges que c'etait optionnel (interface ergonomique) et puis ça m'a pris pas plus de 5min franchement. c'est juste cout << "\033[41m"; pour ecrire en blanc sur fond rouge etc... et y a un code couleur, rien de mechant
sinon pour windows j'ai ce qu'il faut pour ecrire en couleur, meme la fonction et tout, manque juste a determiner la plateforme pour savoir quoi choisir (c'est la lib conio ou windows.h)
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Lun 12 Mai - 18:26

l'une des dernieres fonctions qu'on vient de finir, c'est les sauvegarde de table (en cas de crash ou perte de données)
nico m'a donnée cette super idée tres simple a faire (pas plus de 10lignes au total)

a chaque fois qu'on ouvre une table, (test par exemple) le fichier qui contient les données c le test.db.
lors de l'ouverture de l'ouverture on crée un fichier test.db.bak qui contient l'ancien contenu, et puis si on ferme proprement le programme, ce fichier sera detruit.

MAIS, quand le programme se ferme anormalement, la fonction qui detruit ce fichier ne sera pas executée (parce qu'elle tout a la fin du main, enfin bref...) et puis lors du prochain lancement du programme, on peut faire l'option "13- Backup" qui recupere les données du fichier test.db.bak et avec ça. jackpot.

( merci nico pour l'aide Very Happy )
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  davy Lun 12 Mai - 19:45

j'avais remarqué une chose hier soir en voulant regarder les code du svn, c'est que t'avais oublié lire.cc .... du coup le qdevelop me le rappelez lol, et sinon j'avais corrigé certaines erreurs qui ne sont pas très grave mais que j'ai pu remarquer grâce à QT, en faîtes les tailles d'une chaîne de caractères sont de type 'unsigned int' et non 'int'.
Code:

string exemple = "Bonjour la compagnie";
// par exemple pour montrer j'affiche chaque caractères 1 par 1.
for (int i = 0 ; i < exemple.length() ; i++) cout << exemple[i] ;
/*
A première vu aucun problème, mais il ne faut pas s'y fier.
car en faîtes la valeur que renvoie exemple.length() est un 'unsigned int', et donc nous on compare un 'int' i avec un 'unsigned int'.
*/
for (unsigned int i = 0; i<exemple.length() ; i++) cout << exemple[i];

davy

Messages : 26
Date d'inscription : 31/01/2008

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Lun 12 Mai - 19:52

mais là tout de meme... il le precaste non? et c'est un warning.
sinon, j'ai pas fait gaffe a ça =°

EDIT: je viens de casser la legende. http://amineb.e3b.org/divers/Beau.PNG
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  davy Lun 12 Mai - 20:11

Oui comme je l'ai dit c'est juste un warning mais en me baladant aussi j'ai oublié de le dire il avait trouvé des variables qui n'étaient pas utilisées.

PS: lol ça te change non ? sinon c'est quoi ton thème et le dock que tu utilise ? .... Amine reste avec nous ne fait pas une syncope car t'a virer tes icônes du bureau de windows ^^

davy

Messages : 26
Date d'inscription : 31/01/2008

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  nico Lun 12 Mai - 20:19

c'est du PHOTOSHOP jdis, j'en suis sûr
nico
nico

Messages : 52
Date d'inscription : 30/01/2008
Age : 36
Localisation : Montpellier

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Lun 12 Mai - 20:58

tu verras tout par toi meme Wink (je peux vous dire que ça fait trop bizarre) et puir mon dossier Bordel il fait plus de 2Go, vous savez pourquoi xD

Bon, pour ce soir, avec Nico, on a reussi a rajouter la gestion des type bool qu'on avait oublié au depart -_-" (ça a été facile en general)
(en fait ils sont stockés comme des int dans le fichier binaire, la conversion vers le fichier clair qui regarde le type de la colonne, et la valeur en int, puis il met true si c un 1 false sinon.)

bon tout ça pour vous dire qu'on a presque fini toutes les parties les plus importantes, faut juste qu'on complete la doc et le manuel
(et puis le rapport aussi)

EDIT: pour le theme xp c'est Alieguise, et son theme Xenomorphe. et la dock qui va avec


Dernière édition par amine le Mer 14 Mai - 14:22, édité 1 fois
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  davy Lun 12 Mai - 21:08

je télécharge les fichiers sur le svn, et je tenterais de le faire fonctionner, pour voir.

davy

Messages : 26
Date d'inscription : 31/01/2008

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Mar 13 Mai - 12:37

bon les amis Very Happy
le projet a fait un grand pas en avant.
a partir de maintenant, on travaille tous sur la copie de FCHGUI (dossier)

nouvelle fonction de malade ajoutée. "activer le mode distant" vous entrez le port, et hop, vous avez votre application en mode server.

le client il est presque terminé, il va juste vous demander d'entrer l'adresse ip du server, le port, et puis hop, quand vous etes connectés, vous pouvez saisir des commandes de type SQL que j'ai implementé y a quelque temps dans la classe Base.
depuis n'importe quel pc vous pouvez donc travailler sur le projet Very Happy c'est pas la classe ça?

(les modifs sont sur le server) et le dossier socket/ c lui qui contient toutes les classes que j'ai rajouté Wink

EDIT: pour le client il faut entrer des commandes avec des espaces et tout... et que cin n'est pas le bon choix.
attendez que je termine ma petite classe Lire qui boite un peu... (mais sinon, j'ai essayé, ça execute bien les commandes et en reseau \o/)
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  alain Mar 13 Mai - 14:54

là on est meme plus dans le "facultatif" du projet, mais bien au delà !
alain
alain

Messages : 16
Date d'inscription : 13/02/2008

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Mar 13 Mai - 15:04

ouai mais tant qu'a faire, (l'idée des sockets en reseau ct juste un petit delire avec nico hier soir) et puis j'ai fait un reve... et hop je l'ai codé le matin tot,
il reste qu'a completer les commandes SQL pour mieu les interpreter.
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  nico Mer 14 Mai - 2:40

haha excellent, il l'a fait Very Happy

chui curieux de voir comment ça fonctionne
par contre implémenter ça sur le qt...si quelqu'un est chaud pour le faire, go, mais faut pas compter sur moi huhu
nico
nico

Messages : 52
Date d'inscription : 30/01/2008
Age : 36
Localisation : Montpellier

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Mer 14 Mai - 11:03

pour l'instant ça marche qu'en mode console, parce que des que tu l'active c bon, tu peux plus rien toucher... et j'ai galeré pour le mettre parce que y a des exceptions un peu partout xD

il faut juste rajouter un menu, activer le mode distant et hop... j'ai fait les classes qui se chargent de ça a l'exterieur dans le dossier socket et client.

le code pour le server.

Code:
try
                {
                    // creer le socket
                    int port;
                    cout << "entrez le port: " << endl;
                    cin >> port;
                    ServerSocket server (port);
                    cout << "server en marche..." << endl;
                    while ( true )
                    {

                        ServerSocket new_sock;
                        server.accept ( new_sock );

                        try
                        {
                            while ( true )
                            {
                                string data;
                                new_sock >> data;
                                if(data != "")
                                {
                                    cout << "commande a executer: " << data << endl;
                                    new_sock << b.sqlComm(data);
                                   
                                }
new_sock << "commande executée" << endl;;
                            }
                        }
                        catch ( SocketException& ) {}

                    }//fin while
                }
                catch ( SocketException& e )
                {
                    cout << "Exception was caught:" << e.description() << "\nExiting.\n";
                }

et pour le client y a juste ça, un endroit ou taper l'adresse ip, le port, et ensuite, un endroit permanant pour taper les commandes
je vous montre tout le main.

Code:
int main ( int argc, int argv[] )
{
    string data;

    Lire io;

    string ip;
    int port;
    cout << "entrez l'ip: " << endl;
    cin >> ip;
    cout << "entrez le port: " << endl;
    cin >> port;
    ClientSocket client_socket (ip, port);
    string reply;
string aux = "";
string aux2 = "";
while(data != "exit")
{
    try
    {
          try
        {
          cout << "entrez message la commande: " << endl;
/*ce bordel c'est ce qu'on appelle un cin qui accepte les espaces xD*/
          cin.clear();
          cin >> aux;
getline(cin, aux2);
          data = aux+aux2;
/***********************************************************/

          client_socket << data;  //envoyer la requete au server.
          client_socket >> reply;  //la reponse du server.
          cout << reply;                //voyons ce qu'il nous dit le server...
        }
          catch ( SocketException& ) {}

 }
      catch ( SocketException& e )
        {
          cout << "Exception: " << e.description() << "\n";
        }
}
      return 0;
}
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  Marc Mer 14 Mai - 16:05

amine a écrit:et puis j'ai fait un reve... et hop je l'ai codé le matin tot,

je pe la garder pour le livre d'or ? ^^
Marc
Marc
Admin

Messages : 33
Date d'inscription : 30/01/2008

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Mer 14 Mai - 16:26

ah ouai... xD chuis une star... oui biensur tu peux
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  Niko Mer 14 Mai - 23:28

on met le livre d'or a la fin du rapport avec les meilleures citations du forum et des réunions du mercredi? Laughing




... ou pas
Niko
Niko

Messages : 25
Date d'inscription : 07/02/2008

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  amine Mer 14 Mai - 23:31

ohh ouii biensur xD, (seulement faut les trouver les citations...) et on mettra notre bashFCH
amine
amine
Admin

Messages : 124
Date d'inscription : 30/01/2008
Age : 35
Localisation : Montpellier

https://projet.bbactif.com

Revenir en haut Aller en bas

les changements (changelog) - Page 3 Empty Re: les changements (changelog)

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 3 sur 4 Précédent  1, 2, 3, 4  Suivant

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser