projet Fichiers structurés
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-20%
Le deal à ne pas rater :
-20% Récupérateur à eau mural 300 litres (Anthracite)
79 € 99 €
Voir le deal

avancement de l'interface qt

5 participants

Page 2 sur 2 Précédent  1, 2

Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  amine Mar 13 Mai - 10:28

bon pour ce matin ça a été tres rapide,
j'ai porté toute ma partie (ou presque) sur la partie Qt, a partir de maintenant on travaille sur le dossier FCHGUI du svn et plus sur Application.
j'ai mis ma classe lire et ma classe console sur la GUI, et j'ai modifié le main.
quand on fait un make
puis ./FCHGUI ça lance l'interface graphique toute belle et splandide Very Happy et quand on fait ./FCHGUI -x ça lance l'ignoble mode console (proprement, avec creation d'instance et tout, donc ça marche sous windows aussi normalement) Smile

et dans le dossier Application je le garde parce que je vais essayer de faire un truc qui serait super genial, c'est creation de sockets en mode server pour notre application, et un client pour executer la methode sqlCommandes Wink autrement dit, on va avoir un programme qui marche en reseau aussi (que en mode commandes texte, parce que sinon ça prendra du temps xD)

EDIT: pour le if(nbLine = 3) fallait mettre un == et puis ct pas 3 mais 2 -_-" (je sais pas pourquoi ça marchait 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

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  amine Mer 14 Mai - 14:48

bonjour les enfants.
je viens pour signaler une erreur de segmentation, je ne sais pas si ça vient de nous (moi et Davy) mais des qu'on rajoute un ligne depuis l'interface graphique, PAF!! erreur de segmentation (ouai ça nous a manqué xD) et je crois que ça vient de là

Code:
void MainWindow::champsModif(QStandardItem * item)

{   

      QString donnee = baseqt->data(baseqt->index(item->row(), item->column(), QModelIndex()), Qt::DisplayRole).toString();

    if ( item->column() == 0) {

        saveTable(); update();

        if (baseqt->data(baseqt->index(item->row(), item->column(), QModelIndex()), Qt::DisplayRole).toString() == NULL) {

                  QMessageBox::warning(this, tr("Erreur"),tr("La clé %1 existe déjà !").arg(donnee)); }

          }

    else if (baseqt->data(baseqt->index(item->row(), 0, QModelIndex()), Qt::DisplayRole).toString() != NULL) {

      string cle = baseqt->data(baseqt->index(item->row(), 0, QModelIndex()), Qt::DisplayRole).toString().toStdString(); //Récupère la clé de l'item (colonne 0)

      string champs = b->getNomChampsQT(item->column()); //Récupère le champs de l'item

        //Récupère le contenu de l'item, et le convertit en StdString

      b->modifChamp(cle, champs, donnee.toStdString());

      update(); //Fonction modifChamps du noyau base.cpp

      }

      else { update(); }   

}

je sais pas du tout d'ou ça pourrait venir
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

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  nico Mer 14 Mai - 15:25

tiens c'est cueirux, ya no problem chez moi

ça le fait à quel moment : sur une table vide ? une table déjà un peu remplie ? quel type de clé ?
nico
nico

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  amine Mer 14 Mai - 15:53

sur une table vide ça le fait tout le temps.
mais sur une table remplie, tu peux ajouter une ligne no probleme, mais quand tu rajoute ensuite une... PAF!!
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

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  Marc Mer 14 Mai - 16:01

nico a écrit:depuis toute à l'heure, il y a eu l'ajout de la gestion backup/récupérations des données en cas de bug

maintenant le menu "Sauver la table" sert à faire un nouveau backup
si jamais il y a bug et que les données sont perdues, on click sur "Récupérer la table" et ça charge le dernier backup.

plus tard, quand on quittera la programme, ça demandera si on veut garder les dernières modifications, si oui le backup est mis à jour, et on remplace la table par son backup
sinon, on remplace directement la table par le dernier backup, sans mise à jour.

les booléens sont aussi implémentés

Super ca !
Je penser, dans la meme optique, en optionnelle tu pourrais pas faire un historique des backup, comme ca si jamais on ve revenir 2 fois en arriere et bien ca marche ^^.
Ou meme encore mieu (si jamais ca bouf pas trop) faire des backup automatique à chaque event et du coup mettre un ptit menu deroulant (edit=>undo) ^^
Tout ca c'est de l'optionelle mais bon ca f tellement classe Smile
Marc
Marc
Admin

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  amine Mer 14 Mai - 16:20

ouai mais ça a l'air chaud ça... parce que faut a chaque fois enregister le champs modifié dans un fichier, dire quel est le nom de la colonne, la clé de cette ligne, et l'ancienne valeur)...
mais pour le log de changement j'ai pensé a faire dans le mode reseau, un fichier ou y a toutes les actions effectuées,
je vais essayer de faire un fichier ou y aura tous les changement pour pouvoir revenir en arriere au cas ou...
j'ai bien essayer...
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

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  Marc Mer 14 Mai - 16:29

bah rien n'est impossible et puis j'ai fait un reve... et hop amine va le codé le ledemain matin tot

nan ? Wink
Marc
Marc
Admin

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  amine Mer 14 Mai - 16:33

(il est con xD)

là c'est le moment d'utiliser la pile de données \o/ (les stack en anglais) c'est pas mal au lieu d'utiliser un fichier etc...)
bon je vais reflachir a comment la faire Wink (pour l'instant j'ai pas fait de reve, mais j'ai eu une idée, je vais la creuser)
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

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  nico Mer 14 Mai - 17:17

les stacks ?

avancement de l'interface qt - Page 2 Steak
nico
nico

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  amine Mer 14 Mai - 19:13

oui c'est exactement ça que je vais utiliser pour stocker mes données pig
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

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  Marc Mer 14 Mai - 19:39

tu veu du ketchup avec ? :p
Marc
Marc
Admin

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  amine Mer 14 Mai - 19:44

pas besoin de ketchup.
parce que cette fonction je l'ai terminée,
le principe des piles, c'est d'empiler les données les unes sur les autres, (comme les plats quand on fait la vaisselle) le premier qu'on met est le dernier qu'il sort, et là c'est la meme chose, pour chaque changement de données, je mets l'ancienne valeur dans la pile (ça marche que pour les changement de données) et au cas ou on vire une ligne de données, je vide toute la pile. et on peut pas revenir en arriere (pour l'instant) mais deja j'ai testé c'est la fonction defaire() qui comme j'ai dit, chaque changement de données, j'enregistre la clé+";"nomColonne";"AncienneValeur sous forme d'une seule chaine de caractere et on l'empile.
et puis pour revenir en arriere on a juste a re-executer la fonction modifierChamp avec la valeur du premier champ de la pile. puis on vire celle de la de la pile, c'est a dire que si on a fait 1000changements (sans supprimer de lignes) on peut revenir en arriere 1000fois Wink

(tu vois marc? pour ça pas la peine de faire un reve 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

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  Marc Mer 14 Mai - 23:54

Super !
ca m'interesse bien ton truc, tu pe balancer ton code ici stp ? Smile
Marc
Marc
Admin

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  nico Jeu 15 Mai - 5:04

quelques petits ajouts :

une fonction verifType qui vérifie si ce qu'on a saisi dans uen case correspond au type de son champ.
grâce à ça, j'ai viré les trois quarts des saveTable() et des update() (des fonctions qui font ramer la gui)

j'ai remanié le fonctionnement du createwindow et du findwindow : contrairement à avant, ça demande directement depuis le mainwindow les différents paramètres (nom d'une table, donnée à rechercher...), puis ensuite on exécute les fonctions create et find, avec comme paramètres ce qu'on nous a demandé avant.
l'intérêt (le seul) est d'éviter d'ouvrir les fenetres quand on click sur "Annuler" au moment de la demande des params (avant, même si on annulait, les new fenêtres étaient ouvertes, il fallait les refermer manuellement, et c'était lourd)

j'ai ajouté aussi le defaire() de amine, mais bon pour l'instant c'est un peu chaud, on va dire que ça plante dans 9 cas sur 10 Very Happy
nico
nico

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  amine Jeu 15 Mai - 9:30

Marc a écrit:Super !
ca m'interesse bien ton truc, tu pe balancer ton code ici stp ? Smile

la partie qui de retourner en arriere est là.

Code:

void Base::defaire()
{
    /*puisque toutes les données sont stockées sous une seule chaine de caractere, il faut separer la clé, le nom du champs et l'ancienne valeur*/
    string key, nom, value;
    string contenuDeLaPile = pileChangements.top();
    int curseur = 0;
    for(unsigned int i=0; i
    {
        if(contenuDeLaPile[i]==';')
            curseur++;   
        else
        {           
            switch(curseur)
            {
                case 0:
                    key+=contenuDeLaPile[i];
                    break;
                case 1:
                    nom+=contenuDeLaPile[i];
                    break;
                case 2:
                    value+=contenuDeLaPile[i];
                    break;
                default:
                    break;
            }//fin switch
        }
    }//fin for
   
    modifChamp(key, nom, value);
    pileChangements.pop();    // on enleve l'element de la pile

}


et pour remplire la pile quand on change.
et dans le methode modifChamps()

Code:

string contenu = key+";"+nom+";"+oldValue.str();
    pileChangements.push(contenu);
c'est tout.

nico: ça plante comment? parce que j'ai remarqué que l'option retourner est grisée des qu'on annule une seule fois... ce que je vais faire c'est de rajouter des testeurs pour voir si les piles (retour arriere et avancer) sont vides, et tu regarde juste ça et tu grise si c'est true. je m'en occupe (pour la base xD) Wink
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

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  davy Jeu 15 Mai - 13:15

Très bonne idée le coup de la pile pour revenir en arrière Smile

davy

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  amine Jeu 15 Mai - 13:33

oui je sais on m'a deja dit que je suis un genie

pour l'instant elle pose un leger probleme que je vais pouvoir resoudre tres prochainement
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

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  nico Sam 17 Mai - 7:39

bon j'ai "fini" le truc du annuler/refaire
ça a en effet poser des problèmes avec qt, que j'ai contourné en désactivement les menus quand il faut...je sais c'est pas très beau, mais j'y ai vraiment passé un moment dessus, sans trouver de solution
donc now, on a le droit à un undo, un redo et puis c'est tout (et c'est déjà bien, non mais)

j'ai aussi ajouté ça :
avancement de l'interface qt - Page 2 Change10

ça s'affiche soit quand on click sur le menu Quitter, soit sur la croix, et seulement quand il y a eu des modifications non enregistrées sur une base...logique
par contre amine, je rencontre quelques problemes après, la fonction backup() fonctionne pas tout le temps apparemment, faudra qu'on voit tout ça demain

j'ai aussi ajouté la description de la classe, pour la doc, pas mal de comments un peu partout, donc à priori à partir de maintenant j'y touche plus au mainwindow.cpp
toute à l'heure je vais mettre les infos détaillées des fonctions dans les .h pour la doc
si vous voulez refaire les menus, ajouter quelques trucs, faut pas hésiter hein, au contraire !
nico
nico

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  amine Sam 17 Mai - 9:55

parfait tout ça.
pour ma fonction backup() je vais la tester en cas extreme pour voir (parce qu'elle fait la sauvegarde automatiquement quand on ouvre une table) et si cette table qu'on ouvre est defectueuse, donc il la sauvegarde, et puis quand on fait restaurer, il restaure cette table crashée, donc la solution, c'est d'enlever le backup automatique. Rolling Eyes
toutes mes excuses. Smile
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

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  nico Lun 19 Mai - 21:22

le petit screen pour alain :
avancement de l'interface qt - Page 2 Main10
nico
nico

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  alain Mar 20 Mai - 4:14

Je vous envoie un premier jet de la presentation par mp
a demain,
à tt à l'heure
alain
alain
alain

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  nico Mar 20 Mai - 4:53

ah bah toi aussi tu goutes aux joies de la nuit blanche Very Happy

en tout cas j'ai pas reçu ton mp, dommage haha (le forum est très instable depuis toute à l'heure, c'est peut-être pour ça)


bon sinon vu que je suis pas du tout sûr d'être là demain à 9h, voilà la partie du dossier création gui
Partie 6
ya 5 pages avec quelques screenshots, donc ça devrait aller
nico
nico

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  alain Mar 20 Mai - 6:40

ben je sais pas pk tu l'as pas reçu
j'ai pris ton mail de contact...
j'espere que les autres auront eu le mail
en tout cas si vers 9h30 10h je suis as la vous pouvez me passer un coup de fil pr me réveiller... :p
a+
alain
alain

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  amine Mar 20 Mai - 7:50

je viend de voir ce sur ça donne, et faut dire qu'il est bien complet, bravo, mais j'ai remarqué qu'il manquait un mot a la diapo 14, vers la fin. Smile
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

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  nico Mar 20 Mai - 8:59

ah bah ouai tu me l'as envoyé sur mon adresse msn, je m'en sers pas comme boite mail
je matterai ça toute à l'heure
nico
nico

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

Revenir en haut Aller en bas

avancement de l'interface qt - Page 2 Empty Re: avancement de l'interface qt

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 2 sur 2 Précédent  1, 2

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